/* fonts.css — self-hosted webfonts (CSP-safe: same-origin woff2, no Google Fonts).
 *
 * The actual .woff2 files are NOT in the repo yet — see scripts/build-fonts.md for
 * the one-time download step. Until they are added, the family fallback stacks in
 * tokens.css render the pages cleanly (Saira Condensed -> Arial Narrow / system
 * condensed; Inter -> system-ui; IBM Plex Mono -> ui-monospace). font-display:swap
 * means text paints immediately with the fallback and upgrades when the woff2 loads.
 *
 * Faces:
 *   Saira Condensed  — display / headlines (600, 700)
 *   Inter            — body + UI (400, 500, 600, 700)
 *   IBM Plex Mono    — data / labels / code (400, 500)
 */

@font-face {
  font-family: "Saira Condensed";
  font-style: normal; font-weight: 600; font-display: swap;
  src: local("Saira Condensed SemiBold"), url("/css/fonts/saira-condensed-600.woff2") format("woff2");
}
@font-face {
  font-family: "Saira Condensed";
  font-style: normal; font-weight: 700; font-display: swap;
  src: local("Saira Condensed Bold"), url("/css/fonts/saira-condensed-700.woff2") format("woff2");
}

/* Inter ships as a single variable font (weight axis 100–900); one file covers
 * every weight the UI uses. */
@font-face {
  font-family: "Inter";
  font-style: normal; font-weight: 400 700; font-display: swap;
  src: local("Inter"), url("/css/fonts/inter-var.woff2") format("woff2");
}

@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal; font-weight: 400; font-display: swap;
  src: local("IBM Plex Mono"), url("/css/fonts/ibm-plex-mono-400.woff2") format("woff2");
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal; font-weight: 500; font-display: swap;
  src: local("IBM Plex Mono Medium"), url("/css/fonts/ibm-plex-mono-500.woff2") format("woff2");
}
