/* Hallmark · tokens — ΔH2O research briefs · theme: Almanac
 * axes: paper=light-cool · display=roman-serif · accent=cool(ink-blue)
 * A reference-book register: light cool paper, hairline rules, tabular figures,
 * mono reserved for the data voice. Built for dense, chart-heavy reading.
 */
:root {
  /* ---- type ---- */
  --font-display: "Newsreader", ui-serif, Georgia, serif;
  --font-body:    "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;
  --font-mono:    "IBM Plex Mono", ui-monospace, Menlo, monospace;

  --text-2xs:     0.75rem;
  --text-xs:      0.8125rem;
  --text-sm:      0.875rem;
  --text-md:      1.0625rem;
  --text-lg:      1.1875rem;
  --text-xl:      1.4375rem;
  --text-2xl:     clamp(1.6rem, 2.4vw, 2.05rem);
  --text-3xl:     clamp(2rem, 3.2vw, 2.75rem);
  --text-display: clamp(2.5rem, 4.6vw + 0.4rem, 4.25rem);

  /* ---- colour (OKLCH · cool-tinted, never pure black or white) ---- */
  --c-paper:      oklch(0.972 0.006 230);
  --c-paper-2:    oklch(0.945 0.006 230);
  --c-paper-3:    oklch(0.912 0.008 232);
  --c-ink:        oklch(0.25 0.021 245);
  --c-ink-2:      oklch(0.37 0.020 245);
  --c-ink-3:      oklch(0.45 0.018 245);
  --c-rule:       oklch(0.855 0.010 235);
  --c-rule-2:     oklch(0.915 0.007 235);
  --c-accent:     oklch(0.45 0.130 248);
  --c-accent-ink: oklch(0.975 0.006 230);
  --c-accent-soft: oklch(0.45 0.130 248 / 0.10);
  --c-focus:      oklch(0.55 0.16 248);

  /* ---- data palette (chart + map series; content, not brand) ---- */
  --c-data-base:  oklch(0.58 0.022 245);
  --c-data-pipe:  oklch(0.50 0.13 248);
  --c-data-truck: oklch(0.60 0.11 62);
  --c-data-pos:   oklch(0.52 0.10 165);
  --c-data-neg:   oklch(0.55 0.15 28);
  --c-grid:       oklch(0.25 0.021 245 / 0.10);

  /* ---- space · 4-pt scale ---- */
  --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: 4.5rem;  --space-3xl: 7rem;

  /* ---- motion ---- */
  --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-short:   180ms;
  --dur-mid:     420ms;

  /* ---- misc ---- */
  --rule-hair:    1px;
  --radius-input: 4px;
  --radius-pill:  999px;
  --page-gutter:  clamp(1.25rem, 4vw, 3rem);
  --rail:         3.25rem;
  --measure:      64ch;
  --max:          72rem;
}
