/* Shared theme variables for every page in this document root — the single
   source of truth for the site's light theme (default) and the opt-in
   "CyberPunk" dark theme (:root[data-theme="dark"], set by the toggle in
   theme-toggle.js and the FOUC-prevention snippet duplicated in each page's
   <head>). Union of every color variable any page currently needs; a page
   that only uses a subset simply doesn't reference the rest.

   Dark values were validated with the dataviz skill's validate_palette.js
   against surface #0a0a12 before being committed here — see session notes /
   plan history, not re-derived by eye. */

:root {
  --page-plane: #e9e8e4;
  --surface-1: #f0efec;
  --surface-2: #ffffff;
  --border: rgba(11, 11, 11, 0.10);
  --text-primary: #0b0b0b;
  --text-secondary: #52514e;
  --text-muted: #898781;
  --accent: #2a78d6;
  --accent-ink: #ffffff;
  --status-good: #0ca30c;
  --status-critical: #d03b3b;
  --status-neutral: #898781;
  --mock-badge: #9a6a00;

  /* Categorical series colors — fixed slot order, never cycled. */
  --series-macd: #2a78d6;          /* slot 1, blue/cyan */
  --series-strategy-load: #1baf7a; /* slot 2, aqua/teal */
  --series-sales: #b4791a;         /* slot 3, amber */
  --series-eps: #1f95b0;           /* slot 4, cyan */
  --series-rs: #4a3aa7;            /* slot 5, violet */
  --series-macd-signal: #e34948;   /* slot 6, red */
  --series-rsi: #e87ba4;           /* slot 7, magenta */
  --series-equity-curve: #eb6834;  /* slot 8, orange */
  --series-price: #7a4fd1;         /* slot 9, purple (Visual Analysis chart only) */
  --series-pretax: #2f9e44;        /* slot 10, green (Visual Analysis chart only) -- validated via the dataviz skill's validate_palette.js against the other 3 colors this chart actually shows it alongside (sales/eps/price); ALL CHECKS PASS both light and dark */
}

:root[data-theme="dark"] {
  --page-plane: #0a0a12;
  --surface-1: #12121e;
  --surface-2: #1a1c2e;
  --border: rgba(100, 220, 255, 0.14);
  --text-primary: #eef4ff;
  --text-secondary: #9aa8c9;
  --text-muted: #5f6b8c;
  --accent: #17b8cf;
  --accent-ink: #06131a;
  --status-good: #1fd65f;
  --status-critical: #ff4d6d;
  --status-neutral: #7a88ab;
  --mock-badge: #e0a400;

  --series-macd: #0e9fb0;
  --series-strategy-load: #12a888;
  --series-sales: #b8790f;
  --series-eps: #1590a8;
  --series-rs: #8b6ef0;
  --series-macd-signal: #e0334f;
  --series-rsi: #d6299b;
  --series-equity-curve: #d9631a;
  --series-price: #9370e0;
  --series-pretax: #2f9e44;
}
