/* fonts.css — 自托管字体（S150 生成·勿手改，改文案后重跑 _pdf_check/build_fonts.py）
   替代原 master.css 的 Google Fonts @import：大陆评审访问不到 fonts.googleapis.com；
   且原 @import 漏了全册在用的 Noto Serif SC。font-display:swap 保持与原 CDN 行为一致。*/

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../assets/fonts/Inter-var.woff2') format('woff2');
}

@font-face {
  font-family: 'Noto Sans SC';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../assets/fonts/NotoSansSC-var.woff2') format('woff2');
}

@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../assets/fonts/NotoSerifSC-500.woff2') format('woff2');
}

@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../assets/fonts/NotoSerifSC-600.woff2') format('woff2');
}

@font-face {
  font-family: 'Paper Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../assets/fonts/PaperMono-400.woff2') format('woff2');
  unicode-range: U+0020-007E, U+00A5, U+00A7, U+00B0-00B1, U+00B6-00B7, U+00D7, U+00E9, U+00F7, U+2013-2014, U+2018-2019, U+201C-201D, U+2020-2021, U+2026, U+2030, U+2080-2089, U+20AC, U+2190-2194, U+2197-2198, U+2212, U+221E, U+2248, U+2260, U+2264-2265, U+3003;
  /* ↑ 由子集实际 cmap 反推（S174）· 圈号段已剔除 → 让给补丁面 ·
     不含任何汉字码位 → iOS 不会再来这里要中文（原手写声明谎报了整个 CJK 区）*/
  ascent-override: 102%;
  descent-override: 30%;
  line-gap-override: 0%;
}

@font-face {
  font-family: 'Paper Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../assets/fonts/PaperMono-500.woff2') format('woff2');
  unicode-range: U+0020-007E, U+00A5, U+00A7, U+00B0-00B1, U+00B6-00B7, U+00D7, U+00E9, U+00F7, U+2013-2014, U+2018-2019, U+201C-201D, U+2020-2021, U+2026, U+2030, U+2080-2089, U+20AC, U+2190-2194, U+2197-2198, U+2212, U+221E, U+2248, U+2260, U+2264-2265, U+3003;
  /* ↑ 由子集实际 cmap 反推（S174）· 圈号段已剔除 → 让给补丁面 ·
     不含任何汉字码位 → iOS 不会再来这里要中文（原手写声明谎报了整个 CJK 区）*/
  ascent-override: 102%;
  descent-override: 30%;
  line-gap-override: 0%;
}

@font-face {
  font-family: 'Paper Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../assets/fonts/PaperMono-600.woff2') format('woff2');
  unicode-range: U+0020-007E, U+00A5, U+00A7, U+00B0-00B1, U+00B6-00B7, U+00D7, U+00E9, U+00F7, U+2013-2014, U+2018-2019, U+201C-201D, U+2020-2021, U+2026, U+2030, U+2080-2089, U+20AC, U+2190-2194, U+2197-2198, U+2212, U+221E, U+2248, U+2260, U+2264-2265, U+3003;
  /* ↑ 由子集实际 cmap 反推（S174）· 圈号段已剔除 → 让给补丁面 ·
     不含任何汉字码位 → iOS 不会再来这里要中文（原手写声明谎报了整个 CJK 区）*/
  ascent-override: 102%;
  descent-override: 30%;
  line-gap-override: 0%;
}

@font-face {
  font-family: 'Paper Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../assets/fonts/PaperMono-700.woff2') format('woff2');
  unicode-range: U+0020-007E, U+00A5, U+00A7, U+00B0-00B1, U+00B6-00B7, U+00D7, U+00E9, U+00F7, U+2013-2014, U+2018-2019, U+201C-201D, U+2020-2021, U+2026, U+2030, U+2080-2089, U+20AC, U+2190-2194, U+2197-2198, U+2212, U+221E, U+2248, U+2260, U+2264-2265, U+3003;
  /* ↑ 由子集实际 cmap 反推（S174）· 圈号段已剔除 → 让给补丁面 ·
     不含任何汉字码位 → iOS 不会再来这里要中文（原手写声明谎报了整个 CJK 区）*/
  ascent-override: 102%;
  descent-override: 30%;
  line-gap-override: 0%;
}

@font-face {
  font-family: 'Source Serif 4';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url('../assets/fonts/SourceSerif4-500i.woff2') format('woff2');
  ascent-override: 102.5%;
  descent-override: 27.5%;
  line-gap-override: 0%;
}

@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../assets/fonts/SourceSerif4-500.woff2') format('woff2');
  ascent-override: 102.5%;
  descent-override: 27.5%;
  line-gap-override: 0%;
}

@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../assets/fonts/SourceSerif4-600.woff2') format('woff2');
  ascent-override: 102.5%;
  descent-override: 27.5%;
  line-gap-override: 0%;
}

/* 字形补丁：圈号回落 Noto Sans SC（TT Norms 把圈号压成竖椭圆·S153 user 判「扁长」）
   必须逐档字重声明：写成 font-weight:100 900 的区间时 Chrome 更偏好同家族里
   字重精确匹配的主面，补丁面全程 unloaded（S154 隔离实测）。*/
@font-face {
  font-family: 'Paper Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../assets/fonts/NotoSansSC-var.woff2') format('woff2');
  unicode-range: U+2460-24FF;
}

@font-face {
  font-family: 'Paper Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../assets/fonts/NotoSansSC-var.woff2') format('woff2');
  unicode-range: U+2460-24FF;
}

@font-face {
  font-family: 'Paper Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../assets/fonts/NotoSansSC-var.woff2') format('woff2');
  unicode-range: U+2460-24FF;
}

@font-face {
  font-family: 'Paper Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../assets/fonts/NotoSansSC-var.woff2') format('woff2');
  unicode-range: U+2460-24FF;
}
