/* ═══════════════════════════════════════════════════════════
   CATLAXY DECK · Font Loader (self-hosted woff2)
   ═══════════════════════════════════════════════════════════
   Per ADR-0007: Inter + Noto Sans SC + JetBrains Mono,
   3 字重精简（400 / 700 / 900）, subset via unicode-range.

   Load BEFORE catlaxy-ds.css.

   Behavior:
   - Latin / digits / symbols → Inter (via unicode-range filter)
   - CJK ideographs            → Noto Sans SC (CJK-only subset, no Latin)
   - Monospace code            → JetBrains Mono (Latin)

   The font-stack in --f-cn puts Inter FIRST so that Latin
   chars inside Chinese text use Inter (not system fallback).

   Total size: ~2.6 MB across 7 woff2 files, loaded on-demand.
   ═══════════════════════════════════════════════════════════ */

/* ═══ Inter · Latin subset ═══ */
@font-face {
  font-family: 'Inter';
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url('../assets/fonts/Inter-Regular.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: url('../assets/fonts/Inter-Bold.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-weight: 900;
  font-style: normal;
  font-display: swap;
  src: url('../assets/fonts/Inter-Black.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ═══ Noto Sans SC · CJK Unified Ideographs subset (no Latin) ═══
   unicode-range intentionally excludes Latin (U+0000-00FF) so that
   browsers use Inter for Latin chars mixed inside Chinese text. */
@font-face {
  font-family: 'Noto Sans SC';
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url('../assets/fonts/NotoSansSC-Regular.woff2') format('woff2');
  unicode-range: U+3000-303F, U+3200-33FF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+FF00-FFEF;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: url('../assets/fonts/NotoSansSC-Bold.woff2') format('woff2');
  unicode-range: U+3000-303F, U+3200-33FF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+FF00-FFEF;
}
@font-face {
  font-family: 'Noto Sans SC';
  font-weight: 900;
  font-style: normal;
  font-display: swap;
  src: url('../assets/fonts/NotoSansSC-Black.woff2') format('woff2');
  unicode-range: U+3000-303F, U+3200-33FF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+FF00-FFEF;
}

/* ═══ JetBrains Mono · Latin ═══ */
@font-face {
  font-family: 'JetBrains Mono';
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url('../assets/fonts/JetBrainsMono-Regular.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
