/* Design tokens: the single source for palette, spacing, and type scale (research.md
   §8-9, Constitution VI). Palette names match the constitution. Per-track application
   lives in tracks.css; components are authored against role tokens, never raw colours. */

:root {
  /* Palette */
  --color-hanseatic-red: #a6192e;
  --color-warm-white: #faf6f1;
  --color-slate-navy: #22303f;
  --color-charcoal: #3a3a3a;
  --color-terracotta: #c97b5a;
  --color-harbor-blue: #7a93a0;
  --color-sand: #e8dcc8;
  --color-white: #fff;

  /* Derived neutrals */
  --color-hairline: #e2d9cc;
  --color-red-deep: #7f1222;

  /* Default (shared) role tokens; tracks.css overrides per data-track */
  --accent: var(--color-hanseatic-red);
  --accent-strong: var(--color-red-deep);
  --section-tint: var(--color-warm-white);
  --link: var(--color-red-deep);
  --link-hover: var(--color-slate-navy);
  --page-bg: var(--color-warm-white);
  --text: var(--color-charcoal);
  --heading: var(--color-slate-navy);

  /* Typography */
  --font-heading: "Iowan Old Style", "Palatino Linotype", palatino, georgia,
    "Times New Roman", serif;
  --font-body: system-ui, -apple-system, "Segoe UI", roboto, helvetica, arial,
    sans-serif;

  --text-xs: 0.79rem;
  --text-sm: 0.889rem;
  --text-base: 1rem;
  --text-md: 1.125rem;
  --text-lg: 1.333rem;
  --text-xl: 1.777rem;
  --text-2xl: 2.369rem;
  --text-3xl: 3.157rem;

  --leading-tight: 1.2;
  --leading-normal: 1.6;

  /* Spacing scale */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-8: 3rem;
  --space-10: 4rem;
  --space-12: 6rem;

  /* Layout */
  --measure: 68ch;
  --container: 72rem;
  --radius: 4px;
  --focus-ring: 3px solid var(--color-slate-navy);
}
