:root{color:#f5f7ff;font-synthesis:none;text-rendering:geometricprecision;--ink:#f5f7ff;--muted:#9da9bd;--panel:#080d1ec2;--panel-strong:#070b19f2;--line:#c2daef3d;--objective:#65f5dc;--objective-soft:#8bdce8;--reward:#ffc36b;--danger:#ff6475;--world:#c49372;background:#010207;font-family:Avenir Next,Avenir,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{background:#010207;min-width:320px}button,kbd{font:inherit}button:focus-visible,#game-canvas:focus-visible{outline:2px solid var(--objective);outline-offset:3px}#app{isolation:isolate;background:#010207;position:relative}#game-canvas{touch-action:none;outline:none;width:100vw;height:100vh;display:block}#hud{z-index:3;color:var(--ink);pointer-events:none;text-transform:uppercase;position:absolute;inset:0}.hud-brand,.systems-cluster,.mission-cluster,.navigation-cluster,.score-cluster,.utility-cluster,.telemetry-cluster,#radar{transition:opacity .18s,transform .18s;position:absolute}.hud-brand{top:max(14px, env(safe-area-inset-top));left:max(18px, env(safe-area-inset-left));align-items:center;gap:8px;display:flex}.brand-mark{width:36px;height:36px;color:var(--objective);clip-path:polygon(0 0,82% 0,100% 18%,100% 100%,18% 100%,0 82%);background:#080f1fc7;border:1px solid #65f5dc8c;place-items:center;font-size:.7rem;font-weight:900;display:grid;box-shadow:inset 0 0 14px #65f5dc14}.brand-copy{color:#f5f7ff9e;letter-spacing:.13em;font-size:.54rem;line-height:1.25}.brand-copy b{color:var(--ink);font-size:.66rem}.systems-cluster{top:max(60px, calc(env(safe-area-inset-top) + 48px));left:max(18px, env(safe-area-inset-left));gap:7px;width:165px;display:grid}.system-meter{border-left:2px solid var(--objective-soft);padding-left:10px}.meter-label{color:var(--muted);letter-spacing:.15em;justify-content:space-between;margin-bottom:5px;font-size:.58rem;display:flex}.meter-label b{min-width:32px;color:var(--ink);font-variant-numeric:tabular-nums;text-align:right}.meter-track{border:1px solid var(--line);clip-path:polygon(0 0,100% 0,calc(100% - 6px) 100%,0 100%);background:#020610b8;width:100%;height:7px;display:block;position:relative;overflow:hidden}.meter-track:after{content:"";background:repeating-linear-gradient(90deg,#0000 0 18%,#040812c2 18% 20%);position:absolute;inset:0}.meter-track i{transform-origin:0;transition:transform 90ms linear,background .16s;display:block;position:absolute;inset:0;transform:scaleX(1)}.hull-meter .meter-track i{background:linear-gradient(90deg, #69d5e8, var(--objective))}.energy-meter{border-left-color:var(--reward)}.energy-meter .meter-track i{background:linear-gradient(90deg, #ff9252, var(--reward))}.meter-track.is-critical i,.meter-track.is-low i{background:var(--danger);animation:.68s ease-in-out infinite alternate warning-pulse}.mission-cluster{top:max(10px, env(safe-area-inset-top));text-align:center;clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%,0 12px);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(#070d1dd1,#070d1d1f);border-top:1px solid #65f5dc80;width:min(390px,38vw);padding:5px 14px 7px;left:50%;transform:translate(-50%)}.mission-heading{color:var(--muted);letter-spacing:.17em;justify-content:space-between;font-size:.51rem;display:flex}.mission-heading b{color:var(--objective);font-variant-numeric:tabular-nums}.mission-cluster>strong{letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-family:Arial Narrow,Avenir Next Condensed,sans-serif;font-size:clamp(.8rem,1.22vw,1.12rem);display:block;overflow:hidden}.mission-cluster>span{color:#b4bfd0;letter-spacing:.1em;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:.55rem;display:block;overflow:hidden}.mission-pips{justify-content:center;gap:5px;margin-top:8px;display:flex}.mission-pips i{background:#f5f7ff24;width:34px;max-width:13%;height:2px;transform:skew(-25deg)}.mission-pips i.is-active{background:#65f5dc85}.mission-pips i.is-current{background:var(--objective);box-shadow:0 0 11px #65f5dcbf}.navigation-cluster{top:max(14px, env(safe-area-inset-top));border-left:1px solid var(--line);white-space:nowrap;width:auto;padding-left:14px;left:calc(50% + min(210px,20vw))}.navigation-cluster span,.score-cluster span{color:var(--muted);letter-spacing:.15em;font-size:.51rem;display:block}.navigation-cluster strong{color:var(--objective);font-variant-numeric:tabular-nums;margin-top:2px;font-size:.96rem;display:block}.navigation-cluster small{color:#f5f7ffb8;letter-spacing:.12em;font-size:.53rem}.score-cluster{top:max(12px, env(safe-area-inset-top));right:calc(max(18px, env(safe-area-inset-right)) + 206px);text-align:right;white-space:nowrap}.score-cluster strong{font-variant-numeric:tabular-nums;letter-spacing:.06em;margin-top:1px;font-size:1.2rem;display:block}.score-cluster small{color:var(--reward);letter-spacing:.08em;font-size:.53rem;font-weight:800}.utility-cluster{top:max(12px, env(safe-area-inset-top));right:max(18px, env(safe-area-inset-right));pointer-events:auto;z-index:10;gap:5px;display:flex}.icon-button{border:1px solid var(--line);width:34px;height:34px;color:var(--ink);cursor:pointer;background:#050a17bd;font-size:.58rem;font-weight:900}.icon-button:hover,.icon-button:active{border-color:var(--objective);color:var(--objective)}.icon-button.is-active{border-color:var(--objective);color:var(--objective);background:#65f5dc2e;box-shadow:0 0 12px #65f5dc73}.icon-button:disabled{opacity:.32;cursor:default}.icon-button.is-muted{color:var(--danger)}#hud.is-cinematic-clean>:not(#cinematic-letterbox):not(#comms-panel):not(.utility-cluster){transition:opacity .3s;opacity:0!important;pointer-events:none!important}#hud.is-cinematic-clean .utility-cluster{opacity:.28;transition:opacity .3s}#hud.is-cinematic-clean .utility-cluster:hover{opacity:1}.telemetry-cluster{right:max(22px, env(safe-area-inset-right));bottom:max(28px, calc(env(safe-area-inset-bottom) + 12px));gap:1px;display:flex}.telemetry-cluster>div{border-bottom:1px solid var(--line);text-align:right;background:linear-gradient(#080e1e33,#080e1eb8);min-width:82px;padding:8px 10px 7px}.telemetry-cluster span{color:var(--muted);letter-spacing:.14em;font-size:.48rem;display:block}.telemetry-cluster b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:.9rem}.telemetry-cluster small{color:#f5f7ff75;margin-left:3px;font-size:.43rem}.telemetry-cluster .is-danger b{color:var(--danger)}#radar{bottom:max(24px, calc(env(safe-area-inset-bottom) + 8px));left:max(22px, env(safe-area-inset-left));background:radial-gradient(circle,#65f5dc14,#0000 48%),#050a168c;border:1px solid #8bdce859;border-radius:50%;width:112px;height:112px;box-shadow:inset 0 0 28px #65f5dc0a}.radar-ring{border:1px solid #8bdce838;border-radius:50%;position:absolute;inset:24%}.radar-axis{background:#8bdce821;width:76%;height:1px;position:absolute;top:50%;left:12%}.radar-axis.axis-b{transform:rotate(90deg)}.radar-north{color:var(--objective-soft);font-size:.49rem;position:absolute;top:-14px;left:50%;transform:translate(-50%)}#radar-objective{border:1px solid var(--objective);background:#65f5dc59;width:8px;height:8px;transition:transform .1s linear;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 12px #65f5dccc}#radar-objective.is-behind{border-color:var(--reward);background:#ffc36b59}#radar em{background:var(--ink);clip-path:polygon(50% 0,100% 100%,50% 72%,0 100%);width:5px;height:9px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#objective-marker{z-index:1;visibility:hidden;opacity:0;min-width:90px;color:var(--objective);letter-spacing:.12em;justify-items:center;font-size:.5rem;transition:opacity .1s;display:grid;position:absolute;transform:translate(-50%,-50%)}#objective-marker.is-visible{visibility:visible;opacity:1}#objective-marker i{border:1px solid var(--objective);width:20px;height:20px;transform:rotate(45deg);box-shadow:0 0 12px #65f5dc47}#objective-marker.is-edge i{border-color:var(--reward);border-right-width:4px}#objective-marker span{white-space:nowrap;background:#060b19b8;margin-top:7px;padding:3px 7px}#objective-marker b{color:var(--ink);font-variant-numeric:tabular-nums}#reticle{z-index:1;visibility:hidden;opacity:0;width:58px;height:58px;transition:opacity 90ms linear,visibility 90ms linear;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#reticle.is-visible{visibility:visible;opacity:1}#reticle i,#reticle b,#reticle span{display:block;position:absolute}#reticle i:first-child,#reticle i:nth-child(2){background:#8bdce8c7;width:13px;height:1px;top:50%}#reticle i:first-child{left:0}#reticle i:nth-child(2){right:0}#reticle b{background:var(--objective);border-radius:50%;width:4px;height:4px;top:calc(50% - 2px);left:calc(50% - 2px);box-shadow:0 0 11px #65f5dce6}#reticle span{border-top:1px solid #8bdce857;border-bottom:1px solid #8bdce833;border-radius:50%;inset:9px}#reticle.is-aligned i:first-child,#reticle.is-aligned i:nth-child(2){background:var(--reward);box-shadow:0 0 8px #ffc36b80}#reticle.is-aligned b{background:var(--reward);box-shadow:0 0 13px #ffc36b}#reticle.is-aligned span{border-color:#ffc36bad}#status-line{bottom:max(26px, calc(env(safe-area-inset-bottom) + 10px));border-bottom:1px solid var(--objective-soft);min-width:300px;max-width:min(560px,58vw);color:var(--ink);letter-spacing:.14em;text-align:center;text-overflow:ellipsis;white-space:nowrap;background:linear-gradient(90deg,#0000,#050a16d6 20% 80%,#0000);padding:7px 18px;font-size:.6rem;font-weight:800;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}#status-line[data-tone=reward]{border-color:var(--reward);color:var(--reward)}#status-line[data-tone=danger]{border-color:var(--danger);color:var(--danger)}#scanner-layer{pointer-events:none;z-index:2;position:absolute;inset:0}.discovery-tag{pointer-events:none;opacity:0;flex-direction:column;align-items:center;gap:3px;transition:opacity .16s ease-out,transform .16s ease-out;display:flex;position:absolute;transform:translate(-50%,-100%)}.discovery-tag.is-visible{opacity:1}.discovery-tag-box{border:1px solid var(--objective);letter-spacing:.12em;color:var(--objective);white-space:nowrap;background:#050c16e0;border-radius:3px;align-items:center;gap:6px;padding:3px 8px;font-size:.58rem;font-weight:800;display:flex;box-shadow:0 0 12px #65f5dc59}.discovery-tag-box b{color:var(--ink);opacity:.85;font-size:.52rem}.discovery-tag-stem{background:linear-gradient(180deg, var(--objective), transparent);width:1px;height:12px}.discovery-tag[data-type=crystal] .discovery-tag-box{color:#65f5dc;border-color:#65f5dc;box-shadow:0 0 14px #65f5dc73}.discovery-tag[data-type=supply] .discovery-tag-box{color:#ffc36b;border-color:#ffc36b;box-shadow:0 0 14px #ffc36b73}.discovery-tag[data-type=hostile] .discovery-tag-box{color:#ff5454;border-color:#ff5454;box-shadow:0 0 14px #ff545473}.discovery-tag[data-type=beacon] .discovery-tag-box{color:#8be0ff;border-color:#8be0ff;box-shadow:0 0 14px #8be0ff73}#target-bracket{z-index:1;visibility:hidden;opacity:0;width:52px;height:52px;transition:opacity 90ms linear,visibility 90ms linear;position:absolute;transform:translate(-50%,-50%)}#target-bracket.is-visible{visibility:visible;opacity:1}#target-bracket i{border-color:var(--danger);opacity:.92;border-style:solid;width:12px;height:12px;position:absolute}#target-bracket i:first-child{border-width:1px 0 0 1px;top:0;left:0}#target-bracket i:nth-child(2){border-width:1px 1px 0 0;top:0;right:0}#target-bracket i:nth-child(3){border-width:0 1px 1px 0;bottom:0;right:0}#target-bracket i:nth-child(4){border-width:0 0 1px 1px;bottom:0;left:0}#target-bracket.is-aligned i{border-color:var(--reward);filter:drop-shadow(0 0 4px #ffc36bc7)}#lead-pip{z-index:1;visibility:hidden;opacity:0;width:34px;height:34px;transition:opacity 90ms linear;position:absolute;transform:translate(-50%,-50%)}#lead-pip.is-visible{visibility:visible;opacity:1}#lead-pip i{border:1px solid var(--reward);opacity:.82;border-radius:50%;position:absolute;inset:0}#lead-pip b{background:var(--reward);border-radius:50%;width:3px;height:3px;position:absolute;top:calc(50% - 1.5px);left:calc(50% - 1.5px);box-shadow:0 0 9px #ffc36bf2}#lead-pip.is-hot i{border-color:var(--danger);animation:.42s ease-out infinite pip-lock}#lead-pip.is-hot b{background:var(--danger);box-shadow:0 0 11px #ff6475f2}#lead-pip.is-aligned i{border-color:var(--reward);border-width:2px;animation:none;box-shadow:0 0 12px #ffc36b75}#lead-pip.is-aligned b{background:var(--reward);box-shadow:0 0 13px #ffc36b}@keyframes pip-lock{0%{opacity:.35;transform:scale(1.28)}to{opacity:.9;transform:scale(1)}}#target-readout{visibility:hidden;opacity:0;color:var(--danger);letter-spacing:.14em;grid-template-columns:auto 64px auto;align-items:center;gap:7px;font-size:.47rem;transition:opacity .11s;display:grid;position:absolute;top:calc(50% + 44px);left:50%;transform:translate(-50%)}#target-readout.is-visible{visibility:visible;opacity:1}#target-readout.is-aligned{color:var(--reward)}#target-armour{background:#ff647538;height:3px}#target-armour i{background:var(--danger);transform-origin:0;height:100%;transition:transform 90ms linear;display:block}#target-readout.is-aligned #target-armour{background:#ffc36b33}#target-readout.is-aligned #target-armour i{background:var(--reward)}#threat-layer{pointer-events:none;position:absolute;inset:0}.threat-arrow{background:var(--danger);clip-path:polygon(50% 0,100% 100%,50% 74%,0 100%);opacity:.78;width:15px;height:15px;margin:-7.5px 0 0 -7.5px;position:absolute}.threat-arrow.is-committed{opacity:1;animation:.38s ease-in-out infinite alternate threat-pulse}@keyframes threat-pulse{0%{filter:brightness();transform:scale(1)}to{filter:brightness(2.1);transform:scale(1.28)}}#landing-cue{right:max(22px, env(safe-area-inset-right));bottom:max(95px, calc(env(safe-area-inset-bottom) + 79px));visibility:hidden;border-right:2px solid var(--reward);opacity:0;text-align:right;background:#070c1bc2;padding:8px 11px;transition:opacity .14s,transform .14s,visibility .14s;position:absolute;transform:translate(8px)}#landing-cue.is-visible{visibility:visible;opacity:1;transform:translate(0)}#landing-cue span{color:var(--reward);letter-spacing:.16em;font-size:.49rem;display:block}#landing-cue ul{margin:5px 0 0;padding:0;list-style:none}#landing-cue li{color:var(--muted);letter-spacing:.07em;font-size:.53rem;line-height:1.55}#landing-cue li:after{content:" ·";opacity:.5}#landing-cue li.is-met{color:var(--reward)}#landing-cue li.is-met:after{content:" ✓";opacity:1}#comms-panel{top:max(120px, calc(env(safe-area-inset-top) + 104px));right:max(22px, env(safe-area-inset-right));visibility:hidden;opacity:0;background:linear-gradient(110deg,#070c1cf0,#0a1926c7);border:1px solid #8bdce842;grid-template-columns:50px 1fr auto 3px;align-items:center;gap:12px;width:min(390px,100vw - 44px);padding:10px 12px 10px 10px;transition:opacity .18s,transform .18s,visibility .18s;display:grid;position:absolute;transform:translate(18px)}#comms-panel.is-visible{visibility:visible;opacity:1;transform:translate(0)}#comms-panel[data-tone=warning]{border-color:#ff647580}.comms-avatar{border:1px solid var(--objective);width:50px;height:50px;color:var(--objective);clip-path:polygon(0 0,80% 0,100% 20%,100% 100%,20% 100%,0 80%);background:radial-gradient(circle,#65f5dc2b,#070c1ce6);place-items:center;font-size:.72rem;font-weight:900;display:grid}.comms-waveform{align-items:flex-end;gap:2.5px;height:18px;padding:0 4px;display:flex}.comms-waveform i{background:var(--objective);transform-origin:bottom;border-radius:1px;width:2.5px;height:100%;animation:.6s ease-in-out infinite alternate commsWave}.comms-waveform i:first-child{animation-delay:0s;transform:scaleY(.4)}.comms-waveform i:nth-child(2){animation-delay:.15s;transform:scaleY(.85)}.comms-waveform i:nth-child(3){animation-delay:.3s;transform:scaleY(.6)}.comms-waveform i:nth-child(4){animation-delay:.45s;transform:scaleY(1)}@keyframes commsWave{0%{transform:scaleY(.25)}to{transform:scaleY(1)}}#comms-panel>div:nth-child(2)>span{color:var(--muted);letter-spacing:.13em;font-size:.48rem}#comms-panel>div:nth-child(2)>span b{color:var(--objective-soft)}#comms-panel p{color:var(--ink);text-transform:none;margin:5px 0 0;font-size:.72rem;line-height:1.35}#comms-panel>i{background:repeating-linear-gradient(var(--objective) 0 4px, transparent 4px 8px);opacity:.55;align-self:stretch}#cinematic-letterbox{pointer-events:none;z-index:4;position:absolute;inset:0;overflow:hidden}.letterbox-bar{background:#000;width:100%;transition:transform .52s cubic-bezier(.16,1,.3,1);position:absolute;left:0;box-shadow:0 0 24px #000000e6}.bar-top{height:clamp(32px,8vh,80px);top:0;transform:translateY(-100%)}.bar-bottom{height:clamp(32px,8vh,80px);bottom:0;transform:translateY(100%)}#cinematic-letterbox.is-active .bar-top,#cinematic-letterbox.is-active .bar-bottom{transform:translateY(0)}#cockpit-canopy.is-critical{animation:.8s ease-in-out infinite alternate cockpitRedAlert}@keyframes cockpitRedAlert{0%{filter:drop-shadow(0 0 12px #ff3c3c66);box-shadow:inset 0 0 60px #ff323240}to{filter:drop-shadow(0 0 28px #ff3c3cd9);box-shadow:inset 0 0 120px #ff323299}}.state-overlay{z-index:5;visibility:hidden;opacity:0;pointer-events:none;background:radial-gradient(circle at 75% 25%,#6a4c8d2e,#0000 36%),linear-gradient(90deg,#050814fa 0,#050814e6 42%,#0508143d 74%,#0000);grid-template-columns:minmax(330px,650px) 1fr;transition:opacity .22s,visibility .22s;display:grid;position:absolute;inset:0}.state-overlay.is-visible{visibility:visible;opacity:1;pointer-events:auto}.overlay-rail{top:0;bottom:0;left:max(20px, env(safe-area-inset-left));width:30px;padding:max(24px, env(safe-area-inset-top)) 0 max(24px, env(safe-area-inset-bottom));color:#f5f7ff6b;letter-spacing:.14em;flex-direction:column;align-items:center;font-size:.55rem;font-weight:900;display:flex;position:absolute}.overlay-rail i{background:linear-gradient(var(--objective), #65f5dc0f);flex:1;width:1px;margin:12px 0}.overlay-rail b{writing-mode:vertical-rl}.overlay-content{width:min(520px,100vw - 92px);margin-left:max(74px, calc(env(safe-area-inset-left) + 62px));grid-column:1;align-self:center;padding:44px 0}.overlay-kicker{color:var(--objective);letter-spacing:.2em;align-items:center;gap:10px;font-size:.65rem;font-weight:800;display:flex}.overlay-kicker:before{background:var(--objective);content:"";width:34px;height:2px}.overlay-content h1{max-width:500px;color:var(--ink);text-transform:uppercase;text-shadow:0 0 42px #65f5dc1f;margin:18px 0 0;font-family:Arial Narrow,Avenir Next Condensed,sans-serif;font-size:clamp(4.2rem,9vw,8.4rem);font-weight:900;line-height:.78}#overlay-subtitle{color:var(--reward);letter-spacing:.32em;margin:12px 0 0;font-family:Arial Narrow,Avenir Next Condensed,sans-serif;font-size:clamp(1.1rem,2.3vw,1.65rem);font-weight:900}.overlay-copy{color:#bac4d5;text-transform:none;max-width:470px;margin:28px 0 0;font-size:.94rem;line-height:1.62}.control-legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;max-width:475px;margin-top:22px;display:grid}.control-legend span{border-bottom:1px solid #c2daef24;align-items:center;gap:10px;padding:7px 0;display:flex}.control-legend kbd{min-width:82px;color:var(--objective-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.6rem;font-weight:900}.control-legend b{color:var(--muted);letter-spacing:.1em;font-size:.59rem}.action-button{color:#071510;background:var(--objective);letter-spacing:.13em;text-transform:uppercase;cursor:pointer;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);border:1px solid #65f5dca3;justify-content:space-between;align-items:center;width:min(340px,100%);min-height:53px;margin-top:26px;padding:0 12px 0 20px;font-size:.68rem;font-weight:900;transition:filter .15s,transform .15s;display:flex}.action-button b{border:1px solid #06141142;place-items:center;width:34px;height:34px;font-size:1rem;display:grid}.action-button:hover{filter:brightness(1.09);transform:translateY(-2px)}.action-button:active{transform:translateY(0)}.asset-credit{color:#c2daef6b;letter-spacing:.1em;margin:13px 0 0;font-size:.51rem}#damage-flash,#reward-flash{z-index:4;opacity:0;pointer-events:none;position:absolute;inset:0}#damage-flash{background:radial-gradient(circle,#0000 32%,#ff3048c2)}#reward-flash{background:radial-gradient(circle,#ffd57f4d,#0000 64%)}#touch-controls{right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));left:max(16px, env(safe-area-inset-left));z-index:4;pointer-events:none;justify-content:space-between;align-items:flex-end;display:none;position:absolute}#hit-marker{pointer-events:none;opacity:0;z-index:10;width:36px;height:36px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.6)}#hit-marker i{background:#ff5252;border-radius:1px;width:8px;height:2px;position:absolute;box-shadow:0 0 8px #ff5252,0 0 14px #ff5252cc}#hit-marker i:first-child{transform-origin:50%;top:3px;left:3px;transform:rotate(45deg)}#hit-marker i:nth-child(2){transform-origin:50%;top:3px;right:3px;transform:rotate(-45deg)}#hit-marker i:nth-child(3){transform-origin:50%;bottom:3px;left:3px;transform:rotate(-45deg)}#hit-marker i:nth-child(4){transform-origin:50%;bottom:3px;right:3px;transform:rotate(45deg)}#hit-marker.is-critical i{background:#ffea00;box-shadow:0 0 10px #ffea00,0 0 18px #ffea00e6}#mouse-flight-indicator{pointer-events:none;opacity:0;z-index:2;width:140px;height:140px;transition:opacity .28s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#mouse-flight-indicator.is-active{opacity:1}.flight-guidance-ring{border:1px dashed #65f5dc47;border-radius:50%;width:76px;height:76px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 14px #65f5dc0d}.flight-vector-pip{background:#65f5dc40;border:1.5px solid #65f5dce6;border-radius:50%;width:12px;height:12px;transition:transform 35ms linear;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 12px #65f5dc99}.flight-vector-pip:after{content:"";background:#fff;border-radius:50%;width:3px;height:3px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#cockpit-canopy{pointer-events:none;opacity:0;z-index:2;transition:opacity .32s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;overflow:hidden}#cockpit-canopy.is-visible{opacity:1}.canopy-strut{background:linear-gradient(135deg,#09121d 0%,#152232 50%,#060c14 100%);position:absolute;box-shadow:0 0 20px #000000d9,inset 0 0 2px #65f5dc33}.strut-left{clip-path:polygon(0 0,100% 0,42% 100%,0 100%);border-right:1.5px solid #65f5dc59;width:min(80px,12vw);height:100%;top:0;left:0}.strut-right{clip-path:polygon(0 0,100% 0,100% 100%,58% 100%);border-left:1.5px solid #65f5dc59;width:min(80px,12vw);height:100%;top:0;right:0}.strut-top{clip-path:polygon(0 0,100% 0,85% 100%,15% 100%);border-bottom:1.5px solid #65f5dc4d;width:100%;height:min(48px,8vh);top:0;left:0}.strut-arch{border-bottom:2px solid #65f5dc26;border-radius:50%;width:120%;height:60%;position:absolute;top:-10%;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #0009}.canopy-glare{filter:blur(1px);background:linear-gradient(90deg,#0000,#8bdce847 40% 60%,#0000);width:64%;height:2px;position:absolute;top:12%;left:18%;transform:rotate(-18deg)}.cockpit-horizon-ladder{pointer-events:none;opacity:.65;flex-direction:column;align-items:center;gap:22px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pitch-line{align-items:center;gap:12px;display:flex}.pitch-line i{color:var(--objective-soft);letter-spacing:.08em;font-size:.52rem;font-style:normal;font-weight:800}.pitch-line b{background:#65f5dc59;width:44px;height:1px;display:block;box-shadow:0 0 6px #65f5dc4d}.pitch-line.horizon-line b{background:#65f5dcb3;width:90px;height:1.5px;box-shadow:0 0 10px #65f5dc99}.cockpit-dash-bezel{letter-spacing:.14em;width:100%;height:min(42px,6vh);color:var(--objective-soft);background:linear-gradient(#0000 0%,#08101aeb 20%,#050b12 100%);border-top:1px solid #65f5dc3d;justify-content:space-between;align-items:center;padding:0 max(24px,5vw);font-size:.54rem;font-weight:800;display:flex;position:absolute;bottom:0;left:0}.cockpit-dash-bezel b{color:var(--objective);text-shadow:0 0 8px #65f5dc80}#touch-stick{aspect-ratio:1;pointer-events:auto;touch-action:none;background:#050a1780;border:1px solid #8bdce85c;border-radius:50%;width:clamp(104px,27vw,136px);transition:border-color .16s,box-shadow .16s;position:relative;box-shadow:inset 0 0 28px #65f5dc0f}#touch-stick.is-active{border-color:#65f5dcd9;box-shadow:inset 0 0 32px #65f5dc2e,0 0 24px #65f5dc38}.stick-axis{background:#8bdce824;display:block;position:absolute}.axis-x{width:80%;height:1px;top:50%;left:10%}.axis-y{width:1px;height:80%;top:10%;left:50%}#touch-knob{aspect-ratio:1;background:#0e2d2feb;border:1px solid #65f5dcd6;border-radius:50%;place-items:center;width:43%;transition:transform 40ms linear;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 22px #65f5dc40}#touch-knob span{background:var(--objective);border-radius:50%;width:8px;height:8px}.touch-actions{pointer-events:auto;grid-template-columns:repeat(2,auto);align-items:end;gap:9px;display:grid}.touch-actions button{aspect-ratio:1;width:clamp(66px,17vw,88px);color:var(--ink);letter-spacing:.1em;text-transform:uppercase;touch-action:none;background:#081020c7;border:1px solid #f5f7ff52;border-radius:50%;font-size:.58rem;font-weight:900;transition:transform 90ms,background .12s,box-shadow .12s}#fire-button{width:clamp(82px,20vw,104px);color:var(--reward);border-color:#ffc36bc2;grid-area:1/2/span 2}#fire-button.is-autofire{border-color:#ffc36b;animation:.85s ease-in-out infinite alternate autofire-glow;box-shadow:0 0 24px #ffc36b8c,inset 0 0 16px #ffc36b47}@keyframes autofire-glow{0%{transform:scale(1);box-shadow:0 0 14px #ffc36b66}to{transform:scale(1.05);box-shadow:0 0 28px #ffc36bd9}}#boost-button{color:var(--objective);border-color:#65f5dcbd}#boost-button:active{box-shadow:0 0 22px #65f5dc99}#brake-button{color:var(--objective-soft);border-color:#8bdce885}.touch-actions button:active{background:#65f5dc38;transform:scale(.94)}body[data-game-state=paused] #hud>:not(.hud-brand),body[data-game-state=won] #hud>:not(.hud-brand),body[data-game-state=lost] #hud>:not(.hud-brand){opacity:.22}body[data-game-state=briefing] #hud,body[data-game-state=paused] .hud-brand,body[data-game-state=won] .hud-brand,body[data-game-state=lost] .hud-brand{opacity:0;visibility:hidden;pointer-events:none}body[data-game-state=briefing] .state-overlay{background:radial-gradient(at 50% 18%,#0000 0% 42%,#05081447 100%),linear-gradient(#0000 28%,#0508140d 48%,#05081459 72%,#050814e0 100%);grid-template-columns:1fr}body[data-game-state=briefing] .overlay-rail{display:none}body[data-game-state=briefing] .overlay-content{width:min(780px,100vw - 40px);padding:0 12px max(18px, env(safe-area-inset-bottom));text-align:center;grid-column:1;place-self:end center;margin:0 auto}body[data-game-state=briefing] .overlay-kicker{letter-spacing:.34em;justify-content:center;font-size:.62rem}body[data-game-state=briefing] .overlay-kicker:before{display:none}body[data-game-state=briefing] .overlay-content h1{letter-spacing:.08em;text-shadow:0 0 48px #65f5dc2e,0 18px 40px #0000008c;max-width:none;margin-top:10px;font-size:clamp(2.6rem,8.5vw,6.4rem)}body[data-game-state=briefing] #overlay-subtitle{letter-spacing:.46em;color:#ffc36beb;font-size:clamp(.72rem,1.6vw,1rem)}body[data-game-state=briefing] .overlay-copy,body[data-game-state=briefing] .control-legend,body[data-game-state=briefing] .asset-credit{display:none}body[data-game-state=briefing] .action-button{color:#f5f7ff;clip-path:none;letter-spacing:.34em;background:0 0;border:0;justify-content:center;gap:0;width:auto;min-height:44px;margin:28px auto 0;padding:0 6px;font-size:.78rem;animation:1.7s ease-in-out infinite start-pulse}body[data-game-state=briefing] .action-button b{display:none}body[data-game-state=briefing] .action-button:hover{filter:none;color:var(--objective);transform:none}@keyframes start-pulse{0%,to{opacity:.42}50%{opacity:1}}@keyframes warning-pulse{0%{opacity:.45}to{opacity:1}}@media (pointer:coarse),(width<=900px){.hud-brand,.systems-cluster,.mission-cluster,.navigation-cluster,.score-cluster,.utility-cluster,.telemetry-cluster,#radar,#status-line,#landing-cue,#comms-panel,#mouse-flight-indicator,#objective-marker,#brake-button,#boost-button{display:none!important}#touch-controls{bottom:max(16px, env(safe-area-inset-bottom));left:max(16px, env(safe-area-inset-left));right:max(16px, env(safe-area-inset-right));z-index:4;pointer-events:none;justify-content:space-between;align-items:flex-end;position:absolute;display:flex!important}#touch-stick{pointer-events:auto;aspect-ratio:1;-webkit-backdrop-filter:blur(6px);background:#04081447;border:1.5px solid #65f5dc66;border-radius:50%;width:clamp(84px,19vw,112px);position:relative;box-shadow:inset 0 0 20px #65f5dc14,0 0 16px #0006;display:block!important}#touch-knob{background:#0e2d2fbf;border-color:#65f5dce6}.touch-actions{pointer-events:auto;display:flex!important}#fire-button{aspect-ratio:1;color:#ffc36b;letter-spacing:.16em;text-transform:uppercase;-webkit-backdrop-filter:blur(6px);touch-action:none;pointer-events:auto;background:#0e121c6b;border:1.5px solid #ffc36bb3;border-radius:50%;justify-content:center;align-items:center;width:clamp(66px,15vw,84px);font-size:.62rem;font-weight:900;transition:transform 80ms,background .1s,box-shadow .1s;box-shadow:0 0 16px #ffc36b33,inset 0 0 12px #ffc36b1a;display:flex!important}#fire-button:active{background:#ffc36b59;transform:scale(.92);box-shadow:0 0 28px #ffc36bcc,inset 0 0 18px #ffc36b66}#fire-button.is-autofire{border-color:#ffc36b;animation:.85s ease-in-out infinite alternate autofire-glow;box-shadow:0 0 24px #ffc36b99,inset 0 0 16px #ffc36b4d}.state-overlay{background:linear-gradient(90deg,#040712fa,#040712d1);display:block;overflow-y:auto}.overlay-content{width:calc(100vw - 80px);max-width:520px;min-height:100%;margin-left:max(62px, calc(env(safe-area-inset-left) + 52px));padding:max(66px, calc(env(safe-area-inset-top) + 40px)) 0 max(34px, env(safe-area-inset-bottom))}.overlay-content h1{font-size:clamp(3.4rem,17vw,6.4rem)}.overlay-copy{margin-top:22px;font-size:.85rem}.control-legend{grid-template-columns:1fr 1fr}}@media (width<=560px){#reticle{width:44px;height:44px}.overlay-content{width:calc(100vw - 72px)}.control-legend{grid-template-columns:1fr;gap:0}.control-legend span:nth-child(5),.control-legend span:nth-child(6){display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}#boot-screen{z-index:40;box-sizing:border-box;width:100vw;height:100dvh;max-height:100dvh;padding:max(16px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));opacity:1;background-color:#010207;background-image:radial-gradient(at 50% 25%,#143c781f 0%,#01020799 80%),url(/textures/earthmoon-title-backdrop.jpg);background-position:0 0,50%;background-repeat:repeat,no-repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;flex-direction:column;justify-content:space-between;transition:opacity .45s,visibility .45s;display:flex;position:fixed;inset:0;overflow:hidden}#boot-screen.is-dismissed{visibility:hidden;opacity:0;pointer-events:none}.boot-top-deck{z-index:2;pointer-events:none;justify-content:space-between;align-items:flex-start;width:100%;display:flex}.boot-top-deck>*{pointer-events:auto}.boot-telemetry-hud{-webkit-backdrop-filter:blur(16px);letter-spacing:.16em;color:var(--muted);text-transform:uppercase;background:#060c1aa6;border:1px solid #65f5dc40;border-radius:4px;flex-direction:column;gap:3px;padding:8px 14px;font-size:.56rem;display:flex}.boot-telemetry-hud b{color:var(--objective);font-weight:700}.boot-head{text-align:center;gap:4px;display:grid}.boot-title{letter-spacing:.32em;text-transform:uppercase;color:#fff;text-shadow:0 0 28px #ffffff80,0 0 54px #65f5dc59;margin:0;font-size:clamp(2.2rem,5.2vw,3.8rem);font-weight:900}.boot-sub{color:var(--objective-soft);letter-spacing:.24em;text-transform:uppercase;text-shadow:0 0 12px #65f5dc66;margin:0;font-size:clamp(.54rem,1.1vw,.72rem);font-weight:700}.boot-sector-id{-webkit-backdrop-filter:blur(16px);letter-spacing:.16em;color:var(--muted);text-transform:uppercase;background:#060c1aa6;border:1px solid #65f5dc40;border-radius:4px;flex-direction:column;align-items:flex-end;gap:3px;padding:8px 14px;font-size:.56rem;display:flex}.boot-sector-id b{color:#4ade80;text-shadow:0 0 8px #4ade8080;font-weight:800}.boot-stage{pointer-events:none;z-index:1;place-items:center;display:grid;position:absolute;inset:0}#boot-canvas{pointer-events:none;width:100vw;height:100dvh;display:block}.boot-stage-ring{display:none}.boot-bottom-deck{z-index:2;pointer-events:none;justify-content:space-between;align-items:flex-end;gap:20px;width:100%;display:flex}.boot-bottom-deck>*{pointer-events:auto}.boot-airframe-panel{flex-direction:column;gap:8px;max-width:480px;display:flex}.boot-panel-header{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:center;font-size:.52rem;display:flex}.boot-panel-header .panel-tag{color:var(--objective);font-weight:700}#boot-ship-name{color:#fff;letter-spacing:.16em;font-weight:800}#boot-options{gap:10px;display:flex}#boot-options button{-webkit-backdrop-filter:blur(16px);min-width:105px;color:var(--ink);cursor:pointer;background:#060c1ac7;border:1px solid #8cb2e247;border-radius:4px;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 14px;transition:all .18s;display:flex;box-shadow:0 8px 24px #0009}#boot-options button:hover{background:#0c1830e6;border-color:#65f5dcb3;transform:translateY(-2px)}#boot-options button.is-selected{border-color:var(--objective);background:#65f5dc29;box-shadow:0 0 20px #65f5dc59,inset 0 0 10px #65f5dc1f}#boot-options b{letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;font-weight:800}#boot-options i{color:var(--muted);letter-spacing:.16em;font-size:.48rem;font-style:normal}.ship-status-tag{letter-spacing:.2em;color:#4ade80;text-shadow:0 0 8px #4ade8099;margin-top:3px;font-size:.44rem;font-weight:800}#boot-ship-tagline{letter-spacing:.06em;color:var(--muted);margin:0;font-size:.56rem}.boot-ignition-panel{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.boot-foot{flex-direction:column;align-items:flex-end;gap:6px;width:min(260px,100%);display:flex}#boot-progress{background:#8cb2e233;border-radius:2px;width:100%;height:3px;overflow:hidden}#boot-progress-fill{background:linear-gradient(90deg, var(--objective), #ffc36b);transform-origin:0;height:100%;transition:transform .18s;display:block;transform:scaleX(0);box-shadow:0 0 8px #65f5dc99}#boot-progress-label{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;font-size:.52rem}#boot-progress-label[data-tone=danger]{color:var(--danger)}#boot-start{-webkit-backdrop-filter:blur(16px);color:#fff4e0;letter-spacing:.26em;text-transform:uppercase;cursor:pointer;background:#ffc36b29;border:1.5px solid #ffc36bb3;border-radius:4px;padding:14px 32px;font-size:.78rem;font-weight:800;transition:all .18s;box-shadow:0 0 20px #ffc36b4d,inset 0 0 10px #ffc36b1a}#boot-start.is-ready{color:#fff;background:#ffc36b3d;border-color:#ffc36b;box-shadow:0 0 32px #ffc36b99,inset 0 0 16px #ffc36b33}#boot-start:hover:not(:disabled){background:#ffc36b66;transform:translateY(-2px)scale(1.02);box-shadow:0 0 44px #ffc36bd9}#boot-start:disabled{color:var(--muted);box-shadow:none;cursor:progress;background:#060c1a99;border-color:#8cb2e238}@media (width<=768px){#boot-screen{padding:max(14px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left))}.boot-top-deck{flex-direction:column;align-items:center;gap:8px}.boot-telemetry-hud{flex-direction:row;justify-content:center;gap:12px;padding:6px 12px;font-size:.5rem}.boot-sector-id{display:none}.boot-title{letter-spacing:.22em;font-size:clamp(1.8rem,8vw,2.6rem)}.boot-sub{letter-spacing:.16em;font-size:.52rem}.boot-bottom-deck{flex-direction:column;align-items:stretch;gap:12px}.boot-airframe-panel{gap:6px;max-width:100%}#boot-options{gap:8px;width:100%}#boot-options button{text-align:center;flex:1;align-items:center;min-width:0;padding:10px 6px}#boot-options b{font-size:.62rem}#boot-ship-tagline{text-align:center}.boot-ignition-panel{align-items:stretch;width:100%}.boot-foot{align-items:center;width:100%}#boot-start{text-align:center;width:100%;padding:14px 20px;font-size:.76rem}}@media (height<=600px) and (orientation:landscape){#boot-screen{padding:10px 20px}.boot-title{letter-spacing:.2em;font-size:1.5rem}.boot-sub{font-size:.48rem}.boot-telemetry-hud,.boot-sector-id{padding:4px 10px;font-size:.46rem}#boot-options button{padding:6px 10px}#boot-start{padding:10px 22px;font-size:.68rem}}@media (prefers-reduced-motion:reduce){#boot-screen,#boot-progress-fill,#boot-options button,#boot-start{transition-duration:1ms}}
