/* Design tokens — Open for Business
   Warm neutrals (cream, walnut, terracotta) with one clear accent (deep teal)
   for anything actionable. Every text/background pair here meets 4.5:1. */
:root {
  /* Surfaces */
  --bg: #f3ebde;
  --bg-deep: #eadfcd;
  --paper: #fffbf4;
  --paper-2: #fbf5ea;
  --paper-3: #f6eee0;
  --line: #e4d5bf;
  --line-strong: #d3bf9f;

  /* Wood (HUD, splash) */
  --walnut-900: #1f140c;
  --walnut-800: #2c1d12;
  --walnut-700: #3b2819;
  --walnut-600: #4e3522;
  --walnut-400: #8a6848;
  --cream: #f7eedf;
  --cream-dim: #d9c7ad;

  /* Ink */
  --ink: #2a1c12;
  --ink-2: #57432f;
  --ink-3: #74604c;
  --ink-inverse: #fffbf4;

  /* The one accent: actionable UI */
  --accent: #15646e;
  --accent-hover: #0f4f57;
  --accent-press: #0b3f45;
  --accent-soft: #dcebe9;
  --accent-softer: #edf5f3;
  --accent-ink: #0d4a52;

  /* Semantic (always paired with sign/icon/label — never color alone) */
  --pos: #11646d;
  --pos-soft: #e1efec;
  --neg: #a8431f;
  --neg-soft: #f7e4da;
  --warn: #8a5a08;
  --warn-soft: #fbefd2;
  --gold: #a87511;
  --gold-soft: #f8ecd0;

  /* Terracotta decor */
  --terracotta: #b8583a;
  --terracotta-soft: #f3dccf;

  /* Chart & archetype palette (validated for CVD separation on light surfaces) */
  --series-1: #00879c;
  --series-2: #d69a1c;
  --series-3: #7b4fb0;
  --series-4: #cc5234;
  --series-5: #3569c9;
  --grid: #eadcc7;

  /* Type */
  --font-sans: ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-serif: 'Iowan Old Style', 'Palatino Linotype', Palatino, 'Book Antiqua', Georgia, 'Times New Roman', serif;
  --font-mono: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
  /* Handwritten script for the title. System fonts only: macOS/iOS, Windows, then Android's Dancing Script via `cursive`. */
  --font-script: 'Snell Roundhand', 'Segoe Script', 'Brush Script MT', 'Apple Chancery', cursive;
  --fs-xs: 0.75rem;
  --fs-sm: 0.8125rem;
  --fs-md: 0.9375rem;
  --fs-base: 1rem;
  --fs-lg: 1.125rem;
  --fs-xl: 1.375rem;
  --fs-2xl: 1.75rem;
  --fs-3xl: 2.25rem;
  --fs-hero: clamp(2.5rem, 6vw, 4rem);

  /* Space */
  --s-1: 4px;
  --s-2: 8px;
  --s-3: 12px;
  --s-4: 16px;
  --s-5: 20px;
  --s-6: 24px;
  --s-8: 32px;
  --s-10: 40px;
  --s-12: 48px;

  /* Shape */
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 14px;
  --r-xl: 20px;
  --r-pill: 999px;

  --shadow-sm: 0 1px 0 rgba(58, 38, 24, 0.06), 0 1px 2px rgba(58, 38, 24, 0.06);
  --shadow-md: 0 1px 0 rgba(58, 38, 24, 0.05), 0 4px 14px -4px rgba(58, 38, 24, 0.16);
  --shadow-lg: 0 2px 0 rgba(58, 38, 24, 0.04), 0 18px 40px -12px rgba(40, 24, 12, 0.35);
  --ring: 0 0 0 3px rgba(21, 100, 110, 0.35);

  --ease: cubic-bezier(0.2, 0.7, 0.2, 1);
  --dur: 180ms;

  --hud-h: 64px;
}

@media (prefers-reduced-motion: reduce) {
  :root { --dur: 0ms; }
}
:root.reduce-motion { --dur: 0ms; }
