/* Local typography. No external request.

   Until now three families came from Google Fonts — the only cross-origin
   request the app made, and the only way a third party could learn that
   somebody had opened their financial planner. For a product whose whole
   promise is that nothing leaves the device, one silent request to a font CDN
   on every launch was the wrong default.

   WHAT THIS DOES. Each family name the app already asks for is redefined
   here against fonts the machine already has, using src: local(). No file is
   downloaded, by us or by the browser. Every existing
   font-family:'Fraunces',serif in the app keeps working untouched — the name
   now resolves locally, and where nothing matches the browser falls through to
   the generic (serif / sans-serif / monospace) already declared alongside it.

   WHAT IT HONESTLY COSTS. These are substitutes, not the real faces. Fraunces
   in particular is a high-contrast display serif with no system equivalent, so
   headings will read a little plainer than before. The stacks below are
   ordered to keep the important quality of each: an old-style serif with real
   contrast for headings, a humanist sans for text, and a true monospace with
   tabular figures for money.

   If you later want the genuine faces, drop the .woff2 files next to this
   file and swap each src: local(...) for a url(...) — nothing else changes,
   because the family names are already correct throughout the app. */

/* Headings. Fraunces is an old-style display serif: high stroke contrast,
   slightly condensed. Iowan Old Style and Palatino are the closest things
   most machines actually have; Georgia is the reliable last resort. */
@font-face {
  font-family: 'Fraunces';
  src: local('Iowan Old Style'), local('Palatino Linotype'), local('Palatino'),
       local('Book Antiqua'), local('Georgia'), local('Times New Roman');
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}

/* Body text. IBM Plex Sans is a neutral humanist sans, so the platform UI
   face is a genuinely close match rather than a compromise. */
@font-face {
  font-family: 'IBM Plex Sans';
  src: local('Segoe UI'), local('Helvetica Neue'), local('Helvetica'),
       local('Arial'), local('Liberation Sans');
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}

/* Figures, labels and licence keys. A true monospace matters more here than
   the exact design: money in a column has to line up. */
@font-face {
  font-family: 'IBM Plex Mono';
  src: local('SF Mono'), local('Menlo'), local('Consolas'),
       local('DejaVu Sans Mono'), local('Liberation Mono'), local('Courier New');
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}

/* Money should align down a column whichever face won above. Applied to the
   mono family only, which is where every figure in the app is set. */
[style*="IBM Plex Mono"] {
  font-variant-numeric: tabular-nums;
}
