/* IBM Plex —— 全部自托管，不发第三方请求。
   文件由 tools/build-fonts.sh 从 IBM 官方 npm 包生成，协议 OFL-1.1，
   许可证全文在 assets/fonts/LICENSE-IBM-Plex.txt。 */

@font-face {
  font-family: 'IBM Plex Mono';
  src: url('../assets/fonts/IBMPlexMono-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('../assets/fonts/IBMPlexMono-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('../assets/fonts/IBMPlexMono-SemiBoldItalic.woff2') format('woff2');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

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

/* Space Grotesk —— 首屏 Slogan 专用，官方仓库的可变字重 woff2，OFL-1.1。
   只留基本拉丁（Slogan 就一句 `Code anything`），一份 18KB 覆盖 300–700 全部字重。 */
@font-face {
  font-family: 'Space Grotesk';
  src: url('../assets/fonts/SpaceGrotesk-vf.subset.woff2') format('woff2');
  font-weight: 300 700;
  font-style: normal;
  font-display: block;
  unicode-range: U+0020-007E;
}

/* 中文。unicode-range 限定在 CJK：英文版不会因此多下 220KB。
   子集只含站内用字（见 tools/build-fonts.sh），缺字会自动回落到系统中文字体。 */
@font-face {
  font-family: 'IBM Plex Sans SC';
  src: url('../assets/fonts/IBMPlexSansSC-Regular.subset.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+2E80-303F, U+3200-4DBF, U+4E00-9FFF, U+F900-FAFF, U+FE30-FE4F, U+FF00-FFEF;
}
@font-face {
  font-family: 'IBM Plex Sans SC';
  src: url('../assets/fonts/IBMPlexSansSC-SemiBold.subset.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  unicode-range: U+2E80-303F, U+3200-4DBF, U+4E00-9FFF, U+F900-FAFF, U+FE30-FE4F, U+FF00-FFEF;
}
