:root{color-scheme:dark;--ink:#071923;--panel:#0b202c;--line:#2a424c;--muted:#7f969d;--text:#e6efed;--sea:#0b2936;--amber:#f2b95e;--red:#ed7868;--mint:#8de0c2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html{min-height:100%;background:#06131a}body{margin:0;min-height:100vh;color:var(--text);background:radial-gradient(ellipse at 35% 16%,#173440 0,#0b202a 42%,#06131a 100%)}.app-shell{width:min(1580px,calc(100% - 48px));margin:0 auto;padding:16px 0 12px}.topbar{height:54px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #aec5c322}.brand{display:flex;align-items:center;gap:11px;color:var(--text);text-decoration:none}.brand-symbol{position:relative;display:grid;width:37px;height:37px;place-items:center;border:1px solid #8aa2a4;color:#d5e7e4;font:13px Georgia,serif;letter-spacing:-.1em}.brand-symbol i{position:absolute;right:4px;top:5px;width:4px;height:4px;border-radius:50%;background:var(--amber);box-shadow:0 0 8px var(--amber)}.brand strong,.brand small{display:block;letter-spacing:.17em}.brand strong{font-size:10px}.brand small{margin-top:4px;color:#94a9ac;font-size:7px;letter-spacing:.23em}.weather-strip{display:flex;align-items:center;gap:12px;color:#9cb0b2;font-size:8px;letter-spacing:.14em}.weather-strip i{width:1px;height:14px;background:#3b5259}.live-pip,.chart-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--red);box-shadow:0 0 9px #ef7868}.sound-toggle{display:flex;align-items:center;gap:7px;border:1px solid #3a5159;background:#0d232f;color:#c6d7d6;padding:7px 9px;font-size:7px;letter-spacing:.14em;cursor:pointer}.sound-glyph{color:var(--amber);font-size:13px}.masthead{display:flex;justify-content:space-between;align-items:end;padding:22px 0 16px}.eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 8px;color:#a6b7b7;font-size:8px;letter-spacing:.21em}.eyebrow>span{width:18px;height:1px;background:var(--amber)}h1{margin:0;color:#f0f4ef;font-size:36px;font-weight:500;line-height:1;letter-spacing:-.05em}h1 em,h2 em{color:#a9c0bd;font-family:Georgia,serif;font-weight:400}.subtitle{margin:8px 0 0;color:#779096;font-size:7px;letter-spacing:.21em}.masthead-right{display:flex;flex-direction:column;align-items:end;gap:8px}.alert-badge{padding:7px 10px;border:1px solid #6d4846;background:#261e20;color:#f19a84;font-size:8px;letter-spacing:.12em}.alert-badge span{margin-right:5px;color:#ef7463}.masthead-right small{color:#83979a;font-size:7px;letter-spacing:.16em}.masthead-right small b{color:#dce7e4;margin-left:5px}.mission-grid{display:grid;grid-template-columns:minmax(0,1fr) 318px;gap:16px;align-items:stretch}.chart-frame{min-width:0;display:flex;flex-direction:column;border:1px solid #38505a;background:#091c27}.chart-topline{height:34px;flex:0 0 34px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;border-bottom:1px solid #2c434d;color:#a2b4b4;font-size:7px;letter-spacing:.15em}.chart-topline .chart-dot{margin-right:7px;width:5px;height:5px;border-radius:0;background:var(--amber);box-shadow:0 0 7px var(--amber)}.chart-topline span:last-child{display:flex;align-items:center;gap:9px}.chart-topline b{color:#d9e4df}.chart-topline i{height:12px;width:1px;background:#3c5259}.chart-stage{position:relative;min-height:450px;flex:1;overflow:hidden;background:#0b2733}#sea{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:none}.view-vignette{position:absolute;inset:0;box-shadow:inset 0 0 75px #06141c99;pointer-events:none}.chart-coordinates{position:absolute;top:13px;left:14px;display:flex;gap:16px;color:#aac0bd;font:8px ui-monospace,monospace;letter-spacing:.06em;text-shadow:0 1px 3px #051319}.heading-readout{position:absolute;top:12px;right:14px;display:flex;align-items:center;gap:8px;padding:6px 8px;background:#06161dc7;border:1px solid #91aaa427}.heading-arrow{display:grid;width:24px;height:24px;place-items:center;border:1px solid #e6bd6a73;border-radius:50%;color:var(--amber);font-size:16px}.heading-readout small,.heading-readout b{display:block}.heading-readout small{color:#819b9c;font-size:6px;letter-spacing:.12em}.heading-readout b{margin-top:3px;color:#e8ece4;font:10px ui-monospace,monospace}.chart-callout{position:absolute;top:51px;left:14px;display:flex;max-width:68%;align-items:center;gap:8px;padding:8px 10px;background:#07191fc4;border-left:2px solid #e0aa55;box-shadow:0 4px 18px #05141a42}.callout-led{width:5px;height:5px;flex:none;border-radius:50%;background:var(--amber);box-shadow:0 0 7px var(--amber)}.chart-callout>b{color:var(--amber);font-size:7px;letter-spacing:.16em}.chart-callout>span:last-child{color:#cad5cf;font-size:9px;line-height:1.35}.interaction-panel{position:absolute;bottom:58px;left:50%;width:min(310px,75%);transform:translateX(-50%);padding:10px 12px;border:1px solid #aabdbd47;background:#06161ddd;box-shadow:0 8px 24px #030a0e88}.interaction-panel[hidden]{display:none}.interaction-title{display:flex;align-items:center;gap:8px;color:#dfebe5;font-size:8px;letter-spacing:.11em}.interaction-title>span{color:var(--amber);font-size:13px}.interaction-title b{flex:1}.interaction-title strong{color:var(--amber);font:10px ui-monospace,monospace}.interaction-track{height:3px;margin-top:8px;background:#30444a}.interaction-track i{display:block;width:0;height:100%;background:linear-gradient(90deg,#d69550,#ffd485);box-shadow:0 0 7px #e4ad60;transition:width .08s linear}.sonar-status{position:absolute;right:13px;bottom:14px;display:flex;align-items:center;gap:7px;padding:6px 8px;border:1px solid #d4e4df2b;background:#07181ebd;color:#a8bcba;font-size:7px;letter-spacing:.13em}.sonar-pip{width:5px;height:5px;border-radius:50%;background:var(--mint);box-shadow:0 0 7px var(--mint)}.sonar-status.cooldown .sonar-pip{background:#71888b;box-shadow:none}.briefing-overlay{position:absolute;z-index:4;inset:0;display:grid;align-items:center;justify-items:start;padding:20px;background:linear-gradient(90deg,#06151de0 0%,#07171bb8 38%,#07171b20 80%);transition:opacity .35s,visibility .35s}.briefing-overlay.hidden{visibility:hidden;opacity:0;pointer-events:none}.briefing-card{width:min(410px,61%);padding:23px 24px 20px;border:1px solid #a8bfbd3b;background:#07171fe8;box-shadow:0 15px 50px #02080ca6}.briefing-card h2,.end-card h2{margin:8px 0 13px;color:#f1f3ed;font-size:44px;font-weight:600;line-height:.94;letter-spacing:-.065em}.briefing-copy{margin:0 0 15px;color:#b3c2bf;font-size:11px;line-height:1.62}.briefing-facts{display:flex;justify-content:space-between;gap:6px;padding:11px 0;border-top:1px solid #38505a;color:#93a8a8;font-size:6px;letter-spacing:.11em}.briefing-facts b{margin-right:4px;color:var(--amber);font-size:9px}.dispatch-button{width:100%;height:43px;border:0;background:#c89351;color:#101a1e;text-align:left;padding:0 13px;font-size:9px;font-weight:800;letter-spacing:.16em;cursor:pointer;transition:background .15s,transform .15s}.dispatch-button:hover{transform:translateY(-1px);background:#e3b76e}.dispatch-button span{float:right;font-size:17px;line-height:1}.briefing-card>small{display:block;margin-top:11px;color:#91a4a3;font-size:6px;letter-spacing:.1em;line-height:1.45;text-align:center}.chart-footer{height:31px;flex:0 0 31px;display:flex;align-items:center;justify-content:space-around;gap:5px;padding:0 8px;border-top:1px solid #2c424b;color:#91a4a3;font-size:6px;letter-spacing:.11em}.chart-footer kbd{display:inline-grid;min-width:15px;height:15px;place-items:center;margin-right:2px;border:1px solid #53676c;background:#122934;color:#e1e9e4;font:inherit;font-size:7px}.chart-footer b{color:var(--amber)}.ops-panel{display:flex;min-height:570px;flex-direction:column;border:1px solid #304852;background:#0b1d28}.ops-section{padding:13px 14px;border-bottom:1px solid #29404a}.ops-heading{display:flex;align-items:center;justify-content:space-between;color:#c2cfcb;font-size:7px;letter-spacing:.16em}.ops-heading b{color:#82989a;font-size:7px}.mission-state{display:flex;align-items:center;gap:8px;margin:15px 0 11px}.status-beacon{width:7px;height:7px;border-radius:50%;background:#b98851;box-shadow:0 0 8px #b98851}.status-beacon.live{background:var(--mint);box-shadow:0 0 8px var(--mint)}.mission-state strong{color:#e0e8e1;font-size:9px;letter-spacing:.12em}.main-clock{display:flex;align-items:baseline;gap:7px;padding:10px 0 12px;border-top:1px solid #253b44;border-bottom:1px solid #253b44}.main-clock span{flex:1;color:#809697;font-size:7px;letter-spacing:.13em}.main-clock strong{color:var(--amber);font:23px ui-monospace,monospace;letter-spacing:.06em}.main-clock small{color:#839596;font-size:6px;letter-spacing:.1em}.gauges{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding-top:12px}.gauge-heading{display:flex;justify-content:space-between;color:#819596;font-size:6px;letter-spacing:.09em}.gauge-heading b{color:#dce7e1;font-size:7px}.gauge-track{height:4px;margin-top:6px;background:#263e46}.gauge-track i{display:block;width:100%;height:100%;transition:width .2s}.hull-fill{background:linear-gradient(90deg,#65c5a5,#9ce2c2)}.fuel-fill{background:linear-gradient(90deg,#c58a4d,#f2c66f)}.gauge-track i.low{background:linear-gradient(90deg,#c9514b,#fa8c72)}.speed-row{display:flex;align-items:center;justify-content:space-between;padding-top:11px}.speed-row small,.throttle-meter span{display:block;color:#7f9495;font-size:6px;letter-spacing:.12em}.speed-row>div:first-child>b{display:block;margin-top:2px;color:#f0f1e8;font:20px ui-monospace,monospace}.speed-row>div:first-child>b i{color:#93a8a5;font:8px ui-sans-serif,system-ui}.throttle-meter{text-align:right}.throttle-meter b{display:block;margin-top:4px;color:#e4b56a;font-size:8px;letter-spacing:.13em}.radar-wrap{position:relative;margin:11px 0 8px;border:1px solid #35515a;background:#08222d}.radar-wrap canvas{display:block;width:100%;height:138px}.radar-label{position:absolute;top:5px;left:50%;color:#b7c6be;font:7px ui-monospace,monospace}.bearing-row{display:flex;align-items:center;gap:9px;padding:8px 0;border-top:1px solid #233b44}.bearing-pointer{display:grid;width:25px;height:25px;place-items:center;border:1px solid #6b5b3e;color:var(--amber);font-size:16px;transition:transform .15s}.bearing-row>div{flex:1}.bearing-row small,.bearing-row b{display:block}.bearing-row small{color:#7f9595;font-size:6px;letter-spacing:.11em}.bearing-row b{margin-top:3px;color:#e3ebe5;font:10px ui-monospace,monospace}.bearing-degrees{color:var(--amber);font:9px ui-monospace,monospace}.nav-hint{color:#8ea2a1;font-size:7px;line-height:1.45}.crew-list{margin:10px 0 0;padding:0;list-style:none}.crew-list li{display:flex;align-items:center;gap:8px;min-height:36px;border-top:1px solid #1e343e}.crew-index{display:grid;width:20px;height:20px;place-items:center;border:1px solid #485e63;color:#94a7a4;font-size:7px}.crew-info{flex:1}.crew-info b,.crew-info small{display:block}.crew-info b{color:#dce6df;font-size:7px;letter-spacing:.08em}.crew-info small{margin-top:3px;color:#788e91;font-size:6px;letter-spacing:.12em}.crew-status{color:#c09b60;font-size:6px;font-style:normal;letter-spacing:.1em}.crew-list li.rescued .crew-index{border-color:#74c6a5;background:#16372f;color:#a9e5cd}.crew-list li.rescued .crew-status{color:var(--mint)}.crew-list li.next .crew-index{border-color:var(--amber);color:var(--amber)}.cargo-note{display:flex;gap:8px;margin-top:8px;padding:8px;border-left:2px solid #bd8c4d;background:#141f22;color:#9eafaa;font-size:7px;line-height:1.42}.cargo-note>span:first-child{color:var(--amber)}.radio-log{margin-top:auto;padding:12px 14px;background:#0a1a23}.radio-log p{margin:10px 0 8px;color:#a8b8b4;font:italic 9px/1.55 Georgia,serif}.radio-footer{display:flex;align-items:center;justify-content:space-between;color:#718889;font-size:6px;letter-spacing:.14em}.radio-wave{color:#82c5b1;letter-spacing:.23em}.page-footer{display:flex;justify-content:space-between;padding:14px 2px 0;color:#73898b;font-size:6px;letter-spacing:.14em}.end-overlay{position:fixed;z-index:10;inset:0;display:grid;place-items:center;background:#041016c9;backdrop-filter:blur(5px);opacity:0;pointer-events:none;transition:opacity .3s}.end-overlay.visible{opacity:1;pointer-events:auto}.end-card{width:min(420px,calc(100vw - 32px));padding:28px;border:1px solid #647873;background:#0a1b24;box-shadow:0 25px 90px #000b}.end-card h2{font-size:47px}.end-card p:not(.eyebrow){color:#b2c1bc;font-size:11px;line-height:1.6}.end-stats{display:flex;gap:16px;margin:15px 0;padding:12px 0;border-top:1px solid #31474d;border-bottom:1px solid #31474d;color:#91a5a2;font-size:7px;letter-spacing:.1em}.end-stats b{color:var(--amber);font-size:10px}.touch-pilot{display:none}
@media(max-width:1080px){.app-shell{width:calc(100% - 28px)}.mission-grid{grid-template-columns:minmax(0,1fr) 290px;gap:11px}.ops-section{padding:12px}.chart-stage{min-height:430px}.briefing-card{width:65%;padding:18px}.briefing-card h2{font-size:38px}.chart-footer{font-size:5px}.weather-strip{gap:8px}}
@media(max-width:760px){.app-shell{width:calc(100% - 16px);padding-top:8px}.topbar{height:46px}.weather-strip{font-size:6px;gap:6px}.weather-strip span:nth-last-child(1),.weather-strip i:nth-last-child(1){display:none}.sound-toggle{padding:6px}.masthead{padding:14px 0 11px}.masthead h1{font-size:29px}.masthead-right small{font-size:6px}.mission-grid{grid-template-columns:1fr}.chart-frame{min-height:0}.chart-stage{height:min(62vh,570px);min-height:390px}.ops-panel{display:grid;min-height:0;grid-template-columns:1fr 1fr}.nav-section{grid-row:span 2}.radio-log{grid-column:1/-1}.radar-wrap canvas{height:118px}.briefing-overlay{padding:11px;background:linear-gradient(90deg,#06151de5 0%,#07171bc9 55%,#07171b62 100%)}.briefing-card{width:min(390px,73%);padding:16px}.briefing-card h2{font-size:34px}.briefing-copy{font-size:9px}.briefing-facts{font-size:5px}.briefing-card>small{font-size:5px}.dispatch-button{height:38px;font-size:8px}.chart-callout{top:48px;max-width:75%}.chart-callout>span:last-child{font-size:8px}.chart-footer{height:28px;flex-basis:28px}.page-footer{font-size:5px;gap:6px}.page-footer span:nth-child(2){display:none}.touch-pilot{position:absolute;z-index:3;right:10px;bottom:48px;left:10px;display:flex;align-items:end;justify-content:space-between;pointer-events:none}.touch-wheel{display:grid;width:116px;height:104px;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:4px;pointer-events:auto}.touch-wheel button,.touch-actions button{border:1px solid #d3e3dd55;background:#061a21d9;color:#e3ede7;box-shadow:0 3px 12px #01060977;touch-action:none}.touch-wheel button{font-size:14px}.touch-wheel button[data-drive="forward"]{grid-column:2;grid-row:1;color:var(--amber)}.touch-wheel button[data-drive="left"]{grid-column:1;grid-row:2}.touch-wheel button[data-drive="reverse"]{grid-column:2;grid-row:2}.touch-wheel button[data-drive="right"]{grid-column:3;grid-row:2}.touch-actions{display:flex;gap:5px;pointer-events:auto}.touch-actions button{min-width:53px;height:44px;font-size:6px;letter-spacing:.06em}.touch-actions #touch-recover{height:54px;color:var(--amber)}.touch-actions button:active,.touch-wheel button:active{background:#9e6b3c}.chart-footer span:nth-child(4){display:none}}
@media(max-width:430px){.weather-strip span:nth-child(1),.weather-strip i:nth-child(1){display:none}.masthead-right{max-width:120px}.alert-badge{font-size:6px}.chart-stage{height:55vh;min-height:360px}.briefing-card{width:77%;padding:13px}.briefing-card h2{font-size:30px;margin:5px 0 9px}.briefing-copy{margin-bottom:9px;font-size:8px}.briefing-facts{padding:8px 0}.briefing-facts span:last-child{display:none}.briefing-card>small{font-size:4.5px}.chart-coordinates{font-size:6px}.chart-footer{justify-content:space-between}.chart-footer span:nth-child(3){display:none}.ops-panel{grid-template-columns:1fr}.nav-section{grid-row:auto}.radio-log{grid-column:auto}.radar-wrap canvas{height:105px}.touch-wheel{width:99px;height:92px}.touch-actions button{min-width:46px}.status-section .gauges{gap:7px}.page-footer span:last-child{display:none}}
