:root{--void:#03060a;--panel:#070f16b8;--line:#6fddeb3d;--cyan:#70f3ff;--cyan-soft:#86bfc7;--orange:#ff7b39;--amber:#ffb25e;--white:#e7f5f7;--muted:#789097;--danger:#ff4f43;--display:"Bahnschrift", "Trebuchet MS", monospace;--condensed:"Arial Narrow", "Bahnschrift Condensed", "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#game-shell,#viewport{background:var(--void);width:100%;height:100%;margin:0;overflow:hidden}body{color:var(--white);font-family:var(--display);-webkit-user-select:none;user-select:none}button{font:inherit}#viewport canvas{width:100%;height:100%;display:block}#game-shell{isolation:isolate;position:relative}#vignette,#damage-flash,#speed-lines{pointer-events:none;z-index:2;position:absolute;inset:0}#vignette{background:linear-gradient(#00000038,#0000 24% 75%,#0000005c);box-shadow:inset 0 0 150px #000000a6}#damage-flash{opacity:0;background:radial-gradient(circle,#0000 30%,#ff2c1bcc)}#speed-lines{opacity:0;background:radial-gradient(circle at 50% 52%,#0000 0 58%,#5cdaff0e 78%,#0000 100%);transition:opacity .2s;box-shadow:inset 0 0 90px #47c7eb0f}.overlay{z-index:10;text-align:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:radial-gradient(circle at 50% 42%,#0c222c4d,#020508e0 65%);place-content:center;place-items:center;display:none;position:absolute;inset:0}.overlay.active{display:grid}#boot-screen{-webkit-backdrop-filter:none;backdrop-filter:none;background:radial-gradient(#02070deb 8%,#02070db8 45%,#02070d40);padding:5vw}.boot-kicker,.eyebrow{color:var(--cyan-soft);font:600 11px/1 var(--display);letter-spacing:.24em}.boot-kicker{align-items:center;gap:12px;margin-bottom:14px;display:flex}.boot-kicker span{background:var(--orange);width:28px;height:1px;box-shadow:0 0 8px var(--orange)}.boot-mark{width:96px;height:54px;margin:10px 0 2px;position:relative}.boot-mark i{border:2px solid var(--cyan);transform-origin:50%;width:54px;height:12px;position:absolute;top:50%;left:50%;box-shadow:0 0 12px #5defff40}.boot-mark i:first-child{transform:translate(-50%,-50%)rotate(30deg)}.boot-mark i:nth-child(2){transform:translate(-50%,-50%)rotate(-30deg)}.boot-mark i:last-child{border-color:var(--orange);background:var(--orange);width:15px;height:15px;transform:translate(-50%,-50%)rotate(45deg)}h1{font:700 clamp(52px, 9vw, 112px)/.83 var(--condensed);letter-spacing:-.025em;text-shadow:0 3px 30px #4ce0f433;margin:0}h1 span{color:#0000;-webkit-text-stroke:1.5px var(--white)}.tagline{color:#9eb0b5;font:500 15px/1 var(--display);letter-spacing:.17em;text-transform:uppercase;margin:22px 0 34px}.primary-button{border:1px solid var(--cyan);color:#031015;background:var(--cyan);letter-spacing:.12em;cursor:pointer;clip-path:polygon(0 0,calc(100% - 13px) 0,100% 13px,100% 100%,13px 100%,0 calc(100% - 13px));min-width:240px;padding:16px 22px;font-weight:700;transition:transform .18s,background .18s;box-shadow:0 0 24px #70f3ff38}.primary-button:hover{background:#b7faff;transform:translateY(-2px)}button:focus-visible,input:focus-visible{outline:2px solid var(--amber);outline-offset:4px}.text-button:focus-visible{border-bottom-color:var(--amber);color:var(--white)}.primary-button b{margin-left:16px}.mode-grid{grid-template-columns:1fr;gap:12px;width:min(380px,88vw);display:grid}.mode-card{min-height:94px;color:var(--white);clip-path:polygon(0 0,calc(100% - 13px) 0,100% 13px,100% 100%,13px 100%,0 calc(100% - 13px));text-align:left;cursor:pointer;background:linear-gradient(135deg,#081d25eb,#030a0fb8);border:1px solid #70f3ff75;gap:6px;padding:15px 18px;transition:transform .18s,border-color .18s,background .18s,box-shadow .18s;display:grid;position:relative;overflow:hidden}.mode-card:after{content:"";border:1px solid #70f3ff2e;width:82px;height:82px;position:absolute;top:-34px;right:-34px;transform:rotate(45deg)}.mode-card span{color:var(--cyan-soft);font:600 8px var(--display);letter-spacing:.2em}.mode-card strong{color:var(--cyan);font:700 17px var(--condensed);letter-spacing:.13em}.mode-card small{color:var(--muted);font:500 9px/1.35 var(--display);letter-spacing:.08em}.mode-card:hover{border-color:var(--cyan);background:linear-gradient(135deg,#0e303af5,#040f15c7);transform:translateY(-2px);box-shadow:0 0 22px #70f3ff24}.boot-meta{color:var(--muted);font:500 11px var(--display);letter-spacing:.1em;gap:28px;margin-top:40px;display:flex}kbd{min-width:28px;color:var(--white);font:600 10px var(--display);background:#0a191fa6;border:1px solid #a3e2ea4d;margin-right:5px;padding:4px 6px;display:inline-block}.boot-note{color:#72868c;letter-spacing:.12em;margin-top:18px;font-size:11px}.touch-boot-meta,.touch-boot-note,body.touch-mode .boot-meta:not(.touch-boot-meta),body.touch-mode .boot-note:not(.touch-boot-note){display:none!important}body.touch-mode .touch-boot-meta{grid-template-columns:1fr 1fr;gap:12px 18px;display:grid!important}body.touch-mode .touch-boot-meta span{display:inline!important}body.touch-mode .touch-boot-note{display:block!important}.preflight-screen{z-index:12;background:radial-gradient(circle at 50% 44%,#0a273080,#020508f0 68%)}.preflight-frame{border-top:1px solid var(--orange);background:linear-gradient(90deg,#0000,#051218db 12% 88%,#0000);border-bottom:1px solid #70f3ff59;width:min(540px,88vw);padding:30px 36px}.preflight-frame h2{font:700 clamp(38px, 6vw, 66px)/1 var(--condensed);letter-spacing:.08em;margin:14px 0 22px}.preflight-orders{gap:1px;display:grid}.preflight-orders p{color:var(--muted);font:600 10px var(--display);letter-spacing:.16em;text-align:left;opacity:0;background:#050e13b8;border-left:1px solid #70f3ff3d;justify-content:space-between;gap:20px;margin:0;padding:10px 14px;animation:.34s ease-out forwards preflight-line;display:flex}.preflight-orders p:nth-child(2){animation-delay:.65s}.preflight-orders p:nth-child(3){animation-delay:1.3s}.preflight-orders strong{color:var(--white);text-align:right}.preflight-orders p:last-child strong{color:var(--danger);text-shadow:0 0 10px #ff4f4361}.preflight-release{color:var(--cyan);font:700 11px var(--display);letter-spacing:.22em;opacity:0;margin:22px 0 0;animation:.28s ease-out 2.15s forwards preflight-release}.preflight-screen.exiting .preflight-frame{animation:.32s ease-in forwards preflight-exit}.sr-only{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}@keyframes preflight-line{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}@keyframes preflight-release{to{opacity:1}}@keyframes preflight-exit{to{opacity:0;transform:scale(.98)}}#hud{z-index:3;pointer-events:none;position:absolute;inset:0}#hud.hidden{display:none}#hud:before{content:"";opacity:0;background:radial-gradient(circle,#0000 38%,#ff552a42);transition:opacity .18s;position:absolute;inset:0;box-shadow:inset 0 0 90px #ff3d1f38}#hud.boundary-breach:before{opacity:1;animation:.42s ease-in-out infinite alternate boundary-danger}.top-rail{top:max(24px, env(safe-area-inset-top));justify-content:space-between;align-items:start;display:flex;position:absolute;left:28px;right:28px}.mission-chip{border-left:2px solid var(--orange);clip-path:polygon(0 0,94% 0,100% 24%,100% 100%,0 100%);background:linear-gradient(90deg,#081319d6,#08131926);min-width:244px;padding:12px 15px 11px}.mission-chip strong{font:600 17px/1 var(--condensed);letter-spacing:.12em;margin:6px 0 8px;display:block}#hud.near-threat .mission-chip strong{color:var(--danger);text-shadow:0 0 10px #ff4f4373}#hud.near-threat #target-bearing{background:var(--danger);filter:drop-shadow(0 0 7px #ff4f43cc);opacity:1;width:12px;height:12px;margin:-6px}#hud.boundary-warning .mission-chip strong{color:var(--cyan);text-shadow:0 0 10px #70f3ff59}#hud.boundary-breach .mission-chip strong{color:#ff7552;text-shadow:0 0 12px #ff4a279e}.mission-chip small{color:var(--muted);font:500 9px var(--display);letter-spacing:.18em}.live-dot{background:var(--orange);width:5px;height:5px;box-shadow:0 0 7px var(--orange);border-radius:50%;margin-right:5px;display:inline-block}.score-block{border-right:2px solid var(--cyan);text-align:right;min-width:190px;padding-right:16px;position:relative}.score-block>strong{font:600 28px/1 var(--display);letter-spacing:.1em;display:block}.audience-score{color:var(--muted);font:600 7px var(--display);letter-spacing:.14em;justify-content:flex-end;align-items:baseline;gap:8px;margin-top:7px;display:flex}.audience-score>span:first-child{white-space:nowrap}.audience-score b{color:var(--cyan-soft);font:600 12px var(--display);letter-spacing:.08em}.combo{color:var(--cyan);font:600 11px var(--display);transition:color .2s,transform .2s;position:relative}.combo:after{content:"";width:var(--combo-life,0%);background:currentColor;height:1px;transition:width 50ms linear;position:absolute;top:15px;right:0;box-shadow:0 0 5px}.combo.hot{color:var(--orange);text-shadow:0 0 12px var(--orange);transform:scale(1.15)}.status-cluster{border-left:1px solid var(--line);width:230px;padding-left:13px;position:absolute;bottom:30px;left:28px}#hud.shield-critical .status-cluster{border-left-color:var(--danger);filter:drop-shadow(0 0 9px #ff4f4338)}.ship-id{align-items:baseline;gap:8px;margin-bottom:12px;display:flex}.ship-id span{color:var(--cyan);font:700 13px var(--display);letter-spacing:.04em;white-space:nowrap}.ship-id small{color:var(--muted);font:500 9px var(--display);letter-spacing:.2em;white-space:nowrap}.meter-row{color:var(--cyan-soft);font:600 9px var(--display);letter-spacing:.1em;grid-template-columns:48px 1fr 25px;align-items:center;gap:7px;margin:7px 0;display:grid;position:relative}.meter-row[data-state]:not([data-state=""]):after{content:attr(data-state);color:var(--orange);letter-spacing:.12em;font-size:6px;position:absolute;top:-7px;right:0}.meter-row.charging .meter i{animation:.8s ease-in-out infinite alternate shield-charge}.meter-row b{color:var(--white);text-align:right;font-size:9px}.meter{background:#79c6cf21;height:4px;overflow:visible}.meter i{background:var(--cyan);width:100%;height:100%;transition:width .15s;display:block;box-shadow:0 0 7px #70f3ff99}.meter.critical i{background:var(--danger);animation:1s infinite critical}.ordnance-row{color:var(--muted);font:600 7px var(--display);letter-spacing:.13em;border-top:1px solid #70f3ff24;justify-content:space-between;align-items:center;margin-top:11px;padding-top:9px;display:flex}.ordnance-row strong{color:var(--cyan);letter-spacing:.1em;font-size:8px}.ordnance-row strong b{font-weight:600}.ordnance-row kbd{color:#d9fbff;min-width:17px;font:inherit;background:#1c576333;border:1px solid #70f3ff52;margin-right:4px;padding:2px 4px}.ordnance-row.active{color:var(--cyan);text-shadow:0 0 8px #56ecff8c;animation:.28s ease-in-out infinite alternate pulse-charge}.ordnance-row.empty,.ordnance-row.empty strong{color:#58676b}.ordnance-row.empty kbd{color:#58676b;background:0 0;border-color:#6e7e822e}#boundary-alert{z-index:5;left:50%;top:max(94px, calc(env(safe-area-inset-top) + 78px));opacity:0;text-align:center;background:linear-gradient(90deg,#0000,#071921e0 18% 82%,#0000);border-top:1px solid #70f3ff8c;width:184px;padding:8px 12px 9px;transition:opacity .18s,transform .18s;position:absolute;transform:translate(-50%,-8px)}#boundary-alert.active{opacity:1;transform:translate(-50%)}#boundary-alert span{color:var(--cyan-soft);font:600 7px var(--display);letter-spacing:.25em;display:block}#boundary-alert strong{color:var(--cyan);font:600 16px var(--condensed);letter-spacing:.14em;margin:4px 0 6px;display:block}#boundary-alert>i{background:#70f3ff1f;height:2px;display:block}#boundary-alert>i>b{width:var(--boundary-gauge,0%);background:var(--cyan);height:100%;box-shadow:0 0 6px var(--cyan);transition:width 80ms linear;display:block}#boundary-alert.breach{border-color:#ff6943;animation:.35s ease-in-out infinite alternate boundary-panel}#boundary-alert.breach span,#boundary-alert.breach strong{color:#ff805c}#boundary-alert.breach>i>b{background:#ff5f38;box-shadow:0 0 7px #ff5f38}#aim-zone{--aim-zone-size:116px;z-index:3;width:var(--aim-zone-size);height:var(--aim-zone-size);pointer-events:none;border:1px dashed #70f3ff38;border-radius:50%;transition:border-color .16s,box-shadow .16s;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 18px #70f3ff06}#aim-zone:before,#aim-zone:after{content:"";background:#70f3ff47;position:absolute}#aim-zone:before{background:linear-gradient(#70f3ff73 0 7px,#0000 7px calc(100% - 7px),#70f3ff73 calc(100% - 7px));width:1px;top:-4px;bottom:-4px;left:50%}#aim-zone:after{background:linear-gradient(90deg,#70f3ff73 0 7px,#0000 7px calc(100% - 7px),#70f3ff73 calc(100% - 7px));height:1px;top:50%;left:-4px;right:-4px}#aim-zone span{color:#86bfc77a;font:600 6px var(--display);letter-spacing:.18em;position:absolute;bottom:-12px;left:50%;transform:translate(-50%)}#aim-zone.steering{border-color:#ff7b396b;box-shadow:0 0 16px #ff7b3914}#aim-zone.steering span{color:#ffb25eb8}#crosshair{--aim-x:0px;--aim-y:0px;--lock-scale:1;z-index:4;width:56px;height:56px;transform:translate(-50%, -50%) translate(var(--aim-x), var(--aim-y)) scale(var(--lock-scale));transition:transform 80ms;position:absolute;top:46%;left:50%}#crosshair b{border:1px solid var(--cyan);width:4px;height:4px;margin:-2px;position:absolute;top:50%;left:50%;transform:rotate(45deg)}#crosshair.locked{--lock-scale:.88}#crosshair.locked .tick{background:var(--orange);box-shadow:0 0 6px var(--orange)}#crosshair.locked b{border-color:var(--orange);background:#ff7b3929}#crosshair.locked #target-range{color:var(--amber)}#target-bearing{opacity:0;background:var(--cyan);clip-path:polygon(50% 0,100% 100%,50% 72%,0 100%);transform-origin:50%;width:8px;height:8px;margin:-4px;transition:opacity .18s;position:absolute;top:50%;left:50%}#target-bearing.active{opacity:.72}#target-bearing[data-aft=true]{background:var(--orange)}.tick{background:#8cebf3b3;position:absolute}.tick.top,.tick.bottom{width:1px;height:7px;left:50%}.tick.top{top:0}.tick.bottom{bottom:0}.tick.left,.tick.right{width:7px;height:1px;top:50%}.tick.left{left:0}.tick.right{right:0}#target-range{color:var(--muted);font:500 8px var(--display);white-space:nowrap;position:absolute;top:61px;left:50%;transform:translate(-50%)}#flight-cursor{z-index:5;opacity:.82;pointer-events:none;will-change:transform;width:34px;height:34px;position:absolute;top:46%;left:50%}#flight-cursor i{border:1px solid #ffb25ee6;border-radius:50%;position:absolute;inset:4px;box-shadow:0 0 9px #ff7b3933}#flight-cursor i:before{content:"";border:1px solid var(--orange);width:5px;height:5px;margin:-3px;position:absolute;top:50%;left:50%;transform:rotate(45deg)}#flight-cursor span{color:var(--amber);font:600 6px var(--display);letter-spacing:.18em;white-space:nowrap;position:absolute;top:39px;left:50%;transform:translate(-50%)}#flight-cursor[data-edge=true] i{border-color:var(--orange);box-shadow:0 0 12px #ff7b396b}#flight-cursor[data-mode=aim] i{border-color:#70f3ffcc;box-shadow:0 0 8px #70f3ff29}#flight-cursor[data-mode=aim] span{color:var(--cyan-soft)}.flight-strip{text-align:center;align-items:end;gap:14px;display:flex;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.flight-strip>div{min-width:66px}.flight-strip strong{font:600 15px var(--display);letter-spacing:.08em;margin-top:5px;display:block}.flight-strip small{color:var(--muted);font:500 7px var(--display);letter-spacing:.16em}#event-feed{text-align:right;color:var(--cyan-soft);font:500 9px/1.8 var(--display);letter-spacing:.1em;position:absolute;top:112px;right:28px}#event-feed div{animation:.25s ease-out feed-in}.controls-hint{border:1px solid var(--line);color:var(--muted);font:500 8px var(--display);letter-spacing:.13em;background:#050d12b3;padding:8px 15px;transition:opacity .8s;position:absolute;bottom:88px;left:50%;transform:translate(-50%)}.controls-hint.hidden{opacity:0}.icon-button{border:1px solid var(--line);width:44px;height:44px;color:var(--cyan-soft);pointer-events:auto;cursor:pointer;background:#040c1166;position:absolute;top:20px;left:50%;transform:translate(-50%)}.perf-panel{white-space:pre;color:#7cff9a;font:500 9px/1.5 monospace;display:none;position:absolute;top:120px;left:28px}.perf-panel.active{display:block}.modal{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#020609d1}.modal:before{content:"";clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,28px 100%,0 calc(100% - 28px));border:1px solid #70f3ff29;width:min(520px,90vw);height:min(420px,80vh);position:absolute}.modal h2{font:700 48px/1 var(--condensed);letter-spacing:.04em;margin:13px 0 8px}.modal p{color:var(--muted);margin:0 0 28px;font-size:12px}.modal .primary-button{margin:5px}.text-button{border:0;border-bottom:1px solid var(--line);color:var(--cyan-soft);letter-spacing:.14em;cursor:pointer;background:0 0;margin:15px auto;padding:6px;font-size:10px;display:block}.pause-controls{color:var(--muted);text-align:left;grid-template-columns:1fr 1fr;gap:7px 22px;margin-top:20px;font-size:9px;display:grid}.touch-pause-controls,body.touch-mode .desktop-pause-controls{display:none}body.touch-mode .touch-pause-controls{display:grid}.eyebrow.danger{color:var(--danger)}#wave-banner{z-index:7;text-align:center;opacity:0;pointer-events:none;width:100%;transition:opacity .4s,transform .5s;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)scaleX(.8)}#wave-banner.active{opacity:1;transform:translate(-50%,-50%)scaleX(1)}#wave-banner:before,#wave-banner:after{content:"";background:linear-gradient(90deg, transparent, var(--cyan));width:31%;height:1px;position:absolute;top:50%}#wave-banner:before{right:63%}#wave-banner:after{left:63%;transform:scaleX(-1)}#wave-banner span{color:var(--cyan);font:600 9px var(--display);letter-spacing:.35em;display:block}#wave-banner strong{font:700 38px var(--condensed);letter-spacing:.12em;margin-top:4px;display:block}#toast{z-index:8;opacity:0;border-top:1px solid var(--cyan);border-bottom:1px solid var(--cyan);color:var(--cyan);font:600 10px var(--display);letter-spacing:.18em;pointer-events:none;background:#07151bbf;padding:9px 18px;transition:opacity .25s,transform .25s;position:absolute;top:24%;left:50%;transform:translate(-50%,-12px)}#toast.active{opacity:1;transform:translate(-50%)}#touch-controls{display:none}#touch-throttle{width:50px;height:126px;color:var(--cyan);pointer-events:auto;touch-action:none;background:linear-gradient(#0a252db3,#041016c7);border:1px solid #70f3ff57;flex-direction:column;align-items:center;gap:4px;padding:7px 5px 6px;display:flex;position:absolute;bottom:105px;left:142px;box-shadow:inset 0 0 18px #70f3ff0d}#touch-throttle span{font:600 6px var(--display);letter-spacing:.12em}#touch-throttle input{writing-mode:vertical-lr;appearance:slider-vertical;width:24px;height:86px;accent-color:var(--cyan);touch-action:none;direction:rtl;margin:0}#touch-throttle output{color:var(--white);font:700 10px var(--display);letter-spacing:.08em}#touch-throttle output:after{content:" M/S";color:var(--muted);font-size:5px}#diagnostics{display:none}.gameover-reason{letter-spacing:.08em;max-width:410px;color:#94a9ae!important;font:500 11px/1.55 var(--display)!important;margin:5px auto 13px!important}.survival-result{letter-spacing:.16em;color:var(--cyan-soft)!important;font:600 10px var(--display)!important;margin:8px auto 14px!important}.survival-result strong{color:var(--white);font:700 32px var(--display);letter-spacing:.08em;margin:0 9px;display:inline-block}body.ship-destruction #aim-zone,body.ship-destruction #crosshair,body.ship-destruction #flight-cursor,body.ship-destruction .flight-strip,body.ship-destruction .controls-hint,body.ship-destruction #touch-controls,body.ship-destruction .icon-button{transition:opacity .18s;opacity:0!important;pointer-events:none!important}body.ship-destruction #hud:after{content:"INMATE VB-04 // TERMINATED";color:#ff9660;font:700 10px/1 var(--display);letter-spacing:.28em;text-shadow:0 0 15px #ff532acc;animation:.22s steps(2,end) infinite reactor-failure;position:absolute;top:18%;left:50%;transform:translate(-50%)}body.ship-destruction #vignette{background:radial-gradient(circle at 50% 46%,#0000 28%,#5f100547 72%,#0000008c);box-shadow:inset 0 0 160px #ff31142e}body.ship-destruction .mission-chip strong{color:var(--danger);text-shadow:0 0 10px #ff4f4394}body.ship-destruction.ship-core-detonation #hud:after{content:"CORE BREACH // SHOCK FRONT";color:#c7fbff;text-shadow:0 0 18px #6eecfff2,0 0 42px #ff6f2db8;animation-duration:.1s}body.ship-destruction.ship-core-detonation #vignette{background:radial-gradient(circle at 50% 48%,#e6fdff29,#0000 22%,#1470911f 50%,#36080352 78%,#0009);box-shadow:inset 0 0 190px #66e6ff38}body.ship-destruction.ship-core-detonation #damage-flash{background:radial-gradient(circle at 50% 48%,#fffffff5 0,#c7faffd6 19%,#50d3ff47 47%,#0000 76%);animation:.82s ease-out both core-whiteout}body.ship-destruction.ship-core-detonation .top-rail,body.ship-destruction.ship-core-detonation .status-cluster,body.ship-destruction.ship-core-detonation #event-feed{opacity:.22;transition:opacity .5s ease-out}body.reduced-motion.ship-destruction #hud:after{animation:none}body.reduced-motion.ship-destruction.ship-core-detonation #damage-flash{animation-duration:.35s}@keyframes shield-charge{to{filter:brightness(1.8)}}@keyframes critical{50%{opacity:.35}}@keyframes reactor-failure{50%{opacity:.42}}@keyframes core-whiteout{0%{opacity:.96}24%{opacity:.72}to{opacity:0}}@keyframes feed-in{0%{opacity:0;transform:translate(8px)}}@keyframes boundary-danger{to{opacity:.45}}@keyframes boundary-panel{to{filter:brightness(1.35)}}@media (width<=700px),(pointer:coarse){.boot-meta{grid-template-columns:1fr 1fr;gap:12px;display:grid}.boot-meta span:nth-child(-n+2){display:none}.tagline{font-size:11px}.top-rail{top:max(14px, env(safe-area-inset-top));left:13px;right:13px}.mission-chip{min-width:180px;padding:9px 11px}.mission-chip strong{font-size:14px}.score-block strong{font-size:20px}.status-cluster{left:13px;bottom:max(15px, env(safe-area-inset-bottom));width:170px}#boundary-alert{top:max(82px, calc(env(safe-area-inset-top) + 68px));transform:translate(-50%,-8px)scale(.84)}#boundary-alert.active{transform:translate(-50%)scale(.84)}.flight-strip,.controls-hint,.icon-button{display:none}#event-feed{top:84px;right:12px}#touch-controls{z-index:6;pointer-events:none;display:block;position:absolute;inset:0}#touch-stick{pointer-events:auto;touch-action:none;background:radial-gradient(circle,#70f3ff14,#0000 60%);border:1px solid #70f3ff3d;border-radius:50%;width:110px;height:110px;position:absolute;bottom:105px;left:24px}#touch-stick i{border:1px solid var(--cyan);background:#70f3ff1f;border-radius:50%;width:36px;height:36px;position:absolute;top:calc(50% - 18px);left:calc(50% - 18px)}#touch-fire,#touch-pulse{border:1px solid var(--orange);width:68px;height:68px;color:var(--amber);font:600 10px var(--display);pointer-events:auto;touch-action:none;background:#36120857;border-radius:50%;position:absolute;right:24px}#touch-fire{bottom:105px}#touch-pulse{color:#bdfaff;background:#1449544d;border-color:#8df5ff;width:54px;height:54px;bottom:38px}}@media (width<=700px) and (pointer:fine){#touch-controls{display:none}}@media (pointer:coarse) and (orientation:portrait){.mission-chip{min-width:0;max-width:66vw}.score-block{transform-origin:100% 0;transform:scale(.86)}.status-cluster{width:155px;bottom:max(12px, env(safe-area-inset-bottom))}#event-feed{display:none}#touch-stick{left:16px;bottom:max(132px, calc(env(safe-area-inset-bottom) + 120px));width:96px;height:96px}#touch-fire{right:16px;bottom:max(118px, calc(env(safe-area-inset-bottom) + 104px))}#touch-throttle{left:122px;bottom:max(132px, calc(env(safe-area-inset-bottom) + 120px));height:112px}#touch-pulse{right:16px;bottom:max(42px, calc(env(safe-area-inset-bottom) + 28px))}}@media (pointer:coarse) and (orientation:landscape){.top-rail{top:max(10px, env(safe-area-inset-top))}.status-cluster{width:165px;bottom:max(10px, env(safe-area-inset-bottom))}#event-feed{display:none}#touch-stick{left:max(18px, env(safe-area-inset-left));width:96px;height:96px;bottom:calc(50% - 48px)}#touch-fire{right:max(18px, env(safe-area-inset-right));bottom:calc(50% - 34px)}#touch-throttle{left:max(126px, calc(env(safe-area-inset-left) + 112px));height:120px;bottom:calc(50% - 60px)}#touch-pulse{right:max(106px, calc(env(safe-area-inset-right) + 92px));bottom:max(18px, env(safe-area-inset-bottom))}}body.touch-mode #touch-controls{display:block}body.touch-mode:not(.touch-active) #touch-controls{display:none}body.touch-mode .icon-button{top:max(104px, calc(env(safe-area-inset-top) + 92px));width:44px;height:44px;display:block}body.touch-mode .top-rail{top:max(14px, env(safe-area-inset-top));left:13px;right:13px}body.touch-mode .mission-chip{min-width:180px;padding:9px 11px}body.touch-mode .mission-chip strong{font-size:14px}body.touch-mode .score-block strong{font-size:20px}body.touch-mode .status-cluster{left:13px;bottom:max(15px, env(safe-area-inset-bottom));width:170px}body.touch-mode #boundary-alert{top:max(82px, calc(env(safe-area-inset-top) + 68px));transform:translate(-50%,-8px)scale(.84)}body.touch-mode #boundary-alert.active{transform:translate(-50%)scale(.84)}body.touch-mode .flight-strip,body.touch-mode .controls-hint{display:none}body.touch-mode #event-feed{top:84px;right:12px}body.touch-mode #touch-controls{z-index:6;pointer-events:none;position:absolute;inset:0}body.touch-mode #touch-stick{pointer-events:auto;touch-action:none;background:radial-gradient(circle,#70f3ff14,#0000 60%);border:1px solid #70f3ff3d;border-radius:50%;width:110px;height:110px;position:absolute;bottom:105px;left:24px}body.touch-mode #touch-stick i{border:1px solid var(--cyan);background:#70f3ff1f;border-radius:50%;width:36px;height:36px;position:absolute;top:calc(50% - 18px);left:calc(50% - 18px)}body.touch-mode #touch-fire,body.touch-mode #touch-pulse{border:1px solid var(--orange);width:68px;height:68px;color:var(--amber);font:600 10px var(--display);pointer-events:auto;touch-action:none;background:#36120857;border-radius:50%;position:absolute;right:24px}body.touch-mode #touch-fire{bottom:105px}body.touch-mode #touch-pulse{color:#bdfaff;background:#1449544d;border-color:#8df5ff;width:54px;height:54px;bottom:38px}@media (orientation:portrait){body.touch-mode .mission-chip{min-width:0;max-width:66vw}body.touch-mode .score-block{transform-origin:100% 0;transform:scale(.86)}body.touch-mode .status-cluster{width:170px;bottom:max(12px, env(safe-area-inset-bottom))}body.touch-mode #event-feed{display:none}body.touch-mode #touch-stick{left:16px;bottom:max(132px, calc(env(safe-area-inset-bottom) + 120px));width:96px;height:96px}body.touch-mode #touch-fire{right:16px;bottom:max(118px, calc(env(safe-area-inset-bottom) + 104px))}body.touch-mode #touch-throttle{left:122px;bottom:max(132px, calc(env(safe-area-inset-bottom) + 120px));height:112px}body.touch-mode #touch-pulse{right:16px;bottom:max(42px, calc(env(safe-area-inset-bottom) + 28px))}body.touch-mode .icon-button{top:max(108px, calc(env(safe-area-inset-top) + 96px))}}@media (orientation:landscape){body.touch-mode .top-rail{top:max(10px, env(safe-area-inset-top))}body.touch-mode .status-cluster{width:165px;bottom:max(10px, env(safe-area-inset-bottom))}body.touch-mode #event-feed{display:none}body.touch-mode #touch-stick{left:max(18px, env(safe-area-inset-left));width:96px;height:96px;bottom:calc(50% - 48px)}body.touch-mode #touch-fire{right:max(18px, env(safe-area-inset-right));bottom:calc(50% - 34px)}body.touch-mode #touch-throttle{left:max(126px, calc(env(safe-area-inset-left) + 112px));height:120px;bottom:calc(50% - 60px)}body.touch-mode #touch-pulse{right:max(106px, calc(env(safe-area-inset-right) + 92px));bottom:max(18px, env(safe-area-inset-bottom))}body.touch-mode .icon-button{top:max(10px, env(safe-area-inset-top))}}@keyframes pulse-charge{to{filter:brightness(1.65)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.boot-records{grid-template-columns:1fr;gap:10px;width:min(380px,88vw);margin-top:20px;display:grid}.boot-record{border-left:1px solid var(--cyan);text-align:left;background:#06121875;grid-template-columns:auto auto;align-items:baseline;gap:2px 12px;margin:0;padding:9px 14px;display:grid}.boot-record span{color:var(--muted);font:600 7px var(--display);letter-spacing:.2em;writing-mode:vertical-rl;grid-row:1/3;align-self:center;transform:rotate(180deg)}.boot-record strong{color:var(--cyan);font:700 19px var(--display);letter-spacing:.1em}.boot-record small{color:var(--muted);font:600 7px var(--display);letter-spacing:.14em}#pause-screen{padding:30px 18px;overflow-y:auto}#pause-screen.modal:before{height:min(590px,92vh)}.settings-panel{border-top:1px solid var(--line);background:#050f158c;width:min(430px,86vw);margin-top:18px;padding:14px 16px;position:relative}.settings-panel h3{color:var(--cyan);font:600 9px var(--display);letter-spacing:.22em;margin:0 0 10px}.settings-panel>label{color:var(--muted);font:600 9px var(--display);letter-spacing:.12em;text-align:left;grid-template-columns:64px 1fr 36px;align-items:center;gap:10px;margin:8px 0;display:grid}.settings-panel input[type=range]{width:100%;accent-color:var(--cyan)}.settings-panel output{color:var(--white);font:600 8px var(--display);text-align:right}.settings-actions{justify-content:space-between;align-items:center;margin-top:10px;display:flex}.settings-actions .text-button{margin:0}.toggle-setting{color:var(--cyan-soft);font:600 8px var(--display);letter-spacing:.1em;cursor:pointer;align-items:center;gap:7px;display:flex}.toggle-setting input{accent-color:var(--cyan)}.debrief-screen{align-content:center;padding:22px 14px;overflow-y:auto}.debrief-screen.modal:before{width:min(610px,94vw);height:min(640px,94vh)}.debrief-screen>*{z-index:1;position:relative}.score-breakdown{text-align:left;background:#040f14a3;border:1px solid #70f3ff21;grid-template-columns:1fr 1fr;width:min(430px,84vw);margin:12px auto;padding:10px 14px;display:grid}.score-breakdown span{color:var(--muted);font:600 8px var(--display);letter-spacing:.1em;justify-content:space-between;gap:12px;padding:6px;display:flex}.score-breakdown b{color:var(--white)}#final-stage-label,#final-progress-label{font-style:normal}.record-status{letter-spacing:.16em;min-height:14px;color:var(--cyan)!important;font:700 10px var(--display)!important;margin:8px auto!important}.score-entry{width:min(430px,86vw);margin:10px auto}.score-entry label{color:var(--amber);font:600 8px var(--display);letter-spacing:.16em;margin-bottom:8px;display:block}.score-entry div{justify-content:center;align-items:stretch;display:flex}.score-entry input{border:1px solid var(--cyan);width:86px;color:var(--white);font:700 22px var(--display);letter-spacing:.18em;text-align:center;text-transform:uppercase;background:#030d12e0;border-right:0}.score-entry .primary-button{min-width:150px;padding:11px 14px;font-size:9px}.leaderboard-list{z-index:1;counter-reset:rank;width:min(480px,88vw);max-height:250px;margin:12px auto 16px;padding:0;list-style:none;position:relative;overflow-y:auto}.leaderboard-list li{counter-increment:rank;color:var(--muted);font:600 9px var(--display);letter-spacing:.08em;text-align:left;border-bottom:1px solid #70f3ff17;grid-template-columns:34px 50px 1fr auto;align-items:center;gap:10px;padding:7px 10px;display:grid}.leaderboard-list li:before{content:counter(rank, decimal-leading-zero);color:var(--cyan-soft)}.leaderboard-list li.empty:before{content:none}.leaderboard-list li strong{color:var(--white);letter-spacing:.15em}.leaderboard-list li b{color:var(--cyan);text-align:right;font-size:11px}.leaderboard-list li.current{border-color:var(--orange);background:#ff7b3914}.leaderboard-list li.empty{color:var(--muted);text-align:center;display:block}#leaderboard-screen.modal:before{height:min(590px,88vh)}#leaderboard-screen>*{z-index:1;position:relative}#wave-banner{top:36%}#wave-banner.active{background:radial-gradient(#10404a52,#02080c00 62%);padding:26px 0}#wave-banner.clear strong{color:var(--white);text-shadow:0 0 24px #70f3ff4d}#wave-banner.incoming span{color:var(--orange)}#wave-banner.incoming:before,#wave-banner.incoming:after{background:linear-gradient(90deg, transparent, var(--orange))}#wave-banner.engaged{animation:.7s ease-out wave-engage}#wave-banner p{color:var(--cyan-soft);font:600 9px var(--display);letter-spacing:.14em;margin:7px 0 0}#wave-metrics{color:var(--muted);font:600 8px var(--display);letter-spacing:.12em;justify-content:center;gap:22px;margin-top:10px;display:flex}#wave-metrics b{color:var(--white)}#wave-countdown{height:54px;color:var(--orange);font:700 52px/.95 var(--condensed);text-shadow:0 0 22px #ff7b396b;margin-top:4px;display:block}body.reduced-motion *,body.reduced-motion :before,body.reduced-motion :after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}@keyframes wave-engage{0%{opacity:0;filter:brightness(2.2);transform:translate(-50%,-50%)scale(1.12)}}@media (height<=650px){#pause-screen{align-content:start}.desktop-pause-controls{display:none}.settings-panel{margin-top:10px}.debrief-screen{align-content:start}.leaderboard-list{max-height:180px}}@media (width<=700px){.boot-records{margin-top:12px}.mode-card{min-height:84px;padding:12px 13px}.mode-card strong{font-size:14px}#leaderboard-button{margin-top:8px}.settings-panel{width:min(360px,88vw)}.score-breakdown{grid-template-columns:1fr}.leaderboard-list li{grid-template-columns:28px 42px 1fr auto;gap:6px;font-size:7px}#wave-banner:before,#wave-banner:after{width:18%}#wave-banner:before{right:76%}#wave-banner:after{left:76%}#wave-banner strong{font-size:30px}#wave-banner.incoming strong{letter-spacing:.07em;font-size:clamp(21px,6.5vw,28px)}#wave-metrics{gap:10px}}@media (height<=450px) and (orientation:landscape){body.touch-mode #pause-screen{align-content:start;padding:8px 14px}body.touch-mode #pause-screen.modal:before{width:min(640px,96vw);height:calc(100vh - 16px)}body.touch-mode #pause-screen h2{margin:4px 0;font-size:32px}body.touch-mode #pause-screen>p{margin-bottom:7px;font-size:9px}body.touch-mode #pause-screen .primary-button{min-width:210px;padding:10px 16px}body.touch-mode #pause-screen .text-button{margin:4px auto;padding:4px}body.touch-mode #pause-screen .settings-panel{grid-template-columns:1fr 1fr;column-gap:18px;width:min(610px,94vw);margin-top:4px;padding:7px 10px;display:grid}body.touch-mode #pause-screen .settings-panel h3{grid-column:1/-1;margin-bottom:2px}body.touch-mode #pause-screen .settings-panel>label{grid-template-columns:52px 1fr 30px;gap:7px;margin:3px 0}body.touch-mode #pause-screen .settings-actions{grid-column:1/-1;margin-top:3px}body.touch-mode #pause-screen .toggle-setting{margin:0}}@media (width<=420px) and (orientation:portrait){body.touch-mode .modal h2{font-size:38px}body.touch-mode #leaderboard-screen.modal:before{width:92vw}body.touch-mode #leaderboard-screen .leaderboard-list{width:86vw}}@media (height<=760px){#boot-screen{align-content:center;padding:18px 4vw}.boot-mark{width:72px;height:38px;margin-top:2px}.boot-mark i{width:42px;height:9px}h1{font-size:clamp(46px,8vw,76px)}.tagline{margin:13px 0 20px;font-size:11px}.mode-card{min-height:76px;padding:10px 14px}.boot-meta{margin-top:20px}.boot-note,.boot-records{margin-top:10px}}#crosshair:after{content:"";opacity:0;pointer-events:none;background:linear-gradient(45deg,#0000 45%,#fff1d6 46% 54%,#0000 55%),linear-gradient(-45deg,#0000 45%,#fff1d6 46% 54%,#0000 55%);position:absolute;inset:17px}#crosshair.confirmed-hit:after{opacity:1}#flight-cursor[data-mode=steer] i{border-style:dashed;border-width:2px}#flight-cursor span{font-size:8px}#target-range{color:#aec6cc;font-size:9px}#flight-cursor.centered{opacity:.48}[hidden]{display:none!important}.pwa-actions{justify-content:center;gap:18px;display:flex}.pwa-actions .text-button{margin:0 auto}.pwa-status{max-width:min(380px,86vw);font:500 11px/1.4 var(--display);letter-spacing:.02em;color:var(--cyan-soft)!important;margin:7px auto 0!important}.pwa-status:empty{display:none}.migration-links{justify-content:center;gap:18px;margin:12px 0;font:11px monospace;display:flex}.migration-links a{color:#bfdde2;text-underline-offset:4px}
