/* Lớp cờ thầy Hiệp — TOKEN MÀU dùng chung: :root + ba giao diện (html[data-giao-dien], index.html và khu-thay.js tính
   từ lựa chọn của bé, lưu ở localStorage "lcth.giao-dien"). Tệp này KHÔNG có kiểu thành phần nào, chỉ biến màu — để
   trang cho bé (be.css) và khu Khoá học / Tủ sách (khu-thay.css) dùng đúng một bộ màu. Nạp TRƯỚC hai tệp đó.
   - "xanh-troi":  xanh ngọc ChessKid — "Theo mùa" ngoài mùa lễ.
   - "giang-sinh": "Theo mùa" từ 01/11 tới 10/01 — như xanh-troi, thêm nút đỏ Noel, dây đèn, tuyết rơi, đồi tuyết, cây thông.
   - "la-xanh":    khối xanh lá, trời có đồi cây (bé tự chọn).
   - "cau-vong":   khối tím + cầu vồng pastel (bộ màu cũ của trang, bé tự chọn).
   Tương phản chữ trắng trên --dau-nen, --khoi, --nhan ≥ 4.5:1; chữ nhạt trong khối (--mo #e6f2f8, vàng #fff07a)
   ≥ 4.5:1 trên --khoi; trên --cta (nút chính, chữ to đậm) ≥ 3:1. */

