/*
 * Inter 4.001 (Version 4.001;git-66647c0bb) - SIL Open Font License 1.1, see OFL.txt.
 *
 * Self-hosted as WOFF2, split by unicode-range. WOFF2 is Brotli-compressed
 * inside the container format, so these stay small even though the server
 * sends font bytes uncompressed, and a browser fetches only the ranges the
 * page renders: en/uz first paint costs one file (Inter-latin.woff2, 72 KB),
 * ru adds Inter-cyrillic.woff2. This replaces two uncompressed variable TTFs
 * that cost 874 KB + 905 KB on the wire.
 *
 * Both variable axes are kept (opsz 14-32, wght 100-900), so text renders
 * identically to the TTFs. Within each style, `latin` is declared LAST so it
 * wins wherever two ranges overlap.
 *
 * REGENERATING (no fonttools on the dev box; run it in a container). From the
 * repo root, with the upstream Google Fonts Inter 4.001 variable TTFs dropped
 * into public/fonts/, run one pyftsubset per rule below:
 *
 *   docker run --rm -v "$PWD/public/fonts:/f" -w /f python:3-slim sh -c
 *     "pip install --quiet fonttools brotli &&
 *      pyftsubset 'Inter-VariableFont_opsz,wght.ttf'
 *        --output-file=Inter-<RANGE>.woff2 --flavor=woff2
 *        --unicodes=<that rule's unicode-range, verbatim>
 *        --layout-features+=tnum --name-IDs=* --name-legacy --notdef-outline"
 *
 * `--layout-features+=tnum` is load-bearing: Tailwind's `tabular-nums` maps to
 * the OpenType `tnum` feature, which the leaderboard and profile screens use.
 * Everything past fontTools' default feature set is dropped, which discards
 * Inter's discretionary alternates (ss01-ss08, cv01-cv13, salt, zero) - no CSS
 * here enables them and their glyph closure cost ~25 KB per subset.
 *
 * greek/greek-ext/vietnamese are built but never fetched by the en/ru/uz UI;
 * they exist so user-entered text in those scripts still renders in Inter.
 */

/* ---------- normal ---------- */

@font-face {
  font-family: "Inter";
  src: url("/fonts/Inter-cyrillic-ext.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range:
    U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: "Inter";
  src: url("/fonts/Inter-cyrillic.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Inter";
  src: url("/fonts/Inter-greek-ext.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+1F00-1FFF;
}

@font-face {
  font-family: "Inter";
  src: url("/fonts/Inter-greek.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range:
    U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

@font-face {
  font-family: "Inter";
  src: url("/fonts/Inter-vietnamese.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range:
    U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
    U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,
    U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: "Inter";
  src: url("/fonts/Inter-latin-ext.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  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: "Inter";
  src: url("/fonts/Inter-latin.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  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+2074, U+20AC, U+2122, U+2190-2193,
    U+2212, U+2215, U+2248, U+2260, U+2264-2265, U+FEFF, U+FFFD;
}

/* ---------- italic ---------- */

@font-face {
  font-family: "Inter";
  src: url("/fonts/Inter-Italic-cyrillic-ext.woff2") format("woff2");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
  unicode-range:
    U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: "Inter";
  src: url("/fonts/Inter-Italic-cyrillic.woff2") format("woff2");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Inter";
  src: url("/fonts/Inter-Italic-greek-ext.woff2") format("woff2");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
  unicode-range: U+1F00-1FFF;
}

@font-face {
  font-family: "Inter";
  src: url("/fonts/Inter-Italic-greek.woff2") format("woff2");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
  unicode-range:
    U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

@font-face {
  font-family: "Inter";
  src: url("/fonts/Inter-Italic-vietnamese.woff2") format("woff2");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
  unicode-range:
    U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
    U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,
    U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: "Inter";
  src: url("/fonts/Inter-Italic-latin-ext.woff2") format("woff2");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
  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: "Inter";
  src: url("/fonts/Inter-Italic-latin.woff2") format("woff2");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
  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+2074, U+20AC, U+2122, U+2190-2193,
    U+2212, U+2215, U+2248, U+2260, U+2264-2265, U+FEFF, U+FFFD;
}
