/* Risk Watch encoding vocabulary.
 *
 * Every visual channel the dashboard uses is named here exactly once. Nothing
 * else in the stylesheets or the render code may introduce a colour: if a value
 * is not in this file it is not part of the vocabulary.
 *
 * The page is dark-only on purpose. It is an operator monitor rendered on one
 * surface, and the stress ramp and status steps below were validated against
 * that surface specifically.
 *
 * | Property         | Channel                                    |
 * | ---------------- | ------------------------------------------ |
 * | Stress magnitude | sequential ramp, one hue, --stress-0..5    |
 * | Score direction  | glyph + word, never colour alone           |
 * | Regime           | reserved status hues, always with a label  |
 * | Proxy vs direct  | hollow / dashed mark, never a hue          |
 * | Coverage         | partial fill (arc on scores, bar on rows)  |
 * | Unavailable      | --dim plus an explicit word, never 0.0     |
 * | Freshness        | opacity decayed against the signal window  |
 * | Parse confidence | mark border weight                         |
 */

:root {
  color-scheme: dark;

  /* Ground and ink. */
  --bg:#07101c;
  --surface:#0e1a2b;
  --surface-2:#13223a;
  --line:#243a59;
  --line-soft:#1b2c46;
  --text:#e8eff9;
  --muted:#8fa3bd;
  --dim:#5f7a9c;

  /* Accent. Coverage fills, totals, the forecast, and the "now" rule. One hue,
   * spent sparingly, so it never competes with the stress ramp. */
  --accent:#3987e5;
  --accent-soft:rgba(57,135,229,.16);

  /* Links carry their own lighter step: --accent is tuned to sit under dark
   * text on a filled control, which is too dark to read as text on --surface. */
  --link:#8fd2ff;

  /* Stress ramp. Sequential, single hue (OKLCH 52 degrees), monotone in
   * lightness, validated against --surface: steps 2 through 5 clear 3:1, and
   * steps 0 and 1 are the near-zero end that is allowed to recede toward the
   * surface. Never reorder these; the order is the scale. */
  --stress-0:#4d301f;
  --stress-1:#79421e;
  --stress-2:#ab5819;
  --stress-3:#d56a10;
  --stress-4:#f58028;
  --stress-5:#ff9d52;

  /* Status. Reserved: a status hue is never reused as a series colour, and
   * always ships beside a word. Regime bands draw from here. */
  --good:#0ca30c;
  --warning:#fab219;
  --serious:#ec835a;
  --critical:#d03b3b;

  /* Evidence lanes. Identity is carried by row position and label; these tint
   * only the lane chip, so they never have to survive on their own. */
  --lane-traded:#3987e5;
  --lane-macro:#c98500;
  --lane-filed:#d55181;

  --radius:14px;
  --radius-sm:9px;
  --gap:14px;
  --font:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}
