@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=IBM+Plex+Mono:wght@400;500;600&display=swap');
:root{--bg:#101b21;--panel:#15232b;--line:#2b3a40;--text:#e7e9dd;--muted:#90a29f;--mint:#b8d7a8;--orange:#ec915c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:12px 'IBM Plex Mono',monospace}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid var(--orange);outline-offset:3px}header{height:94px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5vw}.brand{color:var(--text);text-decoration:none;font:800 26px 'Barlow Condensed',sans-serif;letter-spacing:1px;display:flex;align-items:center;gap:6px}.brand>span:not(.mark){color:var(--mint)}.brand small{font:9px 'IBM Plex Mono',monospace;color:var(--muted);margin-left:23px;letter-spacing:1px}.mark{color:var(--orange);font-size:36px;margin-right:8px}.header-right{display:flex;gap:10px;align-items:center;font-size:10px;letter-spacing:1px}.status-dot{width:5px;height:5px;border-radius:50%;background:var(--mint);display:inline-block;box-shadow:0 0 8px #b8d7a844}#sound{margin-left:24px;background:none;border:1px solid var(--line);padding:10px;font-size:9px}main{max-width:1480px;padding:35px 5vw 0;margin:auto}.eyebrow{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.7px;color:var(--muted)}.heading{display:flex;align-items:center;justify-content:space-between;margin:22px 0 27px}h1{font:800 64px/.95 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;letter-spacing:-1px;margin:0}h1 em{font-style:normal;color:var(--mint)}.heading p{color:var(--muted);font-size:11px;margin:12px 0 0}.outline{padding:12px 15px;background:none;border:1px solid var(--line);font-size:9px;letter-spacing:1px}.console{display:grid;grid-template-columns:minmax(0,1fr) 280px;border:1px solid #43514f;background:var(--panel);box-shadow:0 20px 70px #0003}.game-column{min-width:0;background:#0a151c}.screen-top,.screen-bottom{height:36px;display:flex;justify-content:space-between;align-items:center;padding:0 16px;font-size:8px;color:var(--muted);letter-spacing:1px}.screen-top{border-bottom:1px solid var(--line)}.screen-top i{display:inline-block;width:5px;height:5px;background:var(--orange);margin-right:5px}.screen-top b{font-weight:400;color:var(--text)}.viewport{position:relative;aspect-ratio:960/680;overflow:hidden}canvas{width:100%;height:100%;display:block;image-rendering:auto}.viewport:after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,#0000 0px,#0000 3px,#0001 4px);opacity:.4}.overlay{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;background:linear-gradient(90deg,#08151c88,#08151c33,#08151c88)}.overlay.hidden{display:none}.overlay-kicker{font-size:9px;letter-spacing:2px;color:var(--mint);margin-bottom:22px}.overlay h2{font:900 clamp(64px,9vw,122px)/.8 'Barlow Condensed',Impact,sans-serif;letter-spacing:2px;margin:0;transform:skewY(-5deg);text-shadow:4px 6px #0b1c21}.overlay h2 span{color:var(--mint)}.overlay p{font-size:10px;line-height:1.9;margin:30px 12px 22px;color:#d1d8ce}.primary{background:var(--orange);color:#182326;border:0;padding:17px 25px;min-width:215px;font-weight:600;font-size:10px;letter-spacing:1px}.primary span{margin-left:22px}.primary:hover{background:#ffb17b}.start-hint{font-size:8px;color:var(--muted);margin-top:18px;letter-spacing:1px}kbd{display:inline-flex;align-items:center;justify-content:center;border:1px solid #4d5b5d;min-width:19px;height:20px;padding:0 4px;border-radius:2px;font:9px 'IBM Plex Mono',monospace;color:#d8dfd2;margin-right:3px}.screen-bottom{height:42px;letter-spacing:.2px;font-size:8px;gap:8px}.screen-bottom kbd{height:16px;min-width:14px;font-size:8px}.screen-bottom button{background:none;border:0;color:var(--muted);font-size:8px;padding:6px}aside{border-left:1px solid var(--line);padding:23px 20px;display:flex;flex-direction:column}.side-title{font-size:9px;letter-spacing:1px;display:flex;justify-content:space-between;margin-bottom:20px}.side-title>span{color:var(--muted);font-size:8px}.mission{display:flex;align-items:center;width:100%;text-align:left;background:none;border:1px solid var(--line);padding:15px 10px;margin-bottom:8px;gap:10px}.mission.active{border-color:#9fb593;background:#b8d7a80c}.mission-no{color:var(--muted);font-size:10px}.mission.active .mission-no{color:var(--mint)}.mission strong{display:block;font:600 20px 'Barlow Condensed',sans-serif}.mission small{display:block;font-size:7px;letter-spacing:1px;color:var(--muted);margin-top:4px}.mission-arrow{margin-left:auto;color:var(--mint);font-size:16px}.briefing{padding:22px 0;border-bottom:1px solid var(--line)}.label{font-size:8px;color:var(--muted);letter-spacing:1.6px}.briefing p{font-size:10px;color:#bac6be;line-height:1.85;margin:12px 0 19px}.route{font-size:6px;display:flex;align-items:center;gap:7px;color:var(--muted)}.route>div{flex:1;height:2px;background:#40504e}.route i{display:block;width:0;height:100%;background:var(--orange)}.telemetry{padding-top:22px}.tele-row{display:flex;justify-content:space-between;font-size:8px;margin-top:17px}.tele-row b{font-weight:400;color:var(--mint)}.meter{height:5px;background:#33433f;margin-top:10px}.meter i{display:block;height:100%;background:var(--mint);transition:width .2s}.stats{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:22px 0}.stats small{display:block;color:var(--muted);font-size:7px;letter-spacing:1px}.stats strong{font:500 22px 'Barlow Condensed',sans-serif;display:block;margin-top:5px;letter-spacing:1px}.stats em{font:8px monospace;color:var(--muted)}.loadout{display:flex;justify-content:space-between;font-size:7px;color:var(--muted);border-top:1px solid var(--line);padding-top:13px}.loadout b{font-size:11px;color:var(--orange);font-weight:500}.side-note{font-size:6px;color:var(--muted);margin-top:auto;padding-top:26px;line-height:2}.side-note small{font-size:6px;color:#738884}.side-note .status-dot{width:4px;height:4px;margin-right:5px}.below{display:grid;grid-template-columns:1fr 1.4fr;gap:30px;padding:36px 0 35px}.below h3{font:600 27px/1.1 'Barlow Condensed',sans-serif;margin:12px 0}.below p{font-size:9px;color:var(--muted)}.control-list{display:grid;grid-template-columns:1fr 1fr;gap:22px}.control-list>div{display:flex;align-items:flex-start;gap:3px}.control-list span{margin-left:6px}.control-list strong{display:block;font-size:9px;font-weight:500}.control-list small{font-size:8px;color:var(--muted);display:block;margin-top:7px;line-height:1.5}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;margin:0 5vw;padding:22px 0;font-size:7px;color:var(--muted);letter-spacing:1px}footer b{font-weight:400;color:#637974;margin-left:10px}#toast{position:absolute;bottom:14%;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:1px;background:#0b1c21e8;border:1px solid var(--mint);padding:12px 20px;z-index:3;opacity:0;transition:opacity .2s;pointer-events:none;text-align:center;width:max-content;max-width:90%}#toast.show{opacity:1}dialog{background:var(--panel);color:var(--text);border:1px solid #56645b;padding:35px;max-width:520px;line-height:1.9}dialog::backdrop{background:#041019cc;backdrop-filter:blur(5px)}dialog h2{font:600 38px 'Barlow Condensed',sans-serif;margin:12px 0}dialog p{font-size:11px;color:#b8c7be}dialog b{color:var(--text)}.close{position:absolute;right:14px;top:7px;background:none;border:0;font-size:26px}.touch-controls{display:none}.viewport:fullscreen{width:100vw;height:100vh;aspect-ratio:auto;background:#08151b;display:flex;justify-content:center}.viewport:fullscreen canvas{width:auto;max-width:100%;height:100%;object-fit:contain}@media(min-width:1600px){main{padding-left:30px;padding-right:30px}}@media(max-width:950px){.console{grid-template-columns:minmax(0,1fr) 230px}aside{padding:18px 13px}.brand small{display:none}.screen-bottom>span:nth-child(2){display:none}.side-note{display:none}.stats{margin:14px 0}.briefing{padding:14px 0}.telemetry{padding-top:14px}.mission{padding:11px 8px}.side-title{margin-bottom:14px}}@media(max-width:700px){header{height:70px}.header-right{font-size:7px}#sound{margin-left:4px;font-size:7px}.brand{font-size:22px}.eyebrow{font-size:7px}.eyebrow>span:last-child{display:none}main{padding:24px 4vw 0}h1{font-size:48px}.heading{margin:20px 0}.heading p{font-size:9px}.outline{font-size:7px;padding:10px}.console{display:flex;flex-direction:column}.viewport{aspect-ratio:960/760}.overlay-kicker{font-size:7px;margin-bottom:16px}.overlay p{font-size:8px;margin:22px 8px 16px}.overlay h2{font-size:74px}.primary{padding:13px 20px;min-width:190px}.start-hint{font-size:6px}aside{border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:8px}.side-title{grid-column:1/-1;margin-bottom:3px}.mission{margin:0}.briefing{display:none}.telemetry{grid-column:1/-1;padding:0;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.telemetry>.label,.telemetry .meter,.telemetry .tele-row{display:none}.stats{display:flex;gap:20px;flex:1;margin:8px 0}.stats strong{font-size:20px}.loadout{border:0;padding:0;gap:12px}.below{grid-template-columns:1fr;padding:25px 0;gap:16px}.below>div:first-child{display:none}.control-list{gap:18px 10px}.control-list small{font-size:7px}.control-list strong{font-size:8px}.touch-controls{display:flex;justify-content:space-between;gap:8px;margin:0 0 24px;touch-action:none;user-select:none}.touch-controls>div{display:flex;gap:4px;flex-wrap:wrap}.touch-controls button{background:#203139;border:1px solid #4a605d;border-radius:4px;min-width:38px;height:42px;font-size:9px;touch-action:none}.touch-controls button:active{background:#547565}footer{font-size:6px}footer span:last-child{display:none}}
[hidden]{display:none!important}.game-panel{position:absolute;inset:0;z-index:5;overflow-y:auto;padding:32px;background:#0d1d26f5;scrollbar-color:#607c6c #14242c}.panel-heading .label{font-size:8px;line-height:1.7;display:block}.panel-heading h2{font:700 47px/1 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;margin:15px 0 12px}.panel-heading p{font-size:8px;color:var(--muted);line-height:1.8;margin:0 0 20px}.recovery-options{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px;margin-bottom:20px}.recovery-options>button{background:#19303a88;border:1px solid #567568;text-align:left;padding:22px;min-width:0;transition:background .15s}.recovery-options>button:hover{background:#29443f}.approach-icon{display:block;font-size:50px;color:var(--orange);margin-bottom:32px}.recovery-options small{font-size:8px;color:var(--mint);letter-spacing:1px;display:block}.recovery-options strong{display:block;font:600 29px 'Barlow Condensed',sans-serif;margin-top:8px}.recovery-options p{font-size:10px;color:#b7c9be;line-height:1.8;min-height:70px}.recovery-options em{font-size:9px;font-style:normal;color:var(--orange);letter-spacing:1px}.practice-button{background:#b8d7a80a;border:1px dashed #596c5d;color:var(--mint);width:100%;padding:12px 8px;font-size:8px;text-align:left;letter-spacing:.5px}.practice-button span{font-size:7px;float:right;color:var(--muted)}.campaign-wallet{display:flex;justify-content:space-between;align-items:center;font-size:8px;color:var(--muted);padding:12px 0 8px;border-top:1px solid var(--line)}.campaign-wallet b{font-size:13px;color:var(--orange);font-weight:500}.equipment{font-size:6px;color:var(--muted);padding:0 0 12px;letter-spacing:.3px}.shop-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.shop-title strong{font:600 29px 'Barlow Condensed',sans-serif;color:var(--orange);white-space:nowrap}.shop-title h2{font-size:40px}.shop-panel{padding:24px 28px}.shop-panel .panel-heading p{margin-bottom:10px}.shop-item{border-top:1px solid var(--line);padding:13px 0;display:flex;justify-content:space-between;gap:16px;align-items:center}.shop-item>div{min-width:0}.shop-item small{font-size:6px;letter-spacing:1px;color:var(--muted)}.shop-item h4{font:600 25px 'Barlow Condensed',sans-serif;margin:4px 0}.shop-item h4 span{font:9px 'IBM Plex Mono',monospace;color:var(--mint);margin-left:8px}.shop-item p{font-size:8px;line-height:1.6;color:#b4c6b9;margin:4px 0 0}.shop-item>button{background:#244238;color:var(--mint);border:1px solid #8ba782;padding:10px 9px;font-weight:600;min-width:95px;font-size:12px;flex-shrink:0}.shop-item>button span{display:block;font-size:6px;margin-top:5px;letter-spacing:.8px}.shop-item>button:disabled{opacity:.45;cursor:default;border-color:#445752;background:#172a2d}#shop-feedback{font-size:8px;color:var(--mint);line-height:1.7;min-height:25px}#shop-next{width:100%;font-size:9px;min-width:0;padding:14px 10px}.overlay-back{background:#0e222ce6;border:1px solid #677d6c;font-size:8px;letter-spacing:1px;padding:9px 15px;margin-top:10px}.overlay h2{max-width:100%}aside .mission{padding-top:10px;padding-bottom:10px}aside .briefing{padding:16px 0}aside .telemetry{padding-top:16px}aside .stats{margin:16px 0}.side-note{display:none}@media(max-width:950px){.game-panel{padding:20px}.panel-heading h2{font-size:38px}.recovery-options{gap:10px;margin-top:14px}.recovery-options>button{padding:15px}.approach-icon{font-size:38px;margin-bottom:18px}.recovery-options strong{font-size:24px}.recovery-options p{font-size:8px;min-height:65px}.recovery-options small{font-size:6px}.recovery-options em{font-size:7px}.shop-item{padding:10px 0}.shop-item h4{font-size:21px}.shop-item p{font-size:7px}.shop-title h2{font-size:34px}.shop-title strong{font-size:25px}}@media(max-width:700px){.practice-button{grid-column:1/-1}.telemetry .campaign-wallet{border:0;padding:5px 0}.equipment{display:none}.game-panel{padding:17px}.panel-heading h2{font-size:31px;margin:8px 0}.panel-heading .label{font-size:6px}.panel-heading p{font-size:7px;margin-bottom:8px}.recovery-options{gap:8px;margin-top:12px;margin-bottom:10px}.recovery-options>button{padding:12px 10px}.approach-icon{font-size:26px;margin-bottom:12px}.recovery-options strong{font-size:20px}.recovery-options p{font-size:7px;min-height:55px;margin:8px 0}.recovery-options em{font-size:6px;letter-spacing:.1px}.recovery-options small{font-size:5px}.shop-panel{padding:15px}.shop-title h2{font-size:30px}.shop-title strong{font-size:21px}.shop-item{padding:10px 0;gap:8px}.shop-item h4{font-size:22px}.shop-item p{font-size:8px}.shop-item>button{min-width:79px;padding:10px 6px}.shop-panel .panel-heading .label{font-size:6px}aside .mission:last-of-type{grid-column:1/-1}.overlay h2{font-size:60px}.overlay p{font-size:8px;line-height:1.6;max-width:90%;margin:16px 8px}.overlay-kicker{font-size:6px;margin-bottom:13px}.primary{padding:11px 16px}.overlay-back{padding:6px 10px;margin-top:7px}.overlay .start-hint{font-size:5px;margin-top:10px}}
.practice-button:disabled{opacity:.4;cursor:default}.screen-top{gap:10px}.screen-top>span{max-width:56%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:700px){aside .mission[data-level="2"]{grid-column:1/-1}}
.campaign-bar{display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid var(--line);padding:18px 0 9px}.campaign-bar p{font-size:10px;margin:7px 0;color:var(--mint)}.campaign-bar>div:last-child{display:flex;gap:8px}.campaign-bar button:disabled{opacity:.35;cursor:default}.save-status{font-size:8px;color:var(--muted);margin-bottom:16px;letter-spacing:.6px}.sim-hint{font-size:8px;line-height:1.5;color:var(--muted);margin:0 0 10px}#mission-list{max-height:200px;overflow-y:auto;margin-bottom:12px;scrollbar-color:#5c7564 #14242c}#mission-list summary{font-size:8px;letter-spacing:1px;padding:11px 6px;color:var(--orange);cursor:pointer;border-top:1px solid var(--line)}#mission-list .mission{margin-bottom:5px;padding:8px}#mission-list .mission strong{font-size:18px}#mission-list .mission small{font-size:6px}#objective{font-size:9px;color:var(--orange);line-height:1.7}.briefing #brief{font-size:9px;line-height:1.6}.briefing{max-height:240px;overflow-y:auto}@media(max-width:700px){.campaign-bar{align-items:start;flex-direction:column;gap:8px}.campaign-bar .outline{font-size:8px}.campaign-bar p{font-size:8px}.campaign-bar .label{font-size:7px}.campaign-bar>div:last-child{width:100%;display:grid;grid-template-columns:1.2fr 1fr}#mission-list{grid-column:1/-1;max-height:160px;margin-bottom:0}.sim-hint{grid-column:1/-1;font-size:7px;margin:0}.save-status{font-size:6px}aside .briefing{display:block;grid-column:1/-1;padding:8px 0;max-height:none}aside .briefing #brief{display:none}aside .briefing .label:not(#sector){display:none}aside .briefing #objective{margin:7px 0;font-size:8px}#mission-list .mission{width:100%}}
#mission-list{max-height:150px}aside .side-title{margin-bottom:12px}aside .briefing{max-height:165px;padding:10px 0}aside .telemetry{padding-top:12px}aside .stats{margin:10px 0}.sim-hint{font-size:7px}@media(max-width:700px){aside .briefing{max-height:none}#mission-list{max-height:150px}}

.route-planner{margin:20px 0;padding:20px;border:1px solid #426062;background:#12262c}.route-planner>p{font:12px 'IBM Plex Mono',monospace;line-height:1.6}#route-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}#route-options button{text-align:left;background:#193039;color:#d4e1cc;border:1px solid #536e6c;padding:15px;cursor:pointer;min-width:0}#route-options button[aria-pressed="true"]{border:2px solid #b8d7a8;background:#274438}#route-options button:disabled{cursor:default;opacity:.65}#route-options strong,#route-options small,#route-options span{display:block}#route-options small{color:#efb477;margin:8px 0;font-size:11px}#route-options span{font-size:12px;line-height:1.5}@media(max-width:650px){#route-options{grid-template-columns:1fr}.route-planner{padding:14px}}
