/* ============================================================================
   K1 PLATFORM — shared token spine                       /_k1/tokens.css
   ----------------------------------------------------------------------------
   The single source of truth for K1's visual language. Created in Phase 1 of
   the platform consolidation (2026-06-27). ADDITIVE — at creation no surface
   loads this yet; the boards keep their own inline tokens. Surfaces migrate
   onto it one at a time, each verified to not change rendering.

   Governance (resolves every conflict):
     • IDENTITY tokens are global and FROZEN — never overridden by a surface.
     • SEMANTIC tokens carry meaning (status / caution / info), never brand.
     • SURFACE tokens flip by `data-mode` (Intel dark ⇄ Doctrine light).
     • A tenant/contractor brand color may override --k1-accent INSIDE content
       they own (their board header accent, their printed card) — never the
       shell, never the status colors, never --k1-signal.

   "One product, distinct rooms": the shell, the lockup, fire-red, and
   IBM-Plex-Mono-for-all-data are the thread that makes a live fire board and a
   classroom lesson read as the same brand — while the board stays a dark
   fire-intel terminal and the classroom stays a calm white field manual.
   ============================================================================ */

:root{
  /* ===== IDENTITY — fire-red is THE brand. Frozen. ========================= */
  --k1-signal:#FF4D3D;        /* logo, the "1" in K1, live-pulse, primary CTA   */
  --k1-signal-ink:#ffffff;    /* text/ink that sits ON signal                   */
  --k1-signal-dim:#3a1614;    /* signal wash / border on a dark ground          */
  --k1-accent:var(--k1-signal); /* per-surface accent hook (tenant override pt) */

  /* ===== SEMANTICS — meaning, not brand. ================================== */
  --ok:#36C98C;    --ok-dim:#10301f;    /* good · live · paid · hot-lead        */
  --warn:#F5A623;  --warn-dim:#3a2c10;  /* caution · approximate · pilot        */
  --warn-deep:#B5710A;                  /* print/storefront caution accent      */
  --info:#1080C4;  --info-ink:#ffffff;  /* link · info — ties to 1-800-Packouts */

  /* ===== TYPE — three shared families + one Doctrine serif. =============== */
  --font-display:'Archivo','Archivo Expanded',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
  --font-ui:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --font-data:'IBM Plex Mono',ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace; /* ALL data: addresses, CAD codes, SKUs, timestamps */
  --font-read:'Newsreader','Source Serif 4',Georgia,'Times New Roman',serif;          /* Doctrine long-form only */

  /* ===== SURFACE — Intel (dark) is the default ground. ===================
     Values mirror the live boards' palette so Intel mode == the boards. */
  --bg:#0A0D12;  --panel:#11161e;  --panel-2:#161c26;
  --line:#212a36; --line-2:#1a212c;
  --ink:#eef3f9; --ink-2:#c4cedb;  --muted:#8693a4; --faint:#5c6776;

  --radius:14px;
  --shell-h:54px;
}

/* ===== DOCTRINE — warm cream reading / learning / marketing ground. =======
   Same identity + semantics; only the ground and ink flip. The Classroom keeps
   its own white field-manual character — this mode just provides the shared
   spine underneath it. */
[data-mode="doctrine"]{
  --bg:#FBF8F3;  --panel:#ffffff;  --panel-2:#f4efe7;
  --line:#e7dfd2; --line-2:#efe9de;
  --ink:#1a1d24; --ink-2:#414853;  --muted:#6b7280; --faint:#9aa1ab;
}

/* Explicit opt-in alias for the dark ground (e.g. a doctrine page embedding an
   intel panel). Identical to the default :root surface block above. */
[data-mode="intel"]{
  --bg:#0A0D12;  --panel:#11161e;  --panel-2:#161c26;
  --line:#212a36; --line-2:#1a212c;
  --ink:#eef3f9; --ink-2:#c4cedb;  --muted:#8693a4; --faint:#5c6776;
}

/* ============================================================================
   BOARD-INTEL-ROOT — verbatim mirror of public/dallas.html's :root block.
   build-markets.mjs reads THIS block and asserts it is byte-identical to the
   boards' inline tokens (drift guard) so the shared spine can never silently
   diverge from the live boards. DO NOT reformat or re-indent the block between
   the >>> / <<< markers — the bytes (incl. 2-space / 4-space indentation) must
   match dallas.html exactly. The board's legacy token names (--fire/--k1/
   --amber/--slate/--link) are reconciled onto the canonical names above in a
   later, separately-verified migration phase.
   >>> k1:board-intel-root */
  :root{
    --bg:#0a0d12; --panel:#11161e; --panel2:#161c26; --line:#212a36; --line2:#1a212c;
    --ink:#eef3f9; --ink2:#c4cedb; --muted:#8693a4; --faint:#5c6776;
    --fire:#ff4d3d; --fire-dim:#3a1614; --amber:#ffb22e; --amber-dim:#3a2c10;
    --k1:#39d98a; --k1-dim:#10301f; --slate:#6f8197; --slate-dim:#1c2530;
    --link:#5ab0ff;
  }
/* <<< k1:board-intel-root */
