/*
 * GENERATED by scripts/build-tokens.mjs — edit system/system.json or skins/<name>/skin.json
 * System tokens 0.5.0: identical under every skin. Needs a skin (skins/<name>/skin.css) for colour and fonts.
 */
:root {
  /* ── Type: scale. Base 18px, ratio 1.25 (major third) ── */
  --step--2: 0.75rem; /* 12px   labels */
  --step--1: 0.9rem; /* 14.4px small print, captions, UI */
  --step-0: 1.125rem; /* 18px   body */
  --step-1: 1.406rem; /* 22.5px lead, h3 */
  --step-2: 1.758rem; /* 28px   h2 small, quote */
  --step-3: 2.197rem; /* 35px   h2 */
  --step-4: 2.747rem; /* 44px   page title */
  --step-5: 3.433rem; /* 55px   display */
  --step-6: 4.292rem; /* 69px   display, wide screens only */

  /* ── Type: weights (the only three allowed; 700 and above are not part of the identity) ── */
  --w-regular: 400; /* everything by default */
  --w-medium: 500; /* serif titles and h3; mono emphasis */
  --w-semibold: 600; /* sans only: UI labels, run-in heads, table heads */

  /* ── Type: leading and tracking ── */
  --lh-display: 1.05;
  --lh-title: 1.1; /* page title (h1) */
  --lh-heading: 1.15;
  --lh-subhead: 1.25; /* h3 */
  --lh-lead: 1.4;
  --lh-body: 1.6;
  --lh-ui: 1.3;
  --ls-display: -0.015em; /* display family at step-3 and above */
  --ls-normal: 0;
  --ls-label: 0.16em; /* uppercase mono only */

  /* ── Measure and layout ── */
  --measure: 38rem; /* ~68 characters at body size: the text column */
  --measure-narrow: 28rem; /* leads beside art, captions */
  --col-margin: 13rem; /* sidenotes, margin figures */
  --col-gap: 2.5rem;
  --page-max: 78rem;
  --gutter: clamp(1.25rem, 0.5rem + 3.5vw, 3rem);

  /* ── Space: one scale (rem). Vertical rhythm unit = 1.6rem ── */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.6rem; /* one rhythm unit */
  --space-6: 2.4rem;
  --space-7: 3.2rem; /* two units */
  --space-8: 4.8rem; /* three units */
  --space-9: 8rem; /* five units */
  --space-section: clamp(4.8rem, 2.5rem + 8vw, 9.6rem);

  /* ── Line: strokes, dots, dash, hairline borders (colours come from the skin) ── */
  --stroke-hair: 0.75px; /* construction geometry, gridlines, leaders */
  --stroke-line: 1.5px; /* primary strokes in figures and the mark */
  --stroke-bold: 2.25px; /* the one emphasised series */
  --dot-anchor: 3px; /* radius of an anchor dot */
  --dot-gold: 4.5px; /* radius of the single point of light */
  --dash-construction: 2 5; /* dasharray for construction circles */
  --border: 1px solid var(--rule);
  --border-strong: 1px solid var(--ink);

  /* ── Motion: no overshoot, no bounce, nothing loops ── */
  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --dur-quick: 140ms; /* hover, press, focus */
  --dur-move: 620ms; /* an object changes place or state in a figure */
  --dur-draw: 2400ms; /* a line draws itself, once */
  --dur-step: 3800ms; /* dwell on one step of an automatic tour */
  --dur-caption: 2000ms; /* least interval between two live captions while an instrument plays (M-11) */
  --stagger: 260ms; /* between siblings entering in sequence */

  /* ── Component measures: shared by the component kit, the same under every skin ── */
  --c-target: 2.75rem; /* 44px minimum touch target (A-4) */
  --c-target-dense: 1.5rem; /* 24px inline row action in a dense table or matrix, fine pointers only (A-4, WCAG 2.5.8) */
  --c-lift: -1px; /* hover lift of a control (K-3) */
  --c-sink: 2px; /* press travel of a control (K-3) */
  --c-nudge: 3px; /* arrow shift on hover (4.3) */
  --c-mark-rule: 2px; /* selected underline, left rules, the loading rule (K-7) */
  --c-field-pad: 0.6rem var(--space-3); /* form input padding (4.3) */
  --c-term: 10rem; /* term column of definition rows (4.3) */
  --c-figure-max: 44rem; /* a figure may run a little wider than the measure */

  /* ── Mathematics: optical corrections inside the math-font exception (docs 3.1, 10) ── */
  --math-size-sans: 1.05em; /* math inside the text family: body, captions, tables, h4 */
  --math-size-serif: 0.97em; /* math inside the display family: reading body, leads, quotes, headings */
  --math-size-sub: 0.7em; /* the upright subscript of a .math-symbol */
}
