:root{--neon-pink:#ff2a6d;--neon-magenta:#ff2d95;--neon-cyan:#05d9e8;--neon-purple:#a86bff;--neon-yellow:#ffd319;--neon-green:#39ff14;--neon-red:#ff3864;--bg-deep:#07021a;--bg-mid:#1a0540;--bg-grid:#ff2a6d2e;--bg-grid-cyan:#05d9e81f;--pixel:"Press Start 2P", "Courier New", monospace;--crt:"VT323", "Courier New", monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--pixel);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}*{box-sizing:border-box}html,body{background:var(--bg-deep);color:#fff;touch-action:none;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;height:100dvh;margin:0;padding:0;overflow:hidden}body{background:radial-gradient(80% 40% at 50% 100%,#ff2a6d59 0%,#0000 60%),radial-gradient(60% 30% at 50% 0,#a86bff2e 0%,#0000 70%),linear-gradient(#07021a 0%,#160438 55%,#07021a 100%);position:relative}body:before{content:"";pointer-events:none;background-image:linear-gradient(var(--bg-grid-cyan) 1px, transparent 1px), linear-gradient(90deg, var(--bg-grid-cyan) 1px, transparent 1px);transform-origin:50% 100%;opacity:.9;z-index:0;background-position:-1px -1px;background-size:48px 48px;position:fixed;inset:0;transform:perspective(420px)rotateX(58deg);-webkit-mask-image:linear-gradient(#0000 0% 55%,#000 78% 100%);mask-image:linear-gradient(#0000 0% 55%,#000 78% 100%)}body:after{content:"";pointer-events:none;z-index:9999;mix-blend-mode:multiply;background:repeating-linear-gradient(#0000 0 2px,#0000002e 3px,#0000 4px),radial-gradient(#0000 55%,#0009 100%);position:fixed;inset:0}#root{z-index:1;width:100%;height:100dvh;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0);box-sizing:border-box;justify-content:center;align-items:center;display:flex;position:relative}@keyframes neon-flicker{0%,to{opacity:1}42%{opacity:1}43%{opacity:.65}44%{opacity:1}70%{opacity:.92}72%{opacity:1}}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes glitch-shift{0%,to{transform:translate(0)}20%{transform:translate(-1.5px,1px)}40%{transform:translate(1.5px,-1px)}60%{transform:translate(-1px,-1px)}80%{transform:translate(1px,1px)}}@keyframes scan-sweep{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}@keyframes float-y{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}
