/* The synthetic scenario lab shares the terminal theme without changing model outputs. */
body[data-theme="terminal"] #demo-workspace {
  --paper: var(--tv-surface);
  --ink: var(--tv-text);
  --muted: var(--tv-muted);
  --line: var(--tv-line);
  --teal: var(--tv-positive);
  --coral: var(--tv-negative);
  --radius: 8px;
  color: var(--tv-text);
  color-scheme: dark;
}

body[data-theme="terminal"] .rail {
  background: var(--tv-surface);
  border-color: var(--tv-line);
}
body[data-theme="terminal"] .rail-button { color: var(--tv-muted); border-radius: 6px; }
body[data-theme="terminal"] .rail-button:hover { background: var(--tv-hover); color: var(--tv-strong); }
body[data-theme="terminal"] .rail-button.active { background: #2962ff20; color: #90b2ff; }
body[data-theme="terminal"] .rail-line { background: var(--tv-line); }

body[data-theme="terminal"] #demo-workspace :is(.panel, .metric-card, .query-card, .rg-panel) {
  background: var(--tv-surface);
  border-color: var(--tv-line);
  border-radius: 8px;
  box-shadow: none;
}
body[data-theme="terminal"] #demo-workspace :is(h1, h2, h3, .metric-number, .portfolio-value strong) { color: var(--tv-strong); }
body[data-theme="terminal"] #demo-workspace :is(.breadcrumb, .breadcrumb span, .page-heading p, .session-status small, .query-field label, .query-foot > span, .step, .section-heading > i, .scenario-title p, .field-label, .range-labels, .portfolio-value span, .weights-heading, .weight-row-top > span:last-child, .reset-button, .mini-note, .side-note, .side-note p, .metric-label, .metric-label .icon, .metric-sub, .factor-chart-title p, .factor-chart-title > div > span, .graph-legend > span, .factor-name small, .factor-value small, .chart-footnote, .asset-cell small, .page-footer) {
  color: var(--tv-muted);
}
body[data-theme="terminal"] #demo-workspace :is(.title-dot, .weights-heading span:last-child, .session-status) { color: var(--tv-positive); }
body[data-theme="terminal"] #demo-workspace :is(.weight-name, .factor-name, .factor-value, .asset-cell strong, .analysis-context h2) { color: var(--tv-text); }
body[data-theme="terminal"] #demo-workspace .analysis-context p { color: var(--tv-muted); }
body[data-theme="terminal"] #demo-workspace .query-card { padding: 14px 16px; }
body[data-theme="terminal"] #demo-workspace .query-card:focus-within { border-color: var(--tv-accent); box-shadow: 0 0 0 2px #2962ff22; }
body[data-theme="terminal"] #demo-workspace .query-icon { background: #2962ff20; color: #90b2ff; border-radius: 6px; }
body[data-theme="terminal"] #demo-workspace .query-field input { color: var(--tv-strong); }
body[data-theme="terminal"] #demo-workspace :is(select, .weight-input, .rg-number input) {
  color: var(--tv-text);
  background: var(--tv-bg);
  border-color: var(--tv-line);
  border-radius: 6px;
}
body[data-theme="terminal"] #demo-workspace option { color: var(--tv-text); background: var(--tv-surface); }
body[data-theme="terminal"] #demo-workspace input[type="range"] { accent-color: var(--tv-accent); }
body[data-theme="terminal"] #demo-workspace .field-top strong { color: #90b2ff; }
body[data-theme="terminal"] #demo-workspace :is(.button, .scenario-chip) {
  color: var(--tv-text);
  background: var(--tv-panel);
  border-color: var(--tv-line);
  border-radius: 6px;
}
body[data-theme="terminal"] #demo-workspace :is(.button, .scenario-chip):hover { color: var(--tv-strong); background: var(--tv-hover); }
body[data-theme="terminal"] #demo-workspace .button.primary { color: #fff; background: var(--tv-accent); border-color: var(--tv-accent); }
body[data-theme="terminal"] #demo-workspace .button.primary:hover { background: #3d72ff; }
body[data-theme="terminal"] #demo-workspace .scenario-chip.active { color: #90b2ff; background: #2962ff20; border-color: #2962ff66; }
body[data-theme="terminal"] #demo-workspace .segmented { background: var(--tv-bg); border: 1px solid var(--tv-line); }
body[data-theme="terminal"] #demo-workspace .segmented button { color: var(--tv-muted); }
body[data-theme="terminal"] #demo-workspace .segmented button.active { color: var(--tv-strong); background: var(--tv-hover); box-shadow: none; }
body[data-theme="terminal"] #demo-workspace .weight-track { background: var(--tv-line); }
body[data-theme="terminal"] #demo-workspace .text-button { color: var(--tv-muted); }
body[data-theme="terminal"] #demo-workspace :is(.text-button, .reset-button):hover { color: #90b2ff; }
body[data-theme="terminal"] #demo-workspace .small-badge { color: #6ad2c5; background: #26a69a18; }
body[data-theme="terminal"] #demo-workspace .small-badge.neutral { color: var(--tv-muted); background: var(--tv-panel); }
body[data-theme="terminal"] #demo-workspace :is(.assumption-note, .query-message, .limitation-box, .audit-verdict) { color: #ddb783; background: #ffb74d0c; border-color: #ffb74d55; border-radius: 6px; }
body[data-theme="terminal"] #demo-workspace :is(.negative, .rg-loss) { color: var(--tv-negative) !important; }
body[data-theme="terminal"] #demo-workspace :is(.positive, .rg-gain) { color: var(--tv-positive) !important; }

