*{box-sizing:border-box}body{margin:0;background:#080e14;color:#e2e9e9;font:16px "Trebuchet MS",sans-serif}canvas{position:fixed;inset:0;width:100%;height:100%}header,footer{position:fixed;left:0;right:0;padding:19px 24px;background:#0b131cf5;display:flex;justify-content:space-between;gap:20px;z-index:2}header{top:0;border-bottom:1px solid #33424b;align-items:center}header>b{letter-spacing:3px;font-size:19px;white-space:nowrap}header small{letter-spacing:1px}footer{bottom:0;font:12px monospace;color:#acbcc3;border-top:1px solid #243944}small,.mono,.fine{font:12px monospace;color:#a1b5bd;letter-spacing:.5px}#overlay{position:fixed;inset:85px 5vw 120px;display:flex;align-items:center;pointer-events:none;gap:20px}section{pointer-events:auto;background:#101c26f5;border:1px solid #41515a;padding:32px;max-width:760px;max-height:100%;overflow:auto;box-shadow:0 20px 80px #0008}section.title{background:linear-gradient(90deg,#101c26f5,#101c26dc);max-width:580px;border-top:3px solid #b8e577;padding:38px}h1{font-size:clamp(40px,5.5vw,76px);letter-spacing:-3px;line-height:.92;margin:26px 0;color:#e4ebdf}h2{font-size:clamp(24px,3vw,34px);letter-spacing:-1px;margin:16px 0}h3{font-size:26px;margin:10px 0}p{color:#b7c7cd;line-height:1.5}.lead{font-size:22px;color:#e2e9e9}.fine{line-height:1.6}button{background:#b8e577;color:#0c1713;border:1px solid #c5f395;padding:14px 20px;cursor:pointer;font:700 16px "Trebuchet MS",sans-serif;margin:6px 6px 6px 0;min-height:48px;text-align:left}button:hover{background:#d6ff9e}button.secondary{background:#172b37;border-color:#52656d;color:#dfe9e5}button.secondary:hover{background:#28404b}button:focus-visible,input:focus-visible{outline:3px solid #e5f9bd;outline-offset:3px}output{font:12px monospace;display:flex;gap:20px;align-items:center;flex-wrap:wrap}output b{color:#cce796;font-weight:400}output span{white-space:nowrap}.hangar{max-width:950px}article{display:inline-block;width:49%;padding-right:25px;vertical-align:top;border-bottom:1px solid #334952;padding-bottom:12px}.settings{border-top:1px solid #40505a;padding-top:14px;margin-top:15px;display:flex;gap:18px;flex-wrap:wrap}.settings label{font:13px monospace;display:flex;align-items:center;gap:8px;min-height:32px}.settings input{accent-color:#b8e577}.upgrades{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.upgrades button{margin:0;display:flex;flex-direction:column;gap:7px;padding:14px}.upgrades span{font-size:13px;line-height:1.4;color:#b7c9cc;font-weight:400}.refit{max-width:850px;width:100%}dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;font:14px monospace}dt{color:#a6b9c2}dd{margin:0;color:#cee5b0}.warning{pointer-events:auto;position:fixed;bottom:45px;right:20px;max-width:400px;background:#4b3020;border:1px solid #e7ad76;padding:16px;font-size:13px;z-index:5}.warning button{font-size:12px;padding:8px;min-height:36px}@media(max-width:900px){header{padding:12px 16px;align-items:flex-start}header>b{font-size:14px}header>b small{display:block;margin-top:5px;font-size:9px}output{gap:10px;font-size:11px;max-width:55%}#overlay{inset:90px 3vw 110px}section{padding:22px}footer{font-size:10px;padding:14px}article{width:100%}}@media(max-width:550px){.upgrades{grid-template-columns:1fr}output{max-width:62%;gap:5px;font-size:10px}section.title{padding:23px}header{padding:10px}h1{font-size:46px}#overlay{bottom:95px}footer{font-size:9px}.settings{gap:8px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
/* Native browser zoom remains available everywhere except held flight surfaces. */
#touch-controls{display:none;position:fixed;inset:0;z-index:3;pointer-events:none}
.touch-device #touch-controls:not([hidden]){display:block}
#touch-controls [data-command],#touch-pause{pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
#touch-stick{position:absolute;left:max(24px,env(safe-area-inset-left));bottom:max(24px,env(safe-area-inset-bottom));width:156px;height:156px;border:2px solid #9db8ad;border-radius:50%;background:#101c26c9}
#touch-stick span{position:absolute;left:50%;top:50%;width:58px;height:58px;border-radius:50%;background:#b8e577aa;transform:translate(calc(-50% + var(--stick-x,0px)),calc(-50% + var(--stick-y,0px)))}
#touch-stick b{position:absolute;bottom:12px;width:100%;text-align:center;font:12px monospace}
.touch-actions{position:absolute;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));display:grid;gap:10px}
.touch-actions button{margin:0;min-width:152px;min-height:64px;text-align:center;background:#172b37eb;color:#e4ebdf}
.touch-actions button.held{background:#b8e577;color:#0c1713}
#touch-pause{position:absolute;right:max(24px,env(safe-area-inset-right));top:145px;min-height:52px;margin:0;background:#172b37eb;color:#e4ebdf}
.touch-device footer{display:none}
.touch-device #overlay{inset:max(100px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));z-index:4}
.touch-device header{padding:calc(12px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));flex-wrap:wrap;gap:8px}
.touch-device output{gap:8px 18px}
@media(max-width:700px){header{flex-wrap:wrap;gap:6px;padding:10px 12px}header>b{font-size:15px}output{gap:6px 12px}#overlay{inset:110px 12px 60px}section,section.title{padding:20px;max-width:100%;width:100%}.hangar article{width:100%;padding-right:0}.upgrades{grid-template-columns:1fr}section button{max-width:100%;overflow-wrap:anywhere}.touch-device #overlay{top:120px}#touch-stick{width:136px;height:136px;left:max(12px,env(safe-area-inset-left))}.touch-actions{right:max(12px,env(safe-area-inset-right))}.touch-actions button{min-width:136px}#touch-pause{top:145px}}
@media(max-height:600px) and (orientation:landscape){.touch-device #overlay{top:85px}#touch-stick{width:120px;height:120px}.touch-actions button{min-height:52px}#touch-pause{top:90px}}

/* Combat HUD: grouped readouts (survival | cargo score | systems | mission). */
header #hud{gap:6px 14px;flex:1 1 auto;justify-content:flex-end;max-width:none;min-width:0}
.hud-group{display:grid;grid-template-columns:auto;gap:1px;min-width:86px;padding:2px 0 2px 8px;border-left:2px solid #33424b;font:12px monospace}
.hud-group .hud-label{font:10px monospace;letter-spacing:.6px;color:#8fa5ad;white-space:nowrap}
.hud-group b{font:700 14px monospace;color:#dce8d8;white-space:nowrap}
.hud-group b small{font-size:11px}
.hud-group .meter{display:block;height:3px;background:#22343d;overflow:hidden}
.hud-group .meter i{display:block;height:100%;background:#9fcf7a}
.hud-hull{border-left-color:#7fae78}.hud-hull .meter i{background:#7fae78}
.hud-xp{border-left-color:#8fb7a8}.hud-xp .meter i{background:#6fb9a0}
.hud-cargo{border-left-color:#d9ad60;min-width:70px}.hud-cargo b{color:#e8c078}
.hud-boost{border-left-color:#6bacc1}.hud-boost .meter i{background:#6bacc1}.hud-boost.active b{color:#bfe3ea}
.hud-mission{border-left-color:#52656d}
.hud-hull.low{border-left-color:#b5605a}.hud-hull.low b,.hud-hull.low .hud-label{color:#e0a39c}.hud-hull.low .meter i{background:#b5605a}
.pressure-status{flex-basis:100%;text-align:right;color:#e6b69b;font:11px monospace}
@media(prefers-reduced-motion:no-preference){.hud-hull.low.pulse{animation:hull-low 1.6s ease-in-out infinite}}
@keyframes hull-low{50%{background:#b5605a26}}
@media(max-width:700px){header #hud{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 8px;flex-basis:100%;max-width:100%}.hud-group{min-width:0;padding-left:6px}.hud-group .hud-label{overflow:hidden;text-overflow:ellipsis}.hud-group b{font-size:13px}.pressure-status{grid-column:1/-1;text-align:left}header>b small{display:none}}
@media(min-width:2400px){header{padding:28px 38px;gap:30px}header>b{font-size:28px}.hud-group{min-width:128px;padding-left:14px;gap:3px}.hud-group .hud-label{font-size:14px}.hud-group b{font-size:20px}.hud-group b small{font-size:15px}.hud-group .meter{height:5px}.pressure-status{font-size:15px}footer{font-size:17px;padding:22px 38px}#overlay{inset:120px 5vw 145px}#flight-tip{font-size:18px;width:480px}}

/* Help never captures steering; only its dismiss button accepts input. */
#flight-tip{position:fixed;right:24px;bottom:110px;width:370px;max-width:calc(100vw - 32px);z-index:2;background:#101c26ed;border:1px solid #52656d;padding:10px 12px;pointer-events:none;display:flex;align-items:center;gap:12px}
#flight-tip[hidden]{display:none}
#flight-tip p{font-size:14px;line-height:1.35;margin:0}
#flight-tip button{pointer-events:auto;font-size:13px;min-width:78px;min-height:48px;margin:0;padding:8px}
.touch-device #flight-tip{bottom:190px;right:16px}
@media(max-height:600px) and (orientation:landscape){.touch-device #flight-tip{left:170px;right:190px;bottom:16px;width:auto;max-width:none}}

/* Selected recovery route: one actionable line, never an extra modal. */
#route-status{position:fixed;left:24px;top:calc(var(--header-bottom,80px) + 73px);z-index:2;max-width:calc(100vw - 48px);margin:0;padding:6px 10px;min-height:32px;background:#111f27ef;border:1px solid #527073;color:#b7dfd4;font:11px monospace;white-space:normal}
#route-status[hidden]{display:none}
.upgrade-category{color:#cce796!important;letter-spacing:1px;font-size:10px!important}.upgrade-result{border-top:1px solid #36515a;padding-top:8px;color:#dce8d8!important}
section.title .lead{color:#cde6ce}section.title{border-top-color:#86cec7}
@media(max-width:700px){#route-status{left:12px;max-width:calc(100vw - 110px);font-size:10px}}
@media(min-width:2400px){#route-status{font-size:16px;min-height:40px}}

@media(max-height:600px) and (orientation:landscape){#route-status{top:auto;bottom:8px;left:170px;max-width:calc(100vw - 360px);font-size:10px;padding:4px;min-height:28px}}

.refuge{width:min(1100px,100%)}.refuge-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0}.refuge-map .facility{width:auto;padding:18px;background:#10222b;border:1px solid #354e58;display:flex;flex-direction:column}.refuge-map .facility.built{border-color:#85bca3}.facility h3{font-size:24px}.facility-rank{color:#cce796;font:12px monospace}.facility button{margin-top:auto}.refuge-cargo{padding:12px 16px;border-left:3px solid #e8c078;background:#18252b;color:#e8c078}button:disabled{opacity:.5;cursor:default}@media(max-width:850px){.refuge-map{grid-template-columns:1fr}}

section.refuge{max-width:1100px}.refuge h2{margin:10px 0}.refuge p{font-size:14px;margin:8px 0}.refuge-map{margin:16px 0}.refuge-map .facility{padding:16px}.facility h3{font-size:22px}.facility .facility-rank{font-size:12px}.facility .fine{font-size:12px}.refuge .facility button{font-size:14px;padding:10px;margin-top:12px}
/* Checkpoint 01: recovery cockpit. Original vector silhouettes; no external fonts/assets. */
:root{--ink:#e6f2ee;--muted:#97b5ba;--signal:#79ded6;--gold:#f0bd70;--panel:#0a1721;--line:#2b4b57}
body{background:#050c12;color:var(--ink);font-family:system-ui,-apple-system,sans-serif}
header{background:linear-gradient(180deg,#07111af5,#0b1928e8);border-bottom:1px solid #42616b;box-shadow:0 10px 35px #0003;padding:14px 24px}
header>b{font-size:14px;letter-spacing:4px;color:#dbede7}header>b small{font-size:9px;letter-spacing:1.5px;color:var(--signal)}
footer{background:#07111aed;border-top-color:#26424c;color:#86a8af;padding:12px 24px;letter-spacing:.8px}footer a{color:var(--signal);margin-left:auto;white-space:nowrap}
#overlay{inset:100px 4vw 80px;z-index:4}
section{position:relative;background:linear-gradient(135deg,#102432f5,#07121ef5);border:1px solid #43616c;border-top:3px solid var(--signal);padding:28px 32px;box-shadow:0 28px 90px #0008;scrollbar-width:thin;scrollbar-color:#476d77 #0a1620;border-radius:2px 20px 2px 2px}
section::before{content:"";position:absolute;top:0;right:0;width:90px;height:3px;background:var(--gold)}
section>small,.eyebrow{color:var(--signal);font-size:10px;letter-spacing:2.5px}h1,h2,h3{font-family:system-ui,sans-serif;color:var(--ink)}h2{font-weight:650;letter-spacing:-1.2px}p{color:#aec7cd}.mono,.fine{color:#9cb9c0}
button{border-radius:2px 9px 2px 2px;border:1px solid #a2eee5;background:var(--signal);color:#08242a;font-family:system-ui,sans-serif;font-size:14px;letter-spacing:.3px;box-shadow:inset 0 -3px 0 #3e8f90;transition:background .15s,border-color .15s,box-shadow .15s}
button:hover{background:#bbfff3;box-shadow:inset 0 -3px 0 #70b9b3,0 0 22px #73e2cf1a}button.secondary{background:linear-gradient(110deg,#193642,#0c202e);border-color:#3f626e;color:#d9ede9;box-shadow:inset 3px 0 0 #547c87}button.secondary:hover{background:#254653;border-color:var(--signal)}button:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button:disabled{box-shadow:none}button[data-action="deeper"]{border-color:#e5b46f;box-shadow:inset 3px 0 0 #e5b46f}
body[data-screen="title"] #overlay{inset:80px 5vw 60px}section.title{align-self:center;max-width:620px;width:49%;padding:12px 0;background:none;border:0;box-shadow:none;border-radius:0;overflow:visible}section.title::before{display:none}
section.title h1{font-size:clamp(48px,6.5vw,100px);font-weight:850;line-height:.84;letter-spacing:-6px;margin:28px 0}section.title h1 em{font-style:normal;color:var(--signal)}section.title .lead{font-size:clamp(17px,1.5vw,23px);margin:20px 0 12px;color:#f0d4a8}section.title .title-premise{font-size:15px;line-height:1.65;margin:12px 0 22px}
.mission-strip{display:flex;gap:18px;flex-wrap:wrap;border-top:1px solid #304a54;border-bottom:1px solid #304a54;padding:14px 0;margin:20px 0;color:#bed6d8;font:10px monospace;letter-spacing:1px}.mission-strip b{color:var(--gold);padding-right:7px}.launch-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:470px}.launch-actions button{margin:0;text-align:center}.launch-actions button:first-child{grid-column:1/-1;font-size:17px;padding:16px;letter-spacing:1px}section.title .fine{font-size:10px!important;line-height:1.8;margin-top:18px}
.hero-telemetry{position:absolute;right:7vw;bottom:4vh;text-align:right;display:grid;gap:7px;font:10px monospace;letter-spacing:2px;color:#7ba5ae;pointer-events:none}.hero-telemetry>b{font:650 28px system-ui;letter-spacing:8px;color:#deeee8}.hero-telemetry small{color:#a6c5c6;font-size:10px}.hero-telemetry i{height:1px;width:250px;background:linear-gradient(90deg,transparent,#82c5c9);justify-self:end}.hero-telemetry span:last-child{color:var(--signal)}
.hangar{width:min(1080px,100%);max-width:1080px}.hangar>article{width:calc(50% - 7px);padding:18px 22px;background:linear-gradient(135deg,#182d3b,#0b1926);border:1px solid #355460;margin:4px 10px 20px 0;border-radius:2px 14px 2px 2px}.hangar>article:nth-of-type(2){margin-right:0}.vessel-profile{height:90px;position:relative;border-bottom:1px solid #304e5b;margin-bottom:15px;background:repeating-linear-gradient(90deg,transparent 0 29px,#4a798014 30px),repeating-linear-gradient(0deg,transparent 0 29px,#4a798014 30px)}.vessel-profile span{position:absolute;right:0;top:0;font:700 60px system-ui;color:#34505b66}.vessel-profile i{display:block;position:absolute;left:25%;top:25%;width:125px;height:42px;background:linear-gradient(130deg,#f2e5bf,#7099a5);clip-path:polygon(100% 50%,55% 5%,0 0,18% 34%,5% 50%,18% 66%,0 100%,55% 95%);filter:drop-shadow(-10px 4px 0 #16394a)}.vessel-bulwark .vessel-profile i{height:55px;clip-path:polygon(100% 50%,82% 0,12% 0,0 18%,0 82%,12% 100%,82% 100%);background:linear-gradient(120deg,#ebd5a8,#807864)}.vessel-card>small{color:var(--gold);letter-spacing:2px}.vessel-card h3{margin:8px 0}.vessel-card .mono{font-size:11px}.vessel-card button{width:100%;margin-bottom:0}.sectors{border-top:1px solid #344d59;padding-top:16px}
.refit{width:min(920px,100%);max-width:920px}.build-context{padding:10px 14px;border-left:2px solid var(--gold);background:#071623}.upgrades{gap:12px}.upgrades button{position:relative;min-height:180px;padding:20px 20px 16px 52px;font-size:19px!important;box-shadow:inset 3px 0 0 #6fb6ba;background:linear-gradient(130deg,#183442,#0d1f2b);border-color:#41606c}.upgrades button::before{content:"◇";position:absolute;left:16px;top:23px;color:var(--signal);font:25px monospace}.upgrades button:has([data-category="EVOLUTION"]){border-color:#e2b673;box-shadow:inset 3px 0 0 #e2b673}.upgrades button:has([data-category="EVOLUTION"])::before{content:"✦";color:var(--gold)}.upgrades button:has([data-category="SURVIVAL"])::before{content:"⊕"}.upgrades button:has([data-category="NEW WEAPON"])::before{content:"⌁"}.upgrades button:hover{border-color:var(--signal);background:#234350}.upgrade-category{color:var(--signal)!important;letter-spacing:2px!important}.upgrade-result{font-size:12px!important;border-top-color:#42616a}.upgrades button>small:last-child{color:#8eb5b8;align-self:flex-end}
.refuge{max-width:1100px}.refuge-map .facility{position:relative;border-radius:2px 14px 2px 2px;padding:20px;background:linear-gradient(155deg,#193341,#0b1c29);border-color:#3a5864;border-top:3px solid #476d77}.refuge-map .facility.built{border-top-color:var(--signal)}.facility-rank{letter-spacing:2px}.facility h3{margin:12px 0}.refuge-cargo{background:linear-gradient(90deg,#46342177,transparent);border-left-color:var(--gold)}
.pause-deck,.extraction-deck,.debrief{max-width:680px;width:100%}.extraction-deck{border-top-color:var(--gold)}.debrief dl{padding:20px;background:#081722;border-top:1px solid #36525d;border-bottom:1px solid #36525d}.debrief dd{color:var(--gold);text-align:right}.settings{border-top-color:#36525d}.settings label{color:#b5ced0}.settings input{accent-color:var(--signal)}
header #hud{gap:7px 12px}.hud-group{border-left:0;border-bottom:2px solid #38545f;background:#0b1b27a8;padding:6px 10px;min-width:100px}.hud-group b{font-size:15px;font-weight:600}.hud-group .hud-label{font-size:9px;letter-spacing:1px;color:#99b9c1}.hud-group .meter{height:4px;margin-top:3px;background:#25404b}.hud-hull{border-bottom-color:#89dcc5}.hud-hull .meter i{background:#89dcc5}.hud-xp{border-bottom-color:#aad778}.hud-xp .meter i{background:#aad778}.hud-cargo{border-bottom-color:var(--gold)}.hud-boost{border-bottom-color:#75bcdf}.hud-hull.low{border-bottom-color:#f28f75}.hud-hull.low .meter i{background:#f28f75}.hud-arsenal{display:flex;align-items:center;gap:6px;flex-basis:100%;justify-content:flex-end;font:10px monospace;color:#9dbdc5}.hud-arsenal .hud-label{letter-spacing:1.5px;color:#6b929e;margin-right:5px}.weapon-chip{border:1px solid #3b5b65;color:#bad7d5;padding:3px 7px;background:#112431}.pressure-status{font-size:10px;letter-spacing:1px;color:#f0bc7c}
#route-status{background:linear-gradient(100deg,#102934f2,#07151fed);border:1px solid #46717b;border-left:3px solid var(--gold);font-size:10px;letter-spacing:.5px;padding:10px 14px;top:calc(var(--header-bottom,80px) + 73px);color:#c3dedc;border-radius:0 8px 0 0;max-width:min(590px,calc(100vw - 48px));box-shadow:0 6px 18px #0004}
#flight-tip{background:#0b202ceb;border-color:#42616c;border-left:3px solid var(--signal);border-radius:0 12px 0 0}#flight-tip p{font-size:12px}#flight-tip button{min-width:72px;background:#183945;color:#cbe6df;box-shadow:none;border-color:#426a72}.touch-actions button,#touch-pause{border-color:#6baeb0;border-radius:4px 16px 4px 4px}#touch-stick{border-color:#71bbb7;background:radial-gradient(circle,#20475077,#071825cc)}
@media(min-width:1800px){section.title h1{font-size:112px}section.title{max-width:720px}section.title .title-premise{font-size:18px}#overlay{inset:130px 5vw 90px}.hangar{max-width:1100px}section.title .fine{font-size:12px!important}.launch-actions{max-width:540px}}
@media(max-width:1100px){header>b{font-size:12px;letter-spacing:2px}header>b small{display:none}.hud-group{min-width:78px;padding:5px 7px}.hud-group b{font-size:13px}header #hud{gap:5px 7px}.hud-arsenal{font-size:9px}.hud-arsenal .hud-label{display:none}section.title h1{letter-spacing:-4px}.hero-telemetry{right:3vw}.hero-telemetry>b{font-size:22px}}
@media(max-width:700px){header{padding:8px 12px}header #hud{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.hud-group{min-width:0;padding:4px 5px}.hud-arsenal{grid-column:1/-1;justify-content:flex-start;flex-wrap:wrap;font-size:9px}.hud-arsenal .weapon-chip{padding:2px 5px}.hud-mission{grid-column:span 2}.hud-group .hud-label{font-size:8px}.hud-group b{font-size:12px}#overlay{inset:155px 12px 55px}section{padding:20px;border-radius:0 12px 0 0}.hangar>article{width:100%;margin-right:0;padding:14px}.vessel-profile{height:70px}.upgrades button{min-height:160px;font-size:16px!important;padding:16px 14px 14px 44px}.upgrades button::before{left:12px}.hero-telemetry{display:none}body[data-screen="title"] #overlay{inset:70px 6vw 35px}section.title{width:100%;max-width:100%;padding:12px 0;background:linear-gradient(90deg,#07121ceb,#07121c77);overflow:auto;max-height:100%}section.title h1{font-size:70px;letter-spacing:-4px;margin:20px 0}.title-premise{font-size:13px!important}.mission-strip{gap:12px;padding:12px 0}.launch-actions{grid-template-columns:1fr 1fr}section.title .fine{font-size:9px!important}#route-status{max-width:calc(100vw - 36px);left:12px;padding:7px 9px;font-size:9px}.touch-device #overlay{top:175px}.touch-device[data-screen="title"] #overlay{top:65px}.touch-device #touch-pause{top:calc(var(--header-bottom,140px) + 8px);right:12px;min-height:40px;padding:8px}.refuge-map{gap:12px}.refuge-map .facility{padding:16px}}
@media(max-height:600px) and (orientation:landscape){header{padding:7px 14px}.hud-group{padding:3px 6px}.hud-arsenal{display:none}#overlay,.touch-device #overlay{top:85px;bottom:16px}body[data-screen="title"] #overlay,.touch-device[data-screen="title"] #overlay{inset:55px 4vw 25px}section.title{width:53%;overflow:auto;max-height:100%}section.title h1{font-size:56px;margin:12px 0;letter-spacing:-3px}section.title .lead{font-size:15px;margin:12px 0}section.title .title-premise,.mission-strip{display:none}.launch-actions button:first-child{padding:12px;font-size:14px}.launch-actions button{font-size:12px!important;padding:10px}section.title .fine{font-size:8px!important}.hero-telemetry{display:none}.touch-device #touch-pause{top:calc(var(--header-bottom,60px) + 8px)}#route-status{top:auto;bottom:8px;left:165px;max-width:calc(100vw - 345px);font-size:8px;padding:5px;min-height:28px}}
@media(prefers-reduced-motion:reduce){button{transition:none}}

/* Recovered reactor: a timed power reserve, distinct from the riskier player boost. */
.weapon-chip.core-charge{border-color:#89d7b6;color:#c8f8db;background:#12392f;font-weight:700;letter-spacing:.4px}.hud-arsenal:has(.core-charge){flex-wrap:wrap}.core-charge::before{content:"◆ ";color:#8ee6c4}@media(max-width:700px){.weapon-chip.core-charge{font-size:8px}}

/* Browser flight fits the visible viewport in either orientation. */
html,body{height:100%;overflow:hidden;overscroll-behavior:none}
canvas{width:var(--view-width,100vw);height:var(--view-height,100dvh);touch-action:none}
.orientation-hint{display:none}
.touch-device .orientation-hint{display:block;font:11px monospace;line-height:1.5;color:#a9cfce;letter-spacing:.5px}
.touch-device #touch-controls{bottom:auto;width:var(--view-width,100vw);height:var(--view-height,100dvh)}
.touch-device #overlay{top:calc(var(--header-bottom,120px) + 12px);bottom:auto;max-height:calc(var(--view-height,100dvh) - var(--header-bottom,120px) - 24px - env(safe-area-inset-bottom));height:calc(var(--view-height,100dvh) - var(--header-bottom,120px) - 24px - env(safe-area-inset-bottom))}
.touch-device[data-screen="title"] #overlay{top:calc(58px + env(safe-area-inset-top));height:calc(var(--view-height,100dvh) - 76px - env(safe-area-inset-top) - env(safe-area-inset-bottom));max-height:none}
.touch-device section{overscroll-behavior:contain;touch-action:pan-y pinch-zoom;-webkit-overflow-scrolling:touch;scroll-padding:12px}
.touch-device #touch-stick{left:calc(12px + env(safe-area-inset-left));bottom:calc(12px + env(safe-area-inset-bottom));width:128px;height:128px}
.touch-device .touch-actions{right:calc(12px + env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));gap:8px}
.touch-device .touch-actions button{min-width:128px;min-height:56px;padding:10px;font-size:14px}
.touch-device #touch-pause{right:calc(12px + env(safe-area-inset-right));min-height:48px;min-width:64px;padding:8px;text-align:center}
.touch-device #route-status{max-width:calc(100vw - 105px - env(safe-area-inset-left) - env(safe-area-inset-right));left:calc(12px + env(safe-area-inset-left))}
.touch-device #flight-tip{bottom:calc(154px + env(safe-area-inset-bottom));right:calc(12px + env(safe-area-inset-right))}
@media(max-height:600px) and (orientation:landscape){
 .touch-device header{padding:calc(5px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) 5px calc(12px + env(safe-area-inset-left));gap:0}
 .touch-device header>b{display:none}
 .touch-device header #hud{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;max-width:none;gap:5px}
 .touch-device .hud-group{padding:3px 6px;min-width:0}.touch-device .hud-mission{grid-column:auto}
 .touch-device .hud-group b{font-size:12px}.touch-device .hud-label{font-size:8px}
 .touch-device .hud-arsenal{display:none}
 .touch-device #touch-stick{width:112px;height:112px}
 .touch-device .touch-actions button{min-width:120px;min-height:48px}
 .touch-device #touch-stick b{bottom:8px;font-size:10px}
 .touch-device #touch-pause{top:calc(var(--header-bottom,45px) + 8px)}
 .touch-device #route-status{top:auto;bottom:calc(100vh - var(--view-height,100dvh) + 8px + env(safe-area-inset-bottom));left:calc(140px + env(safe-area-inset-left));max-width:calc(100vw - 290px - env(safe-area-inset-left) - env(safe-area-inset-right));font-size:9px;min-height:32px}
 .touch-device #flight-tip{left:calc(140px + env(safe-area-inset-left));right:calc(144px + env(safe-area-inset-right));bottom:calc(100vh - var(--view-height,100dvh) + 50px + env(safe-area-inset-bottom));max-width:none;width:auto;padding:6px 8px;gap:6px}
 .touch-device #flight-tip p{font-size:10px;line-height:1.4;margin:4px 0}.touch-device #flight-tip button{min-width:56px;padding:5px;font-size:11px}
 .touch-device .hangar>article{width:48%;margin-right:1%;padding:10px;display:inline-block}.touch-device .hangar .vessel-profile{height:54px}
 .touch-device .upgrades{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.touch-device .upgrades button{min-height:150px;padding:12px 10px;font-size:14px!important}.touch-device .upgrades button::before{display:none}.touch-device .upgrades span{font-size:11px}
 .touch-device .refit>h2{font-size:22px!important;margin:10px 0}.touch-device .refit>p{font-size:12px;margin:8px 0}.touch-device .refit{padding:14px}
 .touch-device .launch-actions{grid-template-columns:1fr 1fr}.touch-device section.title{width:72%}.touch-device .orientation-hint{font-size:9px}
}

/* Floating thumb origin; the area receives movement, the ring is visual only. */
.touch-device #touch-move-zone{position:absolute;left:0;top:calc(var(--header-bottom,80px) + 64px);bottom:0;width:55%;pointer-events:auto;touch-action:none;z-index:0}
.touch-device #touch-move-zone::after{content:"DRAG TO MOVE";position:absolute;left:calc(18px + env(safe-area-inset-left));bottom:calc(24px + env(safe-area-inset-bottom));font:10px monospace;letter-spacing:1px;color:#84a8aa;background:#081824aa;padding:8px 10px;border-left:2px solid #5faaa7;pointer-events:none}
.touch-device #touch-move-zone.held::after{display:none}
.touch-device #touch-stick{display:block;opacity:0;pointer-events:none;width:112px;height:112px;bottom:auto;transform:translate(-50%,-50%);transition:none}
.touch-device #touch-stick.held{opacity:.85}.touch-device #touch-stick b{font-size:10px;bottom:8px}
.touch-device .touch-actions,.touch-device #touch-pause{z-index:1}
.touch-device header>b{display:none}.touch-device header #hud{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:none;gap:5px}
.touch-device .hud-xp,.touch-device .hud-mission,.touch-device .hud-arsenal{display:none}
.touch-device header{padding:calc(6px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) 6px calc(12px + env(safe-area-inset-left))}
.touch-device .hud-group{min-width:0;padding:4px 6px}.touch-device .hud-group b{font-size:12px}.touch-device .hud-group .hud-label{font-size:8px}
.touch-device #route-status{top:calc(var(--header-bottom,52px) + 7px);bottom:auto;min-height:44px;font-size:10px;padding:7px 9px}
.touch-device #touch-pause{top:calc(var(--header-bottom,52px) + 7px)}
.touch-device #flight-tip{bottom:calc(154px + env(safe-area-inset-bottom))}
@media(max-height:600px) and (orientation:landscape){
 .touch-device header #hud{grid-template-columns:repeat(3,minmax(0,1fr))}.touch-device #touch-move-zone{top:calc(var(--header-bottom,48px) + 58px);width:58%}
 .touch-device #touch-stick{width:104px;height:104px}
 .touch-device #route-status{left:calc(12px + env(safe-area-inset-left));max-width:calc(100vw - 112px - env(safe-area-inset-left) - env(safe-area-inset-right));font-size:10px}
 .touch-device #flight-tip{left:calc(140px + env(safe-area-inset-left));right:calc(144px + env(safe-area-inset-right))}
}
.touch-device #touch-stick{display:none}.touch-device #touch-stick.held{display:block}
.touch-device #flight-tip{z-index:4}
@media(max-height:600px) and (orientation:landscape){.touch-device #flight-tip{bottom:calc(100vh - var(--view-height,100dvh) + 24px + env(safe-area-inset-bottom))}}
.boost-risk{display:none}.touch-device .boost-risk{display:block;font-size:8px;letter-spacing:0;color:#f0ba91}
.touch-device .hud-arsenal:has(.core-charge){display:flex;grid-column:1/-1;justify-content:flex-start;margin:0;gap:0}.touch-device .hud-arsenal .weapon-chip:not(.core-charge){display:none}.touch-device .weapon-chip.core-charge{font-size:8px;padding:2px 5px}
.touch-device .pressure-status{grid-column:1/-1;font-size:8px;letter-spacing:.3px}
.touch-device #touch-stick{position:fixed}
