:root {
  --color-paper: oklch(96.8% 0.012 248);
  --color-paper-raised: oklch(98.2% 0.008 248);
  --color-paper-warm: oklch(95.4% 0.025 69);
  --color-ink: oklch(20.5% 0.025 252);
  --color-ink-soft: oklch(39% 0.028 252);
  --color-ink-muted: oklch(44% 0.024 252);
  --color-rule: oklch(67% 0.035 248);
  --color-rule-strong: oklch(30% 0.03 252);
  --color-verdigris: oklch(44% 0.105 171);
  --color-verdigris-deep: oklch(31% 0.078 171);
  --color-cyan: oklch(75% 0.145 194);
  --color-cyan-deep: oklch(44% 0.102 194);
  --color-success: oklch(49% 0.13 153);
  --color-error: oklch(49% 0.18 28);
  --color-success-on-dark: oklch(74% 0.14 153);
  --color-error-on-dark: oklch(76% 0.14 28);
  --color-focus-light: oklch(31% 0.078 171);
  --color-focus-dark: oklch(75% 0.145 194);
  --color-disabled: oklch(79% 0.018 248);

  --font-display: "Space Grotesk", "Avenir Next", sans-serif;
  --font-body: "IBM Plex Sans", "Helvetica Neue", sans-serif;
  --font-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;

  --space-3xs: 0.25rem;
  --space-2xs: 0.5rem;
  --space-xs: 0.75rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-lg: 2rem;
  --space-xl: 3rem;
  --space-2xl: 4rem;
  --space-3xl: 6rem;
  --space-4xl: 8rem;
  --card-padding: 1.25rem; /* 20px content inset for bordered panels */

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-md: 1.125rem;
  --text-lg: 1.375rem;
  --text-xl: 1.75rem;
  --text-2xl: 2.25rem;
  --text-3xl: 3rem;
  --text-display-s: clamp(3rem, 8vw, 6.5rem);
  --text-display: clamp(3.5rem, 10vw, 8rem);

  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in: cubic-bezier(0.7, 0, 0.84, 0);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 120ms;
  --dur-base: 220ms;
  --dur-slow: 420ms;

  --rule-hair: 1px;
  --rule-strong: 2px;
  --radius-none: 0;
  --radius-sm: 0.25rem;
  --radius-pill: 999px;
  /* Stepped, on the 4px spacing scale (was a fluid clamp): 16 / 24 / 48. */
  --page-gutter: 1rem;
  --page-max: 100rem;
}

@media (min-width: 30rem) {
  :root { --page-gutter: 1.5rem; }
}

@media (min-width: 64rem) {
  :root { --page-gutter: 3rem; }
}