/* Factor charts, holdings and reallocation retain distinct positive/negative encodings. */
body[data-theme="terminal"] #demo-workspace .factor-tabs button { color: var(--tv-muted); }
body[data-theme="terminal"] #demo-workspace .factor-tabs button.active { color: #90b2ff; border-color: var(--tv-accent); }
body[data-theme="terminal"] #demo-workspace :is(.factor-row:hover, .factor-row.selected, .holding-row:hover, .holding-row.selected) { background: var(--tv-hover); }
body[data-theme="terminal"] #demo-workspace .factor-bars { background: repeating-linear-gradient(to right, transparent 0, transparent calc(25% - 1px), var(--tv-line) calc(25% - 1px), var(--tv-line) 25%); }
body[data-theme="terminal"] #demo-workspace .factor-axis { border-color: #525765; }
body[data-theme="terminal"] #demo-workspace :is(.factor-bar.benchmark, .legend-square.benchmark) { background: #68748a; }
body[data-theme="terminal"] #demo-workspace :is(th, tfoot td) { color: var(--tv-text); background: var(--tv-panel); border-color: var(--tv-line); }
body[data-theme="terminal"] #demo-workspace td { color: var(--tv-text); border-color: var(--tv-line); }
body[data-theme="terminal"] #demo-workspace :is(.chart-footnote, .audit-row, .comparison-delta, .takeaway-footer) { border-color: var(--tv-line); }
body[data-theme="terminal"] #demo-workspace :is(.shock-driver, .shock-driver.input, .comparison-card, .comparison-card:last-child) { background: var(--tv-panel); border-color: var(--tv-line); border-radius: 6px; }
body[data-theme="terminal"] #demo-workspace .shock-driver.input { border-color: #2962ff66; }
body[data-theme="terminal"] #demo-workspace :is(.shock-driver > span, .shock-driver > small, .shock-note, .whatif-description, .comparison-label, .comparison-card > small, .comparison-card > div, .comparison-delta, .comparison-weights, .comparison-note) { color: var(--tv-muted); }
body[data-theme="terminal"] #demo-workspace :is(.shock-driver > strong, .comparison-card > div > b, .comparison-weights b) { color: var(--tv-text); }
body[data-theme="terminal"] #demo-workspace .shock-driver.input > strong { color: #90b2ff; }
body[data-theme="terminal"] #demo-workspace :is(.evidence-kicker, .evidence-body, .evidence-reference, .evidence-record p, .evidence-record-top, .assumption-list li, .audit-method) { color: var(--tv-muted); }
body[data-theme="terminal"] #demo-workspace :is(.evidence-title, .evidence-section-title, .evidence-record strong, .audit-row) { color: var(--tv-text); }
body[data-theme="terminal"] #demo-workspace .evidence-tag { color: var(--tv-warning); background: #ffb74d0c; border-color: #ffb74d40; }
body[data-theme="terminal"] #demo-workspace .evidence-record { background: var(--tv-bg); border-color: var(--tv-line); border-radius: 6px; }
body[data-theme="terminal"] #demo-workspace :is(.evidence-record-top > span:first-child, .evidence-section-title .icon, .audit-pass) { color: #6ad2c5; }
body[data-theme="terminal"] #demo-workspace :is(.evidence-record .record-status, .audit-missing, .audit-verdict > strong) { color: var(--tv-warning); }
body[data-theme="terminal"] #demo-workspace .audit-verdict > p { color: #c9b594; }
body[data-theme="terminal"] #demo-workspace .assumption-list li::before { background: var(--tv-muted); }
body[data-theme="terminal"] #demo-workspace .takeaway-panel { background: #172525; border-color: #26a69a44; }
body[data-theme="terminal"] #demo-workspace :is(.takeaway-panel .section-heading, .takeaway-panel .section-heading .icon) { color: #6ad2c5; }
body[data-theme="terminal"] #demo-workspace .takeaway-panel p { color: var(--tv-text); }
body[data-theme="terminal"] #demo-workspace .takeaway-footer { color: var(--tv-muted); }

