:root {
  /* primitives */
  --bg: oklch(8% 0.01 260);
  --bg-2: oklch(12% 0.012 260);
  --fg: oklch(88% 0.01 95);
  --muted: oklch(60% 0.012 95);
  --line: oklch(94% 0.012 95 / 14%);
  --line-strong: oklch(94% 0.012 95 / 32%);
  --accent: oklch(72% 0.13 195);                  /* TrustLayer = teal */
  --accent-complement: oklch(78% 0.11 305);
  --on-accent: oklch(15% 0.01 95);
  --red: oklch(63% 0.21 25);
  --verify-pass: oklch(72% 0.18 150);
  --verify-skip: oklch(75% 0.12 80);
  --verify-fail: oklch(63% 0.21 25);
  --verify-warn: oklch(75% 0.12 80);

  /* typography (lifted from vouch, no edits) */
  --font-display: 'Space Grotesk', system-ui, sans-serif;
  --font-body: 'Inter', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, monospace;
  --font-ui: var(--font-body);

  /* type scale + spacing + radii + motion (lifted from vouch) */
  --text-xs: 12px; --text-sm: 14px; --text-base: 16px; --text-md: 18px; --text-lg: 20px;
  --text-xl: clamp(22px, 3vw, 32px); --text-2xl: clamp(24px, 3.4vw, 36px);
  --text-3xl: clamp(32px, 5vw, 56px); --text-display-s: clamp(36px, 5.4vw, 60px);
  --text-display: clamp(40px, 6.4vw, 80px); --text-display-l: clamp(48px, 7.2vw, 96px);
  --space-2xs: 4px; --space-xs: 8px; --space-sm: 12px; --space-md: 16px; --space-lg: 24px;
  --space-xl: 32px; --space-2xl: 40px; --space-3xl: 56px; --space-4xl: 72px; --space-5xl: 96px; --space-6xl: 128px;
  --radius-sm: 2px; --radius-md: 6px; --radius-lg: 10px; --radius-pill: 999px;
  --dur-instant: 80ms; --dur-fast: 160ms; --dur: 220ms; --dur-slow: 480ms;
  --dur-rise: 780ms; --dur-stagger: 75ms;
  --motion-curve-signature: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-out: var(--motion-curve-signature);
  --maxw: 1240px; --maxw-prose: 980px;
}