/* =============================================================================
 * public/fonts/fonts.css —— Be Vietnam Pro 自托管字体声明
 * -----------------------------------------------------------------------------
 * 为什么单独放在 public/ 而不 import 进构建：
 *   本文件由 index.html 以 `%BASE_URL%fonts/fonts.css` 加载（base 可配置，Spec §10.1）。
 *   文件内的 url() 全部是**相对路径**，因此天然跟随 CDN/子路径，不含任何 `/` 开头的绝对路径。
 *
 * 为什么只打包 4 个字重（400 / 500 / 600 / 700）：
 *   Be Vietnam Pro 是**静态字重**字体（无可变轴），每个字重都要单独一份文件。
 *   全量 9 个字重会显著拖慢越南低端安卓首屏，Spec §8 只要求 4 个。
 *
 * 子集策略：
 *   · 拉丁/越南语字符走 Be Vietnam Pro（vietnamese 子集 + latin 子集，靠 unicode-range 精确命中）
 *   · **中文不在此文件里** —— 一律走系统字体栈（PingFang SC / Microsoft YaHei / Noto Sans CJK）
 *   · 第一版不自托管中文 webfont（Noto Sans SC 全量 ≥1MB，会拖死首屏）
 *
 * ⚠️ 字体二进制由 `npm run fonts:sync` 从 @fontsource/be-vietnam-pro 复制到本目录。
 *    字形覆盖（含历史上被 Google 子集漏掉的 Ỳ ỳ Ỵ ỵ Ỷ ỷ Ỹ ỹ）由 `npm run fonts:verify` 断言。
 * ========================================================================== */

/* ---------- font-weight: 400 ---------- */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('BeVietnamPro-Regular-vietnamese.woff2') format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
    U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,
    U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('BeVietnamPro-Regular-latin.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-weight: 500 ---------- */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('BeVietnamPro-Medium-vietnamese.woff2') format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
    U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,
    U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('BeVietnamPro-Medium-latin.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-weight: 600 ---------- */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('BeVietnamPro-SemiBold-vietnamese.woff2') format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
    U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,
    U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('BeVietnamPro-SemiBold-latin.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-weight: 700 ---------- */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('BeVietnamPro-Bold-vietnamese.woff2') format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
    U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,
    U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('BeVietnamPro-Bold-latin.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;
}
