/* =============================================================
   Adumbrate Design Kit — Self-hosted @font-face
   -------------------------------------------------------------
   Every face here is OFL-licensed (Inter, Noto, Source Serif) or
   OFL (Sarasa) and shipped in-repo, so the kit renders identically
   offline / airgapped. No CDN, no network, no Google Fonts call.

   Latin faces are variable (one file, full weight axis). CJK faces
   are gated by `unicode-range` so a Latin-only page never downloads
   the multi-megabyte Chinese files — the browser fetches them only
   when a CJK glyph is actually painted.

   File layout (produced by ../build/):
     fonts/inter/            Inter-roman.var.woff2, Inter-italic.var.woff2
     fonts/source-serif-4/   SourceSerif4-roman.var.woff2, -italic.var.woff2
     fonts/noto-sans-sc/     NotoSansSC.subset.woff2   (weight-variable, CJK subset)
     fonts/noto-serif-sc/    NotoSerifSC.subset.woff2  (weight-variable, CJK subset)
     fonts/sarasa-mono-sc/   SarasaMonoSC-Regular.woff2, -Bold.woff2, -Italic.woff2

   To (re)build the woff2 files: `make -C ../build fonts`  (runs in Docker).
   Each family folder also carries its upstream LICENSE file.
   ============================================================= */

/* Common CJK ranges: CJK symbols/punctuation, Unified Ideographs (+Ext A),
   compatibility forms, and full/half-width forms. Kept in one variable so
   the CJK faces below stay in sync. */

/* ---- Inter (Latin display + sans) — OFL ---------------------- */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("./inter/Inter-roman.var.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("./inter/Inter-italic.var.woff2") format("woff2");
}

/* ---- Source Serif 4 (Latin serif) — OFL ---------------------- */
@font-face {
  font-family: "Source Serif 4";
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url("./source-serif-4/SourceSerif4-roman.var.woff2") format("woff2");
}
@font-face {
  font-family: "Source Serif 4";
  font-style: italic;
  font-weight: 200 900;
  font-display: swap;
  src: url("./source-serif-4/SourceSerif4-italic.var.woff2") format("woff2");
}

/* ---- Noto Sans SC (简体中文 sans) — OFL ---------------------- */
@font-face {
  font-family: "Noto Sans SC";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("./noto-sans-sc/NotoSansSC.subset.woff2") format("woff2");
  unicode-range: U+2E80-2EFF, U+3000-303F, U+3200-33FF, U+3400-4DBF,
                 U+4E00-9FFF, U+F900-FAFF, U+FE30-FE4F, U+FF00-FFEF;
}

/* ---- Noto Serif SC (简体中文 serif) — OFL ------------------- */
@font-face {
  font-family: "Noto Serif SC";
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url("./noto-serif-sc/NotoSerifSC.subset.woff2") format("woff2");
  unicode-range: U+2E80-2EFF, U+3000-303F, U+3200-33FF, U+3400-4DBF,
                 U+4E00-9FFF, U+F900-FAFF, U+FE30-FE4F, U+FF00-FFEF;
}

/* ---- Sarasa Mono SC (bilingual fixed-width) — OFL ----------- */
/* Sarasa ships fixed-width CJK that lines up with its half-width Latin,
   which is exactly what bilingual code/label/table columns need. */
@font-face {
  font-family: "Sarasa Mono SC";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("./sarasa-mono-sc/SarasaMonoSC-Regular.woff2") format("woff2");
}
@font-face {
  font-family: "Sarasa Mono SC";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("./sarasa-mono-sc/SarasaMonoSC-Italic.woff2") format("woff2");
}
@font-face {
  font-family: "Sarasa Mono SC";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("./sarasa-mono-sc/SarasaMonoSC-Bold.woff2") format("woff2");
}
