/* Noto Serif tự lưu trữ — KHÔNG gọi Google Fonts nữa.

   VÌ SAO. Đo trên prod (Lighthouse `layout-shifts`, cause "Web font loaded",
   đích danh file `ga6daw…woff2`): cú swap font là cú nhảy LỚN NHẤT đo được ở
   bất kỳ đâu trên site — 0,2364 trên `/app/luan-giai` (lượt đó bản mẫu tự mở
   nên trang cao 12.480px, font về là reflow toàn bộ) và 0,0260 trên
   `/topup.html`. `display=swap` CAM KẾT sẽ swap, tức cam kết sẽ nhảy — chỉ là
   nhảy lúc nào.

   `font-display: optional` là thứ DUY NHẤT bỏ hẳn cú swap: font chưa sẵn sàng
   trong khoảng chặn (~100ms) thì trình duyệt dùng font dự phòng CẢ lượt tải đó
   và KHÔNG đổi giữa chừng ⇒ CLS do font bằng 0 theo ĐỊNH NGHĨA, không theo may
   rủi. Đổi lại: lượt ghé đầu trên mạng chậm có thể thấy font dự phòng. Tự lưu
   trữ + `<link rel=preload>` là để cái "có thể" đó xảy ra càng ít càng tốt —
   cùng origin, không phải bắt tay thêm với fonts.gstatic.com.

   ⚠️ Đây là font BIẾN THIÊN: Google trả CÙNG một file cho 400/600/700 (đã đối
   chiếu md5), nên `font-weight: 100 900` là ĐÚNG chứ không phải viết ẩu. Tách
   thành ba face trỏ cùng một file là tải lại đúng một file ba lần.

   ⚠️ Chỉ giữ subset `latin` + `vietnamese`. Quét toàn bộ `public/` thấy đúng BA
   ký tự nằm ngoài hai subset đó (ō ×1, Δ ×4, một dấu tổ hợp trong mã nguồn) —
   không đáng 373 KB của `latin-ext`. Ba ký tự đó rơi về font dự phòng.

   Cập nhật font → ĐỔI TÊN FILE, vì `vercel.json` khai `immutable` cho /fonts/.
   `unicode-range` chép NGUYÊN VĂN từ CSS của Google, đừng gõ tay. */
@font-face {
  font-family: 'Noto Serif';
  font-style: normal;
  font-weight: 100 900;
  font-display: optional;
  src: url(/fonts/noto-serif-latin-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Noto Serif';
  font-style: italic;
  font-weight: 100 900;
  font-display: optional;
  src: url(/fonts/noto-serif-latin-400i.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Noto Serif';
  font-style: normal;
  font-weight: 100 900;
  font-display: optional;
  src: url(/fonts/noto-serif-vietnamese-400.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: 'Noto Serif';
  font-style: italic;
  font-weight: 100 900;
  font-display: optional;
  src: url(/fonts/noto-serif-vietnamese-400i.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;
}
