html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{--tw-bg-opacity:1;background-color:rgb(var(--c-bg)/var(--tw-bg-opacity,1));font-family:var(--font-body),sans-serif;--tw-text-opacity:1;color:rgb(var(--c-ink)/var(--tw-text-opacity,1));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-moz-selection{background-color:rgb(var(--c-primary)/.8);--tw-text-opacity:1;color:rgb(var(--c-bg)/var(--tw-text-opacity,1))}::selection{background-color:rgb(var(--c-primary)/.8);--tw-text-opacity:1;color:rgb(var(--c-bg)/var(--tw-text-opacity,1))}.nav-link{position:relative}.nav-link:after{content:"";position:absolute;left:0;bottom:-4px;height:1px;width:100%;background:rgb(var(--c-accent));box-shadow:0 0 8px rgb(var(--c-accent)/.8);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-fast) var(--ease)}.nav-link:focus-visible:after,.nav-link:hover:after{transform:scaleX(1)}@media (prefers-reduced-motion:reduce){.nav-link:after{transition:none}}.neon-text-pink{text-shadow:0 0 6px rgb(255 46 136/.9),0 0 20px rgb(255 46 136/.55),0 0 44px rgb(255 46 136/.3)}.neon-text-cyan{text-shadow:0 0 6px rgb(34 224 224/.9),0 0 20px rgb(34 224 224/.55),0 0 44px rgb(34 224 224/.3)}.neon-text-amber{text-shadow:0 0 6px rgb(242 169 59/.9),0 0 20px rgb(242 169 59/.55),0 0 44px rgb(242 169 59/.3)}.neon-text-ink{text-shadow:0 0 8px rgb(237 235 255/.5),0 0 26px rgb(237 235 255/.22),0 0 52px rgb(157 141 241/.18)}.fog-seam{position:relative;z-index:1;height:10rem;margin-top:-5rem;margin-bottom:-5rem;pointer-events:none;background:radial-gradient(58% 90% at 28% 50%,rgb(255 46 136/.07),transparent 72%),radial-gradient(52% 90% at 74% 50%,rgb(34 224 224/.06),transparent 72%);filter:blur(10px)}.scanlines{background-image:repeating-linear-gradient(180deg,rgb(4 4 16/.5) 0,rgb(4 4 16/.5) 1px,transparent 0,transparent 4px)}.grain:after{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}@keyframes glitch-jitter{0%,to{clip-path:inset(0 0 0 0);transform:translate(0)}20%{clip-path:inset(12% 0 8% 0);transform:translate(2px,-1px)}40%{clip-path:inset(0 0 42% 0);transform:translate(-2px,1px)}60%{clip-path:inset(34% 0 0 0);transform:translate(1px,2px)}80%{clip-path:inset(4% 0 28% 0);transform:translate(-1px,-2px)}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.glitch-hover:hover{animation:glitch-jitter .4s steps(2) infinite}}@keyframes sign-buzz{0%,to{transform:translate(0) rotate(0deg)}25%{transform:translate(.6px,-.6px) rotate(.2deg)}50%{transform:translate(-.6px,.6px) rotate(-.2deg)}75%{transform:translate(.6px,.6px) rotate(.12deg)}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.sign:hover .sign-panel{animation:sign-buzz .28s linear infinite}}@media (prefers-reduced-motion:reduce){.animate-marquee,.animate-neon-flicker,.animate-pulse-soft{animation:none}}