:root {
  /* ---- Color: Dark Systems ---- */
  --bg-primary: oklch(0.15 0.014 250);
  --bg-surface: oklch(0.19 0.016 250);
  --bg-elevated: oklch(0.23 0.018 250);
  --bg-inset: oklch(0.12 0.012 250);

  --text-primary: oklch(0.96 0.004 250);
  --text-secondary: oklch(0.72 0.02 250);
  --text-tertiary: oklch(0.52 0.02 250);
  --text-disabled: oklch(0.38 0.015 250);

  --accent: oklch(0.80 0.15 195);
  --accent-strong: oklch(0.86 0.13 195);
  --accent-muted: oklch(0.80 0.15 195 / 0.12);
  --accent-active: oklch(0.80 0.15 195 / 0.22);
  --accent-2: oklch(0.80 0.14 85);

  --border: oklch(0.96 0 0 / 0.09);
  --border-strong: oklch(0.96 0 0 / 0.16);

  /* ---- Typography ---- */
  --font-display: "Space Grotesk", "Inter", system-ui, sans-serif;
  --font-body: "Inter", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;

  --text-display: clamp(3.5rem, 5vw + 3rem, 9rem);
  --text-h1: clamp(2.5rem, 4vw + 1rem, 4.5rem);
  --text-h2: clamp(1.75rem, 2.5vw + 1rem, 3rem);
  --text-h3: clamp(1.25rem, 1vw + 0.75rem, 1.5rem);

  --text-body-lg: clamp(1.125rem, 0.5vw + 1rem, 1.375rem);
  --text-body: clamp(1rem, 0.3vw + 0.9rem, 1.125rem);
  --text-body-sm: clamp(0.875rem, 0.2vw + 0.8rem, 0.9375rem);

  --text-label: clamp(0.75rem, 0.2vw + 0.7rem, 0.8125rem);
  --text-overline: clamp(0.6875rem, 0.15vw + 0.65rem, 0.75rem);

  /* ---- Spacing ---- */
  --space-2xs: clamp(4px, 0.5vw, 6px);
  --space-xs: clamp(8px, 1vw, 12px);
  --space-sm: clamp(12px, 1.5vw, 16px);
  --space-md: clamp(16px, 2vw, 24px);
  --space-lg: clamp(24px, 3vw, 40px);
  --space-xl: clamp(40px, 5vw, 64px);
  --space-2xl: clamp(64px, 8vw, 120px);
  --space-3xl: clamp(96px, 12vw, 200px);

  /* ---- Layout ---- */
  --max-width: 1180px;
  --side-padding: clamp(20px, 5vw, 80px);
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 22px;

  /* ---- Motion ---- */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.76, 0, 0.24, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);

  --dur-micro: 150ms;
  --dur-sm: 250ms;
  --dur-md: 400ms;
  --dur-lg: 600ms;
}
