/* Trợ lý Slide Triway — trò chơi + trình chiếu. Tệp của chuyên gia D2. Tiền tố: tc- (trò chơi), ch- (trình chiếu). */

/* ===== Khung trò chơi 1280x720 co giãn ===== */
.tc-host{position:relative;overflow:hidden;background:#000;container-type:normal}
.tc-khung{position:absolute;left:0;top:0;transform-origin:0 0;display:flex;flex-direction:column;box-sizing:border-box;
  font-family:"Be Vietnam Pro",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:28px;line-height:1.3;
  color:var(--g-chu,#1d2a25);background:linear-gradient(160deg,var(--g-nen,#fff8ec),var(--g-nen2,#fff1d6));
  --tc-dung:#17803f;--tc-sai:#c8391f;--tc-vang:#f5b81c;user-select:none;-webkit-user-select:none;touch-action:manipulation;overflow:hidden}
.tc-khung *{box-sizing:border-box}
.tc-bar{display:flex;align-items:center;gap:12px;padding:16px 28px 8px;flex:none}
.tc-tieude{flex:1;min-width:0;font-size:34px;font-weight:800;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tc-cu{display:flex;gap:8px;flex:none}
.tc-cu button{min-width:max(56px,min(calc(48px / var(--tc-s,1)),150px));min-height:max(56px,min(calc(48px / var(--tc-s,1)),150px));border-radius:16px;border:2px solid rgba(0,0,0,.18);
  background:var(--g-the,#fff);color:var(--g-chu-the,#1d2a25);font-size:28px;cursor:pointer;padding:0 10px;font-family:inherit}
.tc-cu button:hover{filter:brightness(.96)}
.tc-than{flex:1;min-height:0;display:flex;flex-direction:column;padding:6px 28px 8px;gap:12px;position:relative}
.tc-tb{flex:none;min-height:44px;font-size:28px;font-weight:700;text-align:center;padding:0 12px;display:flex;align-items:center;justify-content:center}
.tc-tb.dung{color:var(--tc-dung)}.tc-tb.sai{color:var(--tc-sai)}
.khung-loi{margin:auto;max-width:900px;text-align:center;font-size:30px;font-weight:700;padding:30px;background:var(--g-the,#fff);color:var(--g-chu-the,#222);border-radius:24px;border:3px dashed var(--tc-sai)}

/* nút chung: >=48px thật */
.tc-nut{min-height:max(56px,min(calc(48px / var(--tc-s,1)),150px));min-width:max(56px,min(calc(48px / var(--tc-s,1)),150px));border-radius:18px;border:3px solid rgba(0,0,0,.2);
  background:var(--g-chinh,#2f6fd6);color:var(--g-chinh-chu,#fff);font-weight:700;font-size:28px;line-height:1.2;font-family:inherit;cursor:pointer;padding:8px 22px;
  transition:transform .12s,filter .12s,opacity .2s;box-shadow:0 4px 0 rgba(0,0,0,.22)}
.tc-nut:hover:not(:disabled){filter:brightness(1.08)}
.tc-nut:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 rgba(0,0,0,.22)}
.tc-nut:focus-visible,.tc-cu button:focus-visible,.tc-the:focus-visible,.tc-hop:focus-visible,.tc-chip:focus-visible{outline:5px solid #ffd23f;outline-offset:3px}
.tc-nut:disabled{opacity:.45;cursor:default}
.tc-nut.phu{background:var(--g-the,#fff);color:var(--g-chu-the,#1d2a25)}
.tc-nut.to{font-size:34px;padding:14px 36px}
.tc-nut.hinh{border-radius:50%;padding:0}

/* ===== trắc nghiệm ===== */
.tc-hoi{display:flex;flex-direction:column;gap:14px;flex:1;min-height:0}
.tc-cau{background:var(--g-the,#fff);color:var(--g-chu-the,#1d2a25);border-radius:26px;padding:20px 28px;font-weight:800;text-align:center;
  display:flex;align-items:center;justify-content:center;min-height:130px;flex:1.1;overflow:auto;overflow-wrap:anywhere;box-shadow:0 6px 0 rgba(0,0,0,.12);border:3px solid rgba(0,0,0,.1)}
.tc-dapan{display:grid;grid-template-columns:1fr 1fr;gap:14px;flex:1.4;min-height:0}
.tc-dapan.mot{grid-template-columns:1fr}
.tc-dap{display:flex;align-items:center;gap:14px;text-align:left;justify-content:flex-start;font-weight:700;overflow-wrap:anywhere;position:relative;padding:10px 18px}
.tc-dap .ky{flex:none;width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.92);color:#222;display:grid;place-items:center;font-weight:900;font-size:30px}
.tc-dap .chu{flex:1;min-width:0}
.tc-dap .dau{flex:none;font-size:40px;font-style:normal;font-weight:900}
.tc-dap.d0{background:#2f6fd6}.tc-dap.d1{background:#7a4cc4}.tc-dap.d2{background:#0b7a7a}.tc-dap.d3{background:#b3540a}
.tc-dap{color:#fff}
.tc-dap.tc-dung{background:var(--tc-dung)!important;outline:6px solid #b9f5cc;transform:scale(1.03)}
.tc-dap.tc-sai{background:var(--tc-sai)!important;animation:tc-lac .4s}
.tc-dap.tc-mo{opacity:.22;pointer-events:none}
.tc-dap.tc-mat{opacity:.5}
.tc-gt{flex:none;background:rgba(255,255,255,.92);color:#1d2a25;border-radius:18px;padding:10px 20px;font-size:26px;font-weight:600;border-left:10px solid var(--tc-dung)}
.tc-gt.sai{border-left-color:var(--tc-sai)}.tc-gt.het{border-left-color:var(--tc-vang)}
@keyframes tc-lac{0%,100%{transform:translateX(0)}20%{transform:translateX(-12px)}60%{transform:translateX(12px)}}

/* ===== trợ giúp ===== */
.tc-giup{display:flex;gap:12px;flex:none;justify-content:center;flex-wrap:wrap}
.tc-giup .tc-nut{font-size:26px;padding:6px 18px;background:var(--g-the,#fff);color:var(--g-chu-the,#1d2a25)}
.tc-giup .tc-nut small{display:block;font-size:18px;font-weight:600;opacity:.75}
.tc-giup .tc-nut.da{opacity:.4;text-decoration:line-through}
.tc-phieu{display:flex;flex-direction:column;gap:12px;min-width:640px}
.tc-phieu .hang{display:flex;align-items:center;gap:12px}
.tc-phieu .ten{width:48px;font-weight:900;font-size:32px}
.tc-phieu .thanh{flex:1;height:44px;background:rgba(0,0,0,.1);border-radius:12px;overflow:hidden}
.tc-phieu .thanh i{display:block;height:100%;background:#2f6fd6;transition:width .4s;min-width:0}
.tc-phieu .so{width:90px;font-weight:800;text-align:right}
.tc-phieu input{width:84px;min-height:56px;font-weight:700;font-size:26px;font-family:inherit;border-radius:12px;border:3px solid rgba(0,0,0,.25);text-align:center;color:#111;background:#fff}
.tc-phieu .goi{font-size:24px;opacity:.8}

/* ===== đồng hồ ===== */
.tc-dh{position:relative;width:96px;height:96px;flex:none}
.tc-dh.nho{width:70px;height:70px}
.tc-dh svg{width:100%;height:100%;transform:rotate(-90deg)}
.tc-dh .nen{fill:var(--g-the,#fff);stroke:rgba(0,0,0,.15);stroke-width:8}
.tc-dh .vong{fill:none;stroke:var(--g-chinh,#2f6fd6);stroke-width:8;stroke-linecap:round;stroke-dasharray:276.46;stroke-dashoffset:0}
.tc-dh .so{position:absolute;inset:0;display:grid;place-items:center;font-size:34px;font-weight:900;color:var(--g-chu-the,#222)}
.tc-dh.nho .so{font-size:26px}
.tc-dh.gap .vong{stroke:var(--tc-sai)}.tc-dh.gap .so{color:var(--tc-sai);animation:tc-nhip .5s infinite}
.tc-dh .cong{position:absolute;left:50%;top:-6px;font-weight:900;color:var(--tc-dung);font-size:32px;animation:tc-bay 1.1s forwards;pointer-events:none}
@keyframes tc-nhip{50%{transform:scale(1.18)}}
@keyframes tc-bay{from{opacity:1;transform:translate(-50%,0)}to{opacity:0;transform:translate(-50%,-60px)}}

/* ===== bảng điểm đội ===== */
.tc-doi{display:flex;gap:12px;padding:8px 28px 18px;flex:none;justify-content:center;align-items:stretch;flex-wrap:wrap}
.tc-chip{display:flex;align-items:center;gap:10px;background:var(--g-the,#fff);color:var(--g-chu-the,#1d2a25);border:4px solid transparent;border-radius:20px;
  padding:8px 14px;min-height:max(76px,min(calc(48px / var(--tc-s,1)),150px));cursor:pointer;font-family:inherit;font-size:26px;font-weight:700;box-shadow:0 4px 0 rgba(0,0,0,.16);flex:1;min-width:230px;max-width:430px}
.tc-chip.cur{border-color:var(--chip,#2f6fd6);box-shadow:0 0 0 5px var(--chip,#2f6fd6) inset,0 4px 0 rgba(0,0,0,.16)}
.tc-chip .cham{flex:none;width:18px;height:46px;border-radius:9px;background:var(--chip,#2f6fd6)}
.tc-chip .ten{flex:1;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tc-chip .diem{font-size:38px;font-weight:900;min-width:64px;text-align:right}
.tc-chip .diem.nay{animation:tc-nay .5s}
.tc-chip .dv{font-size:20px;font-weight:600;opacity:.7}
.tc-chip .dc{min-width:max(48px,min(calc(48px / var(--tc-s,1)),120px));min-height:max(48px,min(calc(48px / var(--tc-s,1)),120px));border-radius:12px;border:2px solid rgba(0,0,0,.2);background:rgba(0,0,0,.06);font-size:28px;font-weight:900;cursor:pointer;color:inherit;font-family:inherit}
.tc-chip.khoa{opacity:.45}
.tc-chip .mini{display:flex;gap:4px}
.tc-chip .mini button{min-width:max(48px,min(calc(48px / var(--tc-s,1)),120px));min-height:max(48px,min(calc(48px / var(--tc-s,1)),120px));border-radius:12px;border:2px solid rgba(0,0,0,.2);background:#fff;cursor:pointer;font-size:20px;font-weight:800;color:#222;font-family:inherit;padding:0 4px}
.tc-chip .mini button.da{opacity:.35;text-decoration:line-through}
.tc-chip.giu{background:#fff3b0}
@keyframes tc-nay{40%{transform:scale(1.5)}}

/* ===== hộp thoại trong khung ===== */
.tc-phu{position:absolute;inset:0;background:rgba(10,20,15,.62);display:grid;place-items:center;z-index:30;padding:30px}
.tc-hopthoai{background:#fff;color:#1d2a25;border-radius:28px;padding:26px 34px;max-width:1080px;max-height:92%;overflow:auto;box-shadow:0 20px 60px rgba(0,0,0,.5);display:flex;flex-direction:column;gap:16px;min-width:520px}
.tc-hopthoai h3{margin:0;font-size:36px}
.tc-hopthoai .nd{font-size:28px;line-height:1.4}
.tc-hopthoai ul{margin:0;padding-left:30px}
.tc-hopthoai .hang-nut{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}
.tc-hopthoai .phim-bang{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;font-size:26px}
.tc-hopthoai kbd{background:#eee;border:2px solid #aaa;border-bottom-width:4px;border-radius:8px;padding:0 12px;font-weight:700;font-size:24px;font-family:monospace;color:#111}

/* ===== đúng/sai ===== */
.tc-ds{display:flex;flex-direction:column;gap:14px;flex:1;min-height:0}
.tc-tien{height:16px;border-radius:8px;background:rgba(0,0,0,.14);overflow:hidden;flex:none}
.tc-tien i{display:block;height:100%;background:var(--g-chinh,#2f6fd6);transition:width .4s}
.tc-tiendong{display:flex;align-items:center;gap:16px;flex:none;font-weight:800}
.tc-ds .tc-cau{border:8px solid transparent}
.tc-ds .tc-cau.dung{border-color:var(--tc-dung)}.tc-ds .tc-cau.sai{border-color:var(--tc-sai)}
.tc-ds-nut{display:grid;grid-template-columns:1fr 1fr;gap:20px;flex:none}
.tc-ds-nut .tc-nut{font-size:48px;min-height:max(120px,min(calc(48px / var(--tc-s,1)),170px));font-weight:900}
.tc-ds-nut .dung{background:var(--tc-dung);color:#fff}.tc-ds-nut .sai{background:#b8341a;color:#fff}
.tc-ds-nut .tc-nut.chon{transform:scale(1.06)}.tc-ds-nut .tc-nut.mo{opacity:.3}

/* ===== hộp quà ===== */
.tc-luoi-hop{display:grid;gap:18px;flex:1;min-height:0;align-content:center}
.tc-hop{border-radius:26px;border:4px solid rgba(0,0,0,.18);background:linear-gradient(160deg,var(--g-chinh,#2f6fd6),#e0457b);color:#fff;font-weight:900;font-size:30px;font-family:inherit;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:150px;box-shadow:0 8px 0 rgba(0,0,0,.2);transition:transform .15s,opacity .3s}
.tc-hop .qua{font-size:76px;line-height:1}
.tc-hop:hover:not(:disabled){transform:translateY(-4px) rotate(-1.5deg)}
.tc-hop:disabled{opacity:.4;cursor:default;box-shadow:none;filter:grayscale(.6)}
.tc-hop.mo-ra .qua{animation:tc-nap .6s}
@keyframes tc-nap{0%{transform:scale(1)}40%{transform:translateY(-30px) rotate(-18deg) scale(1.3)}100%{transform:scale(1)}}
.tc-dem{font-weight:800;font-size:28px;flex:none;text-align:right}
.tc-qua-nd{font-size:44px;font-weight:800;text-align:center;padding:20px;overflow-wrap:anywhere}

/* ===== lật thẻ ===== */
.tc-luoi-the{display:grid;gap:16px;flex:1;min-height:0;align-content:center;perspective:1200px}
.tc-the{position:relative;min-height:max(110px,min(calc(48px / var(--tc-s,1)),150px));border:0;background:none;padding:0;cursor:pointer;font-family:inherit;transform-style:preserve-3d;transition:transform .45s}
.tc-the.lat{transform:rotateY(180deg)}
.tc-the .mat{position:absolute;inset:0;border-radius:22px;display:grid;place-items:center;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:4px solid rgba(0,0,0,.2);font-weight:900;overflow:hidden;padding:6px;text-align:center;overflow-wrap:anywhere}
.tc-the .up{background:repeating-linear-gradient(45deg,var(--g-chinh,#2f6fd6) 0 18px,rgba(255,255,255,.2) 18px 36px),var(--g-chinh,#2f6fd6);color:#fff;font-size:56px}
.tc-the .ngua{background:#fff;color:#1d2a25;transform:rotateY(180deg);font-size:38px}
.tc-the.khop .ngua{background:#c9f2d6;border-color:var(--tc-dung)}
.tc-the .so{position:absolute;left:10px;top:6px;font-size:20px;font-weight:800;opacity:.7}
.tc-chipthongke{display:flex;gap:18px;justify-content:center;flex:none;font-weight:800;font-size:28px;align-items:center}
.tc-chipthongke span{background:var(--g-the,#fff);color:var(--g-chu-the,#222);border-radius:999px;padding:6px 22px}

/* ===== ô chữ ===== */
.tc-oc{display:flex;gap:22px;flex:1;min-height:0}
.tc-oc-luoi{flex:1.7;display:flex;flex-direction:column;gap:8px;justify-content:center;min-width:0}
.tc-oc-hang{display:flex;gap:6px;align-items:center}
.tc-oc-so{flex:none;width:56px;height:56px;min-width:max(56px,min(calc(48px / var(--tc-s,1)),120px));min-height:max(56px,min(calc(48px / var(--tc-s,1)),120px));border-radius:50%;border:3px solid rgba(0,0,0,.3);background:var(--g-the,#fff);color:var(--g-chu-the,#222);font-weight:900;font-size:28px;font-family:inherit;cursor:pointer;margin-right:6px}
.tc-oc-so.chon{background:var(--g-chinh,#2f6fd6);color:var(--g-chinh-chu,#fff)}
.tc-oc-so.xong{background:var(--tc-dung);color:#fff}
.tc-oc-o{width:var(--o,56px);height:var(--o,56px);flex:none;border-radius:10px;border:3px solid rgba(0,0,0,.35);background:#fff;color:#1d2a25;display:grid;place-items:center;font-weight:900;font-size:calc(var(--o,56px) * .6)}
.tc-oc-o.khoa{background:var(--tc-vang)}
.tc-oc-o.hien{animation:tc-hien .35s}
.tc-oc-trong{width:var(--o,56px);flex:none}
@keyframes tc-hien{0%{transform:rotateX(90deg)}100%{transform:none}}
.tc-oc-ben{flex:1;display:flex;flex-direction:column;gap:12px;min-width:280px}
.tc-oc-goiy{background:var(--g-the,#fff);color:var(--g-chu-the,#222);border-radius:22px;padding:18px 24px;flex:1;font-size:32px;font-weight:700;overflow:auto;border:3px solid rgba(0,0,0,.12)}
.tc-oc-goiy small{display:block;font-size:22px;opacity:.7;margin-bottom:6px}

/* ===== vòng quay ===== */
.tc-vq{display:flex;gap:26px;flex:1;min-height:0;align-items:center}
.tc-vq-banh{position:relative;flex:none;height:100%;aspect-ratio:1/1;max-height:560px;max-width:560px}
.tc-vq-banh svg{width:100%;height:100%;display:block;overflow:visible}
.tc-vq-kim{position:absolute;left:50%;top:-14px;width:48px;height:58px;transform:translateX(-50%);transform-origin:50% 8px;z-index:3;filter:drop-shadow(0 3px 2px rgba(0,0,0,.4))}
.tc-vq-kim.giat{animation:tc-giat .12s}
@keyframes tc-giat{50%{transform:translateX(-50%) rotate(-22deg)}}
.tc-vq-quay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(110px,min(calc(48px / var(--tc-s,1)),190px));height:max(110px,min(calc(48px / var(--tc-s,1)),190px));border-radius:50%;border:6px solid #fff;
  background:var(--tc-sai);color:#fff;font-weight:900;font-size:30px;font-family:inherit;cursor:pointer;z-index:4;box-shadow:0 6px 18px rgba(0,0,0,.4);padding:0}
.tc-vq-quay:disabled{background:#888;cursor:default}
.tc-vq-ben{flex:1;display:flex;flex-direction:column;gap:14px;min-width:0;height:100%;justify-content:center}
.tc-vq-kq{background:var(--g-the,#fff);color:var(--g-chu-the,#222);border-radius:26px;padding:20px 26px;min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;font-weight:900;font-size:46px;overflow-wrap:anywhere;border:4px solid var(--g-chinh,#2f6fd6)}
.tc-vq-kq small{font-size:24px;font-weight:600;opacity:.7}
.tc-vq-ls{font-size:24px;max-height:150px;overflow:auto;padding:0 8px}
.tc-vq-ls span{display:inline-block;background:rgba(0,0,0,.1);border-radius:999px;padding:2px 14px;margin:3px}
.tc-vq-tuy{display:flex;gap:12px;flex-wrap:wrap;align-items:center;font-size:24px;font-weight:700}
.tc-vq-tuy label{display:flex;align-items:center;gap:10px;min-height:56px;cursor:pointer}
.tc-vq-tuy input{width:34px;height:34px}

/* ===== leo đỉnh ===== */
.tc-leo{display:flex;gap:22px;flex:1;min-height:0}
.tc-leo-doc{position:relative;flex:1.35;min-width:0;border-radius:26px;background:linear-gradient(180deg,#9fd8ff 0,#d6f1ff 60%,#c8e6a0 100%);overflow:hidden;border:4px solid rgba(0,0,0,.15)}
.tc-leo-bac{position:absolute;bottom:0;background:linear-gradient(180deg,#8d6e4c,#6e5238);border-top:6px solid #b8e07a;border-radius:8px 8px 0 0;color:#fff;font-weight:900;font-size:24px;display:flex;align-items:flex-start;justify-content:center;padding-top:6px}
.tc-leo-bac.moc{border-top-color:#ffd23f}
.tc-leo-co{position:absolute;font-size:40px;line-height:1;transform:translate(-50%,-100%)}
.tc-leo-nv{position:absolute;font-size:50px;line-height:1;transform:translate(-50%,-100%);transition:left .8s cubic-bezier(.3,.8,.4,1),top .8s cubic-bezier(.5,-.6,.5,1.4);z-index:2;filter:drop-shadow(0 3px 2px rgba(0,0,0,.35))}
.tc-leo-nv .nhan{position:absolute;left:50%;top:100%;transform:translate(-50%,0);font-size:18px;font-weight:800;background:#fff;color:#222;border-radius:8px;padding:0 6px;white-space:nowrap;margin-top:-4px}
.tc-leo-hoi{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px}
.tc-leo-hoi .tc-cau{min-height:100px;font-size:30px}
.tc-leo-hoi .tc-dapan{grid-template-columns:1fr}
.tc-leo-hoi .tc-dap{font-size:24px;padding:6px 14px}
.tc-leo-hoi .tc-dap .ky{width:44px;height:44px;font-size:24px}
.tc-leo-tren{display:flex;align-items:center;gap:14px;flex:none;font-weight:800}

/* ===== nhanh tay ===== */
.tc-nt-tren{display:flex;align-items:center;gap:16px;flex:none;font-weight:800;font-size:26px}
.tc-nt-giu{flex:1;text-align:center;font-size:30px}

/* ===== tiện ích ===== */
.tc-phao{position:absolute;inset:0;pointer-events:none;z-index:60;width:100%;height:100%}
.tc-an-doc{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (prefers-reduced-motion:reduce){
  .tc-khung *,.ch-goc *{animation:none!important;transition:none!important}
}

/* chỉnh bổ sung */
.tc-oc-so{width:max(var(--o,56px),44px);height:max(var(--o,56px),44px);min-width:max(44px,min(calc(48px / var(--tc-s,1)),120px));min-height:max(44px,min(calc(48px / var(--tc-s,1)),120px));font-size:24px;margin-right:6px}
.tc-oc-luoi{overflow:auto}
.tc-phieu .ten{width:auto;min-width:56px}
.tc-leo-hoi{overflow:auto}
.tc-leo-hoi .tc-cau{min-height:70px;font-size:26px;padding:10px 16px}
.tc-leo-hoi .tc-dapan{grid-template-columns:1fr 1fr;gap:8px}
.tc-leo-hoi .tc-dap{font-size:20px;padding:4px 10px;gap:8px}
.tc-leo-hoi .tc-dap .ky{width:36px;height:36px;font-size:20px}
.tc-leo-hoi .tc-dap .dau{font-size:28px}
.tc-leo-hoi .tc-gt{font-size:20px;padding:6px 12px}
.tc-leo-hoi .tc-giup .tc-nut{font-size:20px;padding:2px 12px}
.tc-hoi .tc-cau{min-height:80px}
.tc-nt-tren .tc-dh.nho,.tc-leo-tren .tc-dh.nho{flex:none}
.tc-doi .tc-chip{flex-wrap:wrap}
.tc-chip .mini{flex:none;width:100%;justify-content:center}

/* ===== Trình chiếu ===== */
html.ch-khoa-cuon,html.ch-khoa-cuon body{overflow:hidden}
.ch-goc{position:fixed;inset:0;z-index:2147483000;background:#000;color:#fff;font-family:"Be Vietnam Pro",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;outline:none;overflow:hidden;touch-action:manipulation}
.ch-san{position:absolute;background:#111;overflow:hidden}
.ch-lopHost{position:absolute;inset:0}
.ch-lop{position:absolute;inset:0;overflow:hidden}
.ch-lop.ch-chuyen{will-change:transform,opacity;backface-visibility:hidden}
/* phần tử chưa tới lượt hiệu ứng: ẩn hẳn, không bấm trúng */
[data-hu="0"]{visibility:hidden!important;pointer-events:none!important}
@media (prefers-reduced-motion:reduce){.ch-lop.ch-chuyen{will-change:auto}}
.ch-goc.ch-laser-on,.ch-goc.ch-laser-on *{cursor:none!important}
.ch-laser{display:none;position:fixed;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;background:radial-gradient(circle,#fff 0,#ff2a2a 35%,rgba(255,40,40,.35) 65%,transparent 72%);box-shadow:0 0 18px 6px rgba(255,40,40,.6);pointer-events:none;z-index:60}
.ch-den{position:absolute;inset:0;background:#000;display:none;z-index:50}
.ch-den.hien{display:block}
.ch-doc{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ch-toast{position:absolute;left:50%;top:18px;transform:translateX(-50%);background:rgba(20,30,26,.92);color:#fff;border:2px solid rgba(255,255,255,.3);border-radius:14px;padding:10px 22px;font-size:20px;font-weight:700;z-index:70;opacity:0;pointer-events:none;transition:opacity .2s;max-width:90vw;text-align:center}
.ch-toast.hien{opacity:1}
.ch-xoay{display:none;position:absolute;left:12px;right:12px;bottom:90px;background:#f0b83a;color:#2a1c00;border-radius:14px;padding:12px 16px;font-weight:800;font-size:18px;z-index:70;text-align:center}
.ch-dai{position:absolute;left:50%;bottom:12px;transform:translate(-50%,20px);display:flex;gap:6px;align-items:center;background:rgba(14,24,20,.9);border:2px solid rgba(255,255,255,.2);border-radius:20px;padding:6px 8px;z-index:60;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;max-width:calc(100vw - 16px);flex-wrap:wrap;justify-content:center}
.ch-goc.hien-dai .ch-dai,.ch-dai:focus-within{opacity:1;pointer-events:auto;transform:translate(-50%,0)}
.ch-nut{min-width:48px;min-height:48px;border-radius:14px;border:2px solid rgba(255,255,255,.25);background:#24382f;color:#fff;font:700 20px/1.1 system-ui,sans-serif;cursor:pointer;padding:0 12px;font-family:inherit}
.ch-nut:hover{background:#2f4a3e}
.ch-nut.bat{background:#4fc9a2;color:#06241b}
.ch-nut.phu{background:#e9efe9;color:#1d2a25}
.ch-nut.thoat{background:#b3261e}
.ch-nut:focus-visible,.ch-mui:focus-visible,.ch-the:focus-visible{outline:4px solid #ffd23f;outline-offset:2px}
.ch-chipgio{font-weight:800;font-size:20px;padding:0 10px;min-width:0}
.ch-chipgio:empty{display:none}
.ch-chipgio.vang,.gv-gio.vang{color:#f0b83a}.ch-chipgio.do,.gv-gio.do{color:#ff7b6b}
.ch-mui{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:96px;border:0;border-radius:16px;background:rgba(14,24,20,.55);color:#fff;font-size:44px;cursor:pointer;z-index:55;opacity:0;transition:opacity .25s}
.ch-trai{left:6px}.ch-phai{right:6px}
.ch-goc.hien-dai .ch-mui{opacity:.85}
.ch-gv{position:absolute;right:0;top:0;bottom:0;width:372px;background:#10201a;border-left:3px solid #4fc9a2;padding:14px 16px 90px;overflow:auto;z-index:58;display:none;font-size:18px;line-height:1.45}
.ch-gv.hien{display:block}
.gv-dau{display:flex;justify-content:space-between;align-items:center;font-size:22px;margin-bottom:6px}
.gv-nhac{font-size:15px;color:#a9c4b6;margin:0 0 10px}
.gv-muc{background:#1b3027;border-radius:12px;padding:10px 14px;margin-bottom:10px}
.gv-nhan{font-size:14px;color:#a9c4b6;font-weight:700;margin-bottom:4px}
.gv-nd{font-weight:600;overflow-wrap:anywhere;white-space:pre-wrap}.gv-nd.trong{opacity:.55;font-weight:400}
.gv-gio{font-size:42px;font-weight:900;margin:2px 0 8px}
.gv-hang{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.gv-hang label{font-size:16px;display:flex;align-items:center;gap:6px}
.gv-phut{width:76px;min-height:48px;font:700 20px system-ui;border-radius:10px;border:2px solid #7d9a8b;background:#fff;color:#111;text-align:center}
.ch-luoi{position:absolute;inset:0;background:rgba(6,14,10,.96);z-index:62;padding:18px;overflow:auto}
.ch-luoi-tren{display:flex;justify-content:space-between;align-items:center;font-size:26px;margin-bottom:12px}
.ch-luoi-ds{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.ch-the{display:flex;flex-direction:column;gap:2px;text-align:left;min-height:96px;border-radius:14px;border:3px solid rgba(255,255,255,.2);background:#1b3027;color:#fff;padding:10px 14px;cursor:pointer;font-family:inherit;font-size:18px}
.ch-the.cur{border-color:#f0b83a}
.ch-the b{font-size:22px;color:#f0b83a}.ch-the span{font-weight:700;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.ch-the small{opacity:.7}
.ch-phim-g{display:grid;grid-template-columns:auto 1fr;gap:12px 22px;font-size:22px;max-width:760px}
.ch-phim-g kbd{background:#24382f;border:2px solid #7d9a8b;border-bottom-width:4px;border-radius:8px;padding:2px 12px;font:700 20px monospace;white-space:nowrap;justify-self:start}
.ch-bg{position:absolute;left:14px;top:14px;background:rgba(14,24,20,.94);border:2px solid rgba(255,255,255,.25);border-radius:18px;padding:10px 14px;z-index:61;min-width:280px}
.bg-dau{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:18px}
.bg-so{font-size:76px;font-weight:900;text-align:center;line-height:1.1;margin:4px 0}
.ch-bg.do .bg-so{color:#ff7b6b;animation:ch-nhip .5s infinite}
.ch-bg.het .bg-so{color:#ff7b6b}
.bg-pre{display:flex;gap:6px;justify-content:center;margin-top:6px;flex-wrap:wrap}
@keyframes ch-nhip{50%{transform:scale(1.08)}}
@media (max-width:760px){.ch-gv{width:100%;padding-bottom:110px}.ch-mui{width:44px;height:80px}}
