/* Rally49 design tokens. Primitives first; components and pages consume the semantic roles. */
:root {
  /* Violet ramp, darkest to lightest, hue 295. */
  --color-1: oklch(0.183 0.027 295);
  --color-2: oklch(0.214 0.038 295);
  --color-3: oklch(0.279 0.075 295);
  --color-4: oklch(0.33 0.105 295);
  --color-5: oklch(0.376 0.129 295);
  --color-6: oklch(0.427 0.151 295);
  --color-7: oklch(0.495 0.172 295);
  --color-8: oklch(0.581 0.192 295);
  --color-9: oklch(0.637 0.185 295);
  --color-10: oklch(0.69 0.174 295);
  --color-11: oklch(0.853 0.107 295);
  --color-12: oklch(0.924 0.063 295);

  /* Surfaces */
  --color-page: #f2f2f2;
  --color-surface: #fff;
  --color-inverse: var(--color-1);

  /* Text */
  --color-ink: var(--color-1);
  --color-ink-muted: #586268;
  --color-ink-disabled: color-mix(in oklch, var(--color-1) 35%, transparent);
  --color-on-dark: #fff;
  --color-on-dark-muted: var(--color-11);

  /* Lines */
  --color-line: #d6d6d6;
  --color-line-soft: #e4e8e8;

  /* Primary action, selection and focus */
  --color-primary: var(--color-5);
  --color-primary-hover: var(--color-4);
  --color-on-primary: var(--color-12);
  --color-primary-tint: var(--color-12);
  --color-primary-hint: color-mix(in oklch, var(--color-7) 55%, transparent);
  --color-focus: var(--color-7);
  --color-focus-on-dark: var(--color-11);
  --color-selection: var(--color-11);

  /* Typography */
  --font-sans: Arial, Helvetica, sans-serif;
  --font-display: 'Arial Black', Arial, sans-serif;
  --text-label: 14px;
  --text-body: 16px;
  --text-lead: 18px;
  --text-title: 20px;
  --text-numeral: 32px;
  --text-section: clamp(52px, 7vw, 106px);
  --tracking-tight: -.025em;
  --tracking-caps: .1em;

  /* Shape */
  --radius-sm: 12px;
  --radius-md: 20px;
  --radius-lg: 28px;

  /* Space */
  --space-xs: 8px;
  --space-sm: 12px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --gutter: clamp(14px, 3vw, 48px);

  /* Controls */
  --control-height: 44px;
  --control-height-lg: 50px;
  --focus-ring: 3px;

  /* Motion */
  --duration-fast: .15s;
  --duration-base: .2s;
}
