/* tokens.css — CSS design tokens for Free Browser Gaming.
 * GENERATED MIRROR of documentation/configuration.json -> brand.design_language.
 * configuration.json is THE single source of truth; this file is its CSS
 * projection (re-emitted by `studio.py scaffold` / `legal-pages` via
 * studio/common.py::design_tokens_css). Do NOT hand-edit hex values here —
 * change configuration.json and re-run the generator.
 *
 * Fonts (Leo owner roles, 2026-06-25):
 *   --font-ui       = system Arial stack -> the GAME canvas/UI
 *   --font-body     = Ubuntu-first stack -> body/labels/buttons/utility UI
 *   --font-title    = Lexend-first stack -> strong website titles/headings
 *   --font-subtitle = Advent Pro-first stack -> short subtitles/eyebrows
 * No Google Fonts link or preconnect; stacks fall back locally/system-first.
 */
:root {
  /* ── raw palette (named after configuration.json color names) ── */
  /* neutrals */
  --c-lotion: #faf9f5;  /* page background (lightest warm white) */
  --c-salt: #f0eee6;  /* surface / card background */
  --c-last-straw: #e3dacc;  /* border / divider / warm beige */
  --c-noir: #2c2b26;  /* secondary text + soft borders (warm dark gray) */
  --c-black-mana: #858585;  /* dark-mode borders / secondary lines */
  --c-sooty: #141414;  /* PRIMARY text / body ink (near-black) */
  --c-chocolate-pretzel: #5f524c;  /* structure ink — game-canvas frame + empty-slot borders + placeholder A/K/suit icons (warm brown-gray; chairman 2026-06-18). On light tables this is the unified structure color; on dark custom tables the in-canvas slots adaptively flip to a light ink for legibility while the outer CSS frame stays this color. */
  --c-argent: #888888;  /* neutral mid-gray — available family color (chairman 2026-06-18). NOT YET APPLIED to any element; offered as a palette/CSS-var option (e.g. a candidate empty-slot ink the chairman is still evaluating). Available via tokens.css var --c-argent / semantic alias --neutral-gray. */
  /* brand */
  --c-peachy-feeling: #d97757;  /* PRIMARY brand / CTA (Anthropic clay-coral) */
  --c-mellow-marrow: #ebc9b7;  /* primary tint / hover wash */
  /* accents */
  --c-magic-carpet: #827dbd;  /* accent purple */
  --c-windstorm: #6a9bcc;  /* accent blue */
  --c-emerald-oasis: #629887;  /* accent green */
  --c-moss-gardens: #788c5d;  /* project compatibility olive accent for existing game manifests */
  /* tints */
  --c-peek-a-blue: #c7dedc;  /* soft cyan tint (category/label bg) */
  --c-aquatic-edge: #bcd1ca;  /* soft green tint */
  --c-dust-of-the-moon: #cacadb;  /* soft blue-gray tint */
  --c-banana-republic: #ffe292;  /* soft yellow tint for decorative chips and gentle highlights */
  /* expansion_heavy */
  --c-blazing: #e94e41;  /* expansion heavy accent; use sparingly, not as primary chrome */
  --c-arancio: #ff7013;  /* expansion heavy accent; use sparingly, not as primary chrome */
  --c-banana-pepper: #fdd630;  /* expansion heavy accent; use sparingly, not as primary chrome */
  --c-argula: #75ad5b;  /* expansion heavy green accent */
  --c-blue-ocean: #52b4ca;  /* expansion heavy blue accent */
  --c-assassin: #2d4f83;  /* AA-safe dark link / strong accent on light surfaces */
  --c-amethyst: #9966cc;  /* expansion heavy purple accent */
  --c-baby-pink: #ffb7ce;  /* expansion heavy pink accent */
  --c-acorn: #7f5e50;  /* expansion warm brown accent */
  --c-aztec-temple: #84705b;  /* expansion muted brown accent */
  /* expansion_light */
  --c-ballet: #f7d5d4;  /* expansion light wash */
  --c-angry-pasta: #ffcc55;  /* expansion light yellow-orange wash */
  --c-banana-milk: #fff7ad;  /* expansion light yellow wash */
  --c-ambrosia: #c6e1bc;  /* expansion light green wash */
  --c-aqua-fiesta: #96e2e1;  /* expansion light cyan wash */
  --c-ariel: #aed7ea;  /* expansion light blue wash */
  --c-beefy-pink: #debeef;  /* expansion light purple wash */
  --c-bunny-tail: #ffe3f4;  /* expansion light pink wash */
  /* greys */
  --c-beluga: #eff2f1;  /* cool pale grey surface option */
  --c-big-fish-to-fry: #dadbe1;  /* cool grey divider / subdued fill */
  --c-argento: #cecac3;  /* warm grey divider / subdued fill */
  --c-black-olive: #3b3c36;  /* dark grey surface, never darker than Sooty for UI backgrounds */
  /* functional */
  --c-danger: #c0392b;  /* error / conflict / invalid-input signal — GAME-CANVAS ONLY (the one sanctioned red in an otherwise red-free warm palette). Used for Sudoku-style conflict highlights, invalid moves, etc. NOT a brand/UI color; do not use on portal chrome. tokens.css var --c-danger (chairman-sanctioned 2026-06-20). */
  --c-danger-wash: #f3d9d4;  /* soft red wash backing the danger signal (e.g. invalid-cell fill) — GAME-CANVAS ONLY, pairs with danger. tokens.css var --c-danger-wash (chairman-sanctioned 2026-06-20). */

  /* ── semantic aliases (use THESE in components, not raw --c-*) ── */
  --bg: var(--c-lotion, #faf9f5);            /* warm page bg — NEVER #fff */
  --surface: var(--c-salt, #f0eee6);           /* card / panel */
  --border: var(--c-last-straw, #e3dacc);  /* 1px borders/dividers */
  --border-dark: var(--c-black-mana, #858585); /* dark-mode borders / secondary lines */
  --border-cool: var(--c-dust-of-the-moon, #cacadb); /* alt cool border */
  --text: var(--c-sooty, #141414);            /* primary ink */
  --text-2: var(--c-noir, #2c2b26);            /* secondary text */
  --structure-ink: var(--c-chocolate-pretzel, #5f524c); /* game-canvas frame + empty-slot borders + placeholder icons (chairman 2026-06-18) */
  --neutral-gray: var(--c-argent, #888888); /* AVAILABLE family color, not yet applied to any element (chairman 2026-06-18) */
  --primary: var(--c-peachy-feeling, #d97757); /* brand / CTA */
  --primary-tint: var(--c-mellow-marrow, #ebc9b7); /* hover wash */
  --link: var(--c-assassin, #2d4f83);      /* AA-safe links on light surfaces */
  --strong-fill: var(--c-sooty, #141414);     /* strong button / dark chip fill */
  --strong-fill-hover: var(--c-noir, #2c2b26);
  --accent-purple: var(--c-magic-carpet, #827dbd);
  --accent-blue: var(--c-windstorm, #6a9bcc);
  --accent-green: var(--c-emerald-oasis, #629887);
  --accent-olive: var(--c-moss-gardens, #788c5d);
  --tint-cyan: var(--c-peek-a-blue, #c7dedc);
  --tint-green: var(--c-aquatic-edge, #bcd1ca);
  --tint-yellow: var(--c-banana-republic, #ffe292);
  --danger: var(--c-danger, #c0392b);          /* error/conflict/invalid signal — GAME-CANVAS only (the one sanctioned red) */
  --danger-wash: var(--c-danger-wash, #f3d9d4); /* soft red wash backing the danger signal — game-canvas only */

  /* ── fonts (Leo owner roles; local/system-first, no remote font loads) ── */
  /* in-game UI: system Arial stack (game canvas) */
  --font-ui: Arial, "Helvetica Neue", Helvetica, sans-serif;
  /* website body/labels/buttons/utility UI: Ubuntu-first stack */
  --font-body: "Leo Ubuntu", "Ubuntu", "Trebuchet MS", Tahoma, ui-sans-serif, system-ui, sans-serif;
  /* strong website titles/headings: Lexend-first stack */
  --font-title: "Leo Lexend", "Lexend", "Trebuchet MS", Tahoma, ui-sans-serif, system-ui, sans-serif;
  /* short subtitles/eyebrows: Advent Pro-first stack */
  --font-subtitle: "Leo Advent Pro", "Advent Pro", "Leo Ubuntu", "Ubuntu", sans-serif;
  --font-quote: "Leo Julius Sans One", "Leo Poiret One", "Julius Sans One", "Poiret One", sans-serif;
  --font-signature: "Leo Shadows Into Light", "Shadows Into Light", cursive;
  /* legacy compatibility alias used by existing templates/game shells */
  --font-head: "Leo Lexend", "Lexend", "Trebuchet MS", Tahoma, ui-sans-serif, system-ui, sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, monospace;

  /* ── css_principles tokens ── */
  --border-w: 1px;                 /* subtle 1px borders, NOT heavy drop-shadows */
  --radius: 12px;
  --lh-body: 1.65;                 /* body 1.6–1.7 for comfortable reading */
  --lh-ui: 1.4;
  --fw-light: 300;                 /* extreme-weight contrast: 300 light … */
  --fw-bold: 800;                  /* … vs 800 extra-bold (avoid muddy mid-weights) */
  --h1-tracking: -0.02em;          /* h1 letter-spacing */
  --shadow-soft: none;             /* design language: borders over shadows */
}
