/* Self-hosted Inter + JetBrains Mono.
 *
 * These used to load from fonts.googleapis.com. That is a third-party request on
 * the critical path for a web visitor, and in the iOS app it is worse: a cold
 * launch with no signal has no fonts at all and falls back to system-ui — which
 * is exactly the first impression an App Store reviewer on hotel wifi would get.
 * Bundled, the app looks right offline and on first paint.
 *
 * Variable fonts (one file per family per subset, spanning every weight we use)
 * rather than one file per weight: ~196 KB for both families instead of eight
 * separate downloads. The latin-ext files only download when a character needs
 * them, courtesy of unicode-range.
 *
 * WEIGHT RANGES MATTER. The legal pages ask for JetBrains Mono 700 while the app
 * only goes to 600, so mono is fetched at 400..700 — a narrower range would
 * leave privacy.html and terms.html synthesising a fake bold.
 *
 * URLs here are RELATIVE ('./inter-latin.woff2'), not root-absolute. This file
 * is served from two different prefixes: '/fonts/fonts.css' at the site root and
 * '/app/fonts/fonts.css' under the app (vercel.json rewrites the latter to the
 * former). A root-absolute '/fonts/...' src therefore resolved to a DIFFERENT
 * url than the '/app/fonts/...' preload in app/index.html — so the browser
 * downloaded Inter twice in production and the preload was never used, and in
 * the dev server (which serves public/ under base '/app/') it 404'd outright,
 * leaving every local UI decision to be judged in system-ui. Relative urls
 * resolve against whichever prefix actually served this file, so all three
 * paths agree. Keep them relative.
 *
 * Generated from the Google Fonts CSS API; licences in fonts/OFL-*.txt. To
 * refresh, re-fetch css2?family=Inter:wght@400..800&family=JetBrains+Mono:wght@400..700
 * with a MODERN User-Agent (an old one yields ttf, not woff2) and re-download.
 */


@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('./inter-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('./inter-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('./jetbrains-mono-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('./jetbrains-mono-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
