/*
 * IBM Plex Sans
 * License: SIL Open Font License 1.1
 * Source: https://fonts.google.com/specimen/IBM+Plex+Sans
 */

@font-face {
    font-family: 'IBM Plex Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('IBMPlexSans-Regular.woff2') format('woff2');
}

@font-face {
    font-family: 'IBM Plex Sans';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('IBMPlexSans-Medium.woff2') format('woff2');
}

@font-face {
    font-family: 'IBM Plex Sans';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('IBMPlexSans-SemiBold.woff2') format('woff2');
}

@font-face {
    font-family: 'IBM Plex Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('IBMPlexSans-Bold.woff2') format('woff2');
}

/* --- WireKit fallback face — generated, do not edit by hand --- */
/*
 * Registers the local system font under its own name with IBM Plex Sans's
 * metrics, so the text painted before the swap occupies the same box as
 * the text painted after it. Measured against Arial; regenerate with
 * `python3 scripts/generate-font-fallbacks.py`.
 */
@font-face {
    font-family: 'IBM Plex Sans Fallback';
    src: local('Arial'), local('Helvetica Neue'), local('Helvetica'), local('Liberation Sans');
    size-adjust: 101.55%;
    ascent-override: 100.94%;
    descent-override: 27.08%;
    line-gap-override: 0.0%;
}

/*
 * The advance of the digit zero in IBM Plex Sans, in em. `ch` is defined as exactly
 * this, so a box measured in `ch` changes width when the swap happens -- and
 * size-adjust above does NOT prevent it, because it corrects a different ratio:
 * a frequency-weighted mean over 27 characters, which is what keeps a paragraph
 * the same length. A token that wants a stable `ch` measure multiplies by this
 * rather than using `ch` directly.
 */
:root {
    --ch-wk-sans: 0.6em;
}
/* --- end WireKit fallback face --- */
