/* =============================================================================
 * bulbal-fonts.css — @font-face tự host, nạp TRƯỚC bulbal-tokens.css (và trước
 * css/base.min.css) vì --bb-font dùng tên font khai báo ở đây.
 *
 * NGUỒN GỐC (P06, 260730 — plan 20260730-0415-bulbal-chat-mobile-first,
 * phase-06-tu-host-react-va-font.md): chép nguyên khối @font-face từ CSS thật
 * của Google (curl với User-Agent trình duyệt để nhận woff2 thay vì ttf), CHỈ
 * đổi url() sang fonts/*.woff2 cục bộ. unicode-range GIỮ NGUYÊN VĂN — không gõ
 * tay — để trình duyệt vẫn tự chọn đúng subset cần tải.
 *
 * Be Vietnam Pro: chỉ 2 subset "vietnamese" + "latin" (8 file, 4 weight
 * 400/500/600/700). ĐÃ BỎ subset "latin-ext" (~53 KB, 4 file) — không cần cho
 * nội dung tiếng Việt + tiếng Anh của app này.
 *
 * ĐÃ BỎ HẲN Roboto (không tự host): 0 chỗ dùng font-style: italic trong
 * css/base.css (2 biến thể 400i/700i vốn đã thừa), và toàn bộ typography app
 * đã đi qua --bb-font = 'Be Vietnam Pro', Roboto, system-ui, sans-serif —
 * Roboto giờ chỉ còn là phông dự phòng, mà phông hệ thống mặc định của Android
 * CHÍNH LÀ Roboto nên tải lại là tải thứ máy đã có. Desktop rơi về system-ui.
 *
 * Material Icons: tự host FULL 1 file (128.352 byte), TUYỆT ĐỐI KHÔNG SUBSET.
 * Font này chạy theo ligature — JSX viết <i className="material-icons">
 * photo</i>, tên icon là VĂN BẢN, nhiều tên sinh động lúc chạy (vd sendIcon ở
 * send-message.jsx, mục context-menu dựng theo điều kiện) nên không thể liệt
 * kê đủ bằng grep tĩnh. Subset thiếu glyph = icon biến thành chữ thường hoặc
 * ô vuông rải rác khắp app, lỗi chỉ lộ ở màn hiếm. Khối .material-icons { … }
 * bên dưới cũng chép nguyên từ CSS Google (không chỉ @font-face).
 * ============================================================================= */

/* Be Vietnam Pro 400 — vietnamese */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/be-vietnam-pro-400-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;
}
/* Be Vietnam Pro 400 — latin */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/be-vietnam-pro-400-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;
}
/* Be Vietnam Pro 500 — vietnamese */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/be-vietnam-pro-500-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;
}
/* Be Vietnam Pro 500 — latin */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/be-vietnam-pro-500-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;
}
/* Be Vietnam Pro 600 — vietnamese */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/be-vietnam-pro-600-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;
}
/* Be Vietnam Pro 600 — latin */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/be-vietnam-pro-600-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;
}
/* Be Vietnam Pro 700 — vietnamese */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/be-vietnam-pro-700-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;
}
/* Be Vietnam Pro 700 — latin */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/be-vietnam-pro-700-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;
}

/* Material Icons — FULL, không subset (xem giải thích ở đầu file) */
@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  src: url(../fonts/material-icons.woff2) format('woff2');
}

.material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
}

/* ---- 🔴 ÁP FONT THEME RA TOÀN APP — vá phát hiện lúc QA P06 (260730) ------------
 *
 * PHÁT HIỆN: từ đợt 1 tới nay ta tải Be Vietnam Pro về cho mọi người nhưng nó gần như
 * KHÔNG được dùng. Đo trên bản LIVE trước khi vá: trong 54 phần tử có chữ, chỉ **2**
 * dùng `--bb-font`, còn **32** dùng `Roboto, Arial, sans-serif`.
 *
 * GỐC RỄ: `css/base.css` dòng ~290 đặt font bằng BỘ CHỌN PHỔ QUÁT
 *   * { font-family: Roboto, Arial, sans-serif; }
 * Bộ chọn `*` phủ mọi phần tử, nên chỉ chỗ nào ĐẶT TƯỜNG MINH `--bb-font` mới thắng —
 * tức gần như không chỗ nào. (Trước đây không ai nhận ra vì Roboto vẫn được tải từ
 * Google Fonts nên chữ vẫn "trông ổn", chỉ là không phải font mình chọn.)
 *
 * CÁCH VÁ: đưa file này nạp SAU base.css (đã đổi thứ tự trong index.html +
 * index-dev.html) rồi đè lại bằng chính một rule phổ quát. Chỉ đè font-family —
 * box-sizing/padding/margin của base vẫn giữ nguyên.
 *
 * AN TOÀN cho icon và code: `.material-icons` (0,1,0) và các rule `Roboto Mono`
 * (base.css:312, :2841) đều là bộ chọn class/element nên vẫn thắng `*` (0,0,0).
 *
 * Việc này cũng vá luôn hồi quy do bỏ Roboto ở P06: máy Windows đang rơi về Arial. */
* {
  font-family: var(--bb-font);
}
