/* Color, type, and shape tokens shared with the AlgoTrade dashboard. */
:root {
  --bg: #0e1116;
  --bg-nav: #0b0e12;
  --panel: #151a21;
  --panel-inset: #121820;
  --input-bg: #0e1116;
  --border: #222a35;
  --border-strong: #2a3340;
  --row-border: #1e252e;
  --row-hover: #18202a;
  --hover: #1b222b;
  --selected: #1e2733;
  --text: #e6eaf0;
  --text-soft: #d5dae2;
  --text-dim: #a7b0be;
  --muted: #8b95a5;
  --grid: #1c232c;
  --accent: #5b9dff;
  --accent-fg: #0b0e12;
  --link: #7fb2ff;
  --link-hover: #a9cbff;
  --up: #34c38f;
  --down: #f2665e;
  --down-soft: #f2867f;
  --warning: #f0a93b;
  --buy: #7fb2ff;
  --sell: #f0b65a;
  --live-bg: #13284a;
  --live-fg: #8dbbff;
  --fwd-bg: #262035;
  --fwd-fg: #c3a8f5;
  --crit-bg: #2a1517;
  --crit-border: #5a2a2e;
  --crit-fg: #ffb4ae;
  --crit-fg-strong: #ffd2ce;
  --crit-muted: #b88a86;
  --warn-bg: #261b10;
  --warn-border: #5a4220;
  --warn-fg: #f0c987;
  --ok-bg: #12261f;
  --ok-fg: #5ed3a6;
  --info-bg: #1e2733;
  --info-fg: #a7b0be;
  --overlay: rgba(5, 7, 10, 0.72);
  --font-sans: 'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  /* Shape tokens (theme-independent), used by the src/ui kit. */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --control-h: 36px;
  --control-h-sm: 30px;
  --text-sm: 12px;
  --text-md: 13px;
  color-scheme: dark;
}

@media (prefers-color-scheme: light) {
  :root {
    --bg: #f5f7fa;
    --bg-nav: #eceff4;
    --panel: #ffffff;
    --panel-inset: #f7f9fc;
    --input-bg: #ffffff;
    --border: #dde3ea;
    --border-strong: #c9d1dc;
    --row-border: #e8ecf1;
    --row-hover: #f1f5fa;
    --hover: #e3e8ef;
    --selected: #dbe6f7;
    --text: #141a22;
    --text-soft: #222a35;
    --text-dim: #4a5566;
    --muted: #5e6a7a;
    --grid: #edf0f4;
    --accent: #2f6fd6;
    --accent-fg: #ffffff;
    --link: #2563c9;
    --link-hover: #1a4a99;
    --up: #138a5e;
    --down: #cf3b33;
    --down-soft: #cf3b33;
    --warning: #b8770f;
    --buy: #2563c9;
    --sell: #a86a0b;
    --live-bg: #dbe8ff;
    --live-fg: #1f4f9c;
    --fwd-bg: #ece4fb;
    --fwd-fg: #5b3a9a;
    --crit-bg: #fdecea;
    --crit-border: #f2b8b3;
    --crit-fg: #8a1f18;
    --crit-fg-strong: #6b140f;
    --crit-muted: #a0524c;
    --warn-bg: #fdf3e2;
    --warn-border: #efd29c;
    --warn-fg: #7a4d06;
    --ok-bg: #e2f5ec;
    --ok-fg: #0f6b49;
    --info-bg: #eceff4;
    --info-fg: #4a5566;
    --overlay: rgba(20, 26, 34, 0.45);
    color-scheme: light;
  }
}
