/*
 * R2 semantic token contract
 * Canonical values use OkLCh. Legacy HSL channels are provided in
 * companion variables for mixed-generation consumers.
 */

:root {
  /* Canonical OkLCh roles */
  --surface-ground: oklch(0.18 0.02 250);
  --surface-plate: oklch(0.94 0.02 80);
  --surface-card: oklch(0.98 0.005 80);
  --ink-primary: oklch(0.18 0.02 250);
  --ink-muted: oklch(0.45 0.01 80);
  --ink-inverse: oklch(0.94 0.02 80);
  --accent-primary: oklch(0.55 0.16 40);
  --accent-mark: oklch(0.74 0.14 70);
  --status-verified: oklch(0.55 0.16 40);
  --status-tentative: oklch(0.74 0.14 70);
  --status-unverified: oklch(0.45 0.01 80);
  --status-error: oklch(0.55 0.2 25);
  --border-hairline: oklch(0.88 0.01 80);
  --focus-ring: oklch(0.55 0.16 40 / 0.6);

  /* Legacy HSL channels (space-separated channels for hsl(var())) */
  --surface-ground-hsl: 220 40% 9%;
  --surface-plate-hsl: 40 40% 90%;
  --surface-card-hsl: 40 20% 96%;
  --ink-primary-hsl: 220 40% 9%;
  --ink-muted-hsl: 40 8% 42%;
  --ink-inverse-hsl: 40 40% 90%;
  --accent-primary-hsl: 18 56% 44%;
  --accent-mark-hsl: 40 60% 56%;
  --status-verified-hsl: 18 56% 44%;
  --status-tentative-hsl: 40 60% 56%;
  --status-unverified-hsl: 40 8% 42%;
  --status-error-hsl: 8 58% 44%;
  --border-hairline-hsl: 40 8% 82%;
  --focus-ring-hsl: 18 56% 44%;

  /* Shared semantic extension tokens used across apps */
  --status-success: var(--status-verified);
  --status-success-foreground: var(--ink-inverse);
  --status-warning: var(--status-tentative);
  --status-warning-foreground: var(--ink-primary);
  --status-danger: var(--status-error);
  --status-danger-foreground: var(--ink-inverse);
  --status-info: oklch(0.52 0.1 245);
  --status-info-foreground: var(--ink-inverse);

  --surface-elevated: var(--surface-card);
  --surface-inset: oklch(0.9 0.01 80);
  --surface-glass: oklch(0.94 0.02 80 / 0.72);

  --chart-1: oklch(0.55 0.16 40);
  --chart-2: oklch(0.74 0.14 70);
  --chart-3: oklch(0.5 0.08 250);
  --chart-4: oklch(0.68 0.1 140);
  --chart-5: oklch(0.6 0.11 300);

  --font-display: "IBM Plex Serif", Georgia, serif;
  --font-body: "IBM Plex Serif", Georgia, serif;
  --font-ui: "IBM Plex Sans", -apple-system, system-ui, sans-serif;
  --font-label: "IBM Plex Sans", -apple-system, system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, monospace;
  --font-caption: "IBM Plex Sans", -apple-system, system-ui, sans-serif;
}
