/* ============================================================
   Training Management – self-hosted webfonts (TM-145)
   ------------------------------------------------------------
   These declarations replace the runtime request to
   fonts.googleapis.com. The application is deployed on-premise and
   has to render correctly with no internet connection at all; a
   stylesheet fetched from a third party is also every user's IP
   address handed to that third party on every page load.

   The .woff2 files next to this sheet were taken from the Google
   Fonts CDN — same files, same versions, byte for byte. Only the
   `latin` and `latin-ext` subsets are kept: the interface is English
   and the data is Czech, and Czech diacritics (č ř š ž ě ů ď ť ň)
   live in latin-ext. The cyrillic and vietnamese subsets Google also
   serves are not shipped; a name in either script falls back to the
   system face rather than costing every user two extra files.

   WHY THE SANS IS ONE FILE AND THE MONO IS FOUR
   Schibsted Grotesk is a VARIABLE font. Google publishes it as four
   @font-face blocks (400/500/600/700) that all point at the same
   binary — verified by hash: the four URLs in the css2 response for
   `wght@400;500;600;700` return one identical file per subset. So a
   single declaration with a `font-weight` RANGE covers the whole
   scale, and the weights cost nothing beyond the one file.

   The range is `400 700` rather than the font's full `400 900`,
   which matches exactly what was requested from Google before this
   change — this is a move, not an upgrade. 400/500/600 are the
   design system's scale (--tm-weight-normal / -medium / -semibold,
   tokens.css §Typography). 700 is not in that scale and no rule of
   ours asks for it, but Fomantic does: `.ui.header` and friends ship
   `font-weight:700`. Capping at 600 would leave the browser
   synthesising a fake bold for every Fomantic heading, so 700 stays.

   IBM Plex Mono is not variable — 400 and 500 are genuinely
   different binaries, so both ship.

   font-display: swap, as before: text paints in the fallback
   immediately instead of staying invisible while the webfont loads.
   ============================================================ */

/* ── Schibsted Grotesk — interface face, variable 400–700 ────── */
@font-face {
    font-family: 'Schibsted Grotesk';
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url('SchibstedGrotesk-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: 'Schibsted Grotesk';
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url('SchibstedGrotesk-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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ── IBM Plex Mono — identifiers, codes and dates (.tm-mono) ─── */
@font-face {
    font-family: 'IBM Plex Mono';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('IBMPlexMono-400-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: 'IBM Plex Mono';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('IBMPlexMono-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+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('IBMPlexMono-500-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

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