/* Network shell. SVG-specific rules below preserve stage/selection animation. */
body[data-theme="terminal"] #demo-workspace .impact-panel {
  --network-bg: var(--tv-bg);
  --network-surface: var(--tv-surface);
  --network-border: var(--tv-line);
  --network-text: var(--tv-text);
  --network-muted: var(--tv-muted);
  --network-teal: var(--tv-positive);
  --network-coral: var(--tv-negative);
}
body[data-theme="terminal"] #demo-workspace :is(.impact-panel .graph-header, .network-toolbar, .network-regime-context, .network-timeline, .network-stages, .impact-panel .graph-footer, .impact-panel .graph-subhead, .network-motion-note, .impact-panel .trace-view, .network-inspector-heading) {
  color: var(--tv-text);
  background: var(--tv-surface);
  border-color: var(--tv-line);
}
body[data-theme="terminal"] #demo-workspace :is(.network-heading p, .network-eyebrow, .network-count, .network-view-control, .network-overview, .network-motion-note, .network-regime-context > span, .network-regime-context small, .impact-panel .graph-subhead, .impact-panel .graph-subhead > span:first-child, .network-timeline > label, .graph-controls, #network-count, #network-pnl) { color: var(--tv-muted); }
body[data-theme="terminal"] #demo-workspace :is(.network-heading h2, #network-stage, #network-portfolio-label, #network-return, .network-inspector-heading h3) { color: var(--tv-strong); }
body[data-theme="terminal"] #demo-workspace :is(.network-heading-dot, .network-regime-context strong, #network-progress) { color: #6ad2c5; }
body[data-theme="terminal"] #demo-workspace .network-regime-context a { color: #90b2ff; }
body[data-theme="terminal"] #demo-workspace .network-motion-note > span:last-child { color: #c8ad88; }
body[data-theme="terminal"] #demo-workspace .network-divider { background: var(--tv-line); }
body[data-theme="terminal"] #demo-workspace .network-live-dot { background: var(--tv-positive); box-shadow: 0 0 0 3px #26a69a20; }
body[data-theme="terminal"] #demo-workspace .impact-panel .graph-tabs { border-color: var(--tv-line); background: var(--tv-bg); border-radius: 6px; }
body[data-theme="terminal"] #demo-workspace .impact-panel .graph-tabs button { color: var(--tv-muted); }
body[data-theme="terminal"] #demo-workspace .impact-panel .graph-tabs button:hover { color: var(--tv-strong); background: var(--tv-hover); }
body[data-theme="terminal"] #demo-workspace .impact-panel .graph-tabs button.active { color: #90b2ff; background: #2962ff20; }
body[data-theme="terminal"] #demo-workspace :is(.network-icon-button, #network-expand, #network-focus-clear, .impact-panel .graph-controls button, .network-inspector-heading button) { color: var(--tv-text); background: var(--tv-panel); border-color: var(--tv-line); border-radius: 6px; }
body[data-theme="terminal"] #demo-workspace :is(.network-icon-button:hover, #network-expand:hover, #network-focus-clear:hover, .impact-panel .graph-controls button:hover, .network-inspector-heading button:hover) { color: var(--tv-strong); background: var(--tv-hover); border-color: #525765; }
body[data-theme="terminal"] #demo-workspace #network-expand[aria-expanded="true"] { color: #90b2ff; background: #2962ff20; border-color: #2962ff66; }
body[data-theme="terminal"] #demo-workspace .network-play { color: #fff; background: var(--tv-accent); border-color: var(--tv-accent); border-radius: 6px; }
body[data-theme="terminal"] #demo-workspace .network-play:hover { background: #3d72ff; border-color: #3d72ff; }
body[data-theme="terminal"] #demo-workspace #network-portfolio { color: var(--tv-text); background: var(--tv-bg); border-color: var(--tv-line); border-radius: 6px; }
body[data-theme="terminal"] #demo-workspace #network-portfolio option { color: var(--tv-text); background: var(--tv-bg); }
body[data-theme="terminal"] #demo-workspace #graph-viewport {
  background-color: var(--tv-bg);
  background-image: radial-gradient(circle at 1px 1px, #9598a124 .8px, transparent .9px);
  scrollbar-color: #525765 var(--tv-bg);
}
body[data-theme="terminal"] #demo-workspace #graph-viewport::-webkit-scrollbar-track,
body[data-theme="terminal"] #demo-workspace #graph-viewport::-webkit-scrollbar-corner { background: var(--tv-bg); }
body[data-theme="terminal"] #demo-workspace #graph-viewport::-webkit-scrollbar-thumb { background: #525765; border-color: var(--tv-bg); }
body[data-theme="terminal"] #demo-workspace #graph-viewport::before { color: var(--tv-muted); background: var(--tv-surface); border-color: var(--tv-line); }
body[data-theme="terminal"] #demo-workspace .network-stages [data-stage] { color: var(--tv-muted); }
body[data-theme="terminal"] #demo-workspace .network-stages [data-stage]::before { background: #525765; }
body[data-theme="terminal"] #demo-workspace .network-stages [data-stage].complete { color: #6ad2c5; }
body[data-theme="terminal"] #demo-workspace .network-stages [data-stage].complete::before { background: var(--tv-positive); }
body[data-theme="terminal"] #demo-workspace .network-stages [data-stage].active { color: #90b2ff; background: #2962ff20; }
body[data-theme="terminal"] #demo-workspace .network-stages [data-stage].active::before { background: var(--tv-accent); box-shadow: 0 0 0 3px #2962ff22; }
body[data-theme="terminal"] #demo-workspace .network-stages button[data-stage]:hover { color: var(--tv-strong); background: var(--tv-hover); }
body[data-theme="terminal"] #demo-workspace .trace-number { color: #90b2ff; background: #2962ff20; }
body[data-theme="terminal"] #demo-workspace .trace-item:not(:last-child)::before { background: var(--tv-line); }
body[data-theme="terminal"] #demo-workspace .trace-item h3 { color: var(--tv-strong); }
body[data-theme="terminal"] #demo-workspace .trace-item p { color: var(--tv-muted); }
body[data-theme="terminal"] #demo-workspace .network-inspector { color: var(--tv-text); background: var(--tv-surface); border-color: #525765; border-radius: 8px; box-shadow: 0 12px 32px #0006; scrollbar-color: #525765 var(--tv-surface); }
body[data-theme="terminal"] #demo-workspace .network-inspector a { color: #90b2ff; }
body[data-theme="terminal"] #demo-workspace .network-inspector :is(.evidence-reference, .audit-row) { border-color: var(--tv-line); }

