/* =============================================================================
   tokens.css  ·  warm-graphite + antique-brass design tokens
   The single source of truth for the whole site's palette, type, and metrics.
   Lifted verbatim from the System Atlas :root so every page shares one palette
   and a theme change is a one-file edit. No page hardcodes a hex value.
   No build step. Steel-blue retired. Rust is the one alarm only.
   ============================================================================= */
:root{
  /* ---- SYSTEM WORLD · warm graphite (the machine) -------------------------- */
  --ink-900:#0a0907;        /* page base, warmest near-black, never #000 */
  --ink-850:#0e0c09;
  --ink-800:#13110c;        /* system shell surface */
  --ink-750:#191510;
  --ink-700:#201b14;        /* raised surface inside the shell */
  --ink-650:#28221a;
  --ink-600:#332b20;        /* top of the dark elevation range */

  /* ---- PARCHMENT WORLD · work product on paper (the document) ------------- */
  --paper-0:#faf6ec;        /* parchment canvas, never pure white */
  --paper-1:#f3ebd8;        /* document surface */
  --paper-2:#e9dec4;        /* aged edge */
  --paper-line:#d6c8a6;     /* rule lines on paper */
  --doc-ink:#221d14;        /* warm near-black ink on parchment */
  --doc-ink-72:rgba(34,29,20,.72);
  /* contrast pass 2026-07-13: -52/-36 raised (.64/.48) for WCAG AA on paper */
  --doc-ink-52:rgba(34,29,20,.64);
  --doc-ink-36:rgba(34,29,20,.48);

  /* ---- TEXT ON GRAPHITE · warm off-white, never pure white ---------------- */
  --tx:#ece5d6;             /* primary */
  --tx-78:rgba(236,229,214,.78);
  --tx-60:rgba(236,229,214,.60);
  /* contrast pass 2026-07-13: -44/-30 raised (.56/.48) for WCAG AA on small
     labels; historical names kept so no page needs to change. */
  --tx-44:rgba(236,229,214,.56);
  --tx-30:rgba(236,229,214,.48);
  --wm:#fbf7ec;             /* the few true-white-ish display moments */

  /* ---- ANTIQUE BRASS · the single accent, one moment per viewport --------- */
  --brass:#bd8a39;          /* muted antique brass, the system accent */
  --brass-bright:#c99a4b;   /* hover / active only */
  --brass-deep:#9a6c29;     /* pressed / shadowed brass */
  --brass-soft:rgba(189,138,57,.30);
  --brass-faint:rgba(201,154,75,.13);
  --brass-glow:rgba(201,154,75,.20);

  /* ---- RUST · the one alarm. Contradiction / alert / fail ONLY ------------ */
  --rust:#c8503a;
  --rust-bright:#dd6e54;
  --rust-soft:rgba(200,80,58,.28);
  --rust-faint:rgba(200,80,58,.10);

  /* ---- HAIRLINES & ELEVATION (warm) --------------------------------------- */
  --line:rgba(214,200,166,.09);
  --line-2:rgba(214,200,166,.15);
  --line-3:rgba(214,200,166,.22);

  /* ---- CATEGORY TINTS · disciplined warm spread for the agent groups.
         Verify carries rust on purpose: the gate is where contradiction lives. */
  --cat-research:#c79a52;   /* light brass */
  --cat-people:#b98a5e;     /* bronze */
  --cat-draft:#a98548;      /* aged brass */
  --cat-ops:#8f7f63;        /* warm taupe */
  --cat-verify:#c8503a;     /* rust */

  /* ---- RADII & MOTION ----------------------------------------------------- */
  --r1:6px; --r2:10px; --r3:14px; --r4:20px;
  --ease:cubic-bezier(.16,1,.3,1);

  /* ---- TYPE · serif (authority) / grotesque (UI) / mono (receipts) -------- */
  --serif:'Newsreader',Georgia,'Times New Roman',serif;
  --grotesque:'Inter',system-ui,-apple-system,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,'SF Mono',monospace;
}
