/* Self-hosted figure fonts (v2.0 Step 3 follow-up).
 *
 * DESIGN.md names Geist (geometric sans, strong tabular-nums) as the figure face
 * with JetBrains Mono as the dense-numeric fallback. Both are self-hosted woff2
 * under assets/fonts/ — no Google Fonts CDN, so figures render the intended face
 * offline on the VPS with no FOUT (font-display: swap). Licenses live alongside
 * the woff2 (Geist-LICENSE.txt, JetBrainsMono-OFL.txt; both SIL OFL 1.1).
 *
 * Dash auto-serves assets/ at /assets/, and loads *.css alphabetically, so these
 * @font-face rules (fonts.css) are defined before signal_card.css consumes them.
 * Scope stays on the figure classes; body chrome keeps Cyborg's Roboto.
 */

@font-face {
  font-family: "Geist";
  /* Variable woff2 covers the full weight axis (100–900); the card uses 400/600/700. */
  src: url("fonts/Geist-Variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "JetBrains Mono";
  src: url("fonts/JetBrainsMono-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
