/* Self-hosted fonts. No CDN, no runtime third-party request.
 *
 * Spec 15.2 forbids CDN-hosted fonts and requires a CSP with no third-party
 * sources. The design handoff gives a fonts.googleapis.com URL — do not use it: a
 * font request from a page showing the company's receivables tells a third party
 * the page was viewed, and permitting it would mean widening the CSP.
 *
 * Latin subset only. The Cyrillic, Greek and Vietnamese subsets Google serves are
 * for text this application will never set.
 *
 * Quicksand is deliberately NOT here. It belongs to the invoice document, is
 * bundled with the PDF renderer in internal/pdf/fonts, and the boundary between
 * document and interface is intentional (design handoff, deviation 3).
 */

/* IBM Plex Sans ships as one variable file spanning 400-700. */
@font-face {
  font-family: 'IBM Plex Sans';
  src: url('/fonts/IBMPlexSans-var.woff2') format('woff2-variations');
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}

/* IBM Plex Mono ships as static instances. Carries bank narrations, UTRs, GSTINs
 * and invoice numbers, where character-level comparison is the actual task. */
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('/fonts/IBMPlexMono-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('/fonts/IBMPlexMono-500.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* Every numeric column and figure depends on this. Not optional — column
 * alignment breaks without it (design handoff, typography). */
:root {
  --font-ui: 'IBM Plex Sans', system-ui, sans-serif;
  --font-mono: 'IBM Plex Mono', ui-monospace, monospace;
}