:root {
  --r1: #ff9e8f; --r2: #ffbe7d; --r3: #ffd98a; --r4: #8fd9b0; --r5: #8ed2e2; --r6: #aab3ef; --r7: #c9a5e2;
  /* nền trang: các dải chéo pastel (ChessKid), đồi dưới đáy (chỉ la-xanh, cau-vong, giang-sinh) */
  --troi: #b4def5; --troi2: #d8c9e1; --troi3: #c3e3f5; --doi-xa: #9cc96b; --doi-gan: #6fae45;
  --nen: #eef6fb; --nen2: #eef4f8; --the: #ffffff;
  --muc: #14303d; --muc2: #2e4a57; --mo: #4f6773; --vien: #d7e4eb;
  /* thanh đầu, khối nội dung, màu nhấn (chọn, tab), nút chính */
  --dau-nen: #33728f; --dau-dam: #245a73; --dau-chu: #ffffff;
  --khoi: #33728f; --khoi-dam: #255b74; --vang-nhan: #ffe14d;
  --nhan: #33728f; --nhan-dam: #245a73; --nhan-chu: #ffffff; --nhan-nhat: #e1eff6;
  --cta: #e2620b; --cta-dam: #a84a06; --cta-chu: #ffffff;
  --tot: #2b8a3e; --xau: #d02e5c; --vang: #f4b43c;
  /* bảy mức gian ác (thu.js MUC_GIAN_AC): cùng một sắc, đậm dần; --mc = màu chữ đặt trên nền mức */
  --m1: #fff3b0; --m2: #ffe07a; --m3: #ffc94d; --m4: #f59e2e; --m5: #e0662a; --m6: #c23b3b; --m7: #7a2450;
  --mc1: #3b2a00; --mc2: #3b2a00; --mc3: #3b2a00; --mc4: #2a1600; --mc5: #ffffff; --mc6: #ffffff; --mc7: #ffffff;
  --vach: linear-gradient(90deg, #ffe14d, #ffc94d, #8ed2e2, #33728f, #8ed2e2, #ffc94d, #ffe14d);
  --bong: 0 2px 0 rgb(20 48 61 / .08), 0 6px 18px rgb(20 48 61 / .12);
  --bong-noi: 0 3px 0 rgb(20 48 61 / .08), 0 16px 36px rgb(20 48 61 / .2);
  --bo: 20px;
  --chu-to: "Nunito", "Be Vietnam Pro", system-ui, sans-serif;
  --chu: "Nunito", "Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --focus: #1f5fd0;
  color-scheme: light;
  scrollbar-color: var(--nhan) var(--nen2);
  caret-color: var(--nhan-dam);
}
::selection { background: var(--vang-nhan); color: var(--muc); }
:root[data-giao-dien="giang-sinh"] {
  /* xanh ngọc tối hơn một bậc để chữ và tranh nét trắng rõ hơn trên nền tuyết sáng (người dùng 2026-11-10) */
  --dau-nen: #245b74; --dau-dam: #183f52; --khoi: #245b74; --khoi-dam: #183f52; --nhan: #245b74; --nhan-dam: #183f52;
  --doi-xa: #e8f3fa; --doi-gan: #ffffff;
  --cta: #c8302a; --cta-dam: #921d19;
  --vach: linear-gradient(90deg, #c8302a, #f2c14e, #1d6638, #f2c14e, #c8302a);
}
:root[data-giao-dien="la-xanh"] {
  --troi: #9fd6f5; --troi2: #dcf1fc; --troi3: #dcf1fc;
  --nen: #eef7fc; --nen2: #f1f6ec; --vien: #dfe7d6;
  --muc: #1b2b12; --muc2: #34452a; --mo: #56654c;
  --dau-nen: #3f7d2c; --dau-dam: #2f6420; --khoi: #3f7d2c; --khoi-dam: #2f6420;
  --nhan: #3f7d2c; --nhan-dam: #2f6420; --nhan-nhat: #e6f2da;
  --cta: #d9620b;
  --m1: #e6f0df; --m2: #cbe0be; --m3: #a7c994; --m4: #7cab66; --m5: #527d42; --m6: #35592d; --m7: #1d3519;
  --mc1: #24361f; --mc2: #24361f; --mc3: #1f2e1a; --mc4: #ffffff;
  --bong: 0 2px 0 rgb(27 43 18 / .07), 0 6px 18px rgb(27 43 18 / .10);
  --bong-noi: 0 3px 0 rgb(27 43 18 / .08), 0 16px 36px rgb(27 43 18 / .18);
}
:root[data-giao-dien="cau-vong"] {
  --troi: #c9c2f2; --troi2: #fbf6ff; --troi3: #fbf6ff; --doi-xa: #f6d7c9; --doi-gan: #f2b8a8;
  --nen: #fffbf7; --nen2: #fff4ea; --vien: #efe6dc;
  --muc: #2f2842; --muc2: #57506b; --mo: #6a6280;
  --dau-nen: #5b4bb5; --dau-dam: #43358f; --khoi: #5b4bb5; --khoi-dam: #43358f;
  --nhan: #5b4bb5; --nhan-dam: #43358f; --nhan-nhat: #efecfb;
  --m1: #ece6fb; --m2: #d6cbf5; --m3: #b9a5ec; --m4: #9479dc; --m5: #6f52c2; --m6: #4d3499; --m7: #2b1a63;
  --mc1: #3d3266; --mc2: #3d3266; --mc3: #2f2842; --mc4: #ffffff;
  --vach: linear-gradient(90deg, var(--r1), var(--r2), var(--r3), var(--r4), var(--r5), var(--r6), var(--r7));
  --bong: 0 2px 0 rgb(47 40 66 / .07), 0 6px 18px rgb(47 40 66 / .10);
}
/* Bản sao token chữ của giao diện đang dùng: khối xanh đặt lại --muc… sang trắng, thẻ trắng trong khối lấy lại từ đây. */
:root { --muc-t: var(--muc); --muc2-t: var(--muc2); --mo-t: var(--mo); --vien-t: var(--vien); --nen2-t: var(--nen2);
  --nhan-t: var(--nhan); --nhan-dam-t: var(--nhan-dam); --nhan-chu-t: var(--nhan-chu); --nhan-nhat-t: var(--nhan-nhat);
  --tot-t: var(--tot); --xau-t: var(--xau); }

/* --- bàn cờ theo giao diện (người dùng 2026-11-10) ------------------------------------------------------------------
   Bàn cờ xanh lá của Dashboard (ban-co-cg.css) lạc lõng giữa nền pastel của trang bé, nhất là mùa Giáng sinh. Mỗi giao
   diện nay có bộ màu ô riêng lấy từ chính màu khối của nó, viền nhạt hơn ô tối cho mềm; "Rừng xanh" giữ bàn cờ xanh lá
   như cũ vì vốn đã hợp. Ảnh ô là SVG 8×8 `crispEdges` (không dùng gradient: gradient để lộ vệt chéo ở mép ô).
   Chữ toạ độ do chessground tô (trắng trên ô tối, xám đậm trên ô sáng) nên ô tối phải đủ đậm. */
:root { /* giữ bàn cờ xanh lá của Dashboard; 'Rừng xanh' (la-xanh) dùng luôn bộ này */
  --o-sang: #EBECD0; --o-toi: #739552; --vien-ban: #4E6B37;
  --o-anh: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8' shape-rendering='crispEdges'%3E%3Crect width='8' height='8' fill='%23EBECD0'/%3E%3Cpath fill='%23739552' d='M1 0h1v1h-1zM3 0h1v1h-1zM5 0h1v1h-1zM7 0h1v1h-1zM0 1h1v1h-1zM2 1h1v1h-1zM4 1h1v1h-1zM6 1h1v1h-1zM1 2h1v1h-1zM3 2h1v1h-1zM5 2h1v1h-1zM7 2h1v1h-1zM0 3h1v1h-1zM2 3h1v1h-1zM4 3h1v1h-1zM6 3h1v1h-1zM1 4h1v1h-1zM3 4h1v1h-1zM5 4h1v1h-1zM7 4h1v1h-1zM0 5h1v1h-1zM2 5h1v1h-1zM4 5h1v1h-1zM6 5h1v1h-1zM1 6h1v1h-1zM3 6h1v1h-1zM5 6h1v1h-1zM7 6h1v1h-1zM0 7h1v1h-1zM2 7h1v1h-1zM4 7h1v1h-1zM6 7h1v1h-1z'/%3E%3C/svg%3E");
}
:root[data-giao-dien="xanh-troi"] {
  --o-sang: #E9F3F8; --o-toi: #3F82A0; --vien-ban: #5C9CB6;
  --o-anh: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8' shape-rendering='crispEdges'%3E%3Crect width='8' height='8' fill='%23E9F3F8'/%3E%3Cpath fill='%233F82A0' d='M1 0h1v1h-1zM3 0h1v1h-1zM5 0h1v1h-1zM7 0h1v1h-1zM0 1h1v1h-1zM2 1h1v1h-1zM4 1h1v1h-1zM6 1h1v1h-1zM1 2h1v1h-1zM3 2h1v1h-1zM5 2h1v1h-1zM7 2h1v1h-1zM0 3h1v1h-1zM2 3h1v1h-1zM4 3h1v1h-1zM6 3h1v1h-1zM1 4h1v1h-1zM3 4h1v1h-1zM5 4h1v1h-1zM7 4h1v1h-1zM0 5h1v1h-1zM2 5h1v1h-1zM4 5h1v1h-1zM6 5h1v1h-1zM1 6h1v1h-1zM3 6h1v1h-1zM5 6h1v1h-1zM7 6h1v1h-1zM0 7h1v1h-1zM2 7h1v1h-1zM4 7h1v1h-1zM6 7h1v1h-1z'/%3E%3C/svg%3E");
}
:root[data-giao-dien="giang-sinh"] {
  --o-sang: #F7FCFF; --o-toi: #4C94B2; --vien-ban: #7FB6CD;
  --o-anh: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8' shape-rendering='crispEdges'%3E%3Crect width='8' height='8' fill='%23F7FCFF'/%3E%3Cpath fill='%234C94B2' d='M1 0h1v1h-1zM3 0h1v1h-1zM5 0h1v1h-1zM7 0h1v1h-1zM0 1h1v1h-1zM2 1h1v1h-1zM4 1h1v1h-1zM6 1h1v1h-1zM1 2h1v1h-1zM3 2h1v1h-1zM5 2h1v1h-1zM7 2h1v1h-1zM0 3h1v1h-1zM2 3h1v1h-1zM4 3h1v1h-1zM6 3h1v1h-1zM1 4h1v1h-1zM3 4h1v1h-1zM5 4h1v1h-1zM7 4h1v1h-1zM0 5h1v1h-1zM2 5h1v1h-1zM4 5h1v1h-1zM6 5h1v1h-1zM1 6h1v1h-1zM3 6h1v1h-1zM5 6h1v1h-1zM7 6h1v1h-1zM0 7h1v1h-1zM2 7h1v1h-1zM4 7h1v1h-1zM6 7h1v1h-1z'/%3E%3C/svg%3E");
}
:root[data-giao-dien="cau-vong"] {
  --o-sang: #F3EEFF; --o-toi: #8073CC; --vien-ban: #B0A4F0;
  --o-anh: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8' shape-rendering='crispEdges'%3E%3Crect width='8' height='8' fill='%23F3EEFF'/%3E%3Cpath fill='%238073CC' d='M1 0h1v1h-1zM3 0h1v1h-1zM5 0h1v1h-1zM7 0h1v1h-1zM0 1h1v1h-1zM2 1h1v1h-1zM4 1h1v1h-1zM6 1h1v1h-1zM1 2h1v1h-1zM3 2h1v1h-1zM5 2h1v1h-1zM7 2h1v1h-1zM0 3h1v1h-1zM2 3h1v1h-1zM4 3h1v1h-1zM6 3h1v1h-1zM1 4h1v1h-1zM3 4h1v1h-1zM5 4h1v1h-1zM7 4h1v1h-1zM0 5h1v1h-1zM2 5h1v1h-1zM4 5h1v1h-1zM6 5h1v1h-1zM1 6h1v1h-1zM3 6h1v1h-1zM5 6h1v1h-1zM7 6h1v1h-1zM0 7h1v1h-1zM2 7h1v1h-1zM4 7h1v1h-1zM6 7h1v1h-1z'/%3E%3C/svg%3E");
}
