:root {
  /* Families. Display: Montserrat (brand mandate; substitutes book's Apparat-Black).
     Body: Work Sans (substitutes book's Aktiv Grotesk Light).
     Mono: JetBrains Mono — console data face (timestamps, coordinates, FRP,
     IDs). Loaded in fonts.css. */
  --font-display: 'Montserrat', 'Helvetica Neue', Arial, sans-serif;
  --font-body: 'Work Sans', 'Helvetica Neue', Arial, sans-serif;
  /* Console UI headings use the body face at 600/700 — Montserrat stays
     reserved for the wordmark. Named token because console CSS consumes
     --font-heading directly. */
  --font-heading: var(--font-body);
  --font-mono: 'JetBrains Mono', 'SF Mono', Menlo, Consolas, monospace;

  /* Weights. Marketing body is a light 300; operational consoles use
     --weight-ui (400) — 300 is illegible at 11-13px dense UI sizes. */
  --weight-body: 300;
  --weight-ui: 400;
  --weight-body-strong: 500;
  --weight-display: 800;
  --weight-display-black: 900;

  /* Scale (print-book proportions: huge display, airy light body) */
  --text-2xs: 11px;         /* console tier: dense labels/meta — never smaller */
  --text-xs: 12px;
  --text-sm-console: 13px;  /* console tier: default dense-UI body size */
  --text-sm: 14px;
  --text-base: 16px;
  --text-lg: 19px;
  --text-xl: 24px;
  --text-2xl: 32px;
  --text-3xl: 44px;
  --text-4xl: 60px;
  --text-5xl: 84px;

  --leading-tight: 1.05;
  --leading-heading: 1.15;
  --leading-body: 1.6;

  /* Display type is set tight and often uppercase */
  --tracking-display: -0.01em;
  --tracking-caps: 0.14em;
  --tracking-wordmark: 0.02em;
}
