:root{--space:#05070d;--panel:rgba(9,14,25,.88);--line:rgba(147,173,204,.2);--text:#edf5ff;--muted:#78889c;--cyan:#63e6ff;--lime:#b9ff66;--orange:#ffab5c;--red:#ff5c68;--violet:#a994ff}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--space);color:var(--text)}body{font-family:Inter,sans-serif}.game-shell{height:100vh;display:grid;grid-template-rows:66px minmax(0,1fr) 88px;background:radial-gradient(circle at 50% 45%,#151d31,#05070d 65%)}button{font:inherit;cursor:pointer}.topbar{position:relative;z-index:10;display:flex;align-items:stretch;border-bottom:1px solid var(--line);background:rgba(5,8,15,.95);backdrop-filter:blur(12px)}.brand{width:330px;display:flex;align-items:center;gap:12px;padding:0 18px;border-right:1px solid var(--line)}.brand-glyph{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--cyan);border-radius:50%;color:var(--cyan);font:700 13px DM Mono;box-shadow:inset 0 0 18px rgba(99,230,255,.12)}.brand-glyph i{color:var(--lime);font-style:normal}.brand strong{display:block;font:700 13px Space Grotesk;letter-spacing:.09em}.brand small{display:block;margin-top:3px;color:var(--muted);font:400 8px DM Mono;text-transform:uppercase}.mission{flex:1;display:flex;align-items:center;justify-content:center;gap:12px}.mission span{color:var(--muted);font:500 8px DM Mono;letter-spacing:.12em}.mission strong{font:500 11px DM Mono;color:var(--lime)}.top-actions{display:flex;align-items:center;gap:7px;padding:0 14px;border-left:1px solid var(--line)}.top-actions button{height:32px;padding:0 11px;border:1px solid var(--line);border-radius:4px;background:transparent;color:#aebdcd;font:500 8px DM Mono}.top-actions button:hover{color:white;border-color:var(--cyan)}.stage-wrap{position:relative;min-height:0;overflow:hidden}#gameCanvas{display:block;width:100%;height:100%;cursor:crosshair}.hud-panel{position:absolute;top:18px;width:218px;padding:13px;border:1px solid var(--line);border-radius:6px;background:linear-gradient(145deg,rgba(10,16,29,.91),rgba(7,11,20,.78));box-shadow:0 15px 45px rgba(0,0,0,.25);backdrop-filter:blur(8px);pointer-events:none}.left-hud{left:18px}.right-hud{right:18px}.hud-heading{margin-bottom:15px;display:flex;justify-content:space-between;color:#8698ae;font:500 7px DM Mono;letter-spacing:.12em}.hud-heading i{width:5px;height:5px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px rgba(185,255,102,.1)}.big-stat span,.score span,.combo span,.next-threat span{display:block;color:var(--muted);font:500 7px DM Mono;letter-spacing:.08em}.big-stat strong{display:block;margin-top:4px;font:700 26px Space Grotesk}.progress{height:4px;margin:9px 0 14px;background:rgba(255,255,255,.08)}.progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--cyan),var(--lime));box-shadow:0 0 9px var(--cyan);transition:width .25s}.stat-row,.target-stat{padding:6px 0;display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.055);font:500 8px DM Mono}.stat-row span,.target-stat span{color:var(--muted)}.divider{height:1px;margin:13px 0;background:var(--line)}.score,.combo{display:flex;align-items:flex-end;justify-content:space-between;margin-top:9px}.score strong{font:600 17px DM Mono;color:var(--cyan)}.combo strong{font:600 13px DM Mono;color:var(--orange)}.empty-target{padding:12px 0;text-align:center;color:var(--muted)}.empty-target>span{font:25px DM Mono;color:#43536a}.empty-target p{font:400 8px/1.5 DM Mono}.hidden{display:none!important}.target-title span{display:block;color:var(--cyan);font:500 7px DM Mono;letter-spacing:.12em}.target-title strong{display:block;margin:4px 0 11px;font:700 17px Space Grotesk}.target-output{margin-top:11px;padding:9px;display:flex;justify-content:space-between;border:1px solid rgba(99,230,255,.25);background:rgba(99,230,255,.05)}.target-output span{color:var(--muted);font:500 7px DM Mono}.target-output strong{font:500 9px DM Mono;color:var(--cyan)}.next-threat{display:flex;align-items:flex-end;justify-content:space-between}.next-threat strong{font:600 15px DM Mono;color:var(--orange)}.hud-tip{margin:13px 0 0;padding-top:11px;border-top:1px solid var(--line);color:#8394a8;font:400 7px/1.55 DM Mono}.crosshair{position:absolute;z-index:6;width:26px;height:26px;margin:-13px;display:none;border:1px solid rgba(99,230,255,.7);border-radius:50%;pointer-events:none}.crosshair::before,.crosshair::after{content:"";position:absolute;background:var(--cyan)}.crosshair::before{left:12px;top:-5px;width:1px;height:36px}.crosshair::after{top:12px;left:-5px;height:1px;width:36px}.toast{position:absolute;z-index:12;left:50%;top:13%;padding:8px 12px;border:1px solid var(--cyan);border-radius:3px;background:rgba(5,9,17,.9);color:var(--cyan);transform:translate(-50%,-10px);opacity:0;transition:.2s;pointer-events:none;font:500 8px DM Mono;letter-spacing:.08em}.toast.show{opacity:1;transform:translate(-50%,0)}.command-bar{position:relative;z-index:10;display:flex;align-items:stretch;border-top:1px solid var(--line);background:rgba(5,8,15,.97)}.payload-label{width:170px;padding:22px 18px;border-right:1px solid var(--line)}.payload-label span{display:block;font:500 8px DM Mono;letter-spacing:.1em}.payload-label small{display:block;margin-top:6px;color:var(--muted);font:400 7px DM Mono}.payloads{flex:1;display:flex}.payloads button{position:relative;min-width:230px;padding:12px 18px;display:grid;grid-template-columns:18px 34px 1fr auto;gap:10px;align-items:center;border:0;border-right:1px solid var(--line);background:transparent;color:#a6b3c3;text-align:left}.payloads button:hover{background:rgba(99,230,255,.04)}.payloads button.active{color:white;background:linear-gradient(180deg,rgba(99,230,255,.1),rgba(99,230,255,.025));box-shadow:inset 0 2px var(--cyan)}.payloads kbd{color:#596a80;font:500 8px DM Mono}.payload-icon{width:31px;height:31px;display:grid;place-items:center;border:1px solid;border-radius:50%;font:600 10px DM Mono}.payload-icon.harvester{color:var(--lime);border-color:var(--lime)}.payload-icon.fabricator{color:var(--violet);border-color:var(--violet)}.payload-icon.guardian{color:var(--cyan);border-color:var(--cyan)}.payloads strong{display:block;font:600 9px DM Mono}.payloads small{display:block;margin-top:4px;color:#66768b;font:400 7px DM Mono}.payloads em{font:500 8px DM Mono;font-style:normal;color:var(--orange)}.launch-status{width:155px;padding:0 17px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--lime);font:500 7px DM Mono}.launch-status i{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:rgba(3,5,10,.78);backdrop-filter:blur(7px)}.modal-backdrop.hidden{display:none}.modal{width:min(580px,100%);padding:28px;border:1px solid rgba(99,230,255,.3);border-radius:8px;background:linear-gradient(145deg,#10192b,#080d18);box-shadow:0 30px 90px rgba(0,0,0,.55)}.modal .eyebrow{margin:0;color:var(--cyan);font:500 7px DM Mono;letter-spacing:.15em}.modal h1{margin:7px 0 11px;font:700 29px Space Grotesk;letter-spacing:-.04em}.modal>p{color:#8798ad;font:400 9px/1.65 DM Mono}.guide{margin:18px 0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.guide>div,.upgrade-option{padding:12px;border:1px solid var(--line);border-radius:5px;background:rgba(255,255,255,.02)}.guide strong{display:block;font:600 9px DM Mono}.guide span{display:block;margin-top:5px;color:#78899e;font:400 7px/1.45 DM Mono}.modal button{width:100%;padding:12px;border:0;border-radius:4px;background:var(--lime);color:#08100c;font:700 9px DM Mono;letter-spacing:.07em}.upgrade-list{display:grid;gap:8px;margin-top:18px}.upgrade-option{width:100%;display:flex;justify-content:space-between;color:white!important;background:rgba(255,255,255,.025)!important;text-align:left}.upgrade-option:hover{border-color:var(--cyan)}.upgrade-option strong{display:block;font:600 10px DM Mono}.upgrade-option small{display:block;margin-top:5px;color:#78899e;font:400 7px DM Mono}.upgrade-option em{font:500 8px DM Mono;font-style:normal;color:var(--lime)}
@media(max-width:1000px){.right-hud{display:none}.left-hud{width:190px}.payloads button{min-width:0;flex:1}.payloads small{display:none}.launch-status{display:none}.brand{width:280px}}
@media(max-width:680px){.game-shell{grid-template-rows:56px minmax(0,1fr) 74px}.brand{width:auto;flex:1;padding:0 10px}.brand-glyph{width:34px;height:34px}.brand small,.mission{display:none}.top-actions{padding:0 7px}.top-actions button{padding:0 8px}.left-hud{top:8px;left:8px;width:152px;padding:9px}.left-hud .stat-row:nth-of-type(n+4),.left-hud .divider,.left-hud .score{display:none}.big-stat strong{font-size:20px}.command-bar{height:74px}.payload-label{display:none}.payloads button{padding:8px;grid-template-columns:26px 1fr;gap:7px}.payloads kbd,.payloads em{display:none}.payload-icon{width:26px;height:26px}.payloads strong{font-size:7px}.modal{padding:20px}.guide{grid-template-columns:1fr}}

/* Keep the primary controls and dialog copy comfortably legible. */
.payload-label span{font-size:9px}
.payload-label small{font-size:8px}
.payloads kbd,.payloads em{font-size:9px}
.payloads strong{font-size:11px}
.payloads small{font-size:9px;line-height:1.35;color:#8798ad}
.launch-status{font-size:8px}
.modal{width:min(640px,100%);max-height:calc(100vh - 40px);overflow-y:auto}
.modal .eyebrow{font-size:10px}
.modal h1{font-size:32px}
.modal>p{font-size:13px;line-height:1.65;color:#bdc9d7}
.guide>div{padding:14px}
.guide strong{font-size:11px}
.guide span{font-size:11px;line-height:1.55;color:#adbbca}
.modal button{font-size:11px}
.upgrade-option strong{font-size:11px}
.upgrade-option small{font-size:9px;line-height:1.45;color:#91a2b6}
.upgrade-option em{font-size:9px}

@media(max-width:680px){.payloads strong{font-size:9px}}

#physicsButton[data-mode="orbital"]{color:var(--cyan);border-color:rgba(99,230,255,.55);background:rgba(99,230,255,.07)}
#physicsButton[data-mode="arcade"]{color:var(--orange);border-color:rgba(255,171,92,.55);background:rgba(255,171,92,.07)}
.payload-icon.inspect{color:var(--orange);border-color:var(--orange)}
@media(min-width:1001px){.payloads button{min-width:190px}}
.best-score{display:flex;align-items:flex-end;justify-content:space-between;margin-top:8px}
.best-score span{color:var(--muted);font:500 7px DM Mono;letter-spacing:.08em}
.best-score strong{color:#aebdcd;font:600 11px DM Mono}
.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.modal-actions .secondary{border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text)}
@media(max-width:680px){.left-hud .best-score{display:none}.modal-actions{grid-template-columns:1fr}}
