/* IBM PLEX, VENDORED (2026-08-27). SIL OFL 1.1 -- see LICENSE.txt beside this.
 *
 * WHY A TYPEFACE AT ALL, and why this one. The admin panel is a screen made
 * almost entirely of numbers: days-late, day counts, times, licence numbers,
 * money, pill counts. In a proportional face a column of them does not read as
 * a column -- 1 is narrow, 0 is wide, and the eye has to re-find the decimal
 * on every row. Plex Mono is the numbers; Plex Sans is everything else, and
 * they are designed together, so the pair does not look like two decisions.
 *
 * FIVE FACES, NOT A FAMILY. 400/500/600 sans and 500/600 mono. No italics, no
 * light, no bold-800: every extra weight is another file a rep on cellular
 * waits for, and nothing in the product asks for one.
 *
 * LATIN1 SUBSETS, ~21KB a face rather than ~65KB -- 112KB for all five. The
 * `unicode-range` below is IBM's own for that subset, so a character outside it
 * (a Polish or Czech venue name, which Wisconsin has plenty of) falls through
 * to the next font in the stack for that glyph alone rather than dragging four
 * more subsets down the wire. That is the designed behaviour of the split
 * build, not a compromise on top of it.
 *
 * `font-display:swap`, as tabler already does: text paints immediately in the
 * fallback and swaps when the face lands. A rep standing at a door reading
 * nothing for 400ms is worse than a rep reading the wrong face for 400ms.
 *
 * `local()` FIRST, so a machine that already has Plex installed uses it and
 * downloads nothing. Free on the desks that have it; harmless everywhere else.
 *
 * NO CDN, and the version query is the exact one the `<link rel=preload>` tags
 * use so the preload and the @font-face request dedupe into one fetch rather
 * than two. (The build rewrites both to the same content-hashed name, which
 * makes them identical for a second reason -- belt and braces, and the ?v=
 * form is what survives if the build is ever skipped.)
 */

@font-face{
  font-family:'IBM Plex Sans';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:local("IBM Plex Sans"),local("IBMPlexSans"),
      url("./fonts/IBMPlexSans-Regular-Latin1.b5ad7bd39f99.woff2") format("woff2");
  unicode-range:U+0000,U+000D,U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2039-203A,U+2044,U+20AC,U+2122,U+2212,U+FB01-FB02;
}
@font-face{
  font-family:'IBM Plex Sans';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:local("IBM Plex Sans Medium"),local("IBMPlexSans-Medium"),
      url("./fonts/IBMPlexSans-Medium-Latin1.b5610af04d0d.woff2") format("woff2");
  unicode-range:U+0000,U+000D,U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2039-203A,U+2044,U+20AC,U+2122,U+2212,U+FB01-FB02;
}
@font-face{
  font-family:'IBM Plex Sans';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:local("IBM Plex Sans SemiBold"),local("IBMPlexSans-SemiBold"),
      url("./fonts/IBMPlexSans-SemiBold-Latin1.fff0ab3a88b0.woff2") format("woff2");
  unicode-range:U+0000,U+000D,U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2039-203A,U+2044,U+20AC,U+2122,U+2212,U+FB01-FB02;
}

/* THE MONO IS ONLY EVER NUMBERS, so 500 and 600 are all it needs -- there is
   no body copy set in it and nothing at 400. */
@font-face{
  font-family:'IBM Plex Mono';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:local("IBM Plex Mono Medium"),local("IBMPlexMono-Medium"),
      url("./fonts/IBMPlexMono-Medium-Latin1.5a04b514a778.woff2") format("woff2");
  unicode-range:U+0000,U+000D,U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2039-203A,U+2044,U+20AC,U+2122,U+2212,U+FB01-FB02;
}
@font-face{
  font-family:'IBM Plex Mono';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:local("IBM Plex Mono SemiBold"),local("IBMPlexMono-SemiBold"),
      url("./fonts/IBMPlexMono-SemiBold-Latin1.1ce95cff1c50.woff2") format("woff2");
  unicode-range:U+0000,U+000D,U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2039-203A,U+2044,U+20AC,U+2122,U+2212,U+FB01-FB02;
}
