:root{--neon: #38c6ff;--neon-soft: rgba(56, 198, 255, .55);--enemy: #ff9636;--bg: #04070d;--panel: rgba(8, 14, 24, .92);--text: #eaf6ff;--danger: #ff4757}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:var(--bg);font-family:Orbitron,Segoe UI,sans-serif;color:var(--text);cursor:default}#game-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;outline:none;touch-action:none}#ui-root{position:absolute;inset:0;pointer-events:none}.hidden{display:none!important}#crosshair{position:absolute;width:34px;height:34px;transform:translate(-50%,-50%);will-change:left,top}#crosshair .ring{position:absolute;inset:0;border:2px solid var(--neon);border-radius:50%;box-shadow:0 0 8px var(--neon-soft),inset 0 0 6px var(--neon-soft);opacity:.9}#crosshair .dot{position:absolute;left:50%;top:50%;width:4px;height:4px;transform:translate(-50%,-50%);background:var(--neon);border-radius:50%;box-shadow:0 0 6px var(--neon)}#crosshair .cd{position:absolute;inset:-5px;border-radius:50%;background:conic-gradient(var(--neon) calc(var(--cd, 1) * 360deg),rgba(56,198,255,.12) 0);-webkit-mask:radial-gradient(closest-side,transparent 78%,#000 80%);mask:radial-gradient(closest-side,transparent 78%,#000 80%);opacity:.85;transition:opacity .25s}#crosshair .cd.ready{opacity:0}#crosshair .cd.pulse{animation:cd-pulse .35s ease-out}@keyframes cd-pulse{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}#hud{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:14px 26px;background:linear-gradient(rgba(4,7,13,.85),transparent);letter-spacing:2px}.hud-label{font-size:11px;opacity:.55;margin-right:10px;letter-spacing:3px}#hud-mission{font-size:22px;font-weight:700;color:var(--neon);text-shadow:0 0 12px var(--neon-soft)}#hud-lives{font-size:18px;color:var(--neon);text-shadow:0 0 10px var(--neon-soft);letter-spacing:6px}.hud-center{display:flex;gap:8px}.enemy-pip{width:14px;height:14px;background:var(--enemy);transform:rotate(45deg);box-shadow:0 0 10px #ff9636b3;transition:opacity .4s,transform .4s}.enemy-pip.dead{opacity:.12;box-shadow:none;transform:rotate(45deg) scale(.6)}#damage-vignette{position:absolute;inset:0;box-shadow:inset 0 0 180px #ff475700;transition:box-shadow .5s ease-out}#damage-vignette.hit{box-shadow:inset 0 0 180px #ff47578c;transition:none}.screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#04070d8c,#04070deb);pointer-events:all;transition:opacity .35s}.screen.fade-out{opacity:0;pointer-events:none}#screen-box{text-align:center;padding:48px 72px;background:var(--panel);border:1px solid rgba(56,198,255,.35);box-shadow:0 0 40px #38c6ff26,inset 0 0 60px #38c6ff0a;clip-path:polygon(24px 0,100% 0,100% calc(100% - 24px),calc(100% - 24px) 100%,0 100%,0 24px)}#screen-title{font-size:54px;font-weight:900;letter-spacing:10px;color:var(--text);text-shadow:0 0 18px var(--neon),0 0 60px var(--neon-soft)}#screen-title.defeat{text-shadow:0 0 18px var(--danger),0 0 60px rgba(255,71,87,.5)}#screen-sub{margin-top:6px;font-size:14px;letter-spacing:8px;color:var(--neon);opacity:.85}#screen-body{margin-top:18px;font-size:15px;letter-spacing:2px;line-height:1.9;opacity:.9;white-space:pre-line}#screen-btn{margin-top:30px;padding:14px 58px;font-family:inherit;font-size:17px;font-weight:700;letter-spacing:5px;color:var(--bg);background:var(--neon);border:none;cursor:pointer;box-shadow:0 0 22px var(--neon-soft);clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);transition:transform .12s,box-shadow .12s}#screen-btn:hover{transform:scale(1.05);box-shadow:0 0 34px var(--neon)}#screen-btn2{display:block;margin:14px auto 0;padding:10px 34px;font-family:inherit;font-size:13px;font-weight:700;letter-spacing:4px;color:var(--neon);background:transparent;border:1px solid rgba(56,198,255,.45);cursor:pointer;clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);transition:background .12s,box-shadow .12s}#screen-btn2:hover{background:#38c6ff1f;box-shadow:0 0 18px #38c6ff40}#screen-hint{margin-top:26px;font-size:11px;letter-spacing:2px;opacity:.45}#toast{position:absolute;bottom:76px;left:50%;z-index:80;transform:translate(-50%,16px);padding:10px 26px;background:var(--panel);border:1px solid rgba(56,198,255,.4);font-size:12px;letter-spacing:3px;color:var(--text);clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);opacity:0;transition:opacity .3s,transform .3s}#toast.show{opacity:1;transform:translate(-50%)}#mute-btn{position:absolute;bottom:18px;right:20px;width:42px;height:42px;background:transparent;color:var(--neon);border:1px solid rgba(56,198,255,.4);border-radius:50%;font-size:18px;cursor:pointer;pointer-events:all;opacity:.65;transition:opacity .15s;z-index:45}#mute-btn:hover{opacity:1}#mute-btn.muted{color:#556;border-color:#445}#menu{position:absolute;inset:0;z-index:40;overflow:hidden;background:var(--bg)}.menu-bg{position:absolute;inset:-4%;background-size:cover;background-position:center;filter:saturate(1.05) brightness(.9);animation:kenburns 38s ease-in-out infinite alternate}.menu-bg.fallback{background-image:radial-gradient(ellipse 90% 60% at 70% 30%,rgba(56,198,255,.16),transparent 60%),radial-gradient(ellipse 70% 50% at 20% 80%,rgba(255,150,54,.1),transparent 60%),linear-gradient(#04070d,#060b16)}@keyframes kenburns{0%{transform:scale(1) translate(0)}to{transform:scale(1.07) translate(-1.2%,1.2%)}}.menu-grid{position:absolute;left:-20%;right:-20%;bottom:-6%;height:46%;background:repeating-linear-gradient(90deg,rgba(56,198,255,.28) 0 1px,transparent 1px 64px),repeating-linear-gradient(0deg,rgba(56,198,255,.28) 0 1px,transparent 1px 44px);transform:perspective(420px) rotateX(62deg);transform-origin:bottom;opacity:.14;-webkit-mask-image:linear-gradient(transparent,black 55%);mask-image:linear-gradient(transparent,#000 55%);animation:grid-scroll 5s linear infinite}@keyframes grid-scroll{0%{background-position:0 0,0 0}to{background-position:0 0,0 44px}}.menu-scan{position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.22) 0 1px,transparent 1px 3px);mix-blend-mode:multiply;animation:scan-flicker 7s steps(1) infinite;pointer-events:none}@keyframes scan-flicker{0%,92%,96%,to{opacity:.5}93%,95%{opacity:.75}}.menu-motes{position:absolute;inset:0;pointer-events:none}.menu-motes span{position:absolute;bottom:-12px;width:5px;height:5px;background:var(--neon);transform:rotate(45deg);box-shadow:0 0 10px var(--neon-soft);opacity:0;animation:mote-rise 11s linear infinite}.menu-motes span:nth-child(1){left:8%;animation-delay:0s;animation-duration:12s}.menu-motes span:nth-child(2){left:22%;animation-delay:2.5s;animation-duration:10s}.menu-motes span:nth-child(3){left:35%;animation-delay:5s;animation-duration:14s}.menu-motes span:nth-child(4){left:52%;animation-delay:1.2s;animation-duration:11s}.menu-motes span:nth-child(5){left:64%;animation-delay:6.4s;animation-duration:13s}.menu-motes span:nth-child(6){left:77%;animation-delay:3.6s;animation-duration:9.5s}.menu-motes span:nth-child(7){left:88%;animation-delay:7.8s;animation-duration:12.5s}.menu-motes span:nth-child(8){left:45%;animation-delay:9s;animation-duration:10.5s}@keyframes mote-rise{0%{transform:translateY(0) rotate(45deg);opacity:0}8%{opacity:.7}85%{opacity:.25}to{transform:translateY(-92vh) rotate(225deg);opacity:0}}.menu-wrap{position:relative;height:100%;display:flex;flex-direction:column;justify-content:center;padding-left:clamp(48px,10vw,160px);max-width:640px}.menu-head{margin-bottom:44px}.menu-title{font-size:clamp(48px,7vw,84px);font-weight:900;letter-spacing:12px;line-height:1;text-shadow:0 0 24px var(--neon-soft),0 0 80px rgba(56,198,255,.3);animation:title-in .9s cubic-bezier(.2,.8,.2,1) backwards,title-glow 4s ease-in-out 1s infinite alternate}.menu-title span{color:var(--neon)}.menu-tag{margin-top:10px;font-size:15px;letter-spacing:10px;color:var(--neon);opacity:.85;animation:title-in .9s .15s cubic-bezier(.2,.8,.2,1) backwards}@keyframes title-in{0%{opacity:0;transform:translateY(26px);filter:blur(6px)}60%{opacity:1;filter:blur(0)}70%{opacity:.4}76%{opacity:1}84%{opacity:.6}to{opacity:1;transform:translateY(0)}}@keyframes title-glow{0%{text-shadow:0 0 24px var(--neon-soft),0 0 80px rgba(56,198,255,.3)}to{text-shadow:0 0 34px var(--neon-soft),0 0 110px rgba(56,198,255,.45)}}.menu-panel{display:flex;flex-direction:column;gap:14px;width:min(400px,80vw)}.menu-btn{position:relative;padding:15px 26px;text-align:left;font-family:inherit;font-size:16px;font-weight:700;letter-spacing:5px;color:var(--text);background:#08101cb8;border:1px solid rgba(56,198,255,.35);cursor:pointer;clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);transition:transform .14s,background .14s,box-shadow .14s,border-color .14s}.menu-btn:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--neon);opacity:0;transition:opacity .14s}.menu-btn:hover:not(:disabled){transform:translate(8px);background:#182e46d9;border-color:var(--neon);box-shadow:0 0 24px #38c6ff40}.menu-btn:hover:not(:disabled):before{opacity:1}.menu-btn:disabled{opacity:.35;cursor:default}.menu-btn.ghost{background:transparent;border-color:#38c6ff33;font-size:13px;letter-spacing:4px}.menu-panel.anim .menu-btn{animation:menu-in .45s cubic-bezier(.2,.8,.2,1) backwards}.menu-panel.anim .menu-btn:nth-child(1){animation-delay:.28s}.menu-panel.anim .menu-btn:nth-child(2){animation-delay:.36s}.menu-panel.anim .menu-btn:nth-child(3){animation-delay:.44s}.menu-panel.anim .menu-btn:nth-child(4){animation-delay:.52s}.menu-panel.anim .menu-btn:nth-child(5){animation-delay:.6s}@keyframes menu-in{0%{opacity:0;transform:translate(-32px)}to{opacity:1;transform:translate(0)}}.menu-field{display:flex;flex-direction:column;gap:7px;margin-bottom:6px}.menu-field span{font-size:11px;letter-spacing:4px;opacity:.6}.menu-field input{padding:12px 16px;font-family:inherit;font-size:16px;font-weight:700;letter-spacing:4px;color:var(--text);background:#08101cd9;border:1px solid rgba(56,198,255,.35);outline:none;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);text-transform:uppercase}.menu-field input:focus{border-color:var(--neon);box-shadow:0 0 18px #38c6ff40}.menu-field input::placeholder{color:#eaf6ff40}.menu-note{min-height:18px;font-size:12px;letter-spacing:3px;color:var(--neon);opacity:.85}.menu-note.error{color:var(--danger)}.lobby-label{font-size:11px;letter-spacing:4px;opacity:.6}.lobby-code{font-size:42px;font-weight:900;letter-spacing:9px;color:var(--neon);text-shadow:0 0 22px var(--neon-soft);animation:title-glow 2.6s ease-in-out infinite alternate;margin-bottom:8px}.lobby-list{list-style:none;display:flex;flex-direction:column;gap:9px;margin-bottom:10px}.lobby-list li{display:flex;align-items:center;gap:12px;padding:10px 16px;font-size:14px;letter-spacing:3px;background:#08101cb8;border:1px solid rgba(56,198,255,.22);clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);animation:menu-in .35s backwards}.lobby-chip{width:12px;height:12px;transform:rotate(45deg);box-shadow:0 0 10px #38c6ff80;flex-shrink:0}.credits{display:grid;grid-template-columns:auto 1fr;gap:10px 22px;align-items:baseline;margin-bottom:18px}.credits h3{font-size:11px;letter-spacing:3px;color:var(--neon);opacity:.85;white-space:nowrap}.credits p{font-size:13px;letter-spacing:1.5px;opacity:.9}.menu-foot{position:absolute;bottom:16px;left:0;right:0;text-align:center;font-size:11px;letter-spacing:3px;opacity:.35}#cutscene{position:absolute;inset:0;z-index:50;background:#000;overflow:hidden;cursor:pointer}#cutscene.engine{background:transparent}#cutscene.engine .cs-img{display:none}.cs-img{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .9s ease;animation:cs-drift 9s ease-in-out infinite alternate}.cs-img.on{opacity:1}.cs-img.noimg{background-image:radial-gradient(ellipse 80% 55% at 50% 40%,rgba(56,198,255,.18),transparent 65%),linear-gradient(#02040a,#060b16)}@keyframes cs-drift{0%{transform:scale(1.02)}to{transform:scale(1.1)}}.cs-bar{position:absolute;left:0;right:0;height:11vh;background:#000;z-index:2}.cs-bar.top{top:0}.cs-bar.bottom{bottom:0}.cs-text{position:absolute;left:0;right:0;bottom:15vh;z-index:3;text-align:center;padding:0 10vw;text-shadow:0 2px 18px rgba(0,0,0,.9)}#cs-title{font-size:clamp(30px,4.6vw,58px);font-weight:900;letter-spacing:12px;text-shadow:0 0 24px var(--neon-soft),0 2px 18px rgba(0,0,0,.9)}#cs-title.in{animation:cs-title-in 1.1s cubic-bezier(.2,.8,.2,1) backwards}#cs-sub{margin-top:14px;font-size:clamp(13px,1.4vw,17px);letter-spacing:4px;line-height:1.9;opacity:.92;white-space:pre-line}#cs-sub.in{animation:cs-sub-in 1.2s .35s ease backwards}@keyframes cs-title-in{0%{opacity:0;letter-spacing:26px;filter:blur(8px)}to{opacity:1;letter-spacing:12px;filter:blur(0)}}@keyframes cs-sub-in{0%{opacity:0;transform:translateY(12px)}to{opacity:.92;transform:translateY(0)}}#cutscene.slam #cs-title.in{animation:cs-slam .7s cubic-bezier(.16,1.3,.4,1) backwards;color:var(--neon)}@keyframes cs-slam{0%{opacity:0;transform:scale(2.1);filter:blur(10px)}55%{opacity:1;transform:scale(.96);filter:blur(0)}to{transform:scale(1)}}#cs-skip{position:absolute;bottom:3.2vh;right:30px;z-index:4;padding:9px 22px;font-family:inherit;font-size:12px;font-weight:700;letter-spacing:4px;color:var(--text);background:#08101c99;border:1px solid rgba(56,198,255,.35);cursor:pointer;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);opacity:.7;transition:opacity .15s}#cs-skip:hover{opacity:1}#boot{position:absolute;inset:0;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;background:radial-gradient(ellipse 70% 50% at 50% 42%,rgba(56,198,255,.08),transparent 65%),var(--bg);transition:opacity .45s}#boot.fade-out{opacity:0;pointer-events:none}.boot-gem{width:40px;height:40px;background:var(--neon);transform:rotate(45deg);box-shadow:0 0 30px var(--neon-soft),0 0 90px #38c6ff4d;animation:gem-pulse 1.6s ease-in-out infinite alternate}@keyframes gem-pulse{0%{transform:rotate(45deg) scale(.92);box-shadow:0 0 24px var(--neon-soft),0 0 70px #38c6ff40}to{transform:rotate(45deg) scale(1.06);box-shadow:0 0 40px var(--neon),0 0 120px #38c6ff66}}.boot-bar{width:min(260px,60vw);height:4px;background:#38c6ff1f;overflow:hidden}#boot-fill{width:0;height:100%;background:var(--neon);box-shadow:0 0 12px var(--neon);transition:width .3s ease}#boot-label{min-height:16px;font-size:11px;letter-spacing:5px;opacity:.55}#boot-start{padding:14px 54px;font-family:inherit;font-size:16px;font-weight:700;letter-spacing:6px;color:var(--bg);background:var(--neon);border:none;cursor:pointer;box-shadow:0 0 26px var(--neon-soft);clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);animation:menu-in .4s backwards;transition:transform .12s,box-shadow .12s}#boot-start:hover{transform:scale(1.06);box-shadow:0 0 38px var(--neon)}.lobby-config{display:flex;gap:10px;justify-content:center;margin:4px 0 10px}.cfg-btn{padding:7px 16px;font-family:inherit;font-size:11px;font-weight:700;letter-spacing:3px;color:var(--neon);background:#38c6ff12;border:1px solid rgba(56,198,255,.4);cursor:pointer;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);transition:background .12s,box-shadow .12s}.cfg-btn:hover{background:#38c6ff2e;box-shadow:0 0 14px var(--neon-soft)}.lobby-list li{display:flex;align-items:center;gap:10px}.lobby-name{flex:1;text-align:left}.lobby-ready-badge{font-size:10px;letter-spacing:2px;opacity:.35}.lobby-ready-badge.on{opacity:1;color:#6dff8e;text-shadow:0 0 8px rgba(109,255,142,.6)}.lobby-actions{display:flex;gap:10px;justify-content:center;margin-bottom:6px}.menu-btn.small{padding:9px 18px;font-size:11px;letter-spacing:3px}.menu-btn.on{background:#6dff8e24;border-color:#6dff8e8c;color:#6dff8e}#hud-enemies .score-num{font-size:26px;font-weight:900;text-shadow:0 0 14px currentColor;min-width:30px;text-align:center}#hud-enemies .score-num.mine{transform:scale(1.12)}#hud-enemies .score-sep{opacity:.4;font-size:16px;margin:0 8px}#menu.attract{background:transparent}#menu.attract .menu-bg,#menu.attract .menu-grid{display:none}#menu.attract .menu-wrap{background:radial-gradient(ellipse 62% 70% at 50% 46%,rgba(2,5,12,.66),rgba(2,5,12,.28) 70%,transparent)}@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/orbitron-latin-500-normal-DQ2gt4P1.woff2) format("woff2"),url(/assets/orbitron-latin-500-normal-BCCupJ8c.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/orbitron-latin-700-normal-4jsRXGGJ.woff2) format("woff2"),url(/assets/orbitron-latin-700-normal-DmYOh-W9.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/orbitron-latin-900-normal-DrIi7unX.woff2) format("woff2"),url(/assets/orbitron-latin-900-normal-BbJatbhp.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
