/* fonts-noto-sans-sc.css
 *
 * Noto Sans SC 字体本地化方案：避免在 HTML 源代码里出现第三方字体 CDN
 * 外链（符合收录规则），同时保持中文视觉与原 Google 字体托管版本等价。
 *
 * 思路：
 *   1) 通过 5 个 @font-face 把项目里所有 CSS 中硬编码的 font-family: "Noto Sans SC" 拦截为：
 *      src: local(...) 直接调用用户本机已有的中文/日文系统字体（苹方 / 微软雅黑 / 冬青黑体 / 思源黑体 / 本机已装 Noto）
 *      这样字重（300 / 400 / 500 / 700 / 900）会按顺序近似映射到系统对应粗细。
 *   2) body / input / button / textarea / select 的默认 font-family 也通过本文件统一设置回退栈，
 *      即使没有命中 @font-face 的 local(...)，也能用系统中文字体兜底。
 *
 * 字体回退优先级与主流中文站点一致（先苹方后微软雅黑）：
 *   -apple-system (macOS/iOS Safari 系统 SF)
 *   → BlinkMacSystemFont (老版 macOS Chromium)
 *   → "PingFang SC" (macOS/iOS 苹方)
 *   → "Microsoft YaHei" (Windows 中文版 微软雅黑)
 *   → "Hiragino Sans GB" (macOS 老系统 冬青黑体)
 *   → "Source Han Sans CN" (用户手动安装的 思源黑体 / Adobe 黑体)
 *   → "Noto Sans SC" / "Noto Sans CJK SC" (用户本地安装过 Noto)
 *   → "Segoe UI" / Roboto / Helvetica / Arial / sans-serif (英文 UI 字体)
 *
 * 文件版本号: 20260829a
 */

:root {
    --sans-sc-fallback: -apple-system, BlinkMacSystemFont,
                        "PingFang SC", "Microsoft YaHei",
                        "Hiragino Sans GB", "Source Han Sans CN",
                        "Noto Sans SC", "Noto Sans CJK SC",
                        "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* ===== 按原 Google Fonts Noto Sans SC weights (300/400/500/700/900) 一一重定向 ===== */
@font-face {
    font-family: 'Noto Sans SC';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: local('PingFang SC Light'),
         local('Microsoft YaHei UI Light'),
         local('Microsoft YaHei Light'),
         local('Hiragino Sans GB W3'),
         local('Source Han Sans CN Light'),
         local('Noto Sans SC Light'),
         local('Noto Sans CJK SC Light');
    unicode-range: U+0-10FFFF;
}
@font-face {
    font-family: 'Noto Sans SC';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: local('PingFang SC Regular'),
         local('Microsoft YaHei'),
         local('Microsoft YaHei UI'),
         local('Hiragino Sans GB'),
         local('Source Han Sans CN Regular'),
         local('Source Han Sans CN'),
         local('Noto Sans SC Regular'),
         local('Noto Sans SC'),
         local('Noto Sans CJK SC Regular'),
         local('Noto Sans CJK SC');
    unicode-range: U+0-10FFFF;
}
@font-face {
    font-family: 'Noto Sans SC';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: local('PingFang SC Medium'),
         local('Microsoft YaHei'),
         local('Microsoft YaHei UI'),
         local('Hiragino Sans GB W6'),
         local('Source Han Sans CN Medium'),
         local('Noto Sans SC Medium'),
         local('Noto Sans CJK SC Medium');
    unicode-range: U+0-10FFFF;
}
@font-face {
    font-family: 'Noto Sans SC';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: local('PingFang SC Semibold'),
         local('PingFang SC Bold'),
         local('Microsoft YaHei Bold'),
         local('Microsoft YaHei UI Bold'),
         local('Hiragino Sans GB W7'),
         local('Source Han Sans CN Bold'),
         local('Noto Sans SC Bold'),
         local('Noto Sans CJK SC Bold');
    unicode-range: U+0-10FFFF;
}
@font-face {
    font-family: 'Noto Sans SC';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: local('PingFang SC Heavy'),
         local('PingFang SC Bold'),
         local('Microsoft YaHei Bold'),
         local('Microsoft YaHei UI Bold'),
         local('Hiragino Sans GB W8'),
         local('Source Han Sans CN Heavy'),
         local('Source Han Sans CN Black'),
         local('Noto Sans SC Black'),
         local('Noto Sans CJK SC Black');
    unicode-range: U+0-10FFFF;
}

/* ===== 兜底：任何没显式写 font-family 的正文/控件都走同样的中文字体栈 ===== */
html, body, h1, h2, h3, h4, h5, h6, p, li, span, div,
button, input, textarea, select, optgroup, option, pre, code {
    font-family: 'Noto Sans SC', var(--sans-sc-fallback);
}