/* Only remap neutral SVG paints. Keep semantic node/edge colors and frame opacity. */
body[data-theme="terminal"] #demo-workspace .impact-background { fill: var(--tv-bg); rx: 6px; }
body[data-theme="terminal"] #demo-workspace :is(.impact-lane-label, .impact-scene-caption) { fill: var(--tv-muted); }
body[data-theme="terminal"] #demo-workspace #causal-graph > path[stroke="#263747"] { stroke: var(--tv-line); }
body[data-theme="terminal"] #demo-workspace #causal-graph text[fill="#7893a5"],
body[data-theme="terminal"] #demo-workspace .impact-node text[fill="#8ea6b5"] { fill: var(--tv-muted); }
body[data-theme="terminal"] #demo-workspace .impact-node text[fill="#e1eaf0"],
body[data-theme="terminal"] #demo-workspace .impact-node text[fill="#dde9ef"] { fill: var(--tv-strong); }
body[data-theme="terminal"] #demo-workspace .impact-node-card { rx: 6px; }
body[data-theme="terminal"] #demo-workspace .impact-node-card[fill="#14222d"] { fill: var(--tv-surface); }
body[data-theme="terminal"] #demo-workspace .impact-node-card[fill="#1a2a36"] { fill: var(--tv-panel); }
body[data-theme="terminal"] #demo-workspace .impact-node-card[fill="#253039"] { fill: #252a36; }
body[data-theme="terminal"] #demo-workspace .impact-node-card[fill="#17372f"] { fill: #19332f; }
body[data-theme="terminal"] #demo-workspace .impact-node-card[stroke="#38515f"] { stroke: #424855; }
body[data-theme="terminal"] #demo-workspace .impact-edge-label { stroke: var(--tv-bg); }
body[data-theme="terminal"] #demo-workspace .impact-node:focus-visible .impact-node-card { stroke: #90b2ff; }

