/* Single source of design token values (docs/design/design-language.md §2, §4.2). */
:root {
  --blue: #0071e3;
  --blue-bright: color-mix(in srgb, var(--blue) 85%, white);
  --blue-dim: color-mix(in srgb, var(--blue) 85%, black);
  --blue-glow: color-mix(in srgb, var(--blue) 15%, transparent);
  --blue-ghost: color-mix(in srgb, var(--blue) 6%, transparent);
  --surface: #ffffff;
  --surface-soft: #f5f5f7;
  --line: #e5e5ea;
  --hairline: #d2d2d7;
  --ink: #1d1d1f;
  --text: #424245;
  --muted: #6e6e73;
  --subtle: #86868b;
  --placeholder: #a1a1a6;
  --amber: #f5a623;
  --success: #22c55e;
  --warning: #f59e0b;
  --error: #ef4444;
  --error-text: #c81e1e;

  --font: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Inter', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-2xl: 1.5rem;
  --text-3xl: 2rem;
  --leading-snug: 1.2;
  --leading-normal: 1.5;

  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;
  --radius-2xl: 1.25rem;
  --radius-full: 9999px;
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 12px 40px rgba(0, 0, 0, 0.1);
  --tap-min: 44px;
  --tap-glove: 56px;

  --dur-micro: 120ms;
  --dur-std: 240ms;
  --dur-page: 320ms;
  --dur-travel: 900ms;
  --stagger: 45ms;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in: cubic-bezier(0.4, 0, 1, 1);
  --ease-spring: cubic-bezier(0.34, 1.8, 0.5, 1);
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --dur-micro: 0ms;
    --dur-std: 0ms;
    --dur-page: 0ms;
    --dur-travel: 0ms;
    --stagger: 0ms;
  }
}
