:root {
  color-scheme: light dark;

  /* Type — system stack, zero network requests */
  --font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas,
    "Liberation Mono", monospace;

  /* Fluid type scale: min at 360px, max at 1200px */
  --step--1: clamp(0.83rem, 0.80rem + 0.15vw, 0.92rem);
  --step-0: clamp(1rem, 0.95rem + 0.25vw, 1.13rem);
  --step-1: clamp(1.25rem, 1.15rem + 0.5vw, 1.5rem);
  --step-2: clamp(1.65rem, 1.4rem + 1.2vw, 2.4rem);
  --step-3: clamp(2.2rem, 1.7rem + 2.4vw, 3.8rem);

  /* Spacing */
  --space-2xs: 0.375rem;
  --space-xs: 0.75rem;
  --space-s: 1.125rem;
  --space-m: 1.75rem;
  --space-l: 2.75rem;
  --space-xl: 4.5rem;
  --space-2xl: 7rem;

  /* Measure & container */
  --measure: 62ch;
  --container: 46rem;

  /* Light palette */
  --bg: #fcfcfa;
  --bg-subtle: #f2f2ee;
  --text: #16161a;
  --text-muted: #5c5c66;
  --border: #e2e2dc;
  --accent: #2f5fd8;
  --accent-contrast: #ffffff;

  --radius: 10px;
  --transition: 140ms ease;
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg: #101012;
    --bg-subtle: #191a1e;
    --text: #ececf0;
    --text-muted: #9a9aa4;
    --border: #2a2b31;
    --accent: #8aa8ff;
    --accent-contrast: #101012;
  }
}
