/* GENERATED — do not edit. Source: GAMZ/forge/brand/tokens.json (bun run build-tokens.ts) */
:root {
  --p-color-cream-100: #faf6ec;
  --p-color-cream-200: #f6efe0;
  --p-color-cream-300: #efe4cd;
  --p-color-ink-500: #6b6355;
  --p-color-ink-700: #3a352c;
  --p-color-ink-900: #1a1814;
  --p-color-red-500: #ea4a35;
  --p-color-red-600: #e03a26;
  --p-color-red-700: #c22f1e;
  --p-color-teal-500: #0f8a8a;
  --p-color-teal-700: #0b6b6b;
  --p-color-sunflower-500: #f2b705;
  --p-color-sunflower-600: #d9a304;
  --p-color-amber-400: #ffb454;
  --p-color-nocturne-800: #221e18;
  --p-color-nocturne-900: #171310;
  --p-font-display-grotesk: 'Archivo Black', system-ui, sans-serif;
  --p-font-display-slab: 'Zilla Slab', 'Rockwell', serif;
  --p-font-body: system-ui, -apple-system, sans-serif;
  --p-font-mono: ui-monospace, 'JetBrains Mono', monospace;
  --p-size-step-0: 0.75rem;
  --p-size-step-1: 0.875rem;
  --p-size-step-2: 1rem;
  --p-size-step-3: 1.25rem;
  --p-size-step-4: 1.75rem;
  --p-size-step-5: 2.5rem;
  --p-size-step-6: 3.75rem;
  --p-size-step-7: 5.5rem;
  --p-space-1: 4px;
  --p-space-2: 8px;
  --p-space-3: 16px;
  --p-space-4: 24px;
  --p-space-5: 40px;
  --p-space-6: 64px;
  --p-space-7: 104px;
  --p-rule-hairline: 1px;
  --p-rule-bold: 3px;
  --p-rule-poster: 6px;
  --p-radius-none: 0;
  --p-radius-chip: 6px;
  --p-radius-stamp: 12px;
  --p-offset-shadow-button: 4px 4px 0;
  --p-offset-shadow-stamp: 6px 6px 0;
}

/* semantic layer — components consume ONLY these */
  :root, [data-register="poster"] {
    --bg-page: #f6efe0;
    --bg-panel: #faf6ec;
    --bg-inverse: #1a1814;
    --ink: #1a1814;
    --ink-dim: #6b6355;
    --ink-on-accent: #f6efe0;
    --ink-inverse: #f6efe0;
    --accent: #e03a26;
    --accent-strong: #c22f1e;
    --spot-teal: #0f8a8a;
    --spot-sun: #f2b705;
    --rule: #1a1814;
    --rule-hairline-width: 1px;
    --rule-bold-width: 3px;
    --stamp-ink: #e03a26;
    --shadow-ink: #1a1814;
    --surface: #171310;
    --on-surface: #f6efe0;
    --lex-adjective: #c22f1e;
    --lex-noun: #0b6b6b;
    --lex-verb: #d9a304;
    --lex-setting: #6b6355;
    --lex-style: #1a1814;
    --font-display: 'Zilla Slab', 'Rockwell', serif;
    --font-body: system-ui, -apple-system, sans-serif;
    --font-mono: ui-monospace, 'JetBrains Mono', monospace;
    --text-display-size: 3.75rem;
    --text-body-size: 1rem;
    --text-receipt-size: 0.75rem;
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 16px;
    --space-4: 24px;
    --space-5: 40px;
    --space-6: 64px;
    --space-7: 104px;
    --shadow-button: 4px 4px 0;
    --shadow-stamp: 6px 6px 0;
  }

/* register: lamplight — warm dusk game register — the game board speaks darker but never muddy (board 2 v1 lesson, kept for game UI chrome) */
  [data-register="lamplight"] {
    --bg-page: #171310;
    --bg-panel: #221e18;
    --bg-inverse: #1a1814;
    --ink: #f6efe0;
    --ink-dim: #efe4cd;
    --ink-on-accent: #f6efe0;
    --ink-inverse: #1a1814;
    --accent: #ffb454;
    --accent-strong: #f2b705;
    --spot-teal: #0f8a8a;
    --spot-sun: #f2b705;
    --rule: #f6efe0;
    --rule-hairline-width: 1px;
    --rule-bold-width: 3px;
    --stamp-ink: #e03a26;
    --shadow-ink: #221e18;
    --surface: #221e18;
    --on-surface: #faf6ec;
    --lex-adjective: #ea4a35;
    --lex-noun: #0f8a8a;
    --lex-verb: #f2b705;
    --lex-setting: #ffb454;
    --lex-style: #efe4cd;
    --font-display: 'Archivo Black', system-ui, sans-serif;
    --font-body: system-ui, -apple-system, sans-serif;
    --font-mono: ui-monospace, 'JetBrains Mono', monospace;
    --text-display-size: 3.75rem;
    --text-body-size: 1rem;
    --text-receipt-size: 0.75rem;
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 16px;
    --space-4: 24px;
    --space-5: 40px;
    --space-6: 64px;
    --space-7: 104px;
    --shadow-button: 4px 4px 0;
    --shadow-stamp: 6px 6px 0;
  }

/* register: nocturne — optional high-contrast night print register (proof of theming, not yet art-approved) */
  [data-register="nocturne"] {
    --bg-page: #1a1814;
    --bg-panel: #221e18;
    --bg-inverse: #1a1814;
    --ink: #faf6ec;
    --ink-dim: #6b6355;
    --ink-on-accent: #f6efe0;
    --ink-inverse: #f6efe0;
    --accent: #f2b705;
    --accent-strong: #c22f1e;
    --spot-teal: #0f8a8a;
    --spot-sun: #f2b705;
    --rule: #faf6ec;
    --rule-hairline-width: 1px;
    --rule-bold-width: 3px;
    --stamp-ink: #e03a26;
    --shadow-ink: #1a1814;
    --surface: #171310;
    --on-surface: #f6efe0;
    --lex-adjective: #c22f1e;
    --lex-noun: #0b6b6b;
    --lex-verb: #d9a304;
    --lex-setting: #6b6355;
    --lex-style: #1a1814;
    --font-display: 'Zilla Slab', 'Rockwell', serif;
    --font-body: system-ui, -apple-system, sans-serif;
    --font-mono: ui-monospace, 'JetBrains Mono', monospace;
    --text-display-size: 3.75rem;
    --text-body-size: 1rem;
    --text-receipt-size: 0.75rem;
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 16px;
    --space-4: 24px;
    --space-5: 40px;
    --space-6: 64px;
    --space-7: 104px;
    --shadow-button: 4px 4px 0;
    --shadow-stamp: 6px 6px 0;
  }

/* display voice A/B — swaps --font-display only; every consumer follows */
  [data-voice="slab"] {
    --font-display: 'Zilla Slab', 'Rockwell', serif;
  }
  [data-voice="grotesk"] {
    --font-display: 'Archivo Black', system-ui, sans-serif;
  }
