@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap";@import"https://fonts.googleapis.com/css2?family=VT323&display=swap";#root{width:100%;height:100%;margin:0;padding:0}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.app{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.game-container{flex:1;width:100%;height:100%;background-color:#000020;cursor:pointer;position:relative}.game-container canvas{display:block;width:100%;height:100%;cursor:pointer}.game-container:after{content:"";display:none}.game-container.pointer-locked:after{opacity:0}.game-ui{position:absolute;top:0;left:0;width:100%;z-index:10;pointer-events:none;padding:1rem;color:#fff;font-family:Courier New,monospace;display:flex;flex-direction:column;justify-content:space-between;height:100%}.game-hud{display:flex;flex-wrap:wrap;gap:1rem}.hud-item{background-color:#00000080;padding:.5rem 1rem;border-radius:4px;font-size:1rem}.game-controls{display:flex;justify-content:center;gap:1rem;margin-bottom:1rem;pointer-events:auto}.game-controls button{background-color:#000000b3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:4px;padding:.5rem 1rem;font-family:Courier New,monospace;cursor:pointer;transition:background-color .2s,border-color .2s}.game-controls button:hover{background-color:#000000e6;border-color:#fff9}.game-controls button:active{background-color:#fff3}.loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:24px;color:#0ff;text-shadow:0 0 10px #0ff}@keyframes scanlines{0%{background-position:0 0}to{background-position:0 4px}}@keyframes glow{0%{text-shadow:0 0 10px #ff00ff,0 0 20px #ff00ff,0 0 30px #ff00ff}50%{text-shadow:0 0 20px #ff00ff,0 0 30px #ff00ff,0 0 40px #ff00ff}to{text-shadow:0 0 10px #ff00ff,0 0 20px #ff00ff,0 0 30px #ff00ff}}.retro-button{background:rgba(8,20,48,.92);background-image:none;border:3px solid #ffffff;color:#fff;font-family:"Press Start 2P",system-ui;font-size:1.2rem;padding:1rem 2rem;text-transform:uppercase;position:relative;overflow:hidden;transition:all .3s;text-shadow:2px 2px 0 #000;box-shadow:0 0 10px #ff00ff80,0 0 20px #ff00ff4d,0 0 30px #ff00ff1a}.retro-button:hover{transform:scale(1.05);box-shadow:0 0 20px #f0fc,0 0 30px #f0f9,0 0 40px #f0f6}.retro-button:active{transform:scale(.95)}.retro-text{font-family:"Press Start 2P",system-ui;color:#0ff;text-shadow:2px 2px 0 #000;letter-spacing:2px}.retro-header{font-family:"Press Start 2P",system-ui;color:#f0f;text-shadow:0 0 10px #ff00ff,0 0 20px #ff00ff,2px 2px 0 #000;letter-spacing:4px;animation:glow 2s ease-in-out infinite}@keyframes pulse{0%{transform:translate(-50%,-50%) scale(1);opacity:1}50%{transform:translate(-50%,-50%) scale(1.05);opacity:.8}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.pulse{animation:pulse 2s ease-in-out infinite}@keyframes gameOverScanline{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}.game-over-screen{position:relative;overflow:hidden}.game-over-screen:after{content:"";position:absolute;top:0;left:0;right:0;height:10px;background:linear-gradient(180deg,transparent,rgba(255,0,255,.2),transparent);animation:gameOverScanline 2s linear infinite;pointer-events:none}.game-over-text{animation:glitchText .2s ease-in-out infinite alternate}@keyframes glitchText{0%{text-shadow:2px 0 #00ffff,-2px 0 #ff00ff}to{text-shadow:-2px 0 #00ffff,2px 0 #ff00ff}}@keyframes valueChange{0%{filter:brightness(1)}50%{filter:brightness(2)}to{filter:brightness(1)}}.value-change{animation:valueChange .3s ease-out}.hud-value{transition:filter .3s ease}.hud-value:hover{filter:brightness(1.5)}@keyframes bounce{0%,to{transform:translateY(0);opacity:.6}50%{transform:translateY(-10px);opacity:1}}.bounce{animation:bounce 1s ease-in-out infinite}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.gradient-bg{background:linear-gradient(45deg,rgba(0,0,0,.95),rgba(83,0,130,.95),rgba(130,0,83,.95));background-size:200% 200%;animation:gradientShift 5s ease infinite}@keyframes pulseBorder{0%{box-shadow:0 0 20px #ff00ff4d,0 0 40px #f0f3,inset 0 0 20px #f0f3}50%{box-shadow:0 0 30px #ff00ff80,0 0 60px #ff00ff4d,inset 0 0 30px #ff00ff4d}to{box-shadow:0 0 20px #ff00ff4d,0 0 40px #f0f3,inset 0 0 20px #f0f3}}.pulse-border{position:relative}.pulse-border:after{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border:2px solid #ff00ff;border-radius:8px;animation:pulse 2s infinite;pointer-events:none}.progress-bar{width:100%;height:10px;background:rgba(0,0,0,.5);border:1px solid #00ffff;border-radius:5px;overflow:hidden;margin-top:5px}.progress-fill{height:100%;background:#00ffff;transition:width .3s ease}.progress-fill.shield{background:#21a9f3;box-shadow:0 0 12px 2px #21a9f3b3,0 0 4px 1px #21a9f3e6 inset}.progress-fill.player-health{background:#ff5722;box-shadow:0 0 12px 2px #ff5722b3,0 0 4px 1px #ff5722e6 inset}.progress-fill.boost{background:#ffeb3b;box-shadow:0 0 12px 2px #ffeb3bb3,0 0 4px 1px #ffeb3be6 inset}.wave-cooldown{font-size:.9rem;color:#f0f;text-shadow:0 0 5px #ff00ff;animation:pulse 1s infinite alternate;margin-top:10px}.level-up-notification{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.8);border:4px solid #ff00ff;border-radius:16px;padding:30px;text-align:center;color:#0ff;font-family:"Press Start 2P",monospace;box-shadow:0 0 30px #ff00ffb3;animation:scaleIn .5s ease-out,glow 2s ease-in-out infinite;z-index:100}.level-up-notification h2{margin:0 0 20px;font-size:2rem;background:linear-gradient(180deg,#ff00ff,#00ffff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:textGlitch 1.5s infinite alternate}.level-up-notification h3{margin:0 0 15px;font-size:1.5rem;color:#f0f;text-shadow:0 0 10px #ff00ff;animation:alertBlink .5s infinite alternate}.level-up-notification p{margin:0;font-size:1.2rem;color:#fff;text-shadow:0 0 5px #00ffff}.level-up-notification p:last-child{margin-top:10px;font-size:1rem;color:#ff0;text-shadow:0 0 5px #ffff00;animation:countdownPulse 1s infinite alternate}@keyframes textGlitch{0%{text-shadow:2px 0 #ff00ff,-2px 0 #00ffff;transform:skew(0)}5%{text-shadow:-2px 0 #ff00ff,2px 0 #00ffff;transform:skew(3deg)}10%{text-shadow:2px 0 #ff00ff,-2px 0 #00ffff;transform:skew(0)}15%{text-shadow:-2px 0 #ff00ff,2px 0 #00ffff;transform:skew(-3deg)}20%,to{text-shadow:2px 0 #ff00ff,-2px 0 #00ffff;transform:skew(0)}}@keyframes alertBlink{0%{opacity:1;text-shadow:0 0 10px #ff00ff,0 0 20px #ff00ff}to{opacity:.7;text-shadow:0 0 15px #ff00ff,0 0 30px #ff00ff}}@keyframes countdownPulse{0%{transform:scale(1);text-shadow:0 0 5px #ffff00}to{transform:scale(1.1);text-shadow:0 0 15px #ffff00,0 0 30px #ffff00}}@keyframes scaleIn{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}70%{transform:translate(-50%,-50%) scale(1.1)}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.wave-notification-scan{position:absolute;top:0;left:0;right:0;bottom:0;border-radius:16px;overflow:hidden;pointer-events:none}.wave-notification-scan:after{content:"";position:absolute;top:0;left:-100%;bottom:0;width:10px;background:linear-gradient(90deg,transparent 0%,rgba(255,0,255,.5) 50%,transparent 100%);animation:horizontalScan 2s linear infinite}@keyframes verticalScan{0%{top:-10%}to{top:100%}}@keyframes horizontalScan{0%{left:-10%}to{left:100%}}@keyframes pulse-opacity{0%{opacity:.7}to{opacity:1}}.retro-hud-container{padding:1rem;border:2px solid #00ffff;border-radius:8px;background:rgba(0,0,0,.7);box-shadow:0 0 15px #00ffff80,inset 0 0 10px #00ffff4d;animation:pulseBorder 2s ease-in-out infinite}.upgrade-draft-screen{position:absolute;top:0;right:0;bottom:0;left:0;z-index:900;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(rgba(0,255,255,.04) 1px,transparent 1px),radial-gradient(circle at 50% 45%,rgba(255,0,255,.18),rgba(0,0,20,.88) 55%,rgba(0,0,0,.94));background-size:100% 4px,100% 100%;pointer-events:all}.upgrade-draft-container{width:min(960px,96vw);border:2px solid #00ffff;background:rgba(0,0,18,.94);box-shadow:0 0 28px #00ffff6b,inset 0 0 24px #ff00ff1f;padding:18px;font-family:"Press Start 2P",monospace;color:#fff}.upgrade-draft-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid rgba(0,255,255,.55);color:#0ff;font-size:1rem}.upgrade-draft-header strong{color:#ff6;font-size:.75rem;white-space:nowrap}.upgrade-draft-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.upgrade-option{position:relative;min-height:154px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:16px 14px 14px;border:1px solid rgba(0,255,255,.65);border-radius:4px;background:rgba(0,16,34,.86);color:#fff;text-align:left;cursor:pointer;font-family:"Press Start 2P",monospace}.upgrade-option:hover:not(:disabled),.upgrade-option:focus-visible:not(:disabled){border-color:#ff6;box-shadow:0 0 18px #ffff6659;outline:none}.upgrade-option:disabled{opacity:.5;cursor:not-allowed}.upgrade-option-group{color:#f0f;font-size:.55rem}.upgrade-option-cost{position:absolute;top:10px;right:10px;color:#ff6;font-size:.5rem;line-height:1;text-shadow:0 0 8px rgba(255,255,102,.7)}.upgrade-option strong{color:#0ff;font-size:.72rem;line-height:1.45}.upgrade-option span{font-size:.58rem;line-height:1.55}.upgrade-option small{margin-top:auto;color:#ff6;font-size:.52rem}.upgrade-skip-button{width:100%;padding:12px;border:1px solid rgba(255,255,102,.75);border-radius:4px;background:rgba(40,28,0,.8);color:#ff6;font-family:"Press Start 2P",monospace;cursor:pointer}.upgrade-skip-button:hover,.upgrade-skip-button:focus-visible{box-shadow:0 0 16px #ff66;outline:none}.score-display{position:absolute;top:16px;left:16px;z-index:120;font-family:"Press Start 2P",monospace;pointer-events:none}.score-display div{min-width:142px}.score-display span,.score-display strong,.score-display small{display:block}.score-display span{margin-bottom:6px;color:#0ff;font-size:.48rem}.score-display strong{color:#ff6;font-size:.68rem;line-height:1.25;text-shadow:0 0 8px rgba(255,255,102,.75)}.score-display small{margin-top:6px;color:#0ff;font-size:.46rem;line-height:1.5;text-shadow:0 0 7px rgba(0,255,255,.65),1px 1px 0 #000}.score-display small.active{color:#ff4dff;text-shadow:0 0 8px rgba(255,77,255,.85),1px 1px 0 #000}.local-stage-picker{display:flex;flex-direction:column;align-items:center;gap:12px;pointer-events:auto}.local-stage-picker-panel{width:min(360px,90vw);padding:12px;border:1px solid rgba(255,255,102,.72);border-radius:4px;background:rgba(0,0,18,.92);box-shadow:0 0 18px #ffff6638}.local-stage-picker-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.local-stage-picker-grid button{min-height:34px;border:1px solid rgba(0,255,255,.72);border-radius:3px;background:rgba(0,28,42,.9);color:#0ff;font-family:"Press Start 2P",monospace;font-size:.68rem;cursor:pointer}.local-stage-picker-grid button:hover,.local-stage-picker-grid button:focus-visible{border-color:#ff6;color:#ff6;outline:none;box-shadow:0 0 12px #ffff664d}.retro-hud-label{font-family:"Press Start 2P",system-ui;color:#f0f;margin-bottom:.5rem;font-size:.8rem;letter-spacing:1px;text-shadow:1px 1px 0 #000}.retro-score{font-family:"Press Start 2P",system-ui;background:rgba(0,0,0,.7);border:2px solid #ff00ff;border-radius:8px;padding:.75rem;color:#ff0;text-shadow:0 0 10px #ffff00;box-shadow:0 0 15px #ff00ff80}@keyframes damage-pulse{0%{opacity:.9}to{opacity:.3}}.damage-effect{pointer-events:none;z-index:1000;animation:damage-pulse .3s ease-out forwards}@keyframes asteroidHudPulse{0%,to{opacity:.5;transform:scale(.96)}50%{opacity:.9;transform:scale(1.04)}}.asteroid-hud-indicator{position:absolute;width:76px;height:76px;z-index:18;pointer-events:none;filter:drop-shadow(0 0 7px rgba(255,24,24,.6))}.asteroid-hud-glow{position:absolute;top:6px;right:6px;bottom:6px;left:6px;border:1px solid rgba(255,48,48,.7);border-radius:50%;background:radial-gradient(circle,rgba(255,24,24,.16) 0%,rgba(255,24,24,.08) 45%,rgba(255,24,24,0) 70%);box-shadow:0 0 18px #ff18186b,inset 0 0 16px #ff18183d;animation:asteroidHudPulse 1.15s ease-in-out infinite}.asteroid-hud-arrow{position:absolute;left:50%;top:50%;width:38px;height:38px;background:transparent;transform:translate(-50%,-50%)}.asteroid-hud-indicator.is-edge{width:46px;height:46px}.asteroid-hud-indicator.is-edge .asteroid-hud-glow{display:none}.asteroid-hud-arrow:before{content:"";position:absolute;left:50%;pointer-events:none}.asteroid-hud-arrow:before{top:5px;width:18px;height:18px;border-left:2px solid rgba(255,86,86,.78);border-top:2px solid rgba(255,86,86,.78);box-shadow:-2px -2px 8px #ff181866;transform:translate(-50%) rotate(45deg)}.retro-reticle.pulsating{animation:reticle-pulse 1.5s infinite alternate}.reticle-secondary-charge{position:absolute;top:50%;left:50%;width:42px;height:42px;border-radius:50%;transform:translate(-50%,-50%);background:conic-gradient(#fff2a0 var(--charge-progress),rgba(255,242,160,.12) 0deg);filter:drop-shadow(0 0 8px rgba(255,242,160,.85));opacity:.9;pointer-events:none;-webkit-mask:radial-gradient(circle,transparent 58%,#000 61%);mask:radial-gradient(circle,transparent 58%,#000 61%)}.reticle-secondary-charges{position:absolute;left:50%;bottom:-18px;display:flex;gap:5px;transform:translate(-50%);pointer-events:none}.reticle-secondary-charges span{width:6px;height:6px;border:1px solid rgba(255,242,160,.85);border-radius:50%;background:rgba(255,242,160,.12);box-shadow:0 0 5px #fff2a059}.reticle-secondary-charges span.active{background:#fff2a0;box-shadow:0 0 8px #fff2a0e6}@keyframes reticle-pulse{0%{opacity:.7;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1.05)}}@keyframes radar-scan{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes pulse{0%{box-shadow:0 0 10px #ff00ff80}50%{box-shadow:0 0 20px #f0fc}to{box-shadow:0 0 10px #ff00ff80}}@keyframes text-glow{0%{text-shadow:0 0 5px #00ffff}50%{text-shadow:0 0 15px #00ffff}to{text-shadow:0 0 5px #00ffff}}.retro-screen{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;background-color:#000000d9;color:#0ff;font-family:"Press Start 2P",monospace;z-index:1000;pointer-events:all}.retro-container{display:flex;flex-direction:column;align-items:center;padding:30px;border:2px solid #ff00ff;background-color:#000014e6;box-shadow:0 0 20px #ff00ffb3;border-radius:5px;animation:pulse 2s infinite;max-width:700px;width:80%}.retro-title{font-size:32px;color:#0ff;margin-bottom:15px;text-align:center;text-transform:uppercase;animation:text-glow 2s infinite}.retro-subtitle{font-size:16px;color:#f0f;margin-bottom:30px;text-align:center}.retro-panel{background-color:#00003c80;border:1px solid #00ffff;padding:20px;margin-bottom:30px;width:100%;border-radius:5px}.retro-panel h2{font-size:18px;color:#0ff;margin-bottom:15px;text-align:center;text-transform:uppercase}.retro-button{background:rgba(0,0,60,.86);background-image:none;color:#0ff;border:2px solid #00ffff;padding:15px 30px;font-family:"Press Start 2P",monospace;font-size:16px;text-transform:uppercase;cursor:pointer;transition:all .3s ease;border-radius:5px;outline:none;box-shadow:0 0 10px #00ffff80;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.retro-button:hover{background:rgba(0,255,255,.18);background-image:none;box-shadow:0 0 20px #0ffc;transform:scale(1.05)}.retro-button:active{transform:scale(.98);background:rgba(0,255,255,.28);background-image:none;box-shadow:0 0 25px #0ff}@media (max-width: 768px){.upgrade-draft-screen{padding:10px;align-items:flex-start;overflow-y:auto}.upgrade-draft-container{margin-top:12px;width:100%;padding:12px}.upgrade-draft-header{align-items:flex-start;flex-direction:column;font-size:.8rem}.upgrade-draft-grid{grid-template-columns:1fr}.upgrade-option{min-height:132px}.retro-button{padding:16px 32px;font-size:18px;margin:10px 0;position:relative;z-index:10000;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important}.retro-button:after{content:"";position:absolute;top:-10px;left:-10px;right:-10px;bottom:-10px;z-index:-1}.ship-console{font-size:.8rem;line-height:1.3;bottom:5px}.console-panel{transform:scale(.85);transform-origin:bottom center;padding:5px!important;height:auto!important;max-height:80px!important;overflow-y:auto;-webkit-overflow-scrolling:touch;font-size:.75em!important}.game-over-screen h1{font-size:3rem!important;margin-bottom:1rem!important}.game-over-screen .retro-text{padding:1rem!important;margin-bottom:1rem!important}.game-over-screen .retro-button{margin-top:0!important;padding:1rem 2rem!important}}.instruction-panel ul{list-style-type:none;padding:0}.instruction-panel li{font-size:14px;color:#fff;margin-bottom:10px;padding-left:20px;position:relative}.instruction-panel li:before{content:">";position:absolute;left:0;color:#f0f}.stats-grid{display:grid;grid-template-columns:1fr;gap:15px}.stat-row{display:flex;justify-content:space-between;align-items:center}.stat-label{color:#f0f;font-size:14px}.stat-value{color:#0ff;font-size:16px;font-weight:700}.ship-console{font-family:"Press Start 2P",monospace;text-shadow:2px 2px 0 #000,0 0 10px #00ffff;line-height:1.6;position:relative}.ship-console:before{content:"";position:absolute;top:-20px;left:-5%;right:-5%;bottom:-10px;z-index:-1;border-top-left-radius:50% 100%;border-top-right-radius:50% 100%;background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.4) 70%,rgba(0,0,0,.6) 100%);border-top:2px solid rgba(255,0,255,.3);pointer-events:none}.console-panel{position:relative;overflow:hidden}.console-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent 0%,rgba(255,0,255,.8) 20%,rgba(0,255,255,.8) 50%,rgba(255,0,255,.8) 80%,transparent 100%);animation:panGradient 3s ease-in-out infinite alternate}@keyframes panGradient{0%{background-position:-50px 0}to{background-position:200px 0}}.console-content{font-family:Courier New,monospace;letter-spacing:1px}@keyframes console-scan-ping{0%{opacity:.2}50%{opacity:.5}to{opacity:.2}}@keyframes console-vertical-scan{0%{top:-5%}to{top:105%}}@keyframes console-horizontal-scan{0%{left:-5%}to{left:105%}}.console-scanner div:first-child{animation:console-vertical-scan 3s linear infinite}.console-scanner div:last-child{animation:console-horizontal-scan 4s linear infinite}@keyframes urgent-vertical-scan{0%{top:-10%;box-shadow:0 0 10px #0ffc}50%{box-shadow:0 0 15px #0ff}to{top:110%;box-shadow:0 0 10px #0ffc}}@keyframes urgent-horizontal-scan{0%{left:-10%;box-shadow:0 0 10px #f0fc}50%{box-shadow:0 0 15px #f0f}to{left:110%;box-shadow:0 0 10px #f0fc}}@keyframes alert-text-blink{0%,49%{color:#f55;text-shadow:0 0 5px #ff5555}50%,to{color:#fa0;text-shadow:0 0 8px #ffaa00}}@keyframes notification-pulse{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.2);opacity:1}}.notification-indicator{display:inline-block;width:8px;height:8px;border-radius:50%;background-color:#f55;animation:notification-pulse 1s infinite;margin-left:5px;box-shadow:0 0 5px #f55}@keyframes radar-ping{0%,to{opacity:.2;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.floating-score{animation:float-upward 1.5s forwards;pointer-events:none}@keyframes float-upward{0%{transform:translate(-50%,-50%) scale(.8)}30%{transform:translate(-50%,-70%) scale(1.2)}to{transform:translate(-50%,-100%) scale(.8)}}.wave-alert-overlay{position:relative;overflow:hidden}.wave-alert-overlay:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,rgba(0,0,0,0) 50%,rgba(0,0,0,.25) 50%);background-size:100% 4px;pointer-events:none;z-index:3;opacity:.3}.wave-alert-overlay:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at center,transparent 60%,rgba(0,0,0,.8) 100%);pointer-events:none;z-index:3;opacity:.4}@keyframes wave-alert-flicker{0%,5%,10%,15%,60%,65%,to{opacity:1}2%,8%,12%,62%{opacity:.6}}.typing-animation{position:relative;overflow:hidden;white-space:nowrap;border-right:.15em solid #00ff00;width:fit-content;animation:typing 3.5s steps(40,end),blink-caret .75s step-end infinite}@keyframes blink-caret{0%,to{border-color:transparent}50%{border-color:inherit}}@keyframes scanline{0%{background-position:0 0}to{background-position:0 100%}}@keyframes hologram-flicker{0%{opacity:.1}5%{opacity:.2}10%{opacity:.1}15%{opacity:.3}20%{opacity:.1}50%{opacity:.15}70%{opacity:.2}80%{opacity:.1}90%{opacity:.3}to{opacity:.1}}.top-center-alerts{position:absolute;top:20px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:90;pointer-events:none;width:80%;max-width:500px}.game-alert{background:rgba(255,0,80,.8);color:#fff;padding:6px 12px;border-radius:4px;border:1px solid rgba(255,100,150,.8);font-family:"Press Start 2P",monospace;font-size:.8rem;text-shadow:1px 1px 0 #000;box-shadow:0 0 8px #ff005099;animation:fade-in-out 3s ease-out forwards;opacity:0;text-align:center}@keyframes fade-in-out{0%{opacity:0;transform:translateY(5px)}15%{opacity:1;transform:translateY(0)}85%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-5px)}}@keyframes typewriter{0%{width:0}to{width:100%}}@keyframes cursor-blink{0%,to{opacity:0}50%{opacity:1}}.typing-animation{display:inline-block;overflow:hidden;white-space:nowrap;width:0;border-right:2px solid transparent;animation:typewriter 1s steps(30,end) forwards,cursor-blink .75s step-end infinite;animation-delay:calc(var(--delay, 0) * .8s);vertical-align:bottom}.wave-notification-scan{position:absolute;top:0;left:0;right:0;bottom:0;border-radius:15px;overflow:hidden;pointer-events:none}.wave-notification-scan:before{content:"";position:absolute;top:-100%;left:0;right:0;height:10px;background:linear-gradient(0deg,transparent 0%,rgba(0,255,255,.5) 50%,transparent 100%);animation:verticalScan 2s linear infinite}.wave-notification-scan:after{content:"";position:absolute;top:0;bottom:0;left:-100%;width:10px;background:linear-gradient(90deg,transparent 0%,rgba(255,0,255,.5) 50%,transparent 100%);animation:horizontalScan 2.5s linear infinite}@keyframes verticalScan{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}@keyframes horizontalScan{0%{transform:translate(-100%)}to{transform:translate(100%)}}.hologram-container{pointer-events:none}.comms-display{width:280px;height:180px;background:rgba(0,0,0,.7);border-top:2px solid #ff00ff;border-left:2px solid #ff00ff;border-right:2px solid #ff00ff;border-top-left-radius:15px;border-top-right-radius:15px;box-shadow:0 0 15px #ff00ff80,inset 0 0 10px #0ff3;padding:12px;overflow-y:auto;font-family:"Press Start 2P",monospace;font-size:.7rem;color:#0f0;display:flex;flex-direction:column;position:relative}.comms-header{border-bottom:1px solid #ff00ff;padding-bottom:5px;margin-bottom:5px;color:#f0f;font-size:.6rem}.comms-content{flex-grow:1;overflow-y:auto;scroll-behavior:smooth;position:relative;max-height:130px;scrollbar-width:none;-ms-overflow-style:none}.comms-content::-webkit-scrollbar{display:none}.comms-message{margin-bottom:8px;width:100%;line-height:1.2;word-break:break-word;transition:color .3s ease-in-out}.comms-empty{color:#666;font-style:italic}.comms-content-alert-overlay{position:absolute;top:0;left:0;right:0;bottom:-2px;background-color:#000;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:10;padding:10px;box-sizing:border-box}.comms-alert-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.85);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:10;padding:10px;border-radius:15px}.comms-alert-warning{color:#f90;font-size:.8rem;text-shadow:0 0 15px #ff9900;animation:alert-text-blink 1s infinite;font-family:"Press Start 2P",monospace;margin-bottom:.5rem;letter-spacing:.1rem;text-align:center}.comms-alert-wave{color:#f55;font-size:.8rem;text-shadow:0 0 15px #ff5555;animation:alert-text-blink 1s infinite;font-family:"Press Start 2P",monospace;margin-bottom:.5rem;letter-spacing:.1rem;text-align:center}.comms-alert-countdown{font-size:1.2rem;color:#fff;font-family:"Press Start 2P",monospace}.typing-objective{display:flex;align-items:center;color:#0f0!important;margin-top:5px}.cursor-blink{display:inline-block;margin-left:2px;animation:cursor-blink .8s infinite;color:inherit}@keyframes cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes alert-text-blink{0%,49%{opacity:1}50%,59%{opacity:.7}60%,to{opacity:1}}.comms-message-container{margin-bottom:8px;width:100%}.comms-message-line{font-family:VT323,Courier New,monospace;word-break:keep-all;line-height:1.2;letter-spacing:.1em;margin-bottom:2px;white-space:pre;position:relative;text-shadow:0 0 2px currentColor,0 0 4px rgba(0,255,0,.4);font-weight:400;font-size:.8rem}.line-content{display:inline}.inline-cursor{display:inline-block;color:inherit;animation:cursor-blink .8s step-end infinite;vertical-align:baseline}.comms-message-line.first-line.objective-typing,.comms-message-line.first-line.message-typing{overflow:hidden;white-space:nowrap;width:0;animation-name:typing-reveal;animation-timing-function:steps(40,end);animation-fill-mode:forwards}.comms-message-line.first-line.objective-typing{animation-duration:3s}.comms-message-line.first-line.message-typing{animation-duration:2s}@keyframes typing-reveal{0%{width:0}to{width:100%}}.comms-message-line{text-shadow:0 0 2px currentColor,0 0 4px rgba(0,255,0,.4);font-weight:400;font-size:.8rem}.retro-terminal-text{font-family:VT323,Courier New,monospace;letter-spacing:.1em;margin-bottom:8px}.typing-animation-line.first-line:after{content:"▌";display:inline-block;color:inherit;animation:cursor-blink .8s step-end infinite;position:absolute;right:-.25em;opacity:1}@keyframes typing-text{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}.typing-animation-line,.comms-message-line{text-shadow:0 0 2px currentColor,0 0 4px rgba(0,255,0,.4);font-weight:400;font-size:.8rem}@keyframes typing{0%{width:0}to{width:100%}}.inline-cursor{display:inline-block;color:inherit;animation:cursor-blink .8s step-end infinite;margin-left:2px;vertical-align:baseline}.comms-message-line.first-line.new-message{position:relative;white-space:nowrap;animation:typing-text 2s steps(40,end)}.comms-message-line.first-line.threat-message:after,.typing-animation-line.first-line:after{content:none}.typing-animation-line{position:relative;overflow:hidden;white-space:nowrap;width:0;animation:typing 3s steps(40,end) forwards;margin-bottom:2px}@media (max-width: 768px){.mobile-radar{position:absolute;top:10px;right:10px;z-index:100;transform:scale(.8);transform-origin:top right}}@media (max-width: 768px){.start-screen-overlay{padding:2rem 1rem!important;min-height:100vh!important;justify-content:center!important;align-items:center!important}.start-screen-title{font-size:2.5rem!important;letter-spacing:2px!important;margin-top:1rem!important;margin-bottom:1.5rem!important;text-align:center!important}.start-screen-description{font-size:1rem!important;max-width:95%!important;line-height:1.6!important;margin-bottom:2rem!important;text-align:center!important}.start-screen-button{margin-top:1rem!important;margin-bottom:2rem!important;padding:12px 24px!important;font-size:1rem!important}.start-screen-controls{display:none!important}.start-screen-credits{font-size:.7rem!important;margin-top:2rem!important;margin-bottom:1rem!important;text-align:center!important;width:95%}.start-screen-control-item>div{gap:4px!important}}@media (max-width: 480px){.start-screen-title{font-size:2rem!important;margin-top:.5rem!important;text-align:center!important}.start-screen-description{font-size:.9rem!important;margin-bottom:1.5rem!important;text-align:center!important}.start-screen-button{padding:10px 20px!important;font-size:.9rem!important;margin-top:.5rem!important;margin-bottom:1.5rem!important}.start-screen-credits{font-size:.65rem!important;text-align:center!important;width:95%}}.audio-toggle{display:flex;align-items:center;cursor:pointer;padding:5px;font-family:"Press Start 2P",monospace;color:#0ff;-webkit-user-select:none;user-select:none;transition:opacity .3s ease}.audio-toggle:focus{outline:none;text-shadow:0 0 8px #00ffff}.audio-toggle-switch{width:40px;height:20px;background-color:#d32f2fcc;border-radius:10px;position:relative;margin-right:8px;box-shadow:0 0 5px #ff000080;transition:background-color .3s ease}.audio-toggle.on .audio-toggle-switch{background-color:#4caf50cc;box-shadow:0 0 5px #00ff0080}.audio-toggle-knob{width:16px;height:16px;background-color:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 0 3px #0000004d;transition:transform .3s ease}.audio-toggle.on .audio-toggle-knob{transform:translate(20px)}.audio-toggle-label{font-size:10px;text-transform:uppercase;letter-spacing:1px;white-space:nowrap;text-shadow:0 0 5px #00ffff}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#000;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;margin:0;padding:0;overflow:hidden;position:fixed;touch-action:none}#root{width:100%;height:100%;position:relative}canvas{width:100%!important;height:100%!important;touch-action:none}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}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}}
