:root{color-scheme:dark;--bg:#071525;--panel:rgba(4,17,31,.89);--line:rgba(112,171,215,.21);--line2:rgba(129,193,218,.42);--ink:#e8f2fd;--muted:#849eaf;--teal:#50e1f0;--gold:#f5b964;--warning:#f48c67;--font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}html,body,#app{height:100%;width:100%;margin:0;overflow:hidden}body{font-family:var(--font);background:var(--bg);color:var(--ink);font-size:12px}button,select,input{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--teal);outline-offset:2px}canvas#scene{position:absolute;width:100%;height:100%;inset:0;display:block;touch-action:none}.app-shell{position:relative;isolation:isolate}.stars-overlay{position:absolute;inset:0;pointer-events:none;opacity:.28;background-image:radial-gradient(#9edbf1 1px,transparent 1px);background-size:111px 119px;mask-image:linear-gradient(to bottom,black,transparent 65%)}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(3,16,30,.67),transparent 32%,transparent 61%,rgba(2,8,17,.64)),linear-gradient(90deg,rgba(3,12,23,.5),transparent 35%,transparent 68%,rgba(3,12,23,.55))}
.topbar{position:absolute;z-index:8;top:0;left:0;right:0;height:76px;background:linear-gradient(180deg,rgba(4,15,27,.92),rgba(5,17,31,.68));border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 22px;gap:28px}.brand{display:flex;align-items:center;min-width:273px;gap:12px}.brand-icon{font-size:40px;color:var(--teal);line-height:1}.brand-eyebrow{display:block;font-size:8px;letter-spacing:.19em;color:var(--muted);padding-bottom:6px}.brand strong{display:block;font-size:15px;letter-spacing:.16em;font-weight:800;white-space:nowrap}.brand strong span{color:#b0c7d9;font-weight:400}.navigation{display:flex;align-items:center;flex:1;gap:5px;height:100%}.nav-btn{height:44px;padding:0 12px;border:1px solid transparent;background:transparent;color:#7993a9;letter-spacing:.1em;font-size:9px;transition:.2s}.nav-btn b{display:inline-block;padding-left:4px;color:#d4e9f6;font-weight:700;font-size:10px}.nav-btn.active,.nav-btn:hover{border-color:#356880;background:rgba(25,78,101,.44);color:var(--teal)}.header-actions{margin-left:auto;display:flex;gap:7px;align-items:center}.renderer-badge{padding:7px 10px;font-size:9px;letter-spacing:.07em;border:1px solid var(--line);color:#8fa6b4;white-space:nowrap}.square-btn{border:1px solid var(--line2);background:#0d2b42b8;color:#d8eff8;width:35px;height:35px;font-size:17px}.square-btn:hover{border-color:var(--teal);color:var(--teal)}.panel{position:absolute;z-index:6;top:89px;bottom:127px;background:var(--panel);border:1px solid var(--line2);box-shadow:0 18px 42px #0007;backdrop-filter:blur(14px);overflow-x:hidden;overflow-y:auto;scrollbar-color:#22516b transparent;scrollbar-width:thin}.left-panel{left:17px;width:317px}.right-panel{right:17px;width:289px;padding:19px 19px 16px}.panel-title{display:flex;align-items:center;justify-content:space-between;padding:18px 19px 17px;border-bottom:1px solid var(--line)}.kicker{display:block;color:var(--teal);font-size:9px;letter-spacing:.19em;margin-bottom:7px}.panel-title h2{font-weight:620;margin:0;font-size:16px;letter-spacing:.01em}.live-chip{color:#9ff7cb;font-size:9px;letter-spacing:.1em}.live-chip span{display:inline-block;background:#53ebaa;width:6px;height:6px;border-radius:50%;margin-right:4px;box-shadow:0 0 12px #23e3a3}.panel-section{padding:17px 19px 19px;border-bottom:1px solid var(--line)}.panel-section.last{border-bottom:0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:10px;color:#cbdfed;letter-spacing:.13em;font-weight:800;margin-bottom:18px}.section-heading small{font-size:8px;font-weight:550;color:#7994aa;letter-spacing:.05em;text-align:right}.mission-progress{margin-bottom:20px}.progress-track{height:5px;position:relative;background:#23425a;margin-bottom:10px}.progress-fill{position:absolute;height:5px;width:0%;background:linear-gradient(90deg,#35c6e3,var(--gold));transition:width .18s}.marker{position:absolute;width:2px;height:9px;top:-2px;background:#94c6de6e}.progress-labels{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.12em;color:#90a5b8}.metric-pair{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #23405658}.metric-pair:last-of-type{margin-bottom:17px}.metric{padding:11px 4px 11px 0}.metric:nth-child(2){padding-left:14px;border-left:1px solid #23405658}.metric label{display:block;color:var(--muted);font-size:9px;letter-spacing:.1em;margin-bottom:5px}.metric span{font-size:23px;font-weight:650;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.metric span small{font-size:10px;color:#9cb4c5;font-weight:400;letter-spacing:0}.button-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.action-btn{border:1px solid #355970;background:#102b42;color:#d5e6f5;padding:12px 8px;min-height:42px;font-size:9px;letter-spacing:.07em;font-weight:750;transition:.2s}.action-btn.primary{background:linear-gradient(100deg,#29b6d7,#54dcea);border-color:#38d2ed;color:#001926}.action-btn.secondary:hover,.tiny-btn:hover{border-color:var(--teal);color:var(--teal)}.action-btn.warning{border-color:#8d5346;color:#f0a290;background:#3b201c}.action-btn.warning:hover{background:#71372b}.slider-field{margin:0 0 18px}.slider-field:last-child{margin-bottom:0}.slider-field>div{display:flex;justify-content:space-between;margin-bottom:8px}.slider-field label{color:#b9d0df;font-size:10px}.slider-field output{color:var(--teal);font-weight:750;letter-spacing:.01em;font-variant-numeric:tabular-nums}.slider-field input{display:block;width:100%;height:3px;accent-color:#43cfdf;cursor:pointer}.select-wrap select{background:#10293e;border:1px solid #2b5369;width:100%;height:37px;color:#d5e9f3;padding:0 9px;font-size:10px}.row-buttons{display:flex;gap:7px;margin-top:12px}.tiny-btn{flex:1;border:1px solid #31516c;background:#0f2b43;color:#c6dce9;padding:9px 5px;font-size:10px}.tiny-btn.recording{color:#ff9a97;border-color:#be6c69}.subnote,.disclaimer{color:#8da7b9;line-height:1.68;font-size:10px;margin:13px 0 0}.right-panel .section-heading{margin-bottom:12px}.status{font-size:9px;color:#6ae6aa;letter-spacing:.04em}.status.warn{color:#f79b6c}.gauge-body{text-align:center}.gauge-body svg{width:100%;height:114px;overflow:visible}.gauge-track,.gauge-active{fill:none;stroke-width:10;stroke-linecap:round}.gauge-track{stroke:#254159}.gauge-active{stroke:#51dfd7;stroke-dasharray:245;stroke-dashoffset:183;transition:stroke-dashoffset .2s}.gauge-body text{fill:#eef7ff;font-size:27px;font-weight:700}.gauge-body .gauge-label{fill:#86a5bb;font-size:9px;font-weight:500;letter-spacing:2px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 13px;margin:12px 0}.quick-grid label{display:block;color:#8fa8ba;font-size:8px;letter-spacing:.12em;margin-bottom:6px}.quick-grid strong{display:block;font-size:16px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.top-divider{padding-top:21px;border-top:1px solid var(--line);margin-top:19px}.orbit-timeline{padding:8px 0 4px}.orbit-path{height:47px;position:relative;margin:0 14px}.orbit-path:before{content:"";position:absolute;height:2px;top:21px;left:0;right:0;background:linear-gradient(90deg,#3acde4,#486c92);box-shadow:0 0 8px #30cef83f}.orbit-dot{position:absolute;top:8px;color:var(--teal);font-size:28px}.orbit-dot.start{left:-11px}.orbit-dot.end{right:-10px}.orbital-pointer{position:absolute;top:8px;left:0%;transition:left .18s;color:var(--gold);text-shadow:0 0 10px #ebb77e;font-size:22px}.orbit-points{display:flex;justify-content:space-between}.orbit-points div:last-child{text-align:right}.orbit-points strong{display:block;font-size:10px;letter-spacing:.07em}.orbit-points small{display:block;font-size:8px;color:#8aa6b7;margin-top:5px}.event-stream{min-height:106px;max-height:161px;overflow:auto;scrollbar-width:thin}.event{padding:8px 0;border-bottom:1px solid #30506861;color:#c1dbe8;line-height:1.6;font-size:9px;letter-spacing:.03em}.event:first-of-type{color:#65e4eb}.event-time{font-variant-numeric:tabular-nums;color:#718ca4;display:inline-block;margin-right:7px}.disclaimer{margin-top:0}.scene-intro{position:absolute;z-index:3;top:16%;left:363px;max-width:520px;pointer-events:none;text-shadow:0 5px 21px #0008}.eyebrow{color:#8fe7ff;font-size:10px;letter-spacing:.27em}.scene-intro h1{font-size:clamp(22px,2.7vw,41px);line-height:1.1;letter-spacing:-.03em;max-width:510px;margin:15px 0 11px;font-weight:790}.scene-intro p{font-size:11px;max-width:370px;color:#b5d2e2;line-height:1.7;margin:0}.scene-controls{position:absolute;z-index:5;bottom:139px;left:360px;right:324px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.view-label{font-size:10px;letter-spacing:.16em;color:#b3d1e2;margin-right:auto;background:#0a1b2b94;padding:10px;border-left:2px solid var(--teal)}.mini-glass{padding:10px 12px;background:#051c2ecb;border:1px solid #3d7387;color:#d9eff7;backdrop-filter:blur(8px);font-size:10px}.mini-glass:hover,.mini-glass.selected{color:var(--teal);border-color:var(--teal)}.bottom-hud{z-index:7;position:absolute;bottom:0;left:0;right:0;height:117px;border-top:1px solid #3f7188;background:rgba(4,14,26,.94);display:flex;align-items:center;gap:23px;padding:12px 22px}.bottom-section{flex:0 0 auto}.bottom-section span{display:block;color:#7e9fb6;font-size:9px;letter-spacing:.14em;margin-bottom:8px}.bottom-section strong{font-size:11px;letter-spacing:.07em}.bottom-section.right strong{font-size:19px;font-weight:640;font-variant-numeric:tabular-nums}#telemetry-chart{flex:1;min-width:120px;max-height:90px;width:100%}.hud-corner{z-index:5;position:absolute;width:14px;height:14px;pointer-events:none;top:78px}.hud-corner.top-left{left:0;border-top:1px solid var(--teal);border-left:1px solid var(--teal)}.hud-corner.top-right{right:0;border-top:1px solid var(--teal);border-right:1px solid var(--teal)}.toast{position:absolute;z-index:20;bottom:130px;left:50%;transform:translateX(-50%) translateY(12px);opacity:0;padding:12px 16px;background:rgba(6,30,45,.95);border:1px solid #4dd8e8;color:#e1f8ff;font-size:12px;pointer-events:none;transition:.18s}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}dialog{background:#061b2b;color:#ddecf7;border:1px solid #4b91a5;max-width:520px;width:calc(100% - 30px);padding:24px;box-shadow:0 20px 90px #000b}dialog::backdrop{background:rgba(0,4,9,.82);backdrop-filter:blur(7px)}dialog p{font-size:13px;line-height:1.8;color:#a8c8d7}dialog h2{font-size:23px}dialog .help-top{display:flex;align-items:center;justify-content:space-between;color:var(--teal);letter-spacing:.1em}dialog .close-help{margin-top:10px}.hidden-ui .left-panel,.hidden-ui .right-panel,.hidden-ui .bottom-hud,.hidden-ui .scene-controls,.hidden-ui .scene-intro{display:none}.hidden-ui .vignette{opacity:.35}
@media(max-width:1370px){.brand{min-width:228px}.topbar{gap:10px;padding:0 13px}.nav-btn{padding:0 5px}.nav-btn b{font-size:9px}.left-panel{left:8px;width:292px}.right-panel{right:8px;width:275px}.scene-intro{left:320px}.scene-controls{left:312px;right:290px}}
@media(max-width:1060px){.right-panel{display:none}.scene-intro{left:326px}.scene-controls{right:12px}.navigation{gap:0}.nav-btn b{display:none}.brand{min-width:242px}.bottom-hud{gap:13px}}
@media(max-width:710px){.topbar{height:62px;flex-wrap:wrap;gap:5px}.brand{min-width:0;flex:1}.brand strong{font-size:11px}.brand-eyebrow{font-size:7px}.brand-icon{font-size:29px}.navigation{order:3;flex-basis:100%;background:#051522;padding:0 2px;height:34px;justify-content:space-between}.nav-btn{height:31px;padding:0 8px}.renderer-badge{display:none}.header-actions{margin-left:0}.left-panel{top:108px;bottom:114px;width:min(292px,calc(100% - 24px));transform:translateX(calc(-100% - 13px));transition:transform .23s}.app-shell.controls-open .left-panel{transform:translateX(0)}.scene-intro{left:16px;right:16px;top:20%;max-width:420px}.scene-intro h1{font-size:30px}.scene-controls{left:10px;bottom:108px;right:10px;gap:5px}.mini-glass{padding:7px;font-size:9px}.view-label{flex-basis:100%;font-size:9px;padding:5px}.bottom-hud{height:102px;padding:7px 10px;gap:8px}.bottom-section:first-child{display:none}.bottom-section span{font-size:7px}.bottom-section.right strong{font-size:12px}#telemetry-chart{width:60%;min-width:100px}.panel-title{padding:15px}}
@media(min-width:711px){.app-shell.controls-open .left-panel{transform:none}}

.cargo-row{align-items:center;margin:-4px 0 12px}.cargo-row #cargo-toggle{flex:0 0 48%}.cargo-row #cargo-state{font-size:9px;color:#a6c7d5;flex:1;text-align:right}