/* Regime controls, scenario comparisons and transparent input audits. */
body[data-theme="terminal"] #demo-workspace :is(.rg-eyebrow, .rg-panel-heading h2 > span, .rg-belief-heading > span, .rg-apply-label) { color: #90b2ff; }
body[data-theme="terminal"] #demo-workspace :is(.rg-panel-heading h2, .rg-profile-name strong, .rg-weight-top > strong, .rg-audit-heading h3, .rg-belief-heading strong, .rg-evidence-context strong, .rg-evidence-table td strong, .rg-numeric > strong, .rg-return-cell > strong, .rg-variants strong, .rg-check strong) { color: var(--tv-text); }
body[data-theme="terminal"] #demo-workspace :is(.rg-panel-heading p, .rg-selectors label, .rg-number, .rg-weight > p, .rg-small-note, .rg-evidence summary > span:last-child, .rg-evidence-context > div > span, .rg-evidence-context > p, .rg-evidence-table td small, .rg-profile-name small, .rg-return-cell > small, .rg-cell-label, .rg-mini-factor, .rg-comparison-note, .rg-variants span, .rg-question > span, .rg-question p, .rg-packet summary > span, .rg-audit-heading p, .rg-audit-status > span, .rg-check p, .rg-check-status, .rg-future-tests span, .rg-future-tests strong, .rg-future-tests small, .rg-research-source, .rg-research-source > strong) { color: var(--tv-muted); }
body[data-theme="terminal"] #demo-workspace :is(.rg-badge, .rg-badge-neutral) { color: var(--tv-muted); background: var(--tv-panel); border-color: var(--tv-line); border-radius: 4px; }
body[data-theme="terminal"] #demo-workspace .rg-weight { background: var(--tv-panel); border-color: var(--tv-line); border-top-color: var(--regime-color); border-radius: 6px; }
body[data-theme="terminal"] #demo-workspace :is(.rg-selectors select, .rg-number input) { color: var(--tv-text); background: var(--tv-bg); border-color: var(--tv-line); }
body[data-theme="terminal"] #demo-workspace .rg-weight input[type="range"] { accent-color: var(--regime-color); }
body[data-theme="terminal"] #demo-workspace :is(.rg-belief-note, .rg-synthetic-label) { color: var(--tv-warning); }
body[data-theme="terminal"] #demo-workspace .rg-dot { background: var(--tv-warning); }
body[data-theme="terminal"] #demo-workspace :is(.rg-evidence, .rg-evidence-table th, .rg-comparison-head, .rg-comparison-note, .rg-question, .rg-packet summary, .rg-future-tests > div, .rg-research-source) { background: var(--tv-panel); border-color: var(--tv-line); }
body[data-theme="terminal"] #demo-workspace :is(.rg-evidence summary, .rg-packet summary) { color: var(--tv-text); }
body[data-theme="terminal"] #demo-workspace .rg-evidence summary:hover,
body[data-theme="terminal"] #demo-workspace .rg-packet summary:hover { background: var(--tv-hover); }
body[data-theme="terminal"] #demo-workspace .rg-comparison-head { color: var(--tv-muted); }
body[data-theme="terminal"] #demo-workspace .rg-comparison-row { background: var(--tv-surface); border-color: var(--tv-line); }
body[data-theme="terminal"] #demo-workspace .rg-comparison-row:hover { background: var(--tv-hover); }
body[data-theme="terminal"] #demo-workspace .rg-comparison-row.is-active { background: #2962ff12; box-shadow: inset 3px 0 var(--tv-accent); }
body[data-theme="terminal"] #demo-workspace .rg-comparison-row.is-active .rg-apply-label { color: #90b2ff; }
body[data-theme="terminal"] #demo-workspace .rg-mini-track { background: linear-gradient(to right, var(--tv-line) calc(50% - .5px), #68748a calc(50% - .5px), #68748a calc(50% + .5px), var(--tv-line) calc(50% + .5px)); }
body[data-theme="terminal"] #demo-workspace .rg-comparison-note > strong { color: var(--tv-text); }
body[data-theme="terminal"] #demo-workspace .rg-variants button { background: var(--tv-panel); border-color: var(--tv-line); border-radius: 6px; }
body[data-theme="terminal"] #demo-workspace .rg-variants button:hover { background: var(--tv-hover); border-color: #525765; }
body[data-theme="terminal"] #demo-workspace .rg-variants button[aria-pressed="true"] { background: #2962ff20; border-color: #2962ff66; box-shadow: none; }
body[data-theme="terminal"] #demo-workspace .rg-variants button[aria-pressed="true"] strong { color: #90b2ff; }
body[data-theme="terminal"] #demo-workspace .rg-question { border-left-color: var(--tv-accent); }
body[data-theme="terminal"] #demo-workspace .rg-packet { border-color: var(--tv-line); border-radius: 6px; }
body[data-theme="terminal"] #demo-workspace .rg-packet pre { color: var(--tv-text); background: var(--tv-bg); border-color: var(--tv-line); }
body[data-theme="terminal"] #demo-workspace .rg-run { color: #fff; background: var(--tv-accent); }
body[data-theme="terminal"] #demo-workspace .rg-run:hover { background: #3d72ff; }
body[data-theme="terminal"] #demo-workspace .rg-audit-status { color: #6ad2c5; background: #26a69a12; border-color: #26a69a44; }
body[data-theme="terminal"] #demo-workspace .rg-audit-status.is-pending { color: var(--tv-muted); background: var(--tv-panel); border-color: var(--tv-line); }
body[data-theme="terminal"] #demo-workspace .rg-audit-status.needs-review { color: var(--tv-warning); background: #ffb74d0c; border-color: #ffb74d44; }
body[data-theme="terminal"] #demo-workspace :is(.rg-check, .rg-factor-profile, .rg-future-tests) { border-color: var(--tv-line); }
body[data-theme="terminal"] #demo-workspace .rg-check-icon { color: var(--tv-muted); background: var(--tv-panel); }
body[data-theme="terminal"] #demo-workspace .rg-check-icon.pass { color: #6ad2c5; background: #26a69a18; }
body[data-theme="terminal"] #demo-workspace .rg-check-icon.fail { color: var(--tv-warning); background: #ffb74d18; }
body[data-theme="terminal"] #demo-workspace .rg-research-source a { color: #90b2ff; }
body[data-theme="terminal"] #demo-workspace :is(button, input, select, summary, pre, a, [role="button"]):focus-visible { outline-color: #90b2ff; }
