/* ------------------------------------------------------------------
   Self-hosted variable webfonts — latin subset only (~78 KB total).
   CJK glyphs deliberately fall through to high-quality system faces
   (PingFang SC / HarmonyOS Sans SC / Microsoft YaHei / Noto Sans SC)
   so the page stays fast and renders correctly without a CDN
   (fonts.googleapis.com is not reliably reachable from mainland China).
   ------------------------------------------------------------------ */

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/inter-var.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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url('../fonts/jetbrains-mono-var.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;
}

/* wylon wordmark — MuseoModerno (SIL OFL, see wylon-OFL.txt), a variable
   face spanning wght 100–900, subset to the five letters it ever has to set.
   The whole range is declared: naming a single weight here would pin the
   browser to the file's default instance, which is the 100 Thin. */
@font-face {
  font-family: 'Wylon';
  src: url('../fonts/wylon.woff2') format('woff2-variations'), url('../fonts/wylon.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0057, U+0059, U+004C, U+004F, U+004E, U+0077, U+0079, U+006C, U+006F, U+006E;
}

/* Chinese — MiSans (Xiaomi, free for commercial use incl. web embedding;
   licence at https://hyperos.mi.com/font), the variable build subset to the
   901 characters the site actually sets. Self-hosted so weight is the same on
   every OS; scoped to CJK ranges so Latin keeps resolving to Inter. */
@font-face {
  font-family: 'MiSans VF';
  src: url('../fonts/misans-vf.woff2') format('woff2-variations'), url('../fonts/misans-vf.woff2') format('woff2');
  font-weight: 150 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+3000-303F, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+FF00-FFEF, U+00B7, U+2013-2014, U+2018-2019, U+201C-201D, U+2026;
}
