/* IBM Plex Sans — self-hosted, subset to Latin + Greek. Licensed under SIL
   OFL 1.1; see ../fonts/ibm-plex-sans/LICENSE.txt for the full license.
 *
 * This file is served as-is by the Go binary and is deliberately NOT part of
 * either frontend's build:
 *
 *   - The public site and the admin SPA are served from the same origin, so
 *     both can link it and share a single cache entry for the font files.
 *     Routing it through either bundler would fingerprint the URLs and give
 *     each frontend its own copy of the same four woff2 files.
 *   - Absolute /static/… url() paths cannot be resolved at build time, so
 *     Vite warns about every one of them. Keeping them out of the module
 *     graph avoids that entirely.
 *
 * Only the weights actually used are declared. Adding one here means shipping
 * another ~30 KB, so check it earns its place first. */

@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/static/fonts/ibm-plex-sans/400.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/static/fonts/ibm-plex-sans/500.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/static/fonts/ibm-plex-sans/600.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/static/fonts/ibm-plex-sans/700.woff2') format('woff2');
}

/* Kill synthetic bolding/italics — the browser-faked weights vary wildly
   between Firefox and Chromium, and we ship real ones. */
html {
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
