/* HR&P Intel Hub — design tokens. Single source of truth for colour and scale.
   Linked by every page. Change a value here and it propagates site-wide.

   STUDIO LIGHT, adopted 2026-08-07. The Hub ran a high-contrast near-black with a
   saturated #00DC00 accent, which is bold and jarring across long analytical reads.
   This is the warm-paper register: a paper ground rather than an inverted dark one,
   a desaturated teal accent, and — the part doing most of the work — a sharp drop in
   how often the accent appears at all.

   TWO RULES THAT MATTER MORE THAN THE HEX VALUES:

   1. SEMANTIC COLOUR IS SEPARATE FROM THE ACCENT. Direction and status never borrow
      the accent hue. If they do, everything reads as "active" and nothing reads as
      state. --critical / --important / --awareness / --info are their own hues and
      must stay that way.

   2. ACCENT DENSITY STAYS LOW. The old identity put the accent on labels, links,
      dots, borders and figures simultaneously. Here it carries links, the hero rule
      and figures. Labels use --sage-muted, which is a muted INK and not the accent,
      despite the name. The name is kept because 251 call sites depend on it; renaming
      it is a separate job and a rename is not a reskin.

   CONTRAST, computed not eyeballed (2026-08-07, WCAG AA on the paper ground):
     --text 15.40  --text-secondary 8.74  --text-dim 4.60  --sage 5.28 (4.87 on raised)
     --sage-muted 5.69  --critical 5.69  --important 4.82  --awareness 5.79
   All pass AA at 4.5:1. --text-dim is the tight one at 4.60; do not darken the ground
   or lighten that token without re-running the check.

   DARK MODE is deliberately NOT built. The structure below supports adding it later
   as a `@media (prefers-color-scheme: dark)` block overriding this same token set,
   with no change to any call site. Building it now would double the token surface and
   add a permanent contrast obligation to every future component. */

:root{
  /* ground */
  --bg:oklch(0.982 0.004 90);
  --bg-raised:oklch(0.955 0.005 90);
  --bg-raised-2:oklch(0.925 0.006 90);

  /* ink */
  --text:oklch(0.245 0.014 255);
  --text-secondary:oklch(0.40 0.012 255);
  --text-dim:oklch(0.55 0.012 255);

  /* rules */
  --border:oklch(0.86 0.006 90);
  --border-soft:oklch(0.91 0.005 90);

  /* accent. --sage-muted is a muted INK, not the accent: it carries labels. */
  --sage:oklch(0.50 0.11 172);
  --sage-dim:oklch(0.50 0.11 172);
  --sage-muted:oklch(0.50 0.02 255);
  --sage-faint:oklch(0.50 0.11 172 / 0.14);

  /* semantic. Never the accent hue. */
  --critical:oklch(0.52 0.16 20);
  --important:oklch(0.55 0.13 55);
  --awareness:oklch(0.48 0.12 158);
  --info:oklch(0.45 0.12 245);

  /* Aliases for two names that were in use with no definition anywhere, so 24 call
     sites resolved to nothing. Defined here rather than renamed at every call site,
     and flagged so the duplication is visible rather than quietly permanent. */
  --raised:var(--bg-raised);
  --muted:var(--text-dim);

  /* scale */
  --radius:4px;
  --maxw:1200px;
}
