/* ============================================================
   Monte — self-hosted typefaces.

   WHY SELF-HOSTED, NOT A FONT CDN.
   Every page on this site argues that Monte cannot leak your data
   because it holds no network permission. A stylesheet fetched from
   fonts.googleapis.com would hand a third party the IP address of
   every visitor who came to read that argument. The site used to do
   exactly that (two preconnects + one stylesheet, on both pages).
   These four files are the same faces the app itself bundles, copied
   out of app/assets/fonts/, so the site and the product now render
   in one typography and neither one phones home.

   The families deliberately match app/lib/design_system/typography.dart:
     sans   -> Inter          (UI, and tabular figures for money)
     serif  -> Source Serif 4 (display headings)
     mono   -> IBM Plex Mono  (eyebrows, numerals, labels)

   Served as Latin subsets in WOFF (2026-10-11): about 456 KB for all
   four files, down from 2.3 MB of TTF. Source Serif 4 and IBM Plex Mono
   carry Reserved Font Names ("Source", "Plex"), and a subset is a
   modified version under SIL OFL 1.1 condition 3, so those two are
   renamed Monte Serif and Monte Mono here, copyright notices intact.
   The licences sit beside the files (assets/fonts/*-OFL.txt).
   ============================================================ */

@font-face {
  font-family: 'Inter';
  src: url('../assets/fonts/Inter-Variable.woff') format('woff');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Monte Serif';
  src: url('../assets/fonts/MonteSerif-Variable.woff') format('woff');
  font-weight: 200 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Monte Mono';
  src: url('../assets/fonts/MonteMono-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Monte Mono';
  src: url('../assets/fonts/MonteMono-Medium.woff') format('woff');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* The display face. --font-sans and --font-mono are already declared in
   tokens.css and now resolve to locally-served files; only the serif
   needs naming here. Fallbacks are real: a page that fails to load
   the serif still reads as intended. */
:root {
  --font-display: 'Monte Serif', ui-serif, Georgia, 'Times New Roman', serif;
}

/* Money and numerals: tabular figures, per the app's own convention.
   Inter's `tnum` is what keeps a column of figures from dancing. */
:root {
  font-feature-settings: 'tnum' 0;
}
.num, .mono, [class*='-num'], [class*='stat-'] {
  font-feature-settings: 'tnum' 1;
}
