/* Steady Hare design tokens. Generated from brand.json by build-assets.mjs; do not edit by hand. */
:root {
  --sh-terracotta: #B5542D;
  --sh-terracotta-light: #E07A4F;
  --sh-terracotta-deep: #8F3F20;
  --sh-terracotta-hover-dark: #EE9068;
  --sh-cream: #FAF7F2;
  --sh-white: #FFFFFF;
  --sh-ink: #22201C;
  --sh-stone: #6B655C;
  --sh-sand: #E6E0D6;
  --sh-night: #171512;
  --sh-night-surface: #211E1A;
  --sh-cream-dark: #EFE9DF;
  --sh-stone-dark: #A69E92;
  --sh-sand-dark: #35302A;
  --sh-moss: #3F7D5A;
  --sh-moss-light: #6FB08B;
  --sh-amber: #C9931F;
  --sh-amber-light: #E3B24A;
  --sh-slate: #4A6B8A;
  --sh-slate-light: #8FB0CC;
  --sh-danger: #9E2B2B;
  --sh-danger-light: #EE8A80;

  /* Semantic, light */
  --bg: var(--sh-cream);
  --surface: var(--sh-white);
  --text: var(--sh-ink);
  --muted: var(--sh-stone);
  --line: var(--sh-sand);
  --boundary: var(--sh-stone);
  --accent: var(--sh-terracotta);
  --accent-hover: var(--sh-terracotta-deep);
  --accent-ink: var(--sh-cream);
  --accent-text-small: var(--sh-terracotta-deep);
  --state-ahead: var(--sh-moss);
  --state-on-track: var(--sh-moss);
  --state-slipping: var(--sh-amber);
  --state-behind: var(--sh-slate);
  --on-state-ahead: var(--sh-cream);
  --on-state-on-track: var(--sh-cream);
  --on-state-slipping: var(--sh-ink);
  --on-state-behind: var(--sh-cream);
  --success: var(--sh-moss);
  --warning-fill: var(--sh-amber);
  --on-warning: var(--sh-ink);
  --info: var(--sh-slate);
  --error: var(--sh-danger);
  --danger: var(--sh-danger);
  --danger-ink: var(--sh-white);
  --disabled: var(--sh-stone);
  --focus: var(--sh-terracotta);

  /* Type */
  --font-display: Fraunces, 'Iowan Old Style', 'Palatino Linotype', Georgia, serif;
  --font-ui: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --text-body: 1.0625rem; --leading-body: 1.6;
  --h1: clamp(2rem, 5.5vw, 3.1rem); --h2: 2rem; --h3: 1.35rem; --caption: 0.95rem;

  /* Space, shape, targets, motion, focus */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --radius-s: 8px; --radius-m: 12px; --radius-l: 16px; --radius-full: 999px;
  --tap-min-web: 44px; --tap-floor: 24px; /* Android 48dp with 8dp spacing; iOS 44pt */
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --dur-short: 150ms; --dur-medium: 300ms;
  --focus-ring: 2px; --focus-gap: 2px;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: var(--sh-night);
    --surface: var(--sh-night-surface);
    --text: var(--sh-cream-dark);
    --muted: var(--sh-stone-dark);
    --line: var(--sh-sand-dark);
    --boundary: var(--sh-stone-dark);
    --accent: var(--sh-terracotta-light);
    --accent-hover: var(--sh-terracotta-hover-dark);
    --accent-ink: var(--sh-night);
    --accent-text-small: var(--sh-cream-dark);
    --state-ahead: var(--sh-moss-light);
    --state-on-track: var(--sh-moss-light);
    --state-slipping: var(--sh-amber-light);
    --state-behind: var(--sh-slate-light);
    --on-state-ahead: var(--sh-night);
    --on-state-on-track: var(--sh-night);
    --on-state-slipping: var(--sh-night);
    --on-state-behind: var(--sh-night);
    --success: var(--sh-moss-light);
    --warning-fill: var(--sh-amber-light);
    --on-warning: var(--sh-night);
    --info: var(--sh-slate-light);
    --error: var(--sh-danger-light);
    --danger: var(--sh-danger-light);
    --danger-ink: var(--sh-night);
    --disabled: var(--sh-stone-dark);
    --focus: var(--sh-terracotta-light);
  }
}
:root[data-theme="dark"] {
  --bg: var(--sh-night);
  --surface: var(--sh-night-surface);
  --text: var(--sh-cream-dark);
  --muted: var(--sh-stone-dark);
  --line: var(--sh-sand-dark);
  --boundary: var(--sh-stone-dark);
  --accent: var(--sh-terracotta-light);
  --accent-hover: var(--sh-terracotta-hover-dark);
  --accent-ink: var(--sh-night);
  --accent-text-small: var(--sh-cream-dark);
  --state-ahead: var(--sh-moss-light);
  --state-on-track: var(--sh-moss-light);
  --state-slipping: var(--sh-amber-light);
  --state-behind: var(--sh-slate-light);
  --on-state-ahead: var(--sh-night);
  --on-state-on-track: var(--sh-night);
  --on-state-slipping: var(--sh-night);
  --on-state-behind: var(--sh-night);
  --success: var(--sh-moss-light);
  --warning-fill: var(--sh-amber-light);
  --on-warning: var(--sh-night);
  --info: var(--sh-slate-light);
  --error: var(--sh-danger-light);
  --danger: var(--sh-danger-light);
  --danger-ink: var(--sh-night);
  --disabled: var(--sh-stone-dark);
  --focus: var(--sh-terracotta-light);
}
