@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/barlow-condensed-v13-latin-400.woff2) format("woff2")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/barlow-condensed-v13-latin-600.woff2) format("woff2")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/barlow-condensed-v13-latin-700.woff2) format("woff2")}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;height:100dvh;overflow:hidden;overscroll-behavior:none;touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;background:#180505;font-family:Barlow Condensed,Arial Narrow,sans-serif;-webkit-user-select:none;user-select:none}.gl{width:1em;height:1em;flex:none;fill:currentColor;vertical-align:-.13em;pointer-events:none}.gl.flip{transform:scaleX(-1)}#scene{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:none}#hud{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.55);z-index:5}.restart-hint{position:absolute;top:16px;left:20px;font-size:13px;letter-spacing:.18em;opacity:.75}.restart-hint u{text-underline-offset:3px}.hud-bottom{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:20px 22px 22px;background:linear-gradient(to top,rgba(10,3,2,.55),transparent)}.cluster{pointer-events:auto;flex:0 0 auto}.cluster svg{display:block}.cluster circle{cursor:pointer;fill:#ffffff0f;stroke:#ffffff80;stroke-width:1.4;transition:fill 90ms linear}@media(hover:hover){.cluster circle:hover{stroke:#fff}}.cluster circle.igniting{fill:#ff963c8c;stroke:#ffb066}.cluster circle.running{fill:#ffb35c;stroke:#fff}.cluster-label{font-size:11px;letter-spacing:.22em;opacity:.6;text-align:center;margin-top:4px}.telemetry{flex:0 1 auto;min-width:200px}.tele-row{display:flex;align-items:baseline;gap:14px;line-height:1.25}.tele-row .label{font-size:17px;font-weight:600;letter-spacing:.14em;width:92px;opacity:.9}.tele-row .value{font-size:24px;font-weight:700;letter-spacing:.06em;font-variant-numeric:tabular-nums}.tele-row .unit{font-size:14px;opacity:.7;letter-spacing:.1em}.fuel-row{display:flex;align-items:center;gap:10px;margin-top:6px}.fuel-row .label{font-size:14px;font-weight:600;letter-spacing:.14em;width:44px}.bar{position:relative;width:150px;height:7px;background:#ffffff29;border-radius:4px;overflow:hidden}.bar .fill{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:left;background:#e8e4dc;border-radius:4px}.bar.warn .fill{background:#ff7a45}.attitude{flex:0 0 auto;text-align:center}.attitude canvas{display:block}.hud-right{flex:0 1 auto;min-width:0;text-align:right}.mode-title{font-size:26px;font-weight:700;letter-spacing:.08em;white-space:nowrap}.mode-sub{font-size:15px;letter-spacing:.24em;opacity:.75;margin-bottom:8px}.throttle-row{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:4px;font-size:14px;letter-spacing:.12em}.throttle-row .value{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;min-width:46px}.stat-row{display:flex;justify-content:flex-end;gap:18px;font-size:15px;letter-spacing:.1em;margin-top:3px;opacity:.9;font-variant-numeric:tabular-nums}.controls-hint{margin-top:8px;font-size:11px;letter-spacing:.08em;opacity:.55;line-height:1.5;white-space:nowrap}.tower-ind{position:absolute;left:0;top:0;display:none;flex-direction:column;align-items:center;filter:drop-shadow(0 1px 5px rgba(0,0,0,.6));will-change:transform}.tower-ind.show{display:flex}.tower-ind svg{display:block}.tower-dist{font-size:12px;font-weight:600;letter-spacing:.14em;color:#ffb066;white-space:nowrap}.catch-panel{position:absolute;left:50%;bottom:210px;transform:translate(-50%);display:none;gap:10px;flex-wrap:wrap;justify-content:center;max-width:min(94vw,900px)}.catch-panel.show{display:flex}.catch-panel .pill{display:flex;align-items:baseline;gap:8px;padding:5px 12px;border:1px solid rgba(255,255,255,.3);background:#08030273;transition:border-color .12s,color .12s}.catch-panel .k{font-size:11px;letter-spacing:.2em;opacity:.7}.catch-panel .v{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.06em}.catch-panel .pill.ok{border-color:#9fe6a0bf;color:#9fe6a0}.catch-panel .pill.bad{border-color:#ff7a55bf;color:#ff7a55}.monitor-frame{position:absolute;display:none;border:1px solid rgba(255,255,255,.4);box-shadow:0 0 0 1px #0000008c,0 2px 18px #00000073}.monitor-frame.show{display:block}.monitor-frame:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.035) 0 1px,transparent 1px 3px)}.mon-label{position:absolute;top:4px;left:8px;font-size:10px;letter-spacing:.2em;opacity:.75}.mon-range{position:absolute;bottom:4px;right:8px;font-size:11px;font-weight:600;letter-spacing:.14em;color:#ffb066;font-variant-numeric:tabular-nums}.flash-msg{position:absolute;left:50%;top:30%;transform:translate(-50%);font-size:26px;font-weight:700;letter-spacing:.28em;color:#ffb066;opacity:0;transition:opacity .18s;text-align:center}.flash-msg.show{opacity:1}#screens{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;pointer-events:none;font-family:Barlow Condensed,Arial Narrow,sans-serif;color:#fff}.screen{position:absolute;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;flex-direction:column;pointer-events:auto;background:radial-gradient(ellipse at 50% 60%,#14060273,#080201c7)}.screen.visible{display:flex}.title{font-size:64px;font-weight:700;letter-spacing:.22em;text-shadow:0 2px 30px rgba(255,120,40,.45)}.subtitle{font-size:17px;letter-spacing:.34em;opacity:.8;margin:4px 0 42px}.theme-toggle{margin:-26px 0 30px;padding:7px 18px;border:1px solid rgba(255,255,255,.3);font-size:13px;letter-spacing:.26em;opacity:.85;cursor:pointer;transition:border-color .14s}@media(hover:hover){.theme-toggle:hover{border-color:#ffb066}}.theme-toggle b{color:#ffb066;font-weight:700}.theme-toggle span{margin-left:14px;font-size:11px;opacity:.55}.install-hint{margin:-14px 0 26px;padding:8px 16px;border:1px solid rgba(255,176,102,.35);border-radius:2px;background:#ff8c3c12;font-size:12px;letter-spacing:.2em;text-align:center;opacity:.9}.install-hint b{color:#ffb066;font-weight:700}.mode-cards{display:flex;flex-wrap:wrap;justify-content:center;gap:26px;max-width:1060px}.mode-card{width:300px;padding:26px 26px 22px;border:1px solid rgba(255,255,255,.35);background:#0f05028c;cursor:pointer;transition:all .14s;text-align:left}@media(hover:hover){.mode-card:hover{border-color:#ffb066;background:#32100499;transform:translateY(-3px)}}.mode-card .num{font-size:13px;letter-spacing:.3em;color:#ffb066}.mode-card h2{font-size:30px;font-weight:700;letter-spacing:.08em;margin:4px 0 8px}.mode-card p{font-size:15px;line-height:1.45;opacity:.75;letter-spacing:.04em}.controls-table{margin-top:44px;display:grid;grid-template-columns:auto auto;gap:5px 22px;font-size:14px;letter-spacing:.08em;opacity:.75}.controls-table b{color:#ffb066;font-weight:600;text-align:right}.verdict{font-size:84px;font-weight:700;letter-spacing:.18em}.verdict.good{color:#9fe6a0;text-shadow:0 0 50px rgba(120,255,140,.4)}.verdict.bad{color:#ff7a55;text-shadow:0 0 50px rgba(255,80,30,.45)}.reason{font-size:20px;letter-spacing:.22em;opacity:.85;margin-top:6px}.stats-grid{margin-top:34px;display:grid;grid-template-columns:repeat(3,minmax(120px,auto));gap:16px 42px;text-align:center}.stats-grid .stat .v{font-size:30px;font-weight:700;font-variant-numeric:tabular-nums}.stats-grid .stat .k{font-size:12px;letter-spacing:.24em;opacity:.6;margin-top:2px}.end-hint{margin-top:44px;font-size:15px;letter-spacing:.26em;opacity:.7}.end-hint b{color:#ffb066}.chain-btn{margin-top:36px;padding:14px 34px;font-family:inherit;font-size:24px;font-weight:700;letter-spacing:.18em;color:#ffb066;background:#3210048c;border:1px solid #ffb066;cursor:pointer;transition:all .14s;display:flex;flex-direction:column;align-items:center;gap:4px}@media(hover:hover){.chain-btn:hover{background:#5a1e08b3;transform:translateY(-2px)}}.chain-btn b{font-weight:inherit}.chain-btn span{font-size:12px;font-weight:400;letter-spacing:.22em;opacity:.7;color:#fff}.mission-seq{font-size:13px;letter-spacing:.16em;margin-bottom:2px;opacity:.9}.mission-seq i{font-style:normal;opacity:.4;margin:0 6px}.mission-seq span{opacity:.45}.mission-seq span.done{opacity:.7;color:#9fe6a0}.mission-seq span.on{opacity:1;color:#ffb066;font-weight:700}.ship-status{font-size:12px;letter-spacing:.2em;color:#9fe6a0;opacity:.85;margin-bottom:6px}body.ui-touch .restart-hint,.hud-top{display:none}body.ui-touch .hud-top{position:absolute;top:0;left:0;display:flex;gap:12px;padding:calc(6px + env(safe-area-inset-top)) calc(10px + env(safe-area-inset-right)) 6px calc(10px + env(safe-area-inset-left))}body.ui-landscape .hud-top{flex-direction:column;align-items:flex-start;gap:5px;max-width:44vw}body.ui-portrait .hud-top{right:0;align-items:flex-start;justify-content:space-between;background:linear-gradient(to bottom,rgba(10,3,2,.62),transparent)}body.ui-touch .hud-bottom{justify-content:center;align-items:center;gap:0;padding:0 0 env(safe-area-inset-bottom);height:calc(86px + env(safe-area-inset-bottom))}body.ui-portrait .hud-bottom{align-items:flex-end;height:calc(178px + env(safe-area-inset-bottom))}body.ui-touch .tele-row[data-row=speed],body.ui-touch .tele-row[data-row=wind],body.ui-touch .fuel-row[data-row=ch4],body.ui-touch .mode-sub,body.ui-touch .mode-title,body.ui-touch .throttle-row:not([data-id=heatrow]),body.ui-touch .stat-row,body.ui-touch .cluster,body.ui-touch .attitude{display:none}body.ui-touch .telemetry{min-width:0}body.ui-touch .tele-row{gap:6px;line-height:1.15}body.ui-touch .tele-row .label{font-size:11px;width:50px;letter-spacing:.08em}body.ui-touch .tele-row .value{font-size:16px!important}body.ui-touch .tele-row .unit{font-size:9px;letter-spacing:.06em}body.ui-touch .fuel-row{margin-top:3px;gap:6px}body.ui-touch .fuel-row .label{font-size:10px;width:26px}body.ui-touch .fuel-row .bar{width:86px;height:5px}body.ui-touch .hud-right{text-align:left}body.ui-touch .mode-sub{font-size:9px;letter-spacing:.16em;margin-bottom:1px}body.ui-touch .mode-title{font-size:14px;letter-spacing:.05em;line-height:1.1;white-space:normal}body.ui-touch .throttle-row{justify-content:flex-start;gap:6px;margin-top:3px;font-size:10px;letter-spacing:.08em}body.ui-touch .throttle-row .bar{width:74px!important}body.ui-touch .throttle-row .value{font-size:13px;min-width:32px}body.ui-touch .stat-row{justify-content:flex-start;gap:14px;font-size:12px;margin-top:2px}body.ui-touch .controls-hint{display:none}body.ui-touch .mission-seq{font-size:10px;letter-spacing:.06em}body.ui-touch .ship-status{font-size:10px;letter-spacing:.08em;margin-bottom:3px}body.ui-touch .flash-msg{font-size:15px;letter-spacing:.16em;max-width:80vw}body.ui-touch .catch-panel .pill{padding:3px 7px;gap:5px}body.ui-touch .catch-panel .k{font-size:9px;letter-spacing:.1em}body.ui-touch .catch-panel .v{font-size:12px}body.ui-touch .catch-panel{gap:5px}body.ui-landscape .catch-panel{left:calc(272px + env(safe-area-inset-left));right:calc(194px + env(safe-area-inset-right));bottom:calc(10px + env(safe-area-inset-bottom));transform:none;max-width:none}body.ui-portrait .catch-panel{bottom:calc(124px + env(safe-area-inset-bottom));left:calc(50% - 52px);max-width:calc(100vw - 128px)}body.ui-touch .catch-panel{gap:6px}body.ui-touch .catch-panel .pill{padding:3px 8px;gap:5px}body.ui-touch .catch-panel .k{font-size:9px;letter-spacing:.12em}body.ui-touch .catch-panel .v{font-size:13px}body.ui-touch .mon-label{font-size:8px;letter-spacing:.12em}body.ui-touch .mon-range{font-size:9px;letter-spacing:.08em}.controls-table.touch,body.ui-touch .controls-table.keys{display:none}body.ui-touch .controls-table.touch{display:grid}body.ui-touch .mode-card .key{display:none}.end-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px}.end-btn{font-family:inherit;min-height:46px;padding:0 26px;font-size:17px;font-weight:700;letter-spacing:.18em;color:#fff;background:#0f050299;border:1px solid rgba(255,255,255,.4);cursor:pointer;transition:all .14s}.end-btn.primary{color:#ffb066;border-color:#ffb066;background:#32100499}@media(hover:hover){.end-btn:hover{border-color:#ffb066;background:#461806b3}}body.ui-touch .end-hint{display:none}@media(max-width:780px),(max-height:580px){.screen{justify-content:flex-start;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;padding:calc(18px + env(safe-area-inset-top)) calc(14px + env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) calc(14px + env(safe-area-inset-left))}.title{font-size:clamp(30px,8vw,64px);letter-spacing:.14em;text-align:center}.subtitle{font-size:clamp(11px,2.6vw,17px);letter-spacing:.2em;margin:4px 0 20px;text-align:center}.theme-toggle{margin:-10px 0 18px;padding:12px 18px}.install-hint{margin:-6px 0 16px;font-size:11px;letter-spacing:.14em;line-height:1.5}.mode-cards{gap:12px}.mode-card{width:min(300px,100%);padding:14px 16px 12px}.mode-card h2{font-size:22px;margin:2px 0 4px}.mode-card p{font-size:13px;line-height:1.35}.mode-card .num{font-size:11px}.controls-table{margin-top:22px;gap:4px 14px;font-size:12px}.verdict{font-size:clamp(40px,12vw,84px)}.reason{font-size:clamp(13px,3.4vw,20px);letter-spacing:.14em;text-align:center}.stats-grid{margin-top:20px;grid-template-columns:repeat(2,minmax(90px,1fr));gap:12px 20px}.stats-grid .stat .v{font-size:22px}.end-actions{margin-top:22px}.end-hint{margin-top:18px;font-size:12px}.chain-btn{margin-top:20px;padding:12px 22px;font-size:18px}}@media(orientation:portrait)and (max-height:740px){body.ui-portrait .hud-bottom{height:calc(150px + env(safe-area-inset-bottom))}body.ui-portrait .catch-panel{bottom:calc(108px + env(safe-area-inset-bottom))}}@media(orientation:landscape)and (max-height:420px){body.ui-landscape .hud-top{gap:3px}body.ui-landscape .tele-row{line-height:1.05}body.ui-landscape .tele-row .value{font-size:14px!important}body.ui-landscape .fuel-row{margin-top:2px}body.ui-landscape .cluster svg{width:50px;height:50px}body.ui-landscape .mode-title{font-size:12px}body.ui-landscape .mission-seq,body.ui-landscape .ship-status{font-size:9px}body.ui-landscape .throttle-row{font-size:9px;margin-top:2px}body.ui-landscape .stat-row{font-size:11px}}.touch-layer{position:absolute;top:0;right:0;bottom:0;left:0;display:none;pointer-events:none;z-index:6;--tc-key-w: 76px;--tc-key-h: 56px;--tc-eng-w: 46px;--tc-eng-h: 44px;--tc-fader-h: clamp(90px, calc(100vh - 170px) , 220px);--tc-fader-h: clamp(90px, calc(100dvh - 170px) , 220px);--tc-safe-b: env(safe-area-inset-bottom)}body.ui-touch .touch-layer{display:block}body.ui-portrait .touch-layer{--tc-key-w: 72px;--tc-key-h: 58px;--tc-eng-w: 42px;--tc-fader-h: clamp(90px, calc(100vh - 365px) , 330px);--tc-fader-h: clamp(90px, calc(100dvh - 365px) , 330px)}.touch-layer button,.tc-fader{pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;font-family:inherit;color:#fff;background:#0c05038c;border:1px solid rgba(255,255,255,.34);border-radius:7px;text-shadow:0 1px 5px rgba(0,0,0,.7);transition:background 90ms linear,border-color 90ms linear}.touch-layer button.on{background:#ff963c6b;border-color:#ffb066}.tc-btn{display:flex;align-items:center;justify-content:center;font-weight:700;letter-spacing:.06em}.tc-big{width:var(--tc-key-w);height:var(--tc-key-h);font-size:26px}.tc-sm{width:44px;height:40px;font-size:18px}.tc-eng{width:var(--tc-eng-w);height:var(--tc-eng-h);font-size:14px;letter-spacing:.08em}.tc-eng.lit{background:#ffb35ce0;border-color:#fff;color:#2a1002;text-shadow:none}.tc-eng-cycle{width:auto;min-width:66px;padding:0 8px;font-size:13px}.tc-cut{width:48px;height:var(--tc-eng-h);font-size:13px;font-weight:700;letter-spacing:.1em;color:#ff9d7a;border-color:#ff7a558c}.tc-chip .gl{width:1.3em;height:1.3em}.tc-chip{min-width:44px;height:38px;padding:0 10px;font-size:14px;font-weight:600;letter-spacing:.12em}.tc-wide{min-height:42px;padding:0 20px;font-size:15px;font-weight:700;letter-spacing:.16em}.tc-stage{color:#ffb066;border-color:#ffb066;background:#461806b8}.tc-chips{position:absolute;top:calc(10px + env(safe-area-inset-top));left:50%;transform:translate(-50%);display:flex;gap:8px}.tc-ctx{position:absolute;top:calc(56px + env(safe-area-inset-top));left:50%;transform:translate(-50%);display:flex;gap:10px}.tc-left{position:absolute;left:calc(10px + env(safe-area-inset-left));bottom:calc(10px + var(--tc-safe-b));display:flex;align-items:center;gap:6px}.tc-steer{display:flex;gap:8px}.tc-right{position:absolute;right:calc(10px + env(safe-area-inset-right));bottom:calc(10px + var(--tc-safe-b))}.tc-engines{position:absolute;display:flex;gap:6px}body.ui-landscape .tc-engines{right:calc(66px + env(safe-area-inset-right));bottom:calc(10px + var(--tc-safe-b));flex-wrap:wrap;justify-content:flex-end;width:calc(var(--tc-eng-w) + 72px)}body.ui-portrait .tc-engines{left:50%;transform:translate(-50%);bottom:calc(10px + var(--tc-safe-b));gap:5px}body.ui-portrait .tc-left,body.ui-portrait .tc-right{bottom:calc(62px + var(--tc-safe-b))}.tc-fader{position:relative;width:46px;height:var(--tc-fader-h);overflow:hidden}.tc-fader.on{border-color:#ffb066}.tc-fader-fill{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:bottom;transform:scaleY(.75);background:linear-gradient(to top,#ff963c59,#ffb366c7);pointer-events:none}.tc-fader-val{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-start;padding-top:7px;justify-content:center;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;color:#fff;text-shadow:0 1px 5px rgba(0,0,0,.85);pointer-events:none}body.ui-portrait .tc-chips{top:calc(var(--hud-top-h, 134px) + 12px);left:calc(10px + env(safe-area-inset-left));transform:none}body.ui-portrait .tc-ctx{top:calc(var(--hud-top-h, 134px) + 58px);left:calc(10px + env(safe-area-inset-left));transform:none}@media(max-width:360px){body.ui-portrait .touch-layer{--tc-key-w: 62px;--tc-eng-w: 38px}}@media(orientation:portrait)and (max-height:740px){body.ui-portrait .touch-layer{--tc-key-h: 48px;--tc-eng-h: 40px}body.ui-portrait .tc-left,body.ui-portrait .tc-right{bottom:calc(56px + var(--tc-safe-b))}}
