:root{--bg:#0b0d17;--fg:#e8f0ff;--accent:#ffd94d;--cyan:#4dffcc;--danger:#ff5252;--panel:#080c1cd1;--panel-border:#78b4ff59;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}*{box-sizing:border-box}html,body{background:var(--bg);width:100%;height:100%;color:var(--fg);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;overscroll-behavior:none;margin:0;padding:0;font-family:Score,Courier New,monospace;overflow:hidden}#game{position:fixed;inset:0}#game canvas{display:block}#ui{pointer-events:none;z-index:10;position:fixed;inset:0}#ui .interactive,#ui button,#ui input,#ui .screen{pointer-events:auto}.touch-layer{--u:min(calc(100vw / 1920), calc(100vh / 1080));--tb:clamp(62px, calc(160 * var(--u)), 150px);--tg:clamp(10px, calc(30 * var(--u)), 28px);--tm:clamp(12px, calc(40 * var(--u)), 40px);--tr:clamp(68px, calc(140 * var(--u)), 140px);--step:calc(var(--tb) + var(--tg));z-index:5;pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent;display:none;position:absolute;inset:0}.touch-layer.shown{display:block}.touch-btn{width:var(--tb);height:var(--tb);opacity:.55;pointer-events:none;background:50%/contain no-repeat;transition:opacity 80ms,transform 80ms;position:absolute}.touch-btn.hidden{display:none}.touch-btn.pressed{opacity:.95;transform:scale(.93)}.touch-btn.active{opacity:.9;filter:drop-shadow(0 0 10px #4dffcc)}.touch-btn.empty{opacity:.25}.touch-layer.dimmed .touch-btn{opacity:.2}.touch-badge{min-width:1.6em;font:calc(var(--tb) * .2) "Score", monospace;text-align:center;color:#ffbf99;background:#0a1428cc;border:1px solid #ffbf9980;border-radius:.8em;padding:0 .3em;line-height:1.5;position:absolute;top:4%;right:6%}.tb-turn_left{left:calc(var(--tm) + var(--safe-left));bottom:calc(var(--tm) + var(--safe-bottom))}.tb-turn_right{left:calc(var(--tm) + var(--step) + var(--safe-left));bottom:calc(var(--tm) + var(--safe-bottom))}.tb-fire{right:calc(var(--tm) + var(--safe-right));bottom:calc(var(--tm) + var(--safe-bottom))}.tb-thrust{right:calc(var(--tm) + var(--step) + var(--safe-right));bottom:calc(var(--tm) + var(--safe-bottom))}.tb-tractor{right:calc(var(--tm) + 2 * var(--step) + var(--safe-right));bottom:calc(var(--tm) + var(--safe-bottom))}.tb-reverse{right:calc(var(--tm) + 3 * var(--step) + var(--safe-right));bottom:calc(var(--tm) + var(--safe-bottom))}.tb-mine_drop{right:calc(var(--tm) + var(--safe-right));bottom:calc(var(--tm) + var(--step) + var(--safe-bottom))}.tb-missile{right:calc(var(--tm) + var(--step) + var(--safe-right));bottom:calc(var(--tm) + var(--step) + var(--safe-bottom))}.tb-bomb{right:calc(var(--tm) + 2 * var(--step) + var(--safe-right));bottom:calc(var(--tm) + var(--step) + var(--safe-bottom))}.tb-hyperdrive{right:calc(var(--tm) + var(--safe-right));bottom:calc(var(--tm) + 2 * var(--step) + var(--safe-bottom));opacity:.9;animation:1.2s ease-in-out infinite alternate touch-pulse}@keyframes touch-pulse{0%{filter:drop-shadow(0 0 2px #80ffd9)}to{filter:drop-shadow(0 0 16px #80ffd9)}}.touch-stick{width:calc(2 * var(--tr));height:calc(2 * var(--tr));left:calc(var(--tm) + var(--safe-left));bottom:calc(var(--tm) + var(--safe-bottom));opacity:.6;pointer-events:none;background:50%/contain no-repeat;display:none;position:absolute}.touch-layer.joystick .touch-stick{display:block}.touch-knob{width:calc(var(--tr) * .8);height:calc(var(--tr) * .8);background:50%/contain no-repeat;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hud{--u:min(calc(100vw / 1920), calc(100vh / 1080));--st:calc(var(--safe-top) + max(6px, calc(16 * var(--u))));--sl:calc(var(--safe-left) + max(8px, calc(16 * var(--u))));--sr:calc(var(--safe-right) + max(8px, calc(24 * var(--u))));--sb:var(--safe-bottom);--radar:clamp(96px, calc(216 * var(--u)), 260px);pointer-events:none;color:var(--fg);text-shadow:0 0 4px #000000e6,0 0 1px #000;white-space:nowrap;font-family:Score,monospace;position:absolute;inset:0}.hud>*{position:absolute}.hud-edges,.hud-hyper{width:100%;height:100%;top:0;left:0}.hud-hyper{z-index:3;display:none}.hud-radar{left:var(--sl);top:var(--st);width:var(--radar);height:var(--radar)}.hud-bars{right:var(--sr);top:var(--st);align-items:flex-end;gap:max(6px, calc(30 * var(--u)));flex-direction:column;display:flex}.hud-bar{align-items:center;gap:max(5px, calc(10 * var(--u)));display:flex;position:relative}.hud-bar label{font-size:max(9px, calc(18 * var(--u)));letter-spacing:1px;opacity:.6}.hud-bar .frame{width:clamp(120px, calc(275 * var(--u)), 340px);height:clamp(11px, calc(25 * var(--u)), 31px);background-size:100% 100%;padding:2px}.hud-bar .fill{width:0;height:100%;transition:width 80ms linear}.hud-bar.critical .fill{animation:.35s infinite alternate hud-blink}.hud-bar em{color:#ff3b2f;font-style:normal;font-size:max(10px, calc(20 * var(--u)));margin-top:2px;animation:.25s infinite alternate hud-blink;display:none;position:absolute;top:100%;right:0}.hud-bar.overheat em{display:block}.hud-bar.overheat .frame{box-shadow:0 0 10px #ff3b2f}.hud-ammo{margin-top:max(4px, calc(12 * var(--u)));text-align:right;font-size:max(11px, calc(28 * var(--u)));color:#ffbf99f2;line-height:1.25}.hud-xp{left:50%;top:var(--st);font-size:max(14px, calc(32 * var(--u)));color:#ffffffe6;transform:translate(-50%)}.hud-credits{right:calc(50% + max(84px, calc(200 * var(--u))));top:var(--st);font-size:max(14px, calc(32 * var(--u)));color:#80ffd9f2}.hud-pause{left:calc(50% + max(84px, calc(150 * var(--u))));top:calc(var(--st) - 4px);width:max(36px, calc(52 * var(--u)));height:max(36px, calc(52 * var(--u)));cursor:pointer;opacity:.8;pointer-events:auto;z-index:8;background:50%/contain no-repeat;border:0;padding:0}.hud-pause:hover{opacity:1}.hud-timer{left:50%;top:calc(var(--st) + max(22px, calc(52 * var(--u))));font-size:max(16px, calc(36 * var(--u)));color:#ffe680;transform:translate(-50%)}.hud-timer.urgent{color:#ff5b4d;animation:.5s infinite alternate hud-blink}.hud-board{left:var(--sl);top:calc(var(--st) + var(--radar) + 8px);min-width:max(130px, calc(260 * var(--u)));font-size:max(10px, calc(20 * var(--u)));background:#080c1c73;border-radius:4px;line-height:1.45}.hud-board:empty{display:none}.hud-board>div{justify-content:space-between;gap:12px;padding:0 8px;display:flex}.hud-board .hdr{opacity:.55;font-size:.8em}.hud-board .me{color:#80ffd9}.hud-board .dead{opacity:.45;text-decoration:line-through}.hud-board b{font-weight:400}.hud-pickup{left:0;right:0;top:calc(var(--st) + max(34px, calc(94 * var(--u))));text-align:center;font-size:max(14px, calc(28 * var(--u)));color:#99ffb3}.hud-honor{text-align:center;font-size:min(max(16px, calc(40 * var(--u))), 4.2vw);color:#ffd959;top:19%;left:0;right:0}.hud-banner{text-align:center;font-size:min(max(26px, calc(72 * var(--u))), 6.4vw);color:#b3d9ff;line-height:1.1;top:25%;left:0;right:0}.hud-banner small{color:var(--fg);margin-top:6px;font-size:.4em;display:block}.hud-hyperprompt{text-align:center;font-size:min(max(15px, calc(34 * var(--u))), 3.6vw);color:#80ffd9;opacity:0;top:34%;left:0;right:0}.hud-hyperprompt.show{animation:1.2s ease-in-out infinite alternate hud-pulse}.hud-hint{text-align:center;font-size:min(max(13px, calc(26 * var(--u))), 3vw);color:#99ffb3;top:40%;left:0;right:0}.hud-respawn{text-align:center;font-size:max(20px, calc(48 * var(--u)));color:#ffd959;top:46%;left:0;right:0}.hud-mission{left:0;right:0;bottom:calc(var(--sb) + max(6px, calc(16 * var(--u))));text-align:center}.hud-mission-name{font-size:max(10px, calc(18 * var(--u)));color:#b3d9ffbf;margin-bottom:2px}.hud-objectives{font-size:max(11px, calc(16 * var(--u)));color:#ffffffbf;line-height:1.4}.hud-objectives .done{color:#80ff96e6}.hud-flash{opacity:0;z-index:4;inset:0}body.overlay-open .hud-mission,body.overlay-open .hud-hyperprompt,body.overlay-open .hud-hint,body.overlay-open .hud-respawn,body.overlay-open .hud-pause{visibility:hidden}@keyframes hud-blink{0%{opacity:1}to{opacity:.35}}@keyframes hud-pulse{0%{opacity:1}to{opacity:.4}}@media (height<=500px){.hud-bars{gap:5px}.hud-bar label{display:none}}.overlays{--u:min(calc(100vw / 1920), calc(100vh / 1080));z-index:30;pointer-events:auto;color:#fff;text-align:center;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);font-family:Score,monospace;animation:.25s ease-out ov-in;display:none;position:absolute;inset:0;overflow-y:auto}.overlays.shown{justify-content:center;align-items:center;display:flex}@keyframes ov-in{0%{opacity:0}to{opacity:1}}.ov-panel{align-items:center;gap:max(6px, calc(22 * var(--u)));flex-direction:column;width:100%;max-width:1400px;padding:2vh 3vw;display:flex}.ov-title{font-size:min(max(34px, calc(96 * var(--u))), 8.5vw);text-shadow:0 0 18px;line-height:1.1}.ov-green{color:#66ff80}.ov-red{color:#ff594d}.ov-red2{color:#ff4033}.ov-blue{color:#b3d9ff}.ov-gold{color:#ffd959}.ov-big{font-size:min(max(18px, calc(48 * var(--u))), 4.6vw);color:#ffffffe6}.ov-reason{font-size:min(max(16px, calc(36 * var(--u))), 4vw);color:#ffffffd9}.ov-sub{font-size:min(max(15px, calc(36 * var(--u))), 3.6vw);color:#b3d9ff}.ov-stats{font-size:max(13px, calc(26 * var(--u)));color:#b3d9ffd9;white-space:pre-line}.ov-panel>.ov-gold:not(.ov-title){font-size:max(15px, calc(34 * var(--u)))}.ov-victory-text{font-size:max(12px, calc(24 * var(--u)));color:#ffffffe6;white-space:pre-line;max-width:1100px;min-height:3em;line-height:1.45}.ov-credits{font-size:max(10px, calc(18 * var(--u)));color:#ffffff73;line-height:1.5}.ov-prompt{font-size:max(13px, calc(32 * var(--u)));color:#cce6ffe6;min-height:1em;animation:1.57s ease-in-out infinite ov-pulse}@keyframes ov-pulse{0%,to{opacity:1}50%{opacity:.25}}.overlays.waiting .ov-prompt,.overlays.waiting .ov-buttons{opacity:.25;animation:none}.ov-buttons{flex-wrap:wrap;justify-content:center;gap:16px;transition:opacity .3s;display:flex}.ov-btn{font-family:Score,monospace;font-size:max(15px, calc(30 * var(--u)));color:#e8f0ff;cursor:pointer;min-width:max(150px, calc(300 * var(--u)));background:#142846bf;border:1px solid #78b4ff73;border-radius:6px;min-height:48px;padding:.35em 1.2em}.ov-btn:hover,.ov-btn:focus-visible{background:#285082d9;border-color:#80ffd9;outline:none}.ov-btn.ov-main{border-color:#80ffd9b3}.ov-menu{gap:max(10px, calc(16 * var(--u)));flex-direction:column;width:min(440px,80vw);margin-top:2vh;display:flex}.ov-menu .ov-btn{width:100%}.ov-slider{font-size:max(13px, calc(24 * var(--u)));color:#fffc;align-items:center;gap:14px;margin-top:4px;display:flex}.ov-slider span{text-align:left;width:7em}.ov-slider input{accent-color:#4dffcc;flex:1;height:36px}@media (height<=480px){.ov-panel{gap:6px;padding:8px 3vw}.ov-menu{gap:6px;margin-top:4px}.ov-btn{min-height:40px}}.ac-stage{pointer-events:auto;color:#fff;--sl:calc(var(--safe-left) / var(--z,1));--sr:calc(var(--safe-right) / var(--z,1));--st:calc(var(--safe-top) / var(--z,1));--sb:calc(var(--safe-bottom) / var(--z,1));font-family:Score,Courier New,monospace;position:absolute;top:0;left:0;overflow:hidden}.ac-screen{position:absolute;inset:0;overflow:hidden}.ac-space{background-color:#000}.ac-abs{position:absolute}.ac-hidden{display:none!important}.ac-label{text-align:center;white-space:pre;text-shadow:0 0 6px #0009;line-height:1.2}.ac-label.wrap{white-space:pre-wrap}.ac-label.left{text-align:left}.ac-btn{color:#dfdfdf;cursor:pointer;white-space:nowrap;text-overflow:clip;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:#1a1a1a99;border:1px solid #a0c8ff1f;border-radius:3px;padding:4px 6px;font-family:inherit;font-size:40px;line-height:1;transition:background 80ms,color 80ms,border-color 80ms;overflow:hidden}.ac-btn:hover{color:#f2f2f2;background:#39393999;border-color:#4dffcc59}.ac-btn:active{background:#0009}.ac-btn:disabled{color:#dfdfdf73;cursor:default;background:#1a1a1a4d;border-color:#ffffff0d}.ac-btn:focus{outline:none}.ac-btn:focus-visible{outline-offset:-2px;outline:2px solid #ffffffbf}.ac-btn.on{color:#b3d9ff;background:#000000b3;border-color:#b3d9ff8c}.ac-btn.danger{color:#ff8c73}.ac-btn.gold{color:#ffd959}.ac-slider{appearance:none;cursor:pointer;background:0 0;width:360px;height:32px}.ac-slider::-webkit-slider-runnable-track{background:#ffffff2e;border-radius:3px;height:6px}.ac-slider::-moz-range-track{background:#ffffff2e;border-radius:3px;height:6px}.ac-slider::-webkit-slider-thumb{-webkit-appearance:none;background:#dfe8ff;border:2px solid #4dffcc;border-radius:50%;width:22px;height:22px;margin-top:-8px}.ac-slider::-moz-range-thumb{background:#dfe8ff;border:2px solid #4dffcc;border-radius:50%;width:18px;height:18px}.ac-slider:focus{outline:none}.ac-slider:focus-visible{outline:2px solid #fff9}.ac-panel{background:#0d121feb}.ac-col{flex-direction:column;align-items:center;display:flex}.ac-row{flex-direction:row;justify-content:center;align-items:center;display:flex}.ac-toast{z-index:50;color:#ffd959;text-align:center;white-space:pre;opacity:0;pointer-events:none;background:#0d121ff0;border:1px solid #ffd95966;padding:18px 30px;font-size:26px;line-height:1.45;transition:opacity .25s,transform .25s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.95)}.ac-toast.show{opacity:1;transform:translate(-50%,-50%)scale(1)}.ac-splash{background:#2a2a2a}.ac-splash img,.ac-splash .ac-label{opacity:0;transition:opacity .7s linear}.ac-splash.in img,.ac-splash.in .ac-label{opacity:1}.ac-splash.out img,.ac-splash.out .ac-label{opacity:0;transition-duration:.6s}.ac-menu-title{color:#b3d9ff;white-space:nowrap;position:absolute;left:0;right:0}.ac-menu-box{flex-direction:column;align-items:stretch;display:flex;position:absolute}.ac-menu-box>.ac-btn{height:72px}.ac-menu-copy{position:absolute;left:0;right:0}.ac-privacy{z-index:100;padding:calc(10px + env(safe-area-inset-top)) calc(10px + env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) calc(10px + env(safe-area-inset-left));background:#040812f5;flex-direction:column;gap:10px;font-family:Score,Courier New,monospace;display:flex;position:fixed;inset:0}.ac-privacy-frame{background:#070b16;border:1px solid #b3e6ff4d;border-radius:8px;flex:1;width:100%}.ac-privacy-close{align-self:center;height:48px;padding:0 36px;font-size:20px}.ac-avatar{image-rendering:pixelated;display:block}.ac-avatar-btn{cursor:pointer;opacity:.55;filter:saturate(.6);background:0 0;border:2px solid #0000;width:60px;height:60px;padding:0}.ac-avatar-btn.sel{opacity:1;filter:none;border-color:#4dffcccc}.ac-avatar-btn img{width:100%;height:100%;image-rendering:pixelated}.ac-key{height:54px;padding:0;font-size:26px}.ac-import-text{resize:none;color:#dfe8ff;-webkit-user-select:text;user-select:text;background:#0000008c;border:1px solid #a0c8ff4d;width:100%;height:190px;padding:10px;font-family:Courier New,monospace;font-size:18px}.ac-map-layer{will-change:transform;height:100%;position:absolute;top:0;left:0}.ac-star{width:0;height:0;position:absolute}.ac-star canvas{position:absolute}.ac-star .name{text-align:center;white-space:pre;font-size:16px;line-height:1.25;position:absolute}.ac-star .badge{width:26px;height:26px;position:absolute}.ac-star.unlocked canvas{transition:transform .15s}.ac-star.unlocked:hover canvas{transform:scale(1.08)}.ac-nav-ring{pointer-events:none;border:3px solid #b3e6ffe6;border-radius:50%;width:92px;height:92px;margin:-46px 0 0 -46px;animation:1.2s ease-in-out infinite alternate ac-pulse;position:absolute}@keyframes ac-pulse{0%{opacity:1}to{opacity:.55}}.ac-scroll-bg{background:#ffffff14;height:4px;position:absolute}.ac-scroll-fg{background:#b3d9ff66;height:4px;position:absolute}.ac-dim{position:absolute;inset:0}.ac-briefing{background:#0d121ff2;border:1px solid #78b4ff2e;flex-direction:column;gap:26px;padding:52px 56px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ac-briefing .ac-btn{height:78px}.ac-story{cursor:pointer;background:#05080f;position:absolute;inset:0}.ac-story .ac-label{position:absolute;left:0;right:0}.ac-story .prompt{animation:.8s ease-in-out infinite alternate ac-pulse}.ac-strip{will-change:transform;height:100%;position:absolute;top:0;left:0}.ac-strip.anim{transition:transform .3s cubic-bezier(.215,.61,.355,1)}.ac-page{height:100%;position:absolute;top:0}.ac-grid{transform-origin:0 0;position:absolute}.ac-card{background:#0d121fe6;border:1px solid #78b4ff1a;position:absolute}.ac-card>*{position:absolute}.ac-card img.ship{object-fit:contain}.ac-card img.pixel{image-rendering:pixelated}.ac-card .ac-btn{height:56px;font-size:24px}.ac-card.selected{border-color:#4dffcc8c;box-shadow:inset 0 0 18px #4dffcc26}.ac-card.sponsor{background:linear-gradient(170deg,#30220ceb,#0d121feb 55%);border-color:#ffd25a66}.ac-card.sponsor img.ship{filter:drop-shadow(0 0 10px #ffc85059)}.ac-card.sponsor.selected{border-color:#ffdc6ed9;box-shadow:inset 0 0 22px #ffc85040}.ac-card.pack{border-color:#ffd25ab3;box-shadow:0 0 26px #ffbe3c2e}
