/* SIGNASTRAT Terminal 2026: data-led hierarchy over ornamental chrome. */
:root {
  --terminal-bg: #000;
  --terminal-surface: #050607;
  --terminal-surface-raised: #090b0e;
  --terminal-line: #1b1f25;
  --terminal-line-strong: #2b3038;
  --terminal-text: #f4f6f8;
  --terminal-muted: #a7aeb8;
  --terminal-comment: #737b87;
  --terminal-brand: #f5ad45;
  --terminal-live: #46df8a;
  --terminal-market: #58c8ff;
  --terminal-intelligence: #a78bfa;
  --terminal-risk: #ff5378;
  --terminal-warning: #f4c45e;
  --terminal-mono: "Cascadia Code", "Cascadia Mono", "IBM Plex Mono", "JetBrains Mono", Consolas, monospace;
  --canvas: var(--terminal-bg);
  --shell: #010203;
  --panel: var(--terminal-surface);
  --panel-2: var(--terminal-surface-raised);
  --line: var(--terminal-line);
  --line-hot: #634719;
  --amber: var(--terminal-brand);
  --amber-2: #ffd184;
  --text: var(--terminal-text);
  --secondary: var(--terminal-muted);
  --dim: var(--terminal-comment);
  --positive: var(--terminal-live);
  --negative: var(--terminal-risk);
  --cyan: var(--terminal-market);
  --warning: var(--terminal-warning);
  --mono: var(--terminal-mono);
  --sans: var(--terminal-mono);
}

