/* Frontier color family from our stored design tokens. Color only: geometry and controls stay intact. */
:root{
 --frontier-crude:#050505;--frontier-neutral:#FAFAE5;--frontier-martian:#FF2800;
 --frontier-surface:#0c0c0c;--frontier-raised:#141414;--frontier-hover:#232323;
 --frontier-muted:#c9c9b9;--frontier-faint:#a6a698;--frontier-line:#5d5d55;--frontier-divider:#393934;
 --frontier-selected:#25110c;--frontier-success:#5dff9a;--frontier-warning:#ffb800;
 --frontier-danger:#ff947d;--frontier-danger-bg:#30120d;--frontier-info:#8bd3df;
 --bg:var(--frontier-crude);--ink:var(--frontier-neutral);--muted:var(--frontier-muted);
 --amber:var(--frontier-martian);--accent:var(--frontier-martian);--cyan:var(--frontier-info);
 --line:var(--frontier-divider);--red:var(--frontier-danger);color-scheme:dark;
}
html,body{background:var(--bg);color:var(--ink)}
body button,body select,body input{color:var(--ink);background-color:var(--frontier-raised);border-color:var(--frontier-line)}
body button:hover:not(:disabled){background-color:var(--frontier-hover);border-color:var(--frontier-neutral)}
body button:disabled{color:var(--frontier-faint);border-color:var(--frontier-divider);background:var(--frontier-surface);opacity:.65}
body button:focus-visible,body a:focus-visible,body select:focus-visible,body input:focus-visible,body summary:focus-visible,.depot-toolbar button:focus-visible,.chain-goal:focus{outline-color:var(--frontier-neutral)}
body kbd{color:var(--frontier-muted);background:#fafae50a;border-color:var(--frontier-divider)}
body .topbar,body.compact-flight .topbar{background:#050505f5;border-color:var(--frontier-divider)}
body .glass{background:linear-gradient(130deg,#0c0c0cf5,#050505ed);border-color:var(--frontier-divider)}
body .overlay,body.compact-flight .overlay{background:linear-gradient(90deg,#050505df,#05050540)}
body .dialog,body dialog,#flightSheet,#saveDialog,.cargo-dialog,.research-dialog{background:var(--frontier-surface);color:var(--ink);border-color:var(--frontier-line)}
body dialog::backdrop,#saveDialog::backdrop{background:#050505c9}
body .depot-window{background:var(--frontier-surface);border-color:var(--frontier-line)}
body .depot-window>.dialog{background:transparent}
body .depot-toolbar,body .sheet-heading,body .modal-nav{background:var(--frontier-raised);border-color:var(--frontier-line)}
body .depot-toolbar-actions,.research-dialog header,.cargo-dialog header{border-color:var(--frontier-divider)}
body #depotNav{background:transparent;border-color:var(--frontier-divider)}
body #depotNav button[aria-pressed=true],body .topbar button[aria-pressed=true],body .workshop-tabs button.active,body .filter-tabs button.active,body .lg-tabs button.active,body .lg-groups button[aria-pressed=true],body .sheet-tabs button[aria-pressed=true],body .cargo-dialog [aria-pressed=true]{background:var(--frontier-selected);color:var(--ink);border-color:var(--frontier-martian);box-shadow:inset 0 -3px var(--frontier-martian)}
body .tool,body.compact-flight .tool{background:#0c0c0cf2;border-color:var(--frontier-line)}
body .tool.active,body.compact-flight .tool.active{background:var(--frontier-selected);color:var(--ink);border-color:var(--frontier-martian);box-shadow:inset 0 -3px var(--frontier-martian)}
body .primary:not(:disabled),body #depotDepart,body .topbar button.ready,body .context-action.ready,body .touch-controls button.held,body.compact-flight .touch-controls button.held{background:var(--frontier-martian);color:var(--frontier-crude);border-color:var(--frontier-martian)}
body .primary:hover:not(:disabled),body #depotDepart:hover,body .topbar button.ready:hover{background:#ff5838;color:var(--frontier-crude);border-color:var(--frontier-neutral)}
body .primary:disabled{box-shadow:none}
body .secondary,body button.hold-title,body .close{background:transparent}
body #sheetReturn,body #flightSheet .sheet-actions button.visual-menu-tile,body #sheetSound,body .sheet-actions [data-fullscreen]{background:var(--frontier-raised);color:var(--ink);border-color:var(--frontier-line)}
body #flightSheet .sheet-actions button.visual-menu-tile:before,body #sheetSound:before{color:var(--frontier-neutral)}
body #sheetReturn:hover,body #flightSheet .sheet-actions button.visual-menu-tile:hover{background:var(--frontier-hover);border-color:var(--frontier-neutral)}
body .sector,body .gauge label,body .hold-title,body .lede,body .intro-loop,body .intro-controls,body .chain-copy strong{color:var(--ink)}
body .sector span,body .sector small,body .sector-label small,body footer,body footer a,body .quiet-link,body .contract p,body .contract-bottom,body .tool small,body .dialog p,body dialog dd,body .depot-actions small,body .upgrades small{color:var(--frontier-muted)}
body .sector-label>span{color:#fafae526}
body .sector i,body .live-dot{box-shadow:none;background:var(--frontier-martian)}
body .notice,#flightGuide,#raidAlert,body .expedition-hints p,body .expedition-hints #projectSummary{background:#0c0c0cf2;color:var(--ink);border-color:var(--frontier-line)}
body .expedition-hints{color:var(--ink)}
body #raidAlert{color:var(--frontier-danger);background:var(--frontier-danger-bg);border-color:var(--frontier-danger)}
body #mobileMessage.danger{color:var(--frontier-danger)!important;background:var(--frontier-danger-bg)!important;border-color:var(--frontier-danger)!important}
body #passiveNav,body.compact-flight #mobileVitals,body.compact-flight #mobileMessage{background:#0c0c0cf2;border-color:var(--frontier-line);color:var(--ink)}
body #passiveLabel,body #mobileVitals>button{color:var(--frontier-muted)}
body #mobileVitals b{color:var(--ink)}
body #mobileVitals .danger,body #mobileVitals .danger b,body #mobileCap.danger{color:var(--frontier-danger)}
body #mobileVitals .warm,body #mobileVitals .warm b{color:var(--frontier-warning)}
body.compact-flight #mobileVitals>button:after{background:linear-gradient(to right,var(--frontier-neutral) var(--level,0%),var(--frontier-divider) var(--level,0%))}
body.compact-flight #mobileVitals .danger:after{background:linear-gradient(to right,var(--frontier-danger) var(--level,0%),var(--frontier-divider) var(--level,0%))}
body.compact-flight #mobileVitals .warm:after{background:linear-gradient(to right,var(--frontier-warning) var(--level,0%),var(--frontier-divider) var(--level,0%))}
body.compact-flight #mobileMessage:before{color:var(--frontier-neutral)}
body.compact-flight .tutorial-target{outline-color:var(--frontier-neutral)}
body .touch-fire,body.compact-flight .touch-fire{background:#25110cf2;color:var(--ink);border-color:var(--frontier-martian)}
body #mobileCap{color:var(--ink)}
body .touch-controls button.held #mobileCap{color:var(--frontier-crude)}
body .joystick{border-color:var(--frontier-line);background:radial-gradient(circle,#232323d9 0 24%,#0c0c0cc9 25% 65%,#fafae522 66% 68%,#050505c9 69%)}
body .joystick-axis:before,body .joystick-axis:after{background:#fafae520}
body .joystick-knob{background:#232323f5;color:var(--ink);border-color:var(--frontier-faint)}
body .joystick.engaged{border-color:var(--frontier-martian);background-color:#25110ce6}
body .joystick.engaged .joystick-knob{background:var(--frontier-martian);color:var(--frontier-crude);border-color:var(--frontier-neutral)}
body .joystick-label{color:var(--frontier-muted)}
body.compact-flight .touch-push button{background:#0c0c0cf2;border-color:var(--frontier-line)}
body.compact-flight .touch-push button.held{background:var(--frontier-martian);color:var(--frontier-crude);border-color:var(--frontier-neutral)}
/* Resource and route hues are information, not branding. Keep their legend accurate. */
body .radar-key{color:#e3ba7a}body .radar-key span:nth-child(2){color:var(--frontier-info)}
body .heat small,body .solar-map-key{color:var(--frontier-muted)!important}
/* Depot, recipes, physical storage and long-game workspaces. */
body .mission-card,body .recipe-card,body .stock-row,body .gather-panel,body .container-detail,body .visual-help,body .mounted-card,body .lg-grid>article,body .lg-manifest{background:var(--frontier-crude);border-color:var(--frontier-divider)}
body .chain-goal{background:var(--frontier-raised);border-color:var(--frontier-line)}
body .visual-flow li,body .visual-costs>div,body .chain-open{background:var(--frontier-raised);border-color:var(--frontier-line);color:var(--frontier-muted)}
body .visual-flow li.current{background:var(--frontier-selected);border-color:var(--frontier-martian);color:var(--ink)}
body .visual-flow i{background:var(--frontier-crude);color:var(--frontier-martian)}
body .visual-help summary,body .visual-help[open]>summary,body .visual-costs b,body .visual-meter b{color:var(--ink);border-color:var(--frontier-divider)}
body .visual-help summary:after{color:var(--frontier-neutral)}
body .visual-cost-caption,body .visual-costs small,body .visual-costs i,body .visual-meter>span,body .chain-demand,body .chain-copy small,body .route-choice,body .gather-row small,body .depot-core small,body .worker-cost small,body .mounted-card small,body .lg-log small,body form[data-lg-form] label{color:var(--frontier-muted)}
body .visual-stock-note,body .allocation-note,body .mission-hint{color:var(--frontier-muted)!important}
body .positive,body .recipe-yield{color:var(--frontier-success)!important}
body .cost-list .enough b,body .visual-costs em,body .technical-cost span,body .research-inline.learned>span,body .evidence-yield,body .project-materials small{color:var(--frontier-success)}
body .cost-list .short b,body .visual-costs .short b,body .visual-costs .short em,body .technical-cost .short,body .module-blocker{color:var(--frontier-warning)}
body .visual-costs .short{border-color:#887448}
body .credit-short,body .craft-reason{color:var(--frontier-warning)!important}
body .chain-numbers span{background:var(--frontier-hover);color:var(--ink)}
body .chain-numbers b,body .chain-numbers .protected{background:#2b2110;color:var(--frontier-warning)}
body .chain-goal .build-state,body .gather-row b,body .chain-action,body .depot-core{color:var(--ink)}
body .chain-open:hover,body .gather-panel button.gather-row:hover{background:var(--frontier-hover);border-color:var(--frontier-neutral)}
body .gather-panel button.gather-row{color:var(--ink);border-color:var(--frontier-divider)}
body .recipe-tree ol,body .chain-node:before,body .container-detail,body .module-blueprints article,body .recovered-hardware article{border-color:var(--frontier-divider)}
body .depot-schematic{background:radial-gradient(ellipse,#232323,#050505 68%);border-color:var(--frontier-line)}
body .depot-slot{background:var(--frontier-surface);color:var(--frontier-muted);border-color:var(--frontier-line)}
body .depot-slot.occupied{color:var(--ink);border-color:var(--frontier-faint)}
body .depot-slot.selected{outline-color:var(--frontier-martian)}
body .container-buttons button[aria-pressed=true],body .stored-items button.selected{background:var(--frontier-selected);border-color:var(--frontier-martian);color:var(--ink)}
body .container-detail .detach-button{color:var(--frontier-muted)}
body .capacity-bar,body .visual-meter progress,body .visual-meter progress::-webkit-progress-bar{background:var(--frontier-divider)}
body .capacity-bar i,body .visual-meter progress::-webkit-progress-value{background:var(--frontier-neutral)}
body .visual-meter progress,body .job-row progress,body .research-evidence progress,body .research-timer,body .cargo-meter progress{accent-color:var(--frontier-neutral)}
body .system-route>div{background:var(--frontier-raised);border-color:var(--frontier-divider)}
body .system-route .current{border-color:var(--frontier-martian);color:var(--ink)}
body .system-route .locked{color:var(--frontier-faint)}
body .ops-summary{background:var(--frontier-raised);border-color:var(--frontier-line)}
body .ops-metrics b,body .ops-summary p,body .job-row p,body .save-slot p{color:var(--frontier-muted)}
body .lg-warning{background:#2b2110;border-color:var(--frontier-warning);color:var(--frontier-warning)}
body form[data-lg-form] select,body form[data-lg-form] input,body .worker-card select,body .worker-destination select,body .research-dialog select,body .cargo-quantity input{background:var(--frontier-raised);color:var(--ink);border-color:var(--frontier-line)}
body #saveMessage{color:var(--ink)}
body .hack-console{background:var(--frontier-crude);border-color:var(--frontier-line)}
body .hack-tile{background:var(--frontier-raised);border-color:var(--frontier-line);color:var(--frontier-faint)}
body .hack-tile span{background:#050505e6;color:var(--frontier-muted)}
body .hack-tile.powered{background:#10271a;color:var(--frontier-success);border-color:var(--frontier-success)}
body .hack-tile.danger-node.powered{background:var(--frontier-danger-bg);color:var(--frontier-danger);border-color:var(--frontier-danger)}
/* Native research/cargo dialogs use the same neutral surfaces, not a separate teal theme. */
body .research-inline,body .research-goal,body .analysis-panel,body .cargo-selection,body .cargo-confirm,body .cargo-pod,body .cargo-recover-row{border-color:var(--frontier-divider)}
body .research-inline>span,body .research-evidence b,body .analysis-preview b,body .research-feedback,body .dataset-yield,body .cargo-feedback,body .cargo-meter span{color:var(--ink)}
body .research-dialog label,body .technical-cost>span:first-child,body .research-goal>span,body .research-reason,body .research-goal>small,body .cargo-dialog small,body .cargo-recover-row b,body .cargo-empty{color:var(--frontier-muted)}
body .cargo-check input,body .research-all input{accent-color:var(--frontier-martian)}
body .hold-title:after{color:var(--frontier-neutral)}
@media(forced-colors:active){
 body button:focus-visible,body a:focus-visible,body select:focus-visible,body input:focus-visible{outline-color:Highlight}
 body #depotNav button[aria-pressed=true],body button.active,body button[aria-pressed=true]{border-color:Highlight;outline:2px solid Highlight;outline-offset:-2px}
 body [data-glyph]::before{background:ButtonText;forced-color-adjust:none}
}

/* Normal propellant quantity is neutral; red remains an action accent, not an implied fuel alarm. */
body .gauge.fuel i{background:var(--frontier-neutral)}
