#root{max-width:1280px;margin:0 auto;text-align:center;width:100%}:root{--menu-base: rgba(255, 153, 201, .62);--menu-hover: rgba(255, 220, 238, .98);--menu-glitch-a: rgba(124, 254, 240, .88);--menu-glitch-b: rgba(255, 153, 201, .92)}.projects-menu{position:absolute;left:1.2rem;top:50%;transform:translateY(-50%);z-index:2;text-align:left;height:7.5rem;overflow:visible}.projects-menu ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;animation:menu-loop 9s linear infinite}.projects-menu a{display:inline-block;position:relative;color:var(--menu-base);text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-family:JetBrains Mono,Fira Code,Courier New,monospace;font-size:.94rem;transform-origin:left center;transition:transform .3s ease,color .3s ease,text-shadow .3s ease}.projects-menu a:hover,.projects-menu a:focus-visible{color:var(--menu-hover);transform:scale(1.2);text-shadow:0 0 6px rgba(255,153,201,.78),0 0 14px rgba(124,254,240,.55),0 0 20px rgba(95,75,182,.4);animation:hacker-flicker 1.1s steps(2,end) infinite}.projects-menu a:before,.projects-menu a:after{content:attr(data-text);position:absolute;left:0;top:0;opacity:0;pointer-events:none;transform-origin:left center}.projects-menu a:hover:before,.projects-menu a:focus-visible:before{opacity:.6;color:var(--menu-glitch-a);transform:translate(-1px);clip-path:polygon(0 0,100% 0,100% 40%,0 40%)}.projects-menu a:hover:after,.projects-menu a:focus-visible:after{opacity:.65;color:var(--menu-glitch-b);transform:translate(1px);clip-path:polygon(0 60%,100% 60%,100% 100%,0 100%)}.projects-menu:hover ul,.projects-menu:focus-within ul{animation-play-state:paused}@keyframes hacker-flicker{0%,15%,70%,to{opacity:1}18%,22%,72%{opacity:.72}}.almost-full-page{padding:2rem;min-height:100vh;min-height:100svh;display:flex;justify-content:center;align-items:center;position:relative;box-sizing:border-box}.logo-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:2rem;box-sizing:border-box;isolation:isolate;overflow:hidden;overflow:clip;contain:paint}.logo-fx{position:relative;width:min(460px,82vw);display:inline-block;isolation:isolate}.logo-fx:before,.logo-fx:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:url(/vjdodologoalpha.png);background-repeat:no-repeat;background-position:center;background-size:100% 100%}.logo-fx:before{opacity:0;mix-blend-mode:screen;filter:drop-shadow(4px 0 0 rgba(124,254,240,.95)) drop-shadow(-4px 0 0 rgba(255,153,201,.9));animation:rgb-shift-pulse 10s infinite}.logo-fx:after{opacity:0;mix-blend-mode:lighten;filter:contrast(1.35) saturate(1.35);animation:glitch-pulse 5s infinite}.main-logo{width:100%;height:auto;object-fit:contain;display:block;animation:logo-base-flicker 4s infinite}.contact-footer{position:absolute;bottom:1.1rem;padding:1rem;left:0;width:100%;box-sizing:border-box;display:flex;justify-content:center;align-items:center;gap:1rem;flex-wrap:wrap}.contact-link{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:.75rem;padding:.45rem .6rem;border-radius:999px;transition:background-color .32s ease .12s}.contact-link:hover,.contact-link:focus-visible{background:#ffffff0f}.contact-icon{width:1.35rem;height:1.35rem;display:inline-flex;align-items:center;justify-content:center}.contact-icon svg{width:100%;height:100%}.contact-icon img{width:100%;height:100%;display:block}.contact-text{max-width:0;opacity:0;overflow:hidden;white-space:nowrap;transform:translate(-6px);transition:max-width .46s ease,opacity .38s ease,transform .38s ease;transition-delay:0ms;font-size:1.03rem}.contact-link:hover .contact-text,.contact-link:focus-visible .contact-text{max-width:21rem;opacity:1;transform:translate(0);transition-delay:.12s}@media (max-width: 640px){.projects-menu{top:.85rem;left:50%;transform:translate(-50%);width:100%;height:auto;text-align:center;overflow:visible}.projects-menu ul{align-items:center;animation:none}.projects-menu a{width:min(18rem,92vw);box-sizing:border-box;display:inline-flex;justify-content:flex-start;text-align:left;font-size:.86rem;transform-origin:center;color:#7cfef0;border:1px solid #7cfef0;border-radius:0;padding:.35rem .8rem;background:#7cfef014;text-shadow:none;animation:none}.projects-menu a:hover,.projects-menu a:focus-visible{color:#7cfef0;transform:none;text-shadow:none;background:#7cfef02e;animation:none}.projects-menu a:before,.projects-menu a:after{display:none}.almost-full-page{padding:3.75rem 1rem 1.25rem;min-height:100vh;min-height:100svh;flex-direction:column;justify-content:flex-start}.logo-center{padding:1.75rem 1rem 5.25rem}.contact-footer{position:static;width:auto;padding:.75rem 0;margin-top:auto;flex-direction:column;align-items:center;gap:.45rem}.contact-link{width:min(18rem,92vw);box-sizing:border-box;justify-content:flex-start;text-align:left;color:#ff99c9;gap:.55rem;padding:.35rem .45rem;border:1px solid #ff99c9;border-radius:0;background:#ff99c91a}.contact-text{max-width:24rem;opacity:1;transform:translate(0);transition:none;font-size:.98rem;color:#ff99c9}}@keyframes logo-base-flicker{0%,8%,20%,to{filter:none}10%{filter:contrast(1.08) saturate(1.18)}14%{filter:contrast(1.18) saturate(1.24)}}@keyframes rgb-shift-pulse{0%,6%,18%,to{opacity:0;transform:translate(0);transform:translateY(0)}8%{opacity:.55;transform:translate(3px);transform:translateY(3px)}11%{opacity:.7;transform:translate(-3px)}14%{opacity:.45;transform:translate(2px);transform:translateY(-3px)}}@keyframes glitch-pulse{0%,26%,50%,to{opacity:0;transform:none;clip-path:inset(0 0 0 0)}30%{opacity:.35;transform:translate(-3px,2px);clip-path:inset(8% 0 56% 0)}34%{opacity:.55;transform:translate(3px,-13px);clip-path:inset(54% 0 14% 0)}38%{opacity:.45;transform:translate(-3px,2px);clip-path:inset(20% 0 38% 0)}44%{opacity:.3;transform:translate(2px,-2px);clip-path:inset(68% 0 2% 0)}}:root{font-family:Helvetica,Arial,Helvetica Neue,sans-serif;line-height:1.6;font-weight:300;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-primary: #5f4bb6;--color-secondary: #ff99c9;--color-background: #30332e;--color-text: #fff8f0;--color-accent: #7cfef0}a{font-weight:500;color:var(--color-primary);text-decoration:inherit;font-weight:600}a:hover{color:var(--color-secondary)}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
