/* ==========================================================================
   PHÔNG CHỮ TỰ LƯU TRÊN MÁY CHỦ — không gọi fonts.googleapis.com.
   Vì sao: máy chủ đặt trong nhà, lúc mất mạng ra ngoài thì phông không về,
   cả hệ thống rơi về phông dự phòng và bố cục xô lệch. Tự lưu thì nhanh hơn,
   chắc hơn, và không đẩy địa chỉ IP của phụ huynh sang máy chủ bên thứ ba.

   Baloo 2 — tiêu đề & số liệu lớn (nét tròn, đậm khoẻ).
   Nunito  — nội dung (bụng chữ tròn, đuôi mềm, dấu tiếng Việt đặt chuẩn).
   Đổi ngày 14/08/2026 (trước đó: Be Vietnam Pro + Lexend) để bản thương mại
   có bộ mặt riêng. File phông cũ GIỮ LẠI trong public/fonts phòng khi cần trả về.
   Giữ nguyên unicode-range của Google: trình duyệt chỉ tải đúng bộ ký tự cần.

   ── GỘP FILE, 14/08/2026 — 24 file còn 6 (620KB → 160KB) ──────────────────
   Cả Nunito lẫn Baloo 2 đều là PHÔNG BIẾN THIÊN (có bảng fvar/avar/gvar): MỘT
   file chứa trọn dải độ đậm, trình duyệt tự nội suy. Google cũng phát đúng một
   file cho mọi độ đậm của cùng bộ ký tự — đợt tải về trước đây lưu thành 4 bản
   theo độ đậm nên 4 file TRÙNG BYTE nhau (đã đối chiếu md5), phí 460KB dung
   lượng và 3 lượt tải thừa mỗi lần mở app.

   Nay mỗi bộ ký tự chỉ còn 1 file, khai bằng DẢI độ đậm (`font-weight: 400 700`)
   — đây mới là cách khai đúng cho phông biến thiên: trình duyệt lấy độ đậm CSS
   yêu cầu, kẹp vào dải, rồi đặt thẳng vào trục `wght` của phông.

   Dải cố ý đặt ĐÚNG BẰNG các độ đậm đang có trước khi gộp (Nunito 400–700,
   Baloo 2 500–800) để chữ hiện y hệt, KHÔNG phải dải đầy đủ của phông (Nunito
   200–1000, Baloo 2 400–800). Lý do: trước đây `font-weight:800` với Nunito rơi
   về bản 700; mở dải tới 1000 là bỗng dưng đậm hơn ở nhiều màn. Muốn dùng thêm
   độ đậm thì nới dải ở đây — không cần tải thêm file nào.

   Đổi tên file thì PHẢI để trang gọi /css/fonts.css kèm ?v= (token assetv), vì
   express.static đặt max-age 30 ngày VÀ service worker cache-first theo URL đầy
   đủ — thiếu token là máy cũ ôm bản fonts.css cũ, trỏ vào tên file đã xoá → 404
   → cả trang rơi về phông hệ điều hành.
   ========================================================================== */

/* ── Nunito · dải 400–700 ─────────────────────────────────────────────────── */
@font-face{font-family:'Nunito';font-style:normal;font-weight:400 700;font-display:swap;
  src:url(/fonts/Nunito-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:'Nunito';font-style:normal;font-weight:400 700;font-display:swap;
  src:url(/fonts/Nunito-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}

@font-face{font-family:'Nunito';font-style:normal;font-weight:400 700;font-display:swap;
  src:url(/fonts/Nunito-latin.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}

/* ── Baloo 2 · dải 500–800 ────────────────────────────────────────────────── */
@font-face{font-family:'Baloo 2';font-style:normal;font-weight:500 800;font-display:swap;
  src:url(/fonts/Baloo2-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:'Baloo 2';font-style:normal;font-weight:500 800;font-display:swap;
  src:url(/fonts/Baloo2-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}

@font-face{font-family:'Baloo 2';font-style:normal;font-weight:500 800;font-display:swap;
  src:url(/fonts/Baloo2-latin.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}
