/* =============================================================================
 * fonts.css — IBM Plex, vendored. Loaded before tokens.css on every page.
 *
 * NO CDN. The suite has no external dependencies and ships as a static zip that
 * gets dragged into Cloudflare Pages; a <link> to fonts.googleapis.com would
 * make the first paint depend on a third party, leak a request per operator,
 * and break the moment somebody opens a tool offline or on a bad rural line.
 * The files sit in this folder and go into the archive with everything else.
 *
 * LATIN SUBSET ONLY. Google serves Plex in six subsets (latin, latin-ext,
 * greek, cyrillic, cyrillic-ext, vietnamese). This book is Geraldton supplier
 * statements; the other five are ~200KB nobody here will render. If a supplier
 * name ever needs latin-ext, the fallback stack below draws it — the page does
 * not break, one name renders in the system face.
 *
 * SANS IS ONE VARIABLE FILE. Google returns the SAME woff2 for weights 400,
 * 500 and 600, because Plex Sans ships with a weight axis. So it is declared
 * once across the range rather than three times against three copies of the
 * same 40KB. Mono has no variable build on this version and is two static
 * files.
 *
 * font-display: swap — text paints immediately in the fallback and reflows when
 * Plex arrives. On a slow connection an operator reads the reconcile figure a
 * few hundred milliseconds sooner, in the wrong face, instead of staring at
 * nothing. That is the right trade for a tool that gets opened to check one
 * number.
 *
 * Licence: SIL Open Font License 1.1 — see OFL.txt beside this file.
 * Copyright 2017 IBM Corp, Reserved Font Name "Plex".
 * ========================================================================== */

@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400 600;              /* variable axis — one file, three weights */
  font-display: swap;
  src: url('./plex-sans-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+2074, U+20AC,
                 U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('./plex-mono-400-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+2074, U+20AC,
                 U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('./plex-mono-500-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+2074, U+20AC,
                 U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
