/* Design system: tokens. Change values here, not in components.
   Palette is deliberately four colours: paper, ink, one mid grey for
   hairlines, one signal accent. Soft text and dark-band variants are
   pre-mixed shades of those same four, not new hues. All pairs below
   are AA-checked; see site/README.md for the ratios. */
:root {
  /* Color: paper */
  --color-paper: #f3efe6;
  --color-paper-raised: #eae4d6;

  /* Color: ink */
  --color-ink: #17140f;
  --color-ink-soft: #625e58;

  /* Color: hairline grey */
  --color-hairline: #c7c3bb;
  --color-hairline-strong: #9f9c94;

  /* Color: signal accent (deep orange-red), live/active states only */
  --color-accent: #b23b14;
  --color-accent-dark: #8c2e0f;
  --color-on-accent: #f3efe6;

  /* Color: full-bleed dark ink band */
  --color-ink-900: #14110b;
  --color-paper-on-ink: #ede7d8;
  --color-paper-soft-on-ink: #bdb8ab;
  --color-hairline-on-ink: #6a6459;
  --color-hairline-on-ink-strong: #6f6b61;
  --color-connector-on-ink: #8a8272;
  --color-accent-on-ink: #e2612e;

  /* Type: IBM Plex, self-hosted. Serif for display, sans for body,
     mono for labels, timestamps and the diagram. */
  --font-display: "IBM Plex Serif", "Liberation Serif", Georgia, serif;
  --font-body: "IBM Plex Sans", "Liberation Sans", Arial, sans-serif;
  --font-mono: "IBM Plex Mono", "Liberation Mono", Menlo, Consolas, monospace;

  --text-2xs: 0.75rem;
  --text-xs: 0.8125rem;
  --text-sm: 0.9375rem;
  --text-base: 1.0625rem;
  --text-md: 1.25rem;
  --text-lg: 1.75rem;
  --text-xl: 2.5rem;
  --text-2xl: 3.25rem;
  --text-3xl: 4.25rem;

  --leading-tight: 1.1;
  --leading-snug: 1.3;
  --leading-normal: 1.6;

  --weight-light: 300;
  --weight-regular: 400;
  --weight-semibold: 600;

  /* Space scale (8px base) */
  --space-1: 0.5rem;
  --space-2: 0.75rem;
  --space-3: 1rem;
  --space-4: 1.5rem;
  --space-5: 2rem;
  --space-6: 3rem;
  --space-7: 4.5rem;
  --space-8: 6rem;
  --space-9: 8rem;

  /* Structure: asymmetric 12-column editorial grid with a left
     margin column reserved for section numbers and marginal notes */
  --radius-sm: 2px;
  --border-width: 1px;
  --content-width: 78rem;
  --measure: 38rem;
  --margin-col: 5.5rem;

  /* Motion: three moments only (transcript typing, diagram lines
     drawing, diagram highlight). Everything else is instant. */
  --duration-fast: 120ms;
  --duration-base: 220ms;
  --duration-slow: 700ms;
  --ease: cubic-bezier(0.4, 0, 0.2, 1);

  --focus-ring: 2px solid var(--color-accent);
  --focus-offset: 3px;
}