html,
body { background: #000; color: var(--terminal-text); }
body { font-family: var(--terminal-mono); font-size: 11px; font-variant-numeric: tabular-nums; }
::selection { color: #fff; background: #28506b; }
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
[tabindex]:focus-visible { outline: 2px solid var(--terminal-brand); outline-offset: -2px; }

/* Shell: selected state is type + a precise rule, never a solid amber brick. */
.global-bar,
.system-line,
.cross-ticker,
.status-bar { border-color: var(--terminal-line); background: #010203; }
.s5-brand { gap: 9px; border-color: var(--terminal-line); }
.brand-glyph { width: 25px; height: 25px; color: var(--terminal-brand); border: 1px solid #725327; background: transparent; }
.s5-brand b { font-family: var(--terminal-mono); font-size: 13px; letter-spacing: .1em; }
.s5-brand small { color: var(--terminal-comment); }
.global-nav a { min-width: 78px; border-color: #14171b; color: var(--terminal-muted); font-size: 10px; letter-spacing: .045em; }
.global-nav a:hover { color: #fff; background: #080a0d; }
.global-nav a[aria-current="page"],
.global-nav a.is-contextual[aria-current="page"],
.mobile-product-nav a[aria-current="page"] { color: var(--terminal-brand); background: #08090b; box-shadow: inset 0 -2px var(--terminal-brand); }
.global-nav a.is-contextual { color: var(--terminal-comment); border-left-color: var(--terminal-line-strong); }
.global-clocks { color: var(--terminal-muted); }
.context-chip { color: var(--terminal-market); border-color: var(--terminal-line); }
.command-launcher { border-color: var(--terminal-line); }
.command-launcher label { color: var(--terminal-brand); }
.command-launcher label::before { content: "> "; color: var(--terminal-market); }
.command-launcher input { font-size: 11px; }
.workspace-controls button[aria-pressed="true"] { color: var(--terminal-brand); background: #0d0b07; box-shadow: inset 0 -2px var(--terminal-brand); }
.ticker-state { color: var(--terminal-live); }
.ticker-item b { color: var(--terminal-market); }
.cross-ticker > button { color: var(--terminal-muted); border-color: var(--terminal-line); }
.cross-ticker > button[aria-pressed="true"] { color: var(--terminal-brand); background: #0d0b07; box-shadow: inset 0 -2px var(--terminal-brand); }
.route-stage { padding: 2px; background: #000; }

/* Shared panels: thin structure, readable metadata, no amber frame around everything. */
.panel,
.route-adapter,
.s5-panel,
.wall-panel { border-color: var(--terminal-line); border-top-width: 1px; background: var(--terminal-surface); }
.panel-head,
.route-adapter > header,
.s5-panel > header,
.s5-flow-grid > section > header,
.s5-power-head { border-color: var(--terminal-line); background: #050607; }
.panel-head span,
.s5-panel > header b,
.s5-flow-grid > section > header b { color: var(--terminal-market); background: transparent; }
.panel-head h1,
.panel-head h2 { font-family: var(--terminal-mono); font-size: 12px; letter-spacing: .035em; }
.panel-head > b { color: var(--terminal-comment); border-left: 0; }
.s5-state,
.empty-state { color: var(--terminal-comment); }

/* Desk remains dense, but information classes carry the hierarchy. */
.s5-markets-host { color: var(--terminal-text); background: #000; font: 11px/1.32 var(--terminal-mono); }
.s5-markets { --amber: var(--terminal-brand); --amber2: #ffd184; --cyan: var(--terminal-market); --green: var(--terminal-live); --red: var(--terminal-risk); --line: var(--terminal-line); background: #000; }
.s5-markets button,
.s5-markets input,
.s5-markets select { border-color: var(--terminal-line-strong); background: #050607; }
.s5-markets button:hover,
.s5-markets button:focus-visible { border-color: var(--terminal-market); outline-color: var(--terminal-market); }
.s5-market-bar { border-color: var(--terminal-line); background: #020304; }
.s5-market-bar > strong { color: var(--terminal-brand); background: transparent; }
.s5-market-bar > strong::before { margin-right: 6px; color: var(--terminal-market); content: "$"; }
.s5-market-bar button.is-active,
.s5-workspace-nav button[aria-pressed="true"],
.s5-power-head button[aria-pressed="true"],
.s5-mobile-nav button[aria-pressed="true"],
.s5-flow-mobile button[aria-pressed="true"] { color: var(--terminal-brand); background: #0d0b07; box-shadow: inset 0 -2px var(--terminal-brand); }
.s5-ticker,
.s5-workspace-nav { border-color: var(--terminal-line); background: #020304; }
.s5-ticker > div button,
.s5-workspace-nav button { border-color: var(--terminal-line); }
.s5-market-grid,
.s5-flow-grid,
.s5-risk-ticket { gap: 1px; background: var(--terminal-line); }
.s5-panel { background: #030405; }
.s5-panel > header { height: 27px; flex-basis: 27px; }
.s5-panel > header b { padding: 0 8px; border-right: 1px solid var(--terminal-line); }
.s5-panel > header span { color: #fff; letter-spacing: .04em; }
.s5-panel > header i { color: var(--terminal-comment); }
.s5-table-head,
.s5-book-head,
.s5-flow-table-head { color: var(--terminal-comment); background: #050607; }
[data-monitor] [role="row"],
.s5-book-rows > div,
.s5-flow-row,
[data-news] article { border-color: #15191e; }
[data-monitor] [role="row"].is-selected { background: #091018; box-shadow: inset 3px 0 var(--terminal-market); }
.s5-chart-tools,
.s5-chart-meta,
.s5-readout { border-color: var(--terminal-line); }
.s5-chart-tools small,
.s5-ohlcv .axis,
.local-level text,
[data-heatmap] i { font-size: 10px; }
.s5-ohlcv { background: #010203; }
.s5-ohlcv .grid { stroke: #171b20; }
[data-news] article time,
[data-movers] > div > b,
.s5-rate-groups b { color: var(--terminal-market); }
.s5-watch-tools button[aria-pressed="true"],
.s5-ranges button[aria-pressed="true"],
.s5-indicators button[aria-pressed="true"] { color: var(--terminal-market); background: #071018; box-shadow: inset 0 -2px var(--terminal-market); }
.s5-flow-grid > section { background: #030405; }
.s5-flow-grid > section > header b { letter-spacing: .045em; }
.s5-flow-grid footer { border-color: var(--terminal-line) !important; color: var(--terminal-comment) !important; }
.s5-markets footer { border-color: var(--terminal-line); color: var(--terminal-comment); }
.s5-power-head { border-color: var(--terminal-line); }
.s5-power-head b { color: var(--terminal-market); background: transparent; }
.s5-market-grid.has-live-desk .s5-desk-flow,
.s5-multi-pane { border-top: 1px solid var(--terminal-line); background: #030405; }
.s5-desk-flow > header { border-color: var(--terminal-line); background: #050607; }
.s5-desk-flow > header b { color: var(--terminal-live); background: transparent; }
.s5-desk-flow > header button[aria-pressed="true"] { color: var(--terminal-market); background: #071018; box-shadow: inset 0 -2px var(--terminal-market); }
.s5-desk-flow-grid,
.s5-multi-grid { gap: 1px; background: var(--terminal-line); }
.s5-desk-flow-grid > section { background: #030405; }
.s5-desk-flow-grid > section > b { color: var(--terminal-market); border-color: var(--terminal-line); }
.s5-screen-table button b,
.s5-risk-market b,
.s5-multi-meta > b { color: var(--terminal-market); }
.s5-operator-tabs button[aria-pressed="true"],
.s5-multi-pane > header button[aria-pressed="true"],
.s5-multi-meta button[aria-pressed="true"] { color: var(--terminal-market); background: #071018; box-shadow: inset 0 -2px var(--terminal-market); }

/* Intelligence: same visual family as LIVE, with a more analytical cadence. */
.s5-intelligence { color: var(--terminal-text); background: #000; font: 11px/1.38 var(--terminal-mono); }
.intel-priority,
.intel-controls,
.intel-rail,
.intel-wire,
.intel-detail { border-color: var(--terminal-line); background: #030405; }
.intel-priority,
.intel-rail,
.intel-wire,
.intel-detail { border-top-width: 1px; }
.intel-priority > b { color: var(--terminal-risk); background: transparent; }
.intel-priority > span { color: var(--terminal-risk); }
.intel-controls { border-bottom-color: var(--terminal-line); background: #020304; }
.intel-controls > b { color: var(--terminal-intelligence); background: transparent; }
.intel-controls > b::before { margin-right: 7px; content: "$"; }
.intel-controls label { color: var(--terminal-intelligence); }
.intel-controls > button { color: var(--terminal-muted); border-color: var(--terminal-line); }
.intel-controls > button[aria-pressed="true"],
.intel-view-tabs button[aria-pressed="true"] { color: var(--terminal-intelligence); background: #0b0814; box-shadow: inset 0 -2px var(--terminal-intelligence); }
.intel-rail > header,
.intel-detail > header { color: var(--terminal-intelligence); border-color: var(--terminal-line); }
.intel-channels b,
.intel-regions b,
.intel-source-list b { color: var(--terminal-market); }
.intel-channels button[aria-pressed="true"],
.intel-channels button:hover,
.intel-regions button:hover,
.intel-source-list button:hover { background: #091018; box-shadow: inset 3px 0 var(--terminal-market); }
.intel-buckets b,
.intel-market-context b { color: var(--terminal-market); }
.intel-live-summary > b { color: var(--terminal-intelligence); background: transparent; }
.intel-live-summary > span b { color: var(--terminal-market); }
.intel-live-row { min-height: 46px; border-color: #15191e; background: #020304; }
.intel-live-row:hover { background: #070a0e; }
.intel-live-row[aria-selected="true"],
.intel-live-row.is-selected { background: #0b0814; box-shadow: inset 3px 0 var(--terminal-intelligence); }
.intel-live-row time { color: #fff; font-size: 11px; }
.intel-live-row strong { color: #fff; font-size: 12px; line-height: 1.35; }
.intel-live-row small { color: var(--terminal-comment); font-size: 10px; }
.intel-live-row small::before,
.intel-detail small::before { color: var(--terminal-intelligence); content: "// "; }
.intel-live-summary,
.intel-live-toolbar,
.intel-live-columns { border-color: var(--terminal-line); background: #020304; }
.intel-live-summary > b { color: var(--terminal-intelligence); }
.intel-live-toolbar select { color: var(--terminal-text); background: #050607; }
.intel-head button[aria-pressed="true"],
.intel-tabs button[aria-pressed="true"],
.intel-mobile-dock button[aria-pressed="true"] { color: var(--terminal-intelligence); background: #0b0814; box-shadow: inset 0 -2px var(--terminal-intelligence); }
.intel-world-map { border-color: var(--terminal-line); }
.intel-row .bucket { color: var(--terminal-market); }
.intel-row:hover,
.intel-row:focus-visible,
.intel-row[aria-selected="true"] { background: #0b0814; box-shadow: inset 3px 0 var(--terminal-intelligence); }
.intel-detail .detail-bucket { color: var(--terminal-intelligence); background: #0b0814; box-shadow: inset 2px 0 var(--terminal-intelligence); }
.intel-detail h2 { font-family: var(--terminal-mono); font-size: 15px; line-height: 1.4; }
.intel-detail dt { color: var(--terminal-comment); }
.intel-detail dl,
.intel-detail dt,
.intel-detail dd { border-color: var(--terminal-line); }

/* Research keeps scan-friendly tables while shedding unnecessary framing. */
.s5-companies { color: var(--terminal-text); background: #000; font-family: var(--terminal-mono); }
.s5-companies .company-head,
.s5-companies .company-security-header,
.s5-companies .company-tabs { border-color: var(--terminal-line); background: #030405; }
.s5-companies .company-tabs button { color: var(--terminal-muted); }
.s5-companies .company-tabs button[aria-pressed="true"],
.s5-companies .company-tabs button.is-active,
.company-filing-filters button[aria-pressed="true"],
.company-mobile-dock button[aria-pressed="true"] { color: var(--terminal-intelligence); border-color: transparent; background: #0b0814; box-shadow: inset 0 -2px var(--terminal-intelligence); }
.company-security-identity,
.company-security-stat,
.company-statement-wrap,
.company-lineage > section { border-color: var(--terminal-line); background: #050607; }
.company-security-identity > strong { font-family: var(--terminal-mono); font-size: 12px; }
.company-security-identity > small,
.company-security-stat > small,
.company-statement-matrix td small,
.company-period-head small,
.company-metric-method b,
.company-metric-method small { color: var(--terminal-comment); font-size: 10px; }
.company-statement-matrix th,
.company-statement-matrix td,
.company-ownership-table th,
.company-ownership-table td { border-color: var(--terminal-line); }
.company-statement-matrix thead th,
.company-ownership-table th { color: var(--terminal-market); background: #050607; }
.company-statement-matrix tbody tr:hover td,
.company-statement-matrix tbody tr:hover th { background: #080b0f; }
.company-maximize-trigger[aria-expanded="true"],
.company-maximize-close { color: var(--terminal-market); background: #071018; }
body .s5-companies small { font-size: 10px !important; }
body .s5-companies .company-head > b,
body .s5-companies .company-subpanel > header,
body .s5-companies .company-overview-hero > header { color: var(--terminal-market); }
body .s5-companies .company-capability-strip,
body .s5-companies .company-kpis,
body .s5-companies .company-overview-columns,
body .s5-companies .company-subpanel { border-color: var(--terminal-line); background: #030405; }
body .s5-companies .company-tabs button[aria-pressed="true"] { color: var(--terminal-intelligence); background: #0b0814; box-shadow: inset 0 -2px var(--terminal-intelligence); }
body .s5-companies .company-price-chart { background: #010203; }
body .s5-companies .company-price-chart .grid { stroke: #171b20; }

/* Wall remains a distance instrument. Only its chrome joins the new system. */
.s5-wall { --wall-line: var(--terminal-line); --wall-muted: var(--terminal-comment); --wall-text: var(--terminal-text); --wall-amber: var(--terminal-brand); --wall-green: var(--terminal-live); --wall-red: var(--terminal-risk); color: var(--terminal-text); background: #000; font-family: var(--terminal-mono); }
.s5-wall-head,
.wall-panel,
.wall-ticker { border-color: var(--terminal-line); background: #030405; }
.s5-wall-head { border-top-width: 1px; }
.s5-wall-head > div b { color: var(--terminal-brand); }
.s5-wall button[aria-pressed="true"] { color: var(--terminal-brand); background: #0d0b07; box-shadow: inset 0 -2px var(--terminal-brand); }
.wall-panel > header { border-top-width: 1px; border-color: var(--terminal-line); background: #050607; }
.wall-clock-hero time strong { color: #fff; font-family: var(--terminal-mono); font-weight: 650; }
.wall-clock-hero time i,
.wall-clock-hero > b { color: var(--terminal-brand); }

@media (min-width: 1700px) {
  body { font-size: 12px; }
  .global-nav a { min-width: 84px; font-size: 11px; }
  .s5-markets-host,
  .s5-intelligence { font-size: 12px; }
}

@media (max-width: 760px) {
  body { font-size: 11px; }
  .mobile-product-nav { border-color: var(--terminal-line); background: #010203; }
  .mobile-product-nav a { min-height: 44px; border-color: var(--terminal-line); color: var(--terminal-muted); font-size: 10px; }
  .mobile-product-nav a[aria-current="page"] { color: var(--terminal-brand); }
  .route-stage { padding: 0; }
  .s5-markets-host,
  .s5-intelligence,
  .s5-companies,
  .s5-wall { font-size: 11px; }
  .intel-live-row { min-height: 72px; }
  .intel-live-row strong { font-size: 12px; line-height: 1.42; }
  .intel-mobile-dock button,
  .company-mobile-dock button,
  .s5-mobile-nav button,
  .s5-flow-mobile button,
  .s5-wall-head button { min-height: 44px; font-size: 10px; }
  .company-security-stat > strong { font-size: 13px; }
}

@media (prefers-reduced-motion: reduce) {
  .live-row.is-new-observation,
  .ticker-item.is-observation-update,
  .is-observation-update { animation: none !important; }
}
