:root{
  --font-ui:"Schibsted Grotesk",sans-serif;
  --font-prose:"Source Serif 4",serif;          /* continuous analysis only, 2+ sentences */
  --font-data:"IBM Plex Mono",monospace;

  --text-12:12px; --text-13:13px; --text-14:14px; --text-16:16px;
  --text-20:20px; --text-24:24px; --text-32:32px;

  --lh-body:1.5; /* @kind font */
  --lh-heading:1.2; /* @kind font */
  --weight-regular:400; --weight-medium:500; --weight-semibold:600; --weight-bold:700;
  /* v0.5 §11: the wordmark is SVG artwork (outlined Playfair Display 800), not live text —
     there is no wordmark type token. Playfair is never loaded as a text typeface. */

  /* Semantic aliases */
  --type-body:var(--weight-regular) var(--text-14)/var(--lh-body) var(--font-ui);
  --type-label:var(--weight-medium) var(--text-12)/var(--lh-body) var(--font-ui);
  --type-heading:var(--weight-bold) var(--text-20)/var(--lh-heading) var(--font-ui);
  --type-verdict:var(--weight-semibold) var(--text-14)/1 var(--font-ui);
  --type-score-inline:var(--weight-medium) var(--text-14)/1 var(--font-data);
  --type-score-hero:var(--weight-medium) var(--text-32)/1 var(--font-data);
  /* Score tracking: mono numerals at 24px+ tighten; 14px table numerals stay at normal.
     Owned by ScoreDisplay — see ScoreDisplay.trackingFor(px). */
  --score-tracking-large:-0.08em; /* @kind font */
  --score-tracking-small:normal;  /* @kind font */
  --score-tracking-threshold:24px;
  --type-prose:var(--weight-regular) var(--text-16)/1.6 var(--font-prose);
}
