/* F1 — self-hosted fonts (no CDN). Fixes the icon-font FOUT (raw ligature words like "restaurant" on
 * first paint) and the PERMANENTLY-broken icons on a first offline launch: these files ship same-origin
 * and are SW-precached (apps/app/public/sw.js), so there is no third-party font request at all.
 *
 * Sources (Google Fonts, OFL-1.1): Hanken Grotesk, Instrument Serif, JetBrains Mono are the Latin
 * subsets (Hanken/JetBrains are variable — one file covers every weight via the `wght` axis). Material
 * Symbols Rounded is a VARIABLE build SUBSET to only the icons Mise references (FILL/wght/GRAD/opsz axes
 * preserved), regenerated from source by scripts/subset-icons — see the PR notes.
 */

/* Text: swap — a brief system-font flash is fine and avoids invisible body text. */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 100 900; /* variable wght axis */
  font-display: swap;
  src: url('/fonts/HankenGrotesk-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/InstrumentSerif-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/InstrumentSerif-italic-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 800; /* variable wght axis */
  font-display: swap;
  src: url('/fonts/JetBrainsMono-latin.woff2') format('woff2');
}

/* Icons: block — a Material Symbols glyph MUST NOT fall back to its raw ligature text ("restaurant",
 * "check_box_outline_blank"). `block` renders nothing until the (precached, same-origin) font loads, so
 * an icon never flashes as a word. Variable axes FILL/wght/GRAD/opsz drive the <Icon> component. */
@font-face {
  font-family: 'Material Symbols Rounded';
  font-style: normal;
  font-weight: 100 700;
  font-display: block;
  src: url('/fonts/MaterialSymbolsRounded.woff2') format('woff2');
}
