/* ============================================================================
   b859 — LỚP FIT NHÃN NÚT "CHƠI NGAY" (trang chủ)  ·  worker 2
   Nạp SAU khối <style> trong public/home/index.html ⇒ cùng độ cụ thể thì thắng
   theo thứ tự. CHỈ chạm cỡ chữ / họ chữ / canh giữa của nhãn .play .in b.
   KHÔNG chạm .play:hover / .play:active (lớp trạng thái do worker khác giữ).

   VẤN ĐỀ ĐO ĐƯỢC (scripts/_qa_playlabel_small_w2.py --nojs, 1568 ca):
     Nhánh CSS-ONLY (chốt an toàn JS fitPlayLabel KHÔNG chạy) + Google Fonts
     BỊ CHẶN ⇒ 67 ca FAIL, toàn bộ là es/pt:
       es 1920×1080 : bề rộng chữ 259.9px / dải chữ 247.9px  ⇒ tràn 23.0px
       es  844×390  :              93.8px /          89.5px  ⇒ tràn  8.3px
       es  320×568  :              81.9px /          80.7px  ⇒ tràn  4.8px
     Nguyên nhân: --play-fit (es/pt = .86) được ĐO TRÊN Baloo 2. Khi Baloo 2
     không tải được, font hệ thống rộng hơn ~6–8%/ký tự nên nhãn vượt tấm cam;
     chỉ còn vòng co của JS đỡ được, mà vòng đó cần JS.

   CÁCH VÁ — KHỚP BỀ RỘNG FONT DỰ PHÒNG (size-adjust), KHÔNG hạ --play-fit:
     Hạ --play-fit xuống .80 sẽ làm chữ es/pt nhỏ đi 7% cho MỌI người, kể cả
     khi Baloo 2 tải tốt. Thay vào đó khai một họ chữ dự phòng trỏ tới chính
     font hệ thống nhưng kèm size-adjust:92% ⇒ font dự phòng tự thu 8%.
     Baloo 2 tải được  ⇒ họ dự phòng KHÔNG được dùng ⇒ KHÔNG đổi 1px nào.
     Baloo 2 bị chặn   ⇒ nhãn thu 8% ⇒ 67/67 ca trên hết tràn.
     size-adjust: Chrome 92+ / Firefox 92+ / Safari 17+. Trình duyệt cũ bỏ qua
     descriptor này và vẫn dùng local() ⇒ y hệt hành vi hiện nay, không hồi quy.
   ========================================================================== */

@font-face{
  font-family:"Baloo 2 Fallback";
  /* CHỈ local() — không tải thêm byte nào. Đủ phủ Windows / Android / iOS / macOS. */
  src:local("Segoe UI"),local("Roboto"),local("Helvetica Neue"),local("Arial"),
      local("Liberation Sans"),local("DejaVu Sans");
  size-adjust:92%;
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
  /* Chỉ cần chữ Latin (kể cả Việt) — zh/ja/ko tự rơi sang họ sau trong ngăn xếp
     theo cơ chế fallback TỪNG KÝ TỰ, nên không ảnh hưởng nhãn CJK. */
  unicode-range:U+0000-024F,U+1E00-1EFF,U+2000-206F,U+20A0-20BF;
}

/* Chèn họ dự phòng NGAY SAU "Baloo 2" — thứ tự này là điều kiện để lớp vá chỉ
   có hiệu lực khi Baloo 2 vắng mặt. */
.play .in b{
  font-family:"Baloo 2","Baloo 2 Fallback","Exo 2",ui-sans-serif,system-ui,sans-serif;
}

/* ---- CHỐT LẠI 3 YÊU CẦU CỦA NHÃN (nêu lại ở lớp cuối cho khỏi bị lớp nào gỡ) --
   · luôn 1 dòng, KHÔNG "…", KHÔNG cắt chữ  → white-space:nowrap + text-overflow:clip
   · canh giữa dải chữ còn lại              → text-align:center
   · có khoảng cách với mép: KHOẢNG CÁCH ĐÃ NẰM TRONG HÌNH HỌC, không thêm
     padding ở đây. Dải chữ kết thúc ở 86,5% bề rộng nút, còn mép phải tấm cam
     đo trên ảnh là 90,9% ⇒ đã chừa sẵn 4,4% bề rộng nút. Thêm padding-inline
     lên chính .play .in b là PHẢN TÁC DỤNG: fitPlayLabel đọc lab.clientWidth
     làm "dải chữ khả dụng", mà clientWidth CÓ CỘNG padding (box-sizing:border-box
     nên bề rộng ô flex không nở ra) ⇒ vòng co tưởng rộng thêm 2×padding và
     co thiếu đúng chừng ấy px.
   KHÔNG khai font-size ở đây: giá trị clamp(9px, 8.25cqw·fit·shrink, 40px) trong
   index.html vẫn là lớp chốt duy nhất — thêm một nguồn nữa là mất dấu khi sửa. */
.play .in b{
  text-align:center;
  white-space:nowrap;
  text-overflow:clip;
  overflow:visible;          /* KHÔNG hidden: hidden = cắt chữ, đúng thứ phải tránh */
  padding-inline:0;
  min-width:0;
  line-height:1.05;
  /* KHÔNG transform/scaleX/scaleY ở nhãn: co chữ phải bằng font-size, không kéo méo. */
}
