/* Shared R2C design tokens. Self-hosted; no build step. */
:root {
  color-scheme: light;

  --color-paper:   oklch(97%  0.008 85);
  --color-paper-2: oklch(94%  0.010 85);
  --color-rule:    oklch(84%  0.010 85);
  --color-neutral: oklch(50%  0.010 80);
  --color-muted:   oklch(38%  0.010 80);
  --color-ink:     oklch(20%  0.012 70);
  --color-accent:  oklch(44%  0.085 160);
  --color-accent-strong: oklch(34% 0.075 160);
  --color-focus:   oklch(48%  0.120 160);

  --font-display: "Source Serif 4", "Iowan Old Style", "Palatino Linotype", serif;
  --font-body:    "Geist", ui-sans-serif, "Segoe UI", sans-serif;

  /* Perfect fourth (1.333) from a 17px body */
  --text-sm:   0.875rem;
  --text-base: 1.0625rem;
  --text-md:   1.25rem;
  --text-lg:   clamp(1.5rem, 1.2rem + 1.2vw, 1.875rem);
  --text-xl:   clamp(2rem, 1.4rem + 2.2vw, 3rem);
  --text-display: clamp(2.5rem, 2rem + 2.5vw, 4rem);

  /* 4pt spacing scale */
  --space-2xs: 0.25rem;
  --space-xs:  0.5rem;
  --space-sm:  0.75rem;
  --space-md:  1rem;
  --space-lg:  1.5rem;
  --space-xl:  2rem;
  --space-2xl: 3rem;
  --space-3xl: clamp(4rem, 9vw, 7.5rem);

  --gutter:  clamp(1.5rem, 5vw, 3rem);
  --measure: 68ch;
  --page-max: 76rem;

  --rule-hair: 1px solid var(--color-rule);
  --rule-ink:  1px solid var(--color-ink);
  --radius-sm: 2px;

  --ease-out:    cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in:     cubic-bezier(0.55, 0, 1, 0.45);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 140ms;
}
