/* ============================================================================
   GENERATED FILE — DO NOT EDIT BY HAND.
   Source of truth: src/styles/tokens-v2.css
   Regenerate:      node scripts/sync-lab-tokens.mjs
   Verify:          node scripts/sync-lab-tokens.mjs --check

   public/ is served verbatim, so the lab apps cannot import from src/. This mirror exists only
   so they can link /lab/tokens-v2.css by absolute path and still be standalone-loadable.
   Editing this file by hand re-creates the two-sources-of-truth bug it was written to prevent.
   ============================================================================ */
:root {
  --bg: #FFFFFF;
  --bg-tint: #F4F7FB;
  --bg-deep: #0F1B2D;
  --ink: #0F1B2D;
  --ink-body: #46566E;
  --ink-mute: #5F7086;
  --line: #E4EAF2;
  --ember: #F5471E;
  --ember-btn: #C4330F;
  --ember-ink: #C4330F;
  --ember-wash: #FFF1ED;
  --blueprint: #2438C9;
  --blueprint-wash: #EEF1FF;
  --grow: #0FB27F;
  --grow-wash: #E8F8F2;
  --sun: #F5A623;
  --sun-wash: #FFF6E6;
  --t1: #EEF1FF;
  --t1-ink: #2438C9;
  --t2: #FFF1ED;
  --t2-ink: #C4330F;
  --t3: #E8F8F2;
  --t3-ink: #097856;
  --t4: #FFF6E6;
  --t4-ink: #99620F;
  --t5: #F3EEFF;
  --t5-ink: #5B3FD6;
  --t6: #E9F6FF;
  --t6-ink: #0B6FA8;
  --display: 'Bricolage Grotesque','Bricolage Fallback',system-ui,sans-serif;
  --sans: system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --serif: 'Newsreader','Newsreader Fallback',Georgia,serif;
  --mono: 'JetBrains Mono','JBMono Fallback',ui-monospace,Consolas,monospace;
  --h1: clamp(2.6rem,1.6rem + 3.4vw,4.25rem);
  --h2: clamp(1.9rem,1.4rem + 1.7vw,2.75rem);
  --h3: clamp(1.15rem,1.05rem + .4vw,1.4rem);
  --lead: clamp(1.05rem,1rem + .3vw,1.2rem);
  --r-card: 16px;
  --r-btn: 10px;
  --r-pill: 999px;
  --r-tile: 18px;
  --rail: 1180px;
  --read: 690px;
  --gap: 28px;
  --band: clamp(64px,5vw,104px);
  --sh-1: 0 1px 2px rgba(15,27,45,.04), 0 10px 24px -14px rgba(15,27,45,.18);
  --sh-2: 0 2px 6px rgba(15,27,45,.06), 0 22px 44px -20px rgba(15,27,45,.26);
  --sh-lift: 0 4px 10px rgba(15,27,45,.07), 0 34px 60px -24px rgba(15,27,45,.30);
  --ease: cubic-bezier(.22,.61,.36,1);
  --ease-out: cubic-bezier(.16,1,.3,1);

  /* v1 -> v2 aliases: the lab apps still reference these names internally. Pointing them at v2
     tokens repaints all ten apps without touching their markup. Remove a line only when no lab
     app references that name any more. */
  /* Every alias below was assigned from MEASURED ROLE — how the lab apps actually use the name
     (color: vs background: vs border:) — not from what the name sounds like. Two bugs taught that:
       · --soft was aliased to a near-white SURFACE token while 18 declarations use it as muted TEXT.
         Result: every secondary line in every lab app at 1.07:1 against white — invisible. Nothing
         errored; the text was simply not there. An alias layer is a TYPE claim, and getting the
         ROLE wrong fails silently and totally.
       · --paper2 / --card / --berry / --gold / --jade / --teal / --crim / --navy / --disp / --e and
         friends were referenced by the apps but defined NOWHERE, so they resolved to
         invalid-at-computed-value-time and surfaces fell back to white.
     Both found by Critic in the 2026-07-24 a11y sweep. Names on the RIGHT must be real tokens in
     src/styles/tokens-v2.css — --body and --hairline are NOT (they are --ink-body and --line);
     aliasing to a non-existent token silently falls through to the literal fallback. */

  /* surfaces */
  --paper: var(--bg);
  --paper-2: var(--bg-tint);
  --paper2: var(--bg-tint);
  --card: var(--bg);
  --band: var(--bg-tint);

  /* text */
  --soft: var(--ink-body);
  --warm-ink: var(--ink);
  --warm-body: var(--ink-body);
  --coal: var(--ink);
  --navy: var(--ink);
  --navy2: var(--bg-deep);
  --body: var(--ink-body);

  /* lines */
  --hair: var(--line);
  --hairline: var(--line);

  /* accents — mapped onto the v2 category/semantic scale, keeping hue family where one exists */
  --lime: var(--sun);
  --gold: var(--t4-ink);
  --gold2: var(--t4);
  --berry: var(--t5-ink);
  --lav: var(--t5);
  --jade: var(--grow);
  --sage: var(--t3);
  --teal: var(--t3-ink);
  --crim: var(--ember-ink);
  --red: var(--ember-ink);
  --ember2: var(--ember-btn);
  --blue: var(--blueprint);
  --pfx: var(--blueprint);

  /* type + easing */
  --disp: var(--display);
  --e: var(--ease);
}
