/* ==========================================================================
   DataBridge typefaces, served from the application itself.

   IBM Plex Sans is the design system's UI face; IBM Plex Mono carries
   identifiers, paths, cron expressions, timestamps and every figure column.
   `--db-font-ui` / `--db-font-mono` in databridge-ui.css name them; this file
   is what makes them exist without asking the network for them.

   Every edition used to link https://fonts.googleapis.com. On the Desktop
   edition that is a network call on first paint in a local-first product whose
   pitch is that it works with no connection at all: offline, the request hangs
   for the browser's timeout and the window paints in the fallback face, then
   reflows. The .woff2 files next to this one are the latin subsets published by
   @fontsource (IBM Plex, SIL OFL 1.1 — see fonts/OFL.txt), 129 KB for all six
   faces, and they ship inside the application.

   Weights are exactly the ones the system uses: 400/500/600/700 sans,
   400/500 mono. `font-display: swap` keeps first paint immediate; since the
   files are local the swap window is a frame, not a round trip.

   Loaded BEFORE databridge-ui.css so the faces are declared before the rules
   that ask for them.
   ========================================================================== */

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

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

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

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

@font-face {
    font-family: "IBM Plex Mono";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/ibm-plex-mono-latin-400-normal.woff2") format("woff2");
}

@font-face {
    font-family: "IBM Plex Mono";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("../fonts/ibm-plex-mono-latin-500-normal.woff2") format("woff2");
}

/* --------------------------------------------------------------------------
   Palette faces (SIL OFL 1.1, same @fontsource latin subsets as above).
   Space Grotesk heads the Bordeaux palette; Atkinson Hyperlegible is Clarity's
   body face. Both only apply under their `data-palette` in databridge-palettes.css,
   so a browser never fetches them unless that palette is chosen.
   -------------------------------------------------------------------------- */

@font-face {
    font-family: "Space Grotesk";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("../fonts/space-grotesk-latin-500-normal.woff2") format("woff2");
}

@font-face {
    font-family: "Space Grotesk";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/space-grotesk-latin-700-normal.woff2") format("woff2");
}

@font-face {
    font-family: "Atkinson Hyperlegible";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/atkinson-hyperlegible-latin-400-normal.woff2") format("woff2");
}

@font-face {
    font-family: "Atkinson Hyperlegible";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/atkinson-hyperlegible-latin-700-normal.woff2") format("woff2");
}
