/* ── LUCID · DESIGN TOKENS ── single source of truth for the estate palette.
 * The SHARED :root block below is mirrored VERBATIM into all six estate copies (static-duplication
 * doctrine, same as lucid-track.js + the bridge artifact) and loaded
 *   <link rel="stylesheet" href="/assets/lucid-tokens.css?v=N">
 * on every surface (excalibur · ovaltable · atoms · jjdreamss: index + frequency + film + media pages).
 *
 * MODEL B (locked): the mirrored SHARED block carries estate-shared tokens ONLY. Flagship-only
 * tokens live in the clearly-fenced FLAGSHIP-LOCAL block at the bottom of this file and MUST NEVER
 * enter the shared block (a verify-tokens-mirror.mjs asserts the shared block is byte-identical
 * across all six copies — do not re-order or re-comment it).
 *
 * Where a surface already uses a token's exact value, that site references the token WITH A LITERAL
 * FALLBACK (= today's value), so adopting it is ZERO visible change — and if this file ever fails to
 * load, the fallback keeps the current colour. Editing a token here propagates estate-wide.
 *
 * Decision ⑦A (locked): PURPLE is the PRO/DEEP-CALIBRATION accent AND Matter's cross-blade/trinity
 * hue (dual-use) — the trinity reads green → gold → purple; it is NOT collapsed to green.
 * Matter's OWN on-page accent is green (--lc-matter). Converging each blade's own --accent onto
 * these tokens is a later, eyeball-able pass — the blades keep their current --accent for now. */
/* ── REDUCED-MOTION PRIMITIVE · copy-paste into a page's inline <style> when adding motion (WAVE-P1 doc) ──
 *   @media (prefers-reduced-motion: reduce){
 *     *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
 *       transition-duration:.001ms!important;scroll-behavior:auto!important;}
 *   }
 * NEVER pair a reduced-motion kill with an opacity:0 start-state (the .rv never-hide law) — content must be
 * visible without animation. This is a REFERENCE snippet; it is NOT activated here. */

/* ═══ CANONICAL SHARED BLOCK · mirrored verbatim across the estate — DO NOT EDIT PIECEMEAL ═══════════ */
:root{
  /* ── surface ── */
  --lc-bg:#09090f;
  --lc-bg-2:#0b0e14;
  --lc-txt:#eef2ee;
  --lc-line:rgba(255,255,255,.10);

  /* ── tier · uniform estate-wide ── */
  --lc-free:#22d3ee;          /* DECODE ME / FREE (cyan) */
  --lc-pro:#a855f7;           /* DEEP CALIBRATION / PRO (purple) */

  /* ── hedge / disclosure · the honesty layer (≥4.5:1 floor; converged to DS canon 8.38:1 on #09090f) ── */
  --lc-hedge:#8fb09c;         /* ≡ --lc-inst-ink-dim. Every hedge/disclosure/provenance class rides this. */

  /* ── semantic state ── */
  --lc-clash:#f87171;         /* error/clash red — promoted per Oval's intent (same family as --red / --rose) */

  /* ── blade accents (canonical) ── */
  --lc-exca:#19ff6b;          /* ⚔ Excalibur */
  --lc-oval:#e7b73f;          /* ⭕ Oval Table */
  --lc-matter:#00d973;        /* 🧪 Matter — home accent (GREEN) */
  --lc-trinity-matter:#a855f7;/* Matter's cross-blade/trinity hue — dual-use with --lc-pro (decision ⑦A) */

  /* ── instrument vocabulary (flagship Engine/Bridge cockpits · /frequency + /film) ── */
  --lc-inst-green:var(--lc-exca,#19ff6b);
  --lc-inst-gold:var(--lc-oval,#e7b73f);
  --lc-inst-purple:var(--lc-pro,#a855f7);
  --lc-inst-purple-lt:#c98bff;
  --lc-inst-cyan:var(--lc-free,#22d3ee);
  --lc-inst-ink:#d7ffe0;
  --lc-inst-ink-dim:#8fb09c;  /* == --lc-hedge */
  --lc-inst-ink-faint:#5a9268;
  --lc-inst-bg-2:#0d1410;     /* cockpit radial inner (green-tinted) — distinct from neutral --lc-bg-2 */
  --lc-inst-line:rgba(25,255,107,.14);

  /* ── estate type stack ── */
  --lc-font-display:'Orbitron',monospace;
  --lc-font-data:'IBM Plex Mono',monospace;
  --lc-font-body:'Inter',sans-serif;

  /* ── STRUCTURE · promoted estate-wide (WAVE-3 Excalibur → SSOT) ── */
  --r-sm:4px; --r-md:6px; --r-lg:9px; --r-xl:24px; --r-pill:999px;   /* radius (Excalibur live 4/6/9/999 + xl) */
  --fs-1:.56rem; --fs-2:.62rem; --fs-3:.68rem; --fs-4:.74rem;        /* type ladder · UI tier (micro→body-sm) */
  --fs-5:.82rem; --fs-6:.92rem; --fs-7:1.08rem; --fs-8:1.4rem;       /* body→head · display ≥1.6rem stays blade-authored */
  --elev-1:0 8px 28px rgba(0,0,0,.35);                               /* neutral drop-depth for elevated cards */
}

/* ═══ FLAGSHIP-LOCAL · NOT part of the mirrored shared block (Model B) ═══════════════════════════════
 * jjdreamss.com only — the Geographic Footprint map + Moving Image film grid + node hierarchy.
 * ⚠ --lc-film-01 #00ff41 is a BANNED LITERAL on the other blades — it must NEVER enter the shared
 *   block above or any sibling's lucid-tokens.css. It is scoped to the flagship on purpose. */
:root{
  /* Geographic Footprint · Map v2 · node hierarchy + surface (flagship /) */
  --lc-node-base:#00d4ff;         /* Oslo — operating base · hub cyan */
  --lc-node-kin:#a855f7;          /* London · Amsterdam — kin */
  --lc-node-kin-core:#e6d5ff;     /* kin dot core */
  --lc-node-gold:#d4af37;         /* Kigali — operating gold */
  --lc-node-amber:#c88a2e;        /* Accra — heritage amber (deep, Gold-Coast) */
  --lc-node-amber-hi:#e0a94a;     /* Accra label + flow highlight */
  --lc-node-amber-deep:#b8760f;   /* Accra glow outer + heritage ring */
  --lc-map-land:rgba(255,255,255,.085);
  --lc-map-land-2:rgba(170,190,230,.03);
  --lc-map-coast:rgba(150,180,220,.30);
  --lc-map-grat:rgba(255,255,255,.038);

  /* Moving Image · Vol. I · film accents (rhyme with the Trinity green→gold→purple) */
  --lc-film-01:#00ff41;  --lc-film-01-rgb:0,255,65;    /* Call Me Peter Pan — Excalibur green (flagship-scoped) */
  --lc-film-02:#a855f7;  --lc-film-02-rgb:168,85,247;  /* Mess Is More — Matter purple */
  --lc-film-03:#d4af37;  --lc-film-03-rgb:212,175,55;  /* Tell Me The Catch — Oval gold */
}
