/* ============================================================
   EMBER design tokens v1.2.0
   GENERATED by scripts/build.py from tokens/tokens.json — do not edit.
   Essence: Swiss grid with a fist. Everything wants to move.
   ============================================================ */

/* ---- modes: paper (default) and coal ----------------------- */

:root,
[data-mode="paper"] {
  --bg: #F6F1E6;
  --raise: #FCFAF3;
  --sunk: #E7DDC9;
  --ink: #131009;
  --ink-soft: #4F4837;
  --ink-faint: #7E7562;
  --edge-strong: #131009;
  --edge-faint: #C8BCA2;
  --ember: #D93E12;
  --ember-deep: #B02F0C;
  --ember-text: #FCFAF3;
  --ember-wash: rgba(217, 62, 18, 0.08);
  --azure: #1D6FE0;
  --sky: #C9DDF2;
  --pink: #E8467C;
  --ok: #2E7D4F;
  --warn: #A97B1C;
  --err: #8E2424;
  --shadow-ink: #131009;
  --glow-ember: 0 0 14px rgba(217, 62, 18, 0.55), 0 0 40px rgba(217, 62, 18, 0.28);
  --conflict-gradient: linear-gradient(100deg, #131009 0%, #4A2413 55%, #D93E12 100%);
  --grain-opacity: 0.05;
  --desk: #2A2620;
  color-scheme: light;
}

[data-mode="coal"] {
  --bg: #0E0B07;
  --raise: #181209;
  --sunk: #070503;
  --ink: #F2ECDF;
  --ink-soft: #BDB39F;
  --ink-faint: #7A7160;
  --edge-strong: #F2ECDF;
  --edge-faint: #302818;
  --ember: #FF5A28;
  --ember-deep: #FF7B4F;
  --ember-text: #0E0B07;
  --ember-wash: rgba(255, 90, 40, 0.10);
  --azure: #6FA8FF;
  --sky: #16202E;
  --pink: #FF6FA5;
  --ok: #7DBB8F;
  --warn: #D9A441;
  --err: #E07A7A;
  --shadow-ink: rgba(242, 236, 223, 0.85);
  --glow-ember: 0 0 14px rgba(255, 90, 40, 0.60), 0 0 44px rgba(255, 90, 40, 0.32);
  --conflict-gradient: linear-gradient(100deg, #0E0B07 0%, #33180B 55%, #FF5A28 100%);
  --grain-opacity: 0;
  --desk: #050402;
  color-scheme: dark;
}

/* ---- typography --------------------------------------------- */

:root {
  --font-grot: "Space Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-mono: "IBM Plex Mono", "JetBrains Mono", Consolas, "Courier New", monospace;
  --font-whisper: "Newsreader", Georgia, "Times New Roman", serif;
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-md: 1rem;
  --text-lg: 1.125rem;
  --text-xl: clamp(1.2rem, 1.1rem + 0.5vw, 1.4rem);
  --text-2xl: clamp(1.45rem, 1.2rem + 1.2vw, 1.85rem);
  --text-3xl: clamp(1.85rem, 1.4rem + 2.2vw, 2.5rem);
  --text-4xl: clamp(2.35rem, 1.6rem + 3.6vw, 3.4rem);
  --text-5xl: clamp(3rem, 1.8rem + 6vw, 5rem);
  --text-hero: clamp(3.6rem, 2rem + 9.5vw, 9rem);
  --leading-display: 0.95;
  --leading-heading: 1.08;
  --leading-body: 1.6;
  --leading-mono: 1.45;
  --tracking-display: -0.02em;
  --tracking-heading: -0.01em;
  --tracking-body: 0em;
  --tracking-label: 0.08em;
}

/* ---- space / radius / border -------------------------------- */

:root {
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 24px;
  --sp-6: 32px;
  --sp-7: 48px;
  --sp-8: 64px;
  --sp-9: 96px;
  --sp-10: 128px;
  --radius-none: 0px;
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-pill: 999px;
  --line-heavy: 3px;
  --line-fine: 1px;
}

/* ---- shape postures: geometry declares intent ---------------- */

:root {
  --shape-give: 0 0 14px 14px;
  --shape-speak: 999px 0 0 999px;
  --keycap-wall: 6px;
  --marquee-dur: 26s;
  --pulse-dur: 2.8s;
  --strain-dur: 7s;
  --clench-dur: 6s;
  --scan-dur: 9s;
}

/* ---- shadows: hard offsets, zero blur, color flips per mode  */

:root {
  --shadow-sm: 3px 3px 0 var(--shadow-ink);
  --shadow-md: 6px 6px 0 var(--shadow-ink);
  --shadow-lg: 10px 10px 0 var(--shadow-ink);
}

/* ---- motion: the mechanical press ---------------------------- */

:root {
  --ease-press: cubic-bezier(0.2, 0.9, 0.3, 1);
  --dur-1: 150ms;
  --dur-2: 250ms;
  --dur-3: 450ms;
}

/* ---- print: true sizes for paper artifacts ------------------- */

:root {
  --print-a3-w: 297mm;
  --print-a3-h: 420mm;
  --print-a5-w: 148mm;
  --print-a5-h: 210mm;
  --print-a6-w: 105mm;
  --print-a6-h: 148mm;
  --print-card-w: 85mm;
  --print-card-h: 55mm;
  --print-bleed: 3mm;
}
