@font-face{font-family:'ArialVN';src:url('../fonts/arial.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'ArialVN';src:url('../fonts/arialbd.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:'Stencil';src:url('../fonts/STENCIL.TTF') format('truetype');font-weight:400 900;font-display:swap}
:root{
  --red:#c8102e; --red-dark:#9e0c24; --gold:#f5c518; --ink:#1f2430; --muted:#6b7280;
  --line:#e4e7ec; --bg:#f2f4f7; --white:#fff; --green:#138a4a; --blue:#1565c0;
  --radius:10px; --shadow:0 1px 3px rgba(16,24,40,.08),0 1px 2px rgba(16,24,40,.06);
  --font-ui:'ArialVN',Arial,"Segoe UI",Roboto,Helvetica,sans-serif;
  --font-num:'Stencil','ArialVN',Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
html,body{overflow-x:hidden;max-width:100%}
body{font-family:var(--font-ui);background:var(--bg);color:var(--ink);font-size:15px;line-height:1.5}
/* số kết quả KQXS dùng font Stencil */
.kqxs .num,.kqxs-zoom-modal .num{font-family:var(--font-num)}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.container{max-width:1140px;margin:0 auto;padding:0 14px}

/* Header */
.site-header{background:var(--white);box-shadow:var(--shadow);position:sticky;top:0;z-index:50}
.header-inner{display:flex;align-items:center;gap:18px;padding:2px 4px}
.brand{display:flex;align-items:center;gap:10px}
.brand-logo{height:62px;width:auto;display:block}
.brand-mark{background:var(--red);color:#fff;font-weight:800;width:42px;height:42px;border-radius:10px;display:grid;place-items:center;font-size:18px;letter-spacing:-1px}
.brand-text b{color:var(--red);font-size:20px}
.brand-text i{color:var(--gold);font-style:normal;font-weight:800;font-size:20px;background:var(--ink);padding:0 4px;border-radius:4px;margin-left:2px}
.brand-text small{display:block;color:var(--muted);font-size:11px;letter-spacing:1px}
/* Widget dò kết quả trên header */
.header-do{margin-left:auto;display:flex;align-items:stretch;gap:0;background:linear-gradient(180deg,#ffce4d,#f5a623);padding:5px;border-radius:30px;box-shadow:var(--shadow)}
.header-do input,.header-do select{border:0;outline:none;padding:8px 10px;font-size:14px;background:#fff;height:36px}
.header-do input[type=date]{border-radius:20px 0 0 20px;width:138px}
.header-do select{border-left:1px solid var(--line);max-width:120px}
.header-do input[name=q]{border-left:1px solid var(--line);border-radius:0;width:110px}
.header-do button{background:var(--red);color:#fff;border:0;padding:0 18px;border-radius:0 20px 20px 0;font-weight:800;cursor:pointer;font-size:14px;letter-spacing:.5px}
.header-do button:hover{background:var(--red-dark)}
/* Ô ngày dd/mm/yyyy hoà vào pill header (không viền, bo góc trái) */
.header-do .date-field{align-items:stretch}
.header-do .date-field-lbl{border:0;border-radius:20px 0 0 20px;height:36px;padding:8px 12px;background:#fff;font-size:14px}
@media(max-width:820px){
  .header-inner{display:block;padding:0}                /* bỏ flex + padding để logo chiếm trọn hàng */
  .header-do{display:none}                              /* mobile: ẩn ô dò vé trên header */
  .brand{display:block;width:100%;text-align:center;line-height:0}
  .brand-logo{height:auto;width:100%;max-width:100%;margin:0;display:block}  /* logo full ngang màn hình */
}

/* Nav */
.main-nav{background:linear-gradient(180deg,var(--red),var(--red-dark))}
.nav-inner>ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap}
.nav-inner>ul>li{position:relative}
.nav-inner>ul>li>a{display:block;color:#fff;font-weight:600;padding:12px 15px;font-size:14px}
.nav-inner>ul>li:hover>a{background:rgba(0,0,0,.18)}
.has-sub>a::after{content:"▾";margin-left:5px;font-size:11px;opacity:.85}
.sub{position:absolute;top:100%;left:0;background:#fff;min-width:210px;box-shadow:var(--shadow);border-radius:0 0 8px 8px;padding:6px 0;margin:0;list-style:none;display:none;z-index:60;border-top:3px solid var(--gold)}
.sub li a{display:block;padding:8px 16px;color:var(--ink);font-size:14px}
.sub li a:hover{background:#fff4f5;color:var(--red)}
/* JS điều khiển hoàn toàn qua class .open (tránh xung đột hover/click) */
.has-sub.open > .sub{display:block}
/* Mega menu nhiều cột */
.sub.mega{min-width:520px;padding:10px}
.sub.mega.mega-wide{min-width:1000px}
.mega-col .mega-sub{display:flex;flex-direction:column}
.mega-col.wide2{min-width:300px}
.mega-col.wide2 .mega-sub{display:grid;grid-template-columns:1fr 1fr;gap:0 4px}
.has-sub.open > .sub.mega{display:flex;gap:4px}
.mega-col{display:flex;flex-direction:column;min-width:168px;padding:0 6px;border-right:1px solid var(--line)}
.mega-col:last-child{border-right:0}
.mega-h{font-weight:800;color:var(--red);padding:5px 8px;font-size:12px;text-transform:uppercase;border-bottom:2px solid var(--gold);margin-bottom:4px;display:block;letter-spacing:.3px}
a.mega-h:hover{color:var(--red-dark)}
.sub.mega a{padding:6px 8px;font-size:13px;white-space:nowrap;display:flex;align-items:center}
.sub.mega .live-dot{width:7px;height:7px;flex:none}

/* Nút hamburger gom menu (chỉ hiện ở mobile) */
.nav-toggle{display:none}
@media(max-width:860px){
  .nav-toggle{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;color:#fff;
    font-weight:700;font-size:15px;letter-spacing:.5px;padding:13px 16px;cursor:pointer}
  .nav-toggle .bars{display:inline-flex;flex-direction:column;gap:5px}
  .nav-toggle .bars i{width:24px;height:2px;background:#fff;border-radius:2px;transition:transform .22s,opacity .22s}
  .main-nav.open .nav-toggle .bars i:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .main-nav.open .nav-toggle .bars i:nth-child(2){opacity:0}
  .main-nav.open .nav-toggle .bars i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  /* Danh sách menu: ẩn mặc định, mở khi .main-nav.open; xếp dọc */
  .nav-inner{display:none;padding:0}
  .main-nav.open .nav-inner{display:block}
  .nav-inner>ul{flex-direction:column;flex-wrap:nowrap}
  .nav-inner>ul>li{position:static;border-top:1px solid rgba(255,255,255,.16)}
  .nav-inner>ul>li>a{padding:13px 16px}
  .has-sub>a::after{float:right;opacity:.9}

  /* Submenu thành accordion: chiếm trọn chiều ngang, đẩy nội dung xuống */
  .sub,.sub.mega,.sub.mega.mega-wide{position:static;min-width:0;width:auto;box-shadow:none;
    border-radius:0;border-top:0;background:rgba(0,0,0,.18);padding:4px 0;z-index:auto}
  .has-sub.open>.sub.mega{display:block;gap:0}
  .sub li a{color:#fff;padding:11px 30px;font-size:13.5px;white-space:normal}
  .sub li a:hover,.sub.mega a:hover{background:rgba(0,0,0,.28);color:#fff}
  /* Mega menu: link xếp 2 cột để bớt dài theo chiều dọc */
  .sub.mega a{color:#fff;padding:9px 16px;font-size:13px;white-space:normal}
  .mega-col{min-width:0;border-right:0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:4px}
  .mega-col>.mega-h{grid-column:1/-1}
  .mega-col .mega-sub,.mega-col.wide2 .mega-sub{display:grid;grid-template-columns:1fr 1fr;column-gap:4px;grid-column:1/-1}
  .mega-col.wide2{min-width:0}
  .mega-h{color:var(--gold);padding:10px 16px;border-bottom:0;margin:0;font-size:12px}
  a.mega-h:hover{color:#fff;background:rgba(0,0,0,.28)}
}

/* Layout */
.page-main{padding:18px 14px}
.grid{display:grid;grid-template-columns:1fr 320px;gap:18px}
.grid>.content,.grid>.sidebar{min-width:0}   /* cho phép track co lại, tránh tràn ngang trên mobile */
@media(max-width:980px){.grid{grid-template-columns:1fr}}
.card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:18px;overflow:hidden}
.card-head{background:linear-gradient(180deg,var(--red),var(--red-dark));color:#fff;padding:6px 12px;display:flex;align-items:center;justify-content:space-between}
.card-head h2,.card-head h1{margin:0;font-size:17px}
.card-head .date{font-size:13px;background:rgba(255,255,255,.15);padding:3px 9px;border-radius:20px}
/* Mỗi game điện toán đơn giản 1 màu riêng (ĐT 1*2*3 / ĐT 6x36 / Thần Tài 4) */
.card-head.dtg-DT123{background:linear-gradient(90deg,#1d4ed8,#3b82f6)}
.card-head.dtg-DT636{background:linear-gradient(90deg,#0d9488,#14b8a6)}
.card-head.dtg-TT4{background:linear-gradient(90deg,#b45309,#f59e0b)}
/* Header KQXS theo miền: logo trái — tiêu đề giữa — ngày/lịch phải */
.kqxs-head{gap:10px}
.kqxs-head-logo{height:30px;width:auto;flex:none;display:block}
.kqxs-head-title{flex:1;text-align:center;margin:0;color:#fff;font-size:16px;font-weight:800;line-height:1.12}
.kqxs-head-date{margin:0;flex:none;position:relative;display:inline-flex;align-items:center}
.kqxs-date-label{display:inline-flex;align-items:center;gap:5px;background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.55);color:#fff;border-radius:16px;padding:5px 10px;
  font-size:13px;font-weight:700;white-space:nowrap;pointer-events:none}
.kqxs-head-date:hover .kqxs-date-label{background:rgba(255,255,255,.3)}
.kqxs-head-date input[type=date]{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;
  border:0;opacity:0;cursor:pointer;color-scheme:dark}
@media(max-width:520px){.kqxs-head-title{font-size:14px}.kqxs-head-logo{height:24px}
  .kqxs-date-label{padding:4px 7px;font-size:12px}}
.card-body{padding:12px 14px}
/* Bảng KQXS ép sát mép card: huỷ padding card-body quanh bảng (chừa phần dưới cho công cụ) */
.card-body>.kqxs-flush{margin:-12px -14px 0}
.breadcrumb{font-size:13px;color:var(--muted);margin-bottom:12px}
.breadcrumb a:hover{color:var(--red)}

/* Result table */
.kqxs{width:100%;border-collapse:collapse;text-align:center}
.kqxs td,.kqxs th{border:1px solid var(--line);padding:6px 4px;vertical-align:middle}
.kqxs tr:nth-child(odd) .nums{background:#fcfcfd}
.kqxs .lbl{background:#f6f7f9;font-weight:700;width:96px;color:#475467;white-space:nowrap;font-size:13px}
.kqxs .lbl.db{color:var(--red);font-size:15px}
.kqxs .nums{line-height:1.3;padding:0}
/* trải đều các số ra cả hàng cho bảng 1 đài (MB / trang đài) — td vẫn là table-cell
   để cao bằng ô tên giải; flex đặt ở .numrow bên trong, cao full ô */
.kqxs tr > .nums .numrow{display:flex;flex-wrap:wrap;justify-content:space-evenly;align-items:center;gap:1px 6px;min-height:42px;height:100%;box-sizing:border-box;padding:2px 10px}
.kqxs .num{display:inline-block;font-variant-numeric:tabular-nums;font-weight:700;padding:0 6px;letter-spacing:.5px;color:#222;font-size:22px}
.kqxs .num.db{color:var(--red);font-weight:800;font-size:34px;letter-spacing:1px}
.kqxs .num.g1{color:var(--blue);font-weight:800;font-size:26px}
.kqxs .num .tail{color:var(--red)}
.kqxs .num.db .tail{color:var(--red)}
.kqxs .lbl{font-size:14px}
.kqxs-head th{background:linear-gradient(180deg,var(--red),var(--red-dark));color:#fff;font-size:15px;padding:4px 5px;white-space:nowrap}
.kqxs-head th a{color:#fff}
.kqxs-head .corner{font-size:14px;font-weight:700}
/* bảng nhiều đài (MT/MN): tên giải đầy đủ + giải đặc biệt / giải tám nổi bật */
.kqxs-multi td{font-size:16px;padding:7px 4px;line-height:1.15}
/* Cỡ chữ 3 bậc cho đều, MN & MT:
   G.Sáu(3) & G.Tư(7) & G.Ba(2): 20px · các giải 1 số + G.Tám: 24px · ĐB: 28px */
.kqxs-multi .num{padding:0 3px;font-size:20px;letter-spacing:.3px;color:#222}
.kqxs-multi .num.g7{color:var(--blue)}
.kqxs-multi .num.g7{font-size:24px;font-weight:700}
/* G.Năm, G.Nhì, G.Nhất — to & đậm ngang G.Tám */
.kqxs-multi .num.g5,
.kqxs-multi .num.g2,
.kqxs-multi .num.g1{font-size:24px;font-weight:800;letter-spacing:1px}
.kqxs-multi .num.g1{color:#222}
/* số dàn lưới 2 cột (số lẻ đầu nằm giữa) */
.kqxs-multi .ncell{display:grid;grid-template-columns:1fr 1fr;align-items:center;justify-items:center;gap:1px 10px}
.kqxs-multi .ncell .span2{grid-column:1 / 3}
.kqxs-multi .num.g8{color:var(--red);font-weight:800;font-size:24px;letter-spacing:1px}
.kqxs-multi .num.db{color:var(--red);font-weight:800;font-size:28px;letter-spacing:1px}
.kqxs-multi .lbl{width:72px;font-size:13.5px;color:#475467;line-height:1.15}
.kqxs-multi .lbl b{display:block;font-weight:700}
.kqxs-multi .lbl small{display:block;font-weight:600;font-size:11px;color:#98a2b3}
.kqxs-multi .lbl.g8 b,.kqxs-multi .lbl.db b{color:var(--red)}
.kqxs-multi .lbl.db small{color:var(--red)}
/* vạch ngăn dọc giữa các đài */
.kqxs-multi td+td,.kqxs-multi th+th{border-left:2px solid #d9e6d6}
/* phụ đề khối kết quả */
.kqxs-subtitle{text-align:center;color:var(--red);font-weight:700;font-size:14.5px;padding:8px 6px 12px}
.kqxs-sub td{background:#fbfbfc;font-weight:700;font-size:11.5px;color:#7a1f1f;padding:4px}
.kqxs-sub .corner{color:#1b1f27}
/* Mobile: bảng nhiều đài (MN/MT) co vừa khít màn hình, KHÔNG cuộn ngang.
   Mỗi đài xếp số 1 cột dọc để cột đủ hẹp ngay cả ngày 4 đài. */
@media(max-width:560px){
  .kqxs-multi{table-layout:fixed;width:100%}
  .kqxs-multi td,.kqxs-multi th{padding:4px 1px}
  .kqxs-multi .lbl{width:42px;font-size:11px}
  .kqxs-multi .lbl small{font-size:9px}
  .kqxs-multi .ncell{grid-template-columns:1fr;gap:1px 0}
  .kqxs-multi .ncell .span2{grid-column:auto}
  .kqxs-multi .num{font-size:15px;padding:0 1px;letter-spacing:.3px}
  .kqxs-multi .num.g1,.kqxs-multi .num.g2,.kqxs-multi .num.g5,
  .kqxs-multi .num.g7,.kqxs-multi .num.g8{font-size:16px;letter-spacing:.3px}
  .kqxs-multi .num.db{font-size:18px;letter-spacing:.3px}
  .kqxs-multi .kqxs-head th{font-size:11px;padding:4px 2px;white-space:normal;line-height:1.1}
  .kqxs-multi .corner{font-size:10px;width:42px}
  .kqxs-multi .kqxs-sub td{font-size:9.5px;padding:3px 1px}
  .kqxs-multi td+td,.kqxs-multi th+th{border-left-width:1px}
  /* Trong khung "Phóng to": giữ nguyên lưới 2 cột & cỡ chữ lớn của .kzm-body */
  .kzm-body .kqxs-multi .ncell{grid-template-columns:1fr 1fr;gap:0 14px}
  .kzm-body .kqxs-multi .ncell .span2{grid-column:1 / 3}
}
/* Bảng Max 3D / Max 3D Pro */
.max3d-tbl{margin-top:6px}
.max3d-tbl .lbl{width:120px;text-align:center;line-height:1.3}
.max3d-tbl .lbl small{color:var(--muted);font-weight:600;font-size:11px}
.max3d-tbl .lbl.db small{color:var(--red)}
.max3d-tbl .num.m3d{font-size:18px;font-weight:800;color:#6b21a8;letter-spacing:1px;padding:2px 10px}
.max3d-tbl .num.m3d.db{font-size:24px;color:#6b21a8}
.max3d-tbl .num.m3d.g1{color:#6b21a8}
.region-tabs{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.region-tabs a{background:#fff;border:1px solid var(--line);padding:8px 16px;border-radius:24px;font-weight:600;font-size:14px}
.region-tabs a.active,.region-tabs a:hover{background:var(--red);color:#fff;border-color:var(--red)}

/* Thanh Vé Dò */
.vedo-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin-bottom:14px;box-shadow:var(--shadow)}
.vedo-form{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.vedo-bar select,.vedo-bar input[type=date]{border:1px solid var(--line);border-radius:7px;padding:7px 9px;outline:none;font-size:14px}
.vedo-bar .vd-print{background:#1565c0;color:#fff;border:0;border-radius:7px;padding:7px 11px;font-weight:700;cursor:pointer;font-size:13px}
.vedo-bar .vd-print:hover{background:#0d4ea0}
.vedo-bar .vd-many{background:var(--red);color:#fff;border:0;border-radius:7px;padding:7px 14px;font-weight:800;cursor:pointer}
.vedo-bar .vd-link{margin-left:auto;background:#f5c518;color:#5a4500;border-radius:7px;padding:7px 12px;font-weight:700}
.vedo-bar .vd-help{color:var(--blue);font-weight:700;padding:7px 6px}
.vedo-bar .vd-help:hover{text-decoration:underline}
@media(max-width:820px){.vedo-bar{display:none}}  /* mobile: ẩn chức năng in vé dò */

/* Lịch tháng */
.cal-head{display:flex;justify-content:space-between;align-items:center;font-weight:700;color:var(--red);margin-bottom:6px}
.cal-head a{width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px}
.cal-head a:hover{background:var(--red);color:#fff}
.cal-grid{width:100%;border-collapse:collapse;text-align:center}
.cal-grid th{font-size:12px;color:var(--muted);padding:4px 0}
.cal-grid td{padding:2px;height:30px}
.cal-grid td a{display:block;border-radius:6px;padding:5px 0;font-weight:600;font-size:13px}
.cal-grid td a:hover{background:#fff4f5;color:var(--red)}
.cal-grid td.sel a{background:var(--red);color:#fff}
.cal-grid td.off{color:#cbd1da}

/* Bố cục trang miền: rail trái + main + sidebar phải */
.region-layout{display:grid;grid-template-columns:210px minmax(0,1fr) 300px;gap:16px;align-items:start}
@media(max-width:1100px){.region-layout{grid-template-columns:minmax(0,1fr) 300px}.live-rail{display:none}}
@media(max-width:860px){.region-layout{grid-template-columns:minmax(0,1fr)}}
/* Cho phép các cột (grid item) co lại dưới min-content để bảng rộng cuộn trong khung,
   tránh "grid blowout" làm cả trang rộng hơn màn hình trên mobile */
.region-main,.live-rail,.sidebar{min-width:0;max-width:100%}

/* Toolbar lọc kết quả */
.kqxs-tool{display:flex;flex-wrap:nowrap;gap:5px;align-items:center;margin:8px 0 6px;padding:6px 10px;background:#fdf6e0;border:1px solid #efdfa6;border-radius:8px;overflow-x:auto}
.kqxs-tool .sep{width:1px;height:22px;background:#e3cf8f;margin:0 3px;flex:none}
.kqxs-tool small{color:var(--muted);margin-right:2px}
.kqxs-tool button{flex:none;border:1px solid #e6d27a;background:#fff;border-radius:6px;padding:5px 11px;font-weight:700;cursor:pointer;font-size:13px;color:#6b5200}
.kqxs-tool button[data-digit]{width:28px;height:28px;padding:0;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff7d6,#f2cf4d);color:#6b5200;border-color:#e0bb33}
.kqxs-tool button[data-mode].on{background:var(--gold);color:#5a4500;border-color:#e0bb33}
.kqxs-tool button[data-digit].on{background:var(--red);color:#fff;border-color:var(--red)}
.kqxs-tool .kqxs-loto-link{margin-left:auto;color:var(--red);font-weight:700;font-size:13.5px;padding:5px 4px}
.kqxs-tool .kqxs-loto-link:hover{text-decoration:underline}
.kqxs .num.hl{background:var(--gold);border-radius:4px;color:#5a4500!important;box-shadow:0 0 0 2px var(--gold)}
.kqxs .num.hl .tail{color:#7a1020}
/* Dò vé: tô số trúng */
.kqxs .num.hit{background:#fde047;border-radius:5px;color:#7a1020!important;box-shadow:0 0 0 2px #facc15;font-weight:800}
.kqxs .num.hit .tail{color:#b91c1c}
/* Băng kết quả dò vé */
.vedo-result{margin:12px 0;padding:11px 14px;border-radius:8px;font-size:14.5px;line-height:1.6}
.vedo-result.win{background:#ecfdf3;border:1px solid #abefc6;color:#067647}
.vedo-result.lose{background:#fef3f2;border:1px solid #fecdca;color:#b42318}
.vedo-result b{color:inherit}
.vedo-result .vw-item{display:inline-block;background:#fff;border:1px solid #abefc6;border-radius:20px;padding:2px 12px;margin:3px 4px 0 0}
.kqxs-board{overflow-x:auto;margin-top:4px}

/* Loto đầu đuôi từng đài + công tắc */
.loto-switches{display:flex;gap:12px;align-items:center;justify-content:flex-end;flex-wrap:wrap;padding:2px 2px}
.loto-switches .loto-lbl{margin-right:auto;font-weight:800;color:var(--red);font-size:14px}
/* gộp nút thao tác vào cùng hàng với công tắc Đầu/Đuôi để giảm chiều cao */
.loto-switches .kqxs-actions{margin:0;gap:8px;flex:none}
.lsw{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:13px;cursor:pointer;color:var(--muted);user-select:none}
.lsw .sw{width:54px;height:22px;border-radius:12px;background:#c7ccd6;position:relative;transition:.2s;flex:none}
.lsw .sw::before{content:"OFF";position:absolute;top:0;right:8px;line-height:22px;font-size:10px;font-weight:800;color:#fff;letter-spacing:.5px}
.lsw .sw::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:.2s;box-shadow:0 1px 2px rgba(0,0,0,.3)}
.lsw.on{color:var(--green)}
.lsw.on .sw{background:var(--green)}
.lsw.on .sw::before{content:"ON";left:8px;right:auto}
.lsw.on .sw::after{left:34px}
/* Nút thao tác dưới bảng KQXS */
.kqxs-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:6px 0 2px}
.kx-act{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:8px;padding:6px 14px;font-weight:700;font-size:13.5px;cursor:pointer;color:#fff;text-decoration:none}
.kx-act.share{background:var(--green)}
.kx-act.zoom{background:#f0a500}
.kx-act.print{background:var(--red)}
.kx-act:hover{filter:brightness(1.07)}
@media(max-width:820px){.kx-act.print{display:none}}  /* mobile: ẩn nút In Vé Dò dưới bảng KQ */
.kx-ico{height:18px;width:auto;display:block;flex:none}
/* Popup chọn nền tảng chia sẻ (Facebook / Zalo / Telegram / Sao chép) */
.share-backdrop{position:fixed;inset:0;z-index:1190}
.share-menu{position:fixed;z-index:1200;background:#fff;border:1px solid #e7dcc0;border-radius:12px;
  box-shadow:0 12px 34px rgba(0,0,0,.20);padding:6px;min-width:194px;animation:zoomIn .12s ease}
.share-menu .share-head{font-size:11.5px;font-weight:700;color:#9aa0a8;text-transform:uppercase;letter-spacing:.4px;padding:5px 12px 6px}
.share-menu .share-item{display:flex;align-items:center;gap:11px;width:100%;box-sizing:border-box;padding:9px 12px;
  border:0;background:none;cursor:pointer;border-radius:8px;font-size:14px;font-weight:600;color:#2b2f36;text-decoration:none;text-align:left}
.share-menu .share-item:hover{background:#f4f5f7}
.share-menu .si-ic{width:28px;height:28px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;color:#fff}
.si-ic.fb{background:#1877F2}
.si-ic.zl{background:#0068FF;font-weight:800;font-size:13px}
.si-ic.tg{background:#229ED9}
.si-ic.cp{background:#6b7280}
.si-ic.sh{background:var(--green)}
/* Phóng to bảng kết quả: overlay kiểu bảng đầy đủ */
.kqxs-zoom-overlay{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.6);display:flex;flex-direction:column}
.kqxs-zoom-modal{background:#fff;overflow:hidden;width:100%;height:100%;display:flex;flex-direction:column;animation:zoomIn .15s ease}
.kqxs-zoom-modal:fullscreen,.kqxs-zoom-overlay:fullscreen{width:100vw;height:100vh}
.kzm-body{flex:1;overflow:hidden;background:#fff}
@keyframes zoomIn{from{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}
.kzm-head{position:relative;display:flex;align-items:center;gap:16px;background:linear-gradient(180deg,var(--red),var(--red-dark));min-height:84px;padding:0 54px 0 14px}
.kzm-logo{height:60px;width:auto;flex:none;object-fit:contain;background:#fff;border-radius:40px;padding:7px 20px;border:3px solid #ffd400;box-shadow:0 3px 12px rgba(0,0,0,.3)}
.kzm-title{flex:1;text-align:center;font-size:clamp(20px,2.6vw,42px);color:#ffd400;line-height:1.15;text-shadow:0 1px 3px rgba(0,0,0,.4);letter-spacing:.3px;padding:8px 0}
.kzm-close{position:absolute;top:10px;right:12px;border:0;background:rgba(255,255,255,.22);color:#fff;width:32px;height:32px;border-radius:6px;font-size:15px;cursor:pointer}
.kzm-close:hover{background:rgba(255,255,255,.4)}
@media(max-width:560px){.kzm-head{min-height:60px}.kzm-logo{height:60px}.kzm-title{font-size:16px}}
.kzm-foot{background:linear-gradient(180deg,var(--red),var(--red-dark));color:#ffd400;text-align:center;font-style:italic;font-weight:700;padding:9px;font-size:clamp(14px,1.4vw,20px)}
/* bảng lấp đầy toàn vùng giữa (chiều cao do JS căn) */
.kzm-body table.kqxs{width:100%;border-collapse:collapse;table-layout:fixed;transform-origin:top left}
.kzm-body table.kqxs td,.kzm-body table.kqxs th{border:1px solid #d0d0d0;padding:2px 6px}
.kzm-body .ncell{gap:0 14px}
/* hàng tên đài: nền đỏ, chữ vàng */
.kzm-body .kqxs-head th{background:linear-gradient(180deg,var(--red),var(--red-dark));color:#ffd400;font-size:clamp(16px,2.1vw,34px);padding:6px 8px;text-shadow:0 1px 1px rgba(0,0,0,.25)}
.kzm-body .kqxs-head th a{color:#ffd400}
.kzm-body .kqxs-head .corner{color:#fff;background:var(--red);width:8%}
.kzm-body .kqxs-sub td{background:#fdf3d0;color:#5a4500;font-weight:700;font-size:clamp(12px,1.3vw,20px)}
.kzm-body .kqxs-sub .corner{background:var(--red);color:#fff}
/* cột nhãn: chỉ hiện giá trị tiền */
.kzm-body .lbl{width:8%;background:transparent}
.kzm-body .lbl b{display:none}
.kzm-body .lbl small{display:block;font-size:clamp(13px,1.4vw,22px);color:#333;font-weight:700}
.kzm-body .lbl.db small,.kzm-body .lbl.g8 small{color:var(--red)}
/* số to, co theo bề ngang màn hình */
.kzm-body .num{font-size:clamp(17px,2.2vw,38px)}
.kzm-body .num.g1{font-size:clamp(18px,2.4vw,40px)}
.kzm-body .num.g7{font-size:clamp(16px,2.1vw,34px);color:var(--blue)}
.kzm-body .num.g8,.kzm-body .num.db{font-size:clamp(26px,3.6vw,62px)}
/* sọc hàng giải */
.kzm-body tr:nth-child(even) td{background:#f1f1f1}
.kzm-body tr.kqxs-sub td{background:#fdf3d0}
.kzm-body tr.kqxs-sub .corner{background:var(--red)}
.loto-wrap[data-view="chuc"] .loto-list[data-view="donvi"]{display:none}
.loto-wrap[data-view="donvi"] .loto-list[data-view="chuc"]{display:none}
.loto-list .dup{color:var(--red);font-weight:800}
/* mặc định ẩn hết, chỉ hiện khi chọn 1 chế độ */
.loto-row{display:grid;grid-template-columns:repeat(var(--lcols,3),minmax(0,1fr));gap:10px}
.loto-wrap[data-view=""] .loto-row{display:none}
@media(max-width:760px){.loto-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:460px){.loto-row{grid-template-columns:1fr}}
.loto-box{min-width:0;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.loto-box-h{background:linear-gradient(180deg,var(--red),var(--red-dark));color:#fff;font-weight:700;text-align:center;padding:5px;font-size:13px}
.loto-list{width:100%;border-collapse:collapse;table-layout:fixed}
.loto-list th{width:26px;background:#f6f7f9;color:var(--red);border:1px solid var(--line);text-align:center;font-weight:700;font-size:13px}
.loto-list td{border:1px solid var(--line);padding:4px 6px;font-weight:700;letter-spacing:.5px;font-variant-numeric:tabular-nums;font-size:14px;word-spacing:2px;line-height:1.5}

/* Khối thống kê */
.st-h{margin:14px 0 6px;color:var(--red);font-size:14px;border-left:3px solid var(--gold);padding-left:8px}
.chip-row{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:6px}
.chip{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:3px 4px 3px 3px}
.chip b{background:var(--red);color:#fff;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:13px}
.chip i{font-style:normal;font-size:12px;color:var(--muted);padding-right:6px}
.chip.cold b{background:var(--blue)}
.st-hu td,.st-hu th{font-size:13px;padding:5px}
.st-hu .lbl{text-align:left;font-weight:700;background:#f6f7f9;white-space:nowrap}

/* Live sidebar (tường thuật trực tiếp) */
.live-list{list-style:none;margin:0;padding:0}
.live-list li a{display:flex;align-items:center;gap:8px;padding:9px 6px;border-bottom:1px solid var(--line);font-weight:600;font-size:14px}
.live-list li a:hover{color:var(--red)}
.live-list .ok{color:#fff;background:var(--green);margin-left:auto;font-weight:800;font-size:10px;padding:1px 7px;border-radius:10px;animation:pulse 1.4s infinite}
.live-list .t{margin-left:auto;color:var(--muted);font-weight:600;font-size:12px}
/* Cột "Xổ số trực tiếp" + "Lịch xổ số Hôm Nay": dùng arial.ttf (nét thường, không ép sang bold) */
.live-rail .live-list li a,.live-rail .ts-reg a{font-weight:400}
.live-dot.off{background:#c7ccd6;animation:none}
.sched-tbl td,.sched-tbl th{font-size:12px;padding:5px 6px}

/* Lịch xổ số hôm nay — định dạng giống Tường thuật trực tiếp */
.today-sched .ts-reg{display:flex;align-items:center;margin:6px 0 0;padding:6px 6px 4px;border-bottom:2px solid var(--red)}
.today-sched .ts-reg a{font-weight:800;font-size:13.5px;color:var(--red);text-transform:uppercase;letter-spacing:.2px}
.today-sched .ts-reg-t{margin-left:auto;color:var(--muted);font-weight:700;font-size:12px}
.ts-end{margin-left:auto;display:flex;align-items:center;gap:7px}
/* Đài đã xổ xong -> dấu tick xanh (thay chữ XONG) */
.ts-done{flex:none;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--green);color:#fff}
.ts-done svg{display:block}
.ts-end .t{margin-left:0;color:var(--muted);font-weight:600;font-size:12px}
.ts-wait{width:13px;height:13px;flex:none;border-radius:50%;
  border:2px solid #d8a01a;border-right-color:transparent;animation:ts-spin .8s linear infinite}
@keyframes ts-spin{to{transform:rotate(360deg)}}

/* Tiêu đề + đếm ngược kỳ xổ (trang chủ) */
.kqxs-title{text-align:center;color:var(--red);font-size:19px;font-weight:800;margin:0 0 7px;text-transform:uppercase;letter-spacing:.3px}
/* Hàng logo game điện toán (link tới từng game) */
.game-logos{display:flex;flex-wrap:nowrap;justify-content:center;gap:6px;margin:2px 0 14px}
.game-logos a{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:8px;padding:5px;background:#fff;transition:border-color .15s,box-shadow .15s}
.game-logos a:hover{border-color:var(--red);box-shadow:0 2px 8px rgba(0,0,0,.12)}
.game-logos img{width:100%;height:46px;display:block;object-fit:contain}
.region-main .date-tabs{justify-content:center}
.countdown-bar{display:flex;align-items:center;justify-content:center;gap:9px;
  background:#eaf4ff;border:1px solid #cfe4fb;border-radius:8px;padding:11px 14px;margin-bottom:14px;
  color:var(--blue);font-weight:700;font-size:14.5px}
.countdown-bar .cd-clock{color:var(--red);font-weight:800;font-variant-numeric:tabular-nums}
.countdown-bar.live{background:#fff3f3;border-color:#ffd0d0;color:var(--red)}
.countdown-bar .ts-wait{margin-left:0}

/* Tabs ngày nhanh */
.date-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.date-tabs a{background:#eef1f5;border-radius:6px;padding:4px 10px;font-weight:700;font-size:13px;color:#475467}
.date-tabs a.active,.date-tabs a:hover{background:var(--blue);color:#fff}
.date-pick{position:relative;display:inline-flex;align-items:center;justify-content:center;
  background:var(--blue);color:#fff;border-radius:6px;padding:5px 9px;cursor:pointer}
.date-pick:hover{filter:brightness(1.08)}
.date-pick input[type=date]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;padding:0}
.date-pick input[type=date]::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer}

/* Loto board (đầu đuôi) */
.loto{width:100%;max-width:560px;border-collapse:collapse;text-align:center;font-size:13px}
.loto td,.loto th{border:1px solid var(--line);padding:5px}
.loto th{background:#fafafa;width:46px;color:var(--red)}
.loto td{text-align:left;padding-left:10px}
.loto .b{font-weight:700}

/* Sidebar */
.side-title{font-weight:700;color:var(--red);border-bottom:2px solid var(--red);padding-bottom:6px;margin:0 0 10px}
.mini-list{list-style:none;margin:0;padding:0}
.mini-list li{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px dashed var(--line);font-size:14px}
.badge{background:var(--gold);color:#5a4500;font-weight:700;border-radius:20px;padding:1px 9px;font-size:12px}

/* Jackpot */
.jackpot-balls{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:14px 0}
.ball{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:18px;color:#fff;background:radial-gradient(circle at 30% 30%,#ff5b6e,var(--red));box-shadow:var(--shadow)}
.ball.special{background:radial-gradient(circle at 30% 30%,#ffe27a,#e0a800);color:#5a4500}
.ball.green{background:radial-gradient(circle at 30% 30%,#4cd07d,var(--green))}
.jackpot-value{text-align:center;font-size:26px;font-weight:800;color:var(--green);margin:6px 0}
.jackpot-meta{text-align:center;color:var(--muted);font-size:13px}

/* Keno card (trang chủ) */
.keno-card{background:linear-gradient(180deg,#ffcf4d,#ffb01f);border:0;padding:16px;overflow:hidden}
/* Đồng nhất màu header (20 kỳ gần nhất) với thẻ kết quả Keno (vàng gold, chữ nâu) */
.keno-hist-card{padding:0;overflow:hidden}
.card-head.keno-theme{background:linear-gradient(180deg,#ffcf4d,#ffb01f)}
.card-head.keno-theme h2{color:#7a1f00}
.keno-top{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.keno-logo{width:74px;height:auto;flex:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.2))}
.keno-title{font-size:24px;font-weight:800;color:#7a1f00;letter-spacing:.5px;text-shadow:0 1px 0 rgba(255,255,255,.4)}
.keno-info{margin-left:auto;text-align:right;color:#7a1f00;font-weight:700;line-height:1.5}
.keno-info .keno-ky{font-size:15px}
.keno-info .keno-day{font-size:13px}
.keno-balls{display:grid;grid-template-columns:repeat(10,1fr);gap:8px;margin-bottom:14px}
.keno-ball{aspect-ratio:1;border-radius:50%;background:#fff;border:2px solid #e88a00;
  display:grid;place-items:center;font-weight:800;font-size:17px;color:var(--red);box-shadow:0 2px 3px rgba(0,0,0,.12)}
.keno-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.keno-stat{background:#fff;border-radius:8px;padding:8px 6px;display:flex;align-items:center;justify-content:center;gap:7px;
  font-weight:700;font-size:13px;color:#333;box-shadow:0 2px 3px rgba(0,0,0,.1)}
.keno-stat b{color:var(--red)}
.ks-ic{width:22px;height:22px;flex:none;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:800;font-size:12px}
.ks-ic.chan{background:#2f6fed}.ks-ic.le{background:#4bb3e6}
.ks-ic.lon{background:#f7821b}.ks-ic.nho{background:#f7821b}
.keno-btns{display:flex;gap:12px;justify-content:center}
.keno-btn{background:#fff;color:#d35400;border:1px solid #fff;border-radius:8px;padding:9px 18px;font-weight:700;font-size:14px;
  box-shadow:0 2px 4px rgba(0,0,0,.12)}
.keno-btn:hover{background:var(--red);color:#fff;border-color:var(--red)}
.keno-empty{background:#fff;border-radius:8px;padding:18px;text-align:center;color:var(--muted);font-weight:600}
@media(max-width:520px){.keno-balls{grid-template-columns:repeat(5,1fr)}.keno-stats{grid-template-columns:repeat(2,1fr)}
  .keno-top{flex-wrap:wrap}.keno-info{margin-left:0;text-align:left;width:100%}}

/* Power 6/55 — thẻ kết quả trang chủ */
.power-card{padding:0;overflow:hidden}
.power-head{display:flex;align-items:center;gap:12px;background:linear-gradient(90deg,#e84118,#c0392b);padding:12px 16px}
/* Đồng nhất màu header (Lịch sử kỳ quay…) với thẻ kết quả Power/Mega */
.card-head.power-theme{background:linear-gradient(90deg,#e84118,#c0392b)}
.power-logo{height:34px;width:auto;display:block}
.power-title{color:#fff;font-weight:800;font-size:20px;letter-spacing:.5px}
.power-sub{text-align:center;padding:14px 12px 0;font-size:15px;color:#1b1f27;font-weight:600}
.power-sub b{color:var(--red)}
.power-balls{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding:16px 12px}
.pw-ball{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:19px;color:#fff;background:radial-gradient(circle at 34% 28%,#ff7b54,#d9362b);
  box-shadow:inset 0 -3px 6px rgba(0,0,0,.25),0 2px 4px rgba(0,0,0,.18)}
.pw-ball.special{background:radial-gradient(circle at 34% 28%,#ffe27a,#f5b301);color:#7a4b00}
.power-jp{text-align:center;padding:4px 12px 12px}
.pw-jp-label{font-size:15px;color:#1b1f27;font-weight:600;margin-top:8px}
.pw-jp-value{font-size:30px;font-weight:800;color:var(--red);letter-spacing:.5px;line-height:1.2}
.pw-jp-value.jp2{font-size:26px}
/* Wrapper cuộn ngang cho các bảng rộng trên màn hình hẹp */
.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:6px}
.tscroll>table{margin-top:0}
@media(max-width:560px){
  /* Power/Mega/Lotto + Max 3D/Pro + Bingo18: KHÔNG ép rộng -> bảng co vừa khít trang */
  .tscroll .power-tbl,.tscroll .m3d-tbl,.tscroll .m3d-tbl.m3d3,.tscroll .bingo-tbl{min-width:0;width:100%}
  .tscroll .jp-hist{min-width:440px}
  .tscroll .keno-hist{min-width:420px}
}
.tscroll .jp-hist td:nth-child(3),
.tscroll .keno-hist td:nth-child(3){white-space:nowrap}  /* bộ số nằm 1 hàng, cuộn ngang nếu dài */
.power-tbl{width:100%;border-collapse:collapse;margin-top:6px}
.power-tbl th,.power-tbl td{border-top:1px solid var(--line);padding:9px 8px;font-size:14px;text-align:center}
.power-tbl-head th{background:#f7f7f9;color:#475467;font-weight:700;border-top:0}
.pw-t-lbl{text-align:left;font-weight:700;color:#1b1f27;white-space:nowrap}
.pw-t-dots{white-space:nowrap}
.pw-dot{display:inline-block;width:14px;height:14px;border-radius:50%;margin:0 1px;vertical-align:middle;
  background:radial-gradient(circle at 34% 28%,#ff7b54,#d9362b)}
.pw-dot.bonus{background:radial-gradient(circle at 34% 28%,#ffe27a,#f5b301)}
.pw-t-num{color:#1b1f27;font-weight:600}
.pw-t-val{font-weight:700;color:#1b1f27;white-space:nowrap}
.power-links{display:flex;flex-direction:column;gap:2px;padding:10px 16px 14px}
.power-links a{color:#2f6fed;font-size:13.5px;padding:4px 0}
.power-links a::before{content:"‣ ";color:var(--red)}
@media(max-width:520px){.pw-ball{width:40px;height:40px;font-size:16px}.power-title{font-size:17px}
  .pw-jp-value{font-size:24px}.pw-dot{width:10px;height:10px;margin:0}.power-tbl th,.power-tbl td{padding:7px 3px;font-size:12px}
  .pw-t-lbl{white-space:normal}.pw-t-val{white-space:normal}}

/* Lotto 5/35 — thẻ kết quả trang chủ (theme xanh lá, bonus cam) */
.lotto-card{padding:0;overflow:hidden}
.lotto-head{display:flex;align-items:center;gap:12px;background:linear-gradient(90deg,#1e9b57,#16a34a);padding:12px 16px}
/* Đồng nhất màu header (Lịch sử kỳ quay…) với thẻ kết quả Lotto 5/35 */
.card-head.lotto-theme{background:linear-gradient(90deg,#1e9b57,#16a34a)}
.lotto-logo{height:34px;width:auto;display:block}
.lotto-title{color:#fff;font-weight:800;font-size:20px;letter-spacing:.5px}
.lotto-sub{text-align:center;padding:14px 12px 0;font-size:15px;color:#1b1f27;font-weight:600}
.lotto-sub b{color:#16a34a}
.lotto-balls{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding:16px 12px}
.lt-ball{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:19px;color:#fff;background:radial-gradient(circle at 34% 28%,#37c172,#159a4c);
  box-shadow:inset 0 -3px 6px rgba(0,0,0,.22),0 2px 4px rgba(0,0,0,.18)}
.lt-ball.bonus{background:radial-gradient(circle at 34% 28%,#ffb05a,#f7821b)}
.lotto-jp{text-align:center;padding:4px 12px 12px}
.lt-jp-label{font-size:15px;color:#1b1f27;font-weight:600;margin-top:8px}
.lt-jp-value{font-size:30px;font-weight:800;color:#16a34a;letter-spacing:.5px;line-height:1.2}
.lotto-tbl .lt-dot{display:inline-block;width:14px;height:14px;border-radius:50%;margin:0 1px;vertical-align:middle;
  background:radial-gradient(circle at 34% 28%,#37c172,#159a4c)}
.lotto-tbl .lt-dot.bonus{background:radial-gradient(circle at 34% 28%,#ffb05a,#f7821b)}
.lotto-note{font-size:12px;color:#6b7280;line-height:1.5;padding:10px 16px;background:#fafafa;border-top:1px solid var(--line)}
.lotto-note b{color:#1b1f27}
@media(max-width:520px){.lt-ball{width:40px;height:40px;font-size:16px}.lotto-title{font-size:17px}
  .lt-jp-value{font-size:24px}.lotto-tbl .lt-dot{width:11px;height:11px}}
/* Lotto 5/35: 2 kỳ/ngày -> 2 block, có vạch ngăn */
.lotto-block + .lotto-block{border-top:6px solid #eef1f4}

/* Bingo18 — bảng nhiều kỳ */
.bingo-card{padding:0;overflow:hidden}
.bingo-head{display:flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(90deg,#6d28d9,#7c3aed);padding:10px 14px}
.bingo-logo{height:30px;width:auto;display:block}
.bingo-title{color:#fff;font-weight:800;font-size:17px;letter-spacing:.3px;text-align:center}
.bingo-tbl{width:100%;border-collapse:collapse;text-align:center}
.bingo-tbl th{background:#f4eefe;color:#5b21b6;font-weight:700;font-size:13px;padding:8px 6px;border:1px solid #e7e0f5}
.bingo-tbl td{border:1px solid #eee;padding:7px 6px;vertical-align:middle}
.bingo-tbl tr:nth-child(even) td{background:#faf8ff}
.bg-ky b{display:block;color:#1d4ed8;font-size:13.5px}
.bg-ky small{display:block;color:#6b7280;font-size:11.5px}
.bg-nums{white-space:nowrap}
.bg-ball{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin:0 3px;border-radius:50%;
  font-weight:800;font-size:16px;color:#fff;background:radial-gradient(circle at 34% 28%,#8b5cf6,#6d28d9);
  box-shadow:inset 0 -3px 5px rgba(0,0,0,.22),0 2px 3px rgba(0,0,0,.18)}
.bg-bs{font-weight:800;font-size:14px}
.bg-bs.lon{color:#dc2626}
.bg-bs.nho{color:#1d4ed8}
.bg-bs.hoa{color:#16a34a}
.bg-sum{font-weight:800;font-size:16px;color:#1b1f27}
.bingo-tbl tr.bg-new td{animation:bg-rowin 1.5s ease-out}
@keyframes bg-rowin{0%{background:#ede9fe}60%{background:#f6f3ff}100%{background:transparent}}
.bingo-note{font-size:12px;color:#6b7280;line-height:1.5;padding:9px 14px;background:#fafafa;border-top:1px solid var(--line);text-align:center}
@media(max-width:520px){.bingo-title{font-size:14.5px}.bingo-head{padding:9px 10px}
  .bingo-tbl th{font-size:11.5px;padding:6px 2px}.bingo-tbl td{padding:6px 2px}
  .bg-ball{width:27px;height:27px;font-size:13px;margin:0 1px}
  .bg-ky b{font-size:12px}.bg-ky small{font-size:10.5px}.bg-bs{font-size:12.5px}.bg-sum{font-size:14px}
  .bingo-note{font-size:11px;padding:8px 10px}}

/* ===== Sidebar banner tiện ích (dùng ảnh) ===== */
.promo-rotate,.promo-yt{display:block;margin-bottom:12px;border-radius:8px;overflow:hidden;
  box-shadow:0 2px 6px rgba(0,0,0,.15);line-height:0}
.promo-rotate img,.promo-yt img{width:100%;height:auto;display:block}
.promo-apps{margin-bottom:14px;border-radius:8px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.12)}
.promo-apps-h{background:linear-gradient(90deg,#b91c1c,#dc2626);color:#fff;font-weight:700;font-size:13px;
  text-align:center;padding:7px 8px}
.promo-apps-row{display:flex;gap:8px;background:#f3f4f6;padding:10px;justify-content:center}
.app-badge{flex:1;display:block;line-height:0;max-width:160px}
.app-badge img{width:100%;height:auto;display:block;border-radius:6px}

/* ===== Lô gan: cặp số không xuất hiện lâu nhất ===== */
.gan-body{padding:6px 12px 12px}
.gan-region{padding:8px 0;border-bottom:1px dashed #e5e7eb}
.gan-region:last-child{border-bottom:none}
.gan-region-h{color:var(--red);font-weight:800;font-size:14.5px;margin-bottom:8px}
.gan-region-h span{color:#16a34a;font-weight:700;font-size:12px}
.gan-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 6px}
.gan-item{display:flex;align-items:center;gap:7px;justify-content:center}
.gan-ball{flex:none;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:800;font-size:15px;box-shadow:inset 0 -3px 5px rgba(0,0,0,.2),0 1px 3px rgba(0,0,0,.18)}
.gan-item:nth-child(6n+1) .gan-ball{background:radial-gradient(circle at 34% 28%,#fb923c,#ea580c)}
.gan-item:nth-child(6n+2) .gan-ball{background:radial-gradient(circle at 34% 28%,#34d399,#0d9488)}
.gan-item:nth-child(6n+3) .gan-ball{background:radial-gradient(circle at 34% 28%,#60a5fa,#2563eb)}
.gan-item:nth-child(6n+4) .gan-ball{background:radial-gradient(circle at 34% 28%,#f472b6,#db2777)}
.gan-item:nth-child(6n+5) .gan-ball{background:radial-gradient(circle at 34% 28%,#a78bfa,#7c3aed)}
.gan-item:nth-child(6n)   .gan-ball{background:radial-gradient(circle at 34% 28%,#facc15,#d97706)}
.gan-days{font-size:11.5px;color:#6b7280;white-space:nowrap}
.gan-empty{padding:6px 0;font-size:13px}

/* Xoay web 90° cho LCD/Tivi treo dọc */
html.rot90 body{transform:rotate(90deg);transform-origin:left top;position:absolute;top:0;left:100vw;
  width:100vh;height:100vw;overflow-x:hidden;overflow-y:auto}

/* Max 3D Pro / Max 3D — thẻ kết quả trang chủ */
.m3d-card{padding:0;overflow:hidden}
.m3d-head{display:flex;align-items:center;gap:12px;background:linear-gradient(90deg,#7a1f7a,#b3127f);padding:12px 16px}
.m3d-logo{height:34px;width:auto;display:block}
.m3d-title{color:#fff;font-weight:800;font-size:clamp(15px,3.8vw,18px);letter-spacing:.2px;white-space:nowrap;line-height:1.1}
.m3d-sub{text-align:center;padding:12px;font-size:15px;color:#1b1f27;font-weight:600;border-bottom:1px solid var(--line)}
.m3d-sub b{color:#b3127f}
.m3d-tbl{width:100%;border-collapse:collapse}
.m3d-tbl th,.m3d-tbl td{border:1px solid var(--line);padding:8px 6px;text-align:center;vertical-align:middle}
.m3d-tbl-head th{background:#f7f7f9;color:#475467;font-weight:700;font-size:13px}
.m3d-t-lbl{font-weight:700;color:#1b1f27;white-space:nowrap;width:78px}
.m3d-t-lbl.db{color:#b3127f}
.m3d-nums{display:flex;flex-wrap:wrap;gap:6px 26px;justify-content:center}
.m3d-num{font-weight:700;font-size:24px;color:#1b1f27;letter-spacing:1px;min-width:62px}
.m3d-nums.db .m3d-num{color:#b3127f;font-size:34px;font-weight:800}
.m3d-desc{font-size:13px;color:#475467;line-height:1.4;text-align:left}
.m3d-t-val{font-weight:700;color:#1b1f27;white-space:nowrap;width:62px}
.m3d-t-sl{color:#1b1f27;font-weight:600;width:54px}
@media(max-width:520px){.m3d-head{gap:8px;padding:10px 12px}.m3d-num{font-size:16px;min-width:34px;letter-spacing:0}
  .m3d-nums{gap:4px 8px}.m3d-nums.db .m3d-num{font-size:22px}.m3d-tbl th,.m3d-tbl td{padding:6px 2px;font-size:11.5px}
  .m3d-t-lbl{width:46px;white-space:normal}.m3d-t-val{width:auto;white-space:normal}.m3d-t-sl{width:auto}.m3d-desc{font-size:11px}}
/* Max 3D — layout 3 cột (Max 3D | số quay | Max 3D+) */
.m3d3 .m3d-side{width:96px}
.m3d-side-lbl{font-weight:700;color:#1b1f27;font-size:13.5px}
.m3d-side-lbl.db{color:#b3127f}
.m3d-side-meta{font-size:12.5px;color:#475467;margin-top:2px}
.m3d-side-meta b{color:#1b1f27}
@media(max-width:520px){.m3d3 .m3d-side{width:auto}.m3d-side-lbl{font-size:12px}.m3d-side-meta{font-size:11px}}

/* Max 3D — bảng số lượng trúng thưởng (2 cột giải/SL) */
.m3dw-card{padding:0;overflow:hidden;margin-top:14px}
.m3dw-head{text-align:center;font-weight:800;color:#fff;font-size:15px;letter-spacing:.3px;padding:12px 16px;background:linear-gradient(90deg,#7a1f7a,#b3127f)}
.m3dw-tbl{width:100%;border-collapse:collapse}
.m3dw-tbl th,.m3dw-tbl td{border:1px solid var(--line);padding:8px 10px;text-align:center;vertical-align:middle}
.m3dw-grp th{background:#fdf2f8;color:#b3127f;font-weight:800;font-size:14px}
.m3dw-sub th{background:#f7f7f9;color:#475467;font-weight:700;font-size:13px}
.m3dw-lbl{text-align:left;font-weight:600;color:#1b1f27;font-size:13.5px;white-space:nowrap}
.m3dw-sl{font-weight:700;color:#1b1f27;font-size:13.5px;width:64px}
@media(max-width:520px){.m3dw-tbl th,.m3dw-tbl td{padding:6px 5px}.m3dw-lbl{font-size:12px}.m3dw-sl{font-size:12px;width:auto}.m3dw-head{font-size:13.5px}.m3dw-grp th{font-size:12.5px}.m3dw-sub th{font-size:11.5px}}
/* Đồng nhất màu header với khối Max 3D (Lịch sử kỳ quay…) */
.card-head.m3d-theme{background:linear-gradient(90deg,#7a1f7a,#b3127f)}
/* Lịch sử kỳ quay: bộ số */
.jp-nums{font-weight:700;letter-spacing:1px;color:var(--red);white-space:nowrap}
/* Max 3D có 20 bộ số -> cho xuống dòng gọn theo bề ngang thay vì kéo dài 1 hàng */
.tscroll .jp-hist-m3d td.jp-nums{white-space:normal;letter-spacing:.5px;font-size:13px;line-height:1.5;min-width:150px}
.tscroll .jp-hist-m3d{min-width:0}

/* Forms / tables */
.form-row{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin-bottom:14px}
.form-row label{display:block;font-size:13px;color:var(--muted);margin-bottom:4px}
.form-row select,.form-row input{padding:8px 10px;border:1px solid var(--line);border-radius:8px;outline:none}
/* Ô chọn ngày dd/mm/yyyy (label đè input date trong suốt) */
.date-field{position:relative;display:inline-flex;align-items:center}
.date-field-lbl{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:8px;
  padding:8px 10px;font-size:14px;color:#1b1f27;background:#fff;white-space:nowrap;pointer-events:none;line-height:1.2}
.date-field:hover .date-field-lbl{border-color:var(--red)}
.date-field input[type=date]{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;cursor:pointer}
.btn{background:var(--red);color:#fff;border:0;padding:9px 20px;border-radius:8px;font-weight:600;cursor:pointer}
.tbl{width:100%;border-collapse:collapse}
.tbl th,.tbl td{border:1px solid var(--line);padding:8px;text-align:center;font-size:14px}
.tbl th{background:#fafafa}
.tbl tr.row-active{background:#fff5f5}
.tbl tr.row-active td{font-weight:600}
.tbl .ky-link{font-weight:700;color:var(--red);text-decoration:none}
.tbl .ky-link:hover{text-decoration:underline}
.btn-detail{display:inline-block;padding:5px 12px;background:var(--red);color:#fff;border-radius:6px;
  font-size:12.5px;font-weight:700;text-decoration:none;white-space:nowrap;transition:filter .15s,transform .15s}
.btn-detail:hover{filter:brightness(1.08);transform:translateY(-1px)}
.tbl tr.row-active .btn-detail{background:#7a7a7a}
.bingo-tbl tr.row-active{background:#fff5f5}
.bingo-tbl tr.row-active .bg-ky b{color:var(--red)}
.ky-select{height:34px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:#fff;
  font-size:13px;font-weight:600;color:#333;cursor:pointer;max-width:220px}
.live-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#36d36f;margin-right:5px;animation:pulse 1.2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(54,211,111,.6)}100%{box-shadow:0 0 0 8px rgba(54,211,111,0)}}
.note{background:#fff8e1;border:1px solid #ffe7a0;border-radius:8px;padding:10px 12px;font-size:13px;color:#7a5d00;margin-bottom:14px}

/* Footer */
.site-footer{background:#1b1f27;color:#c3c8d2;margin-top:30px}
.footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px;padding:28px 14px}
@media(max-width:760px){.footer-inner{grid-template-columns:1fr}}
.footer-col h4{color:#fff;margin:0 0 10px}
.footer-col ul{list-style:none;padding:0;margin:0}
.footer-col li{padding:5px 0}
.footer-col a:hover{color:var(--gold)}
.footer-stats{background:#161a21;border-top:1px solid #262b35}
.fstats-inner{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;padding:11px 14px}
.fstat{font-size:13.5px;color:#aeb4bf;white-space:nowrap}
.fstat b{color:var(--gold);font-weight:700;margin-left:2px}
@media(max-width:520px){.fstats-inner{gap:8px 16px}.fstat{font-size:12.5px}}
.footer-bottom{background:#12151b;padding:12px 0;font-size:13px;color:#8b909b;text-align:center}
.text-c{text-align:center}.muted{color:var(--muted)}

/* Tường thuật trực tiếp (live board) */
/* Bảng tường thuật trực tiếp — DÙNG NGUYÊN markup + CSS thẻ KQXS trang chủ
   (.card / .card-head.kqxs-head / table.kqxs[.kqxs-multi]).  Ở đây chỉ thêm:
   khung header live (chấm LIVE), trạng thái số (chờ/đang quay/mới), foot công cụ. */
.live-board{overflow:hidden}
.lb-head{gap:10px}
.lb-title{display:inline-flex;align-items:center;gap:7px}
.lb-title-sub{display:block;font-weight:700;font-size:.82em;opacity:.95;margin-top:1px}
.lb-dot{width:10px;height:10px;border-radius:50%;background:#7CFC00;box-shadow:0 0 0 3px rgba(124,252,0,.35);flex:none;animation:lb-blink 1s infinite}
.lb-dot.off{background:#ffb3a3;box-shadow:none;animation:none}
@keyframes lb-blink{50%{opacity:.35}}
/* Bảng ép sát mép card (bỏ khoảng cách giữa khung card và bảng) — như block trang chủ */
.live-board .lb-body{padding:0}
.lb-loading{padding:34px 12px;text-align:center;color:var(--muted);font-weight:600}
.lb-spin,.live-board .num.wait::before{display:inline-block;width:15px;height:15px;border:2px solid #f7a233;border-top-color:transparent;border-radius:50%;animation:lb-spin .8s linear infinite;vertical-align:middle}
@keyframes lb-spin{to{transform:rotate(360deg)}}
.lb-scroll{overflow-x:auto}
/* Trạng thái số (đè lên .num của thẻ KQXS): chờ -> spinner, đang quay -> cam, giải mới -> nháy */
.live-board .num{min-height:1.1em}
.live-board .num.wait{color:transparent}
.live-board .num.wait::before{content:""}
.live-board .num.run,.live-board .num.run .tail{color:#e67e22}
.live-board .num.done.flash{animation:lb-flash .5s ease-out;border-radius:4px}
@keyframes lb-flash{from{background:#ffe9a8}to{background:transparent}}
.lb-foot{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;padding:8px 12px;background:#fdf6e0;border-top:1px solid #efdfa6}
.lb-tools{display:flex;gap:6px}
.lb-mode{background:#fff;border:1px solid #d9c9a3;border-radius:6px;padding:4px 12px;font-size:13px;font-weight:600;color:#555;cursor:pointer}
.lb-mode.on{background:var(--red);border-color:var(--red);color:#fff}
.lb-fs{display:inline-flex;align-items:center;gap:5px;background:#fff;border:1px solid #d9c9a3;border-radius:6px;padding:4px 11px;font-size:13px;font-weight:600;color:#b71c0c;cursor:pointer}
.lb-fs:hover{background:#fff3e0;border-color:#e3a008}
.lb-fs svg{display:block}
.lb-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:#555}
.lb-legend i{width:10px;height:10px;border-radius:50%;display:inline-block;vertical-align:middle;margin-right:3px}
.lb-lg.wait{background:#f7a233}.lb-lg.run{background:#e67e22}.lb-lg.done{background:#27ae60}
.lb-bless{text-align:center;font-style:italic;color:#7a7a7a;padding:8px;font-size:13px;background:#fffdf7}

/* Phóng to toàn màn hình khi đang stream — DI CHUYỂN bảng live vào modal trang chủ (.kzm-*)
   nên bảng vẫn tự cập nhật; còn style bảng do .kzm-body table.kqxs của trang chủ lo (khớp 1-1). */
.lb-zoom .kzm-body{display:flex;flex-direction:column;overflow:hidden}
.lb-zoom .kzm-body .live-board{flex:1;min-height:0;display:flex;flex-direction:column;margin:0;border:0;border-radius:0;box-shadow:none;background:#fff}
.lb-zoom .kzm-body .lb-head,.lb-zoom .kzm-body .lb-foot,.lb-zoom .kzm-body .lb-bless{display:none}
.lb-zoom .kzm-body .lb-body{flex:1;min-height:0;overflow:hidden;padding:0}
.lb-zoom .kzm-body .lb-scroll{height:100%;overflow:hidden}
@media(max-width:520px){.lb-title{font-size:13px}}

/* Tường thuật trực tiếp xổ số điện toán (Mega/Power/Lotto) */
.jp-live{background:#fff;border:1px solid #e3a008;border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:18px;overflow:hidden}
.jp-live-pw655{border-color:#c8102e}
.jp-live-lt535{border-color:#1f9d55}
.jpl-head{display:flex;align-items:center;gap:8px;background:linear-gradient(90deg,#d93a1a,#b71c0c);color:#fff;padding:8px 12px}
.jp-live-lt535 .jpl-head{background:linear-gradient(90deg,#1f9d55,#157a40)}
.jpl-dot{width:10px;height:10px;border-radius:50%;background:#7CFC00;box-shadow:0 0 0 3px rgba(124,252,0,.3);flex:none;animation:lb-blink 1s infinite}
.jpl-dot.off{background:#ffb3a3;box-shadow:none;animation:none}
.jpl-logo{height:22px;width:auto;flex:none}
.jpl-title{flex:1;font-size:16px;font-weight:800;letter-spacing:.5px}
.jpl-date{background:#161616;color:#fff;border-radius:5px;padding:3px 9px;font-size:13px;font-weight:700}
.jpl-balls{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;padding:22px 12px}
.jpl-ball{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:22px;color:#fff;background:radial-gradient(circle at 35% 30%,#ff6a4d,#c8102e);
  box-shadow:0 3px 6px rgba(0,0,0,.2);letter-spacing:1px;
  font-variant-numeric:tabular-nums;font-feature-settings:"tnum";font-family:var(--font-num)}
.jp-live-lt535 .jpl-ball{background:radial-gradient(circle at 35% 30%,#43d17f,#1f9d55)}
.jpl-ball.special{background:radial-gradient(circle at 35% 30%,#ffd23f,#e0a800);color:#5a3d00}
.jpl-ball.wait{background:#eef0f3;color:transparent;position:relative}
.jpl-ball.wait::before{content:"";position:absolute;width:18px;height:18px;border:3px solid #f7a233;border-top-color:transparent;border-radius:50%;animation:lb-spin .8s linear infinite}
.jpl-ball.run{background:radial-gradient(circle at 35% 30%,#ffb36a,#e67e22)}
.jpl-ball.done.flash{animation:jpl-pop .5s ease-out}
@keyframes jpl-pop{from{transform:scale(.4);opacity:.2}to{transform:scale(1);opacity:1}}
.jpl-jp{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 12px;background:#fff7e6;border-top:1px dashed #f0d9a8;flex-wrap:wrap}
.jpl-jp-lbl{font-weight:700;color:#b71c0c}
.jpl-jp-val{font-size:22px;font-weight:800;color:#c8102e;letter-spacing:.5px}
.jp-live-lt535 .jpl-jp-val,.jp-live-lt535 .jpl-jp-lbl{color:#157a40}
.jpl-foot{display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 12px;color:var(--muted);font-weight:600;font-size:13px;background:#faf7ef;border-top:1px solid #f0d9a8}
.jpl-spin{display:inline-block;width:14px;height:14px;border:2px solid #f7a233;border-top-color:transparent;border-radius:50%;animation:lb-spin .8s linear infinite}
.jpl-bless{text-align:center;font-style:italic;color:#7a7a7a;padding:8px;font-size:13px;background:#fffdf7}
@media(max-width:520px){.jpl-title{font-size:13px}.jpl-ball{width:44px;height:44px;font-size:18px}.jpl-jp-val{font-size:18px}}
/* Bingo18 live: bóng tím + khối Tổng / Lớn-Nhỏ thay cho Jackpot (màu khớp bảng KQ) */
.jp-live-bingo{border-color:#6d28d9}
.jp-live-bingo .jpl-head{background:linear-gradient(90deg,#7c3aed,#5b21b6)}
.jp-live-bingo .jpl-ball{background:radial-gradient(circle at 35% 30%,#a78bfa,#6d28d9)}
.jbg-meta{display:flex;align-items:center;justify-content:center;gap:14px;padding:10px 12px;background:#f5f1ff;border-top:1px dashed #d8c9f5;flex-wrap:wrap}
.jbg-sum{font-weight:700;color:#5b21b6;font-size:16px}
.jbg-sum b{font-size:20px;color:#6d28d9;margin-left:3px}
.jbg-bs{font-weight:800;font-size:15px;padding:3px 16px;border-radius:14px;background:#eee;color:#555}
.jbg-bs.lon{background:#fdecea;color:#dc2626}
.jbg-bs.nho{background:#e8eefe;color:#1d4ed8}
.jbg-bs.hoa{background:#e7f6ec;color:#16a34a}
.jbg-next{display:flex;align-items:center;justify-content:center;gap:6px;padding:7px 12px;
  background:#faf7ef;border-top:1px solid #ece3cf;color:#6b5b2e;font-size:13px;font-weight:600}
.jbg-next-ic{color:#b08400;flex:none}
.jbg-next b{color:#6d28d9;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
.jbg-next .jbg-next-cd{color:#c0392b}

/* Keno live: 20 bóng nhỏ hơn, tông xanh lá; meta Tổng · Chẵn/Lẻ · Lớn/Nhỏ */
.jp-live-keno{border-color:#1f9d55}
.jp-live-keno .jpl-head{background:linear-gradient(90deg,#1f9d55,#157a40)}
.jp-live-keno .jpl-balls{gap:8px;padding:16px 12px}
.jp-live-keno .jpl-ball{width:40px;height:40px;font-size:17px;background:radial-gradient(circle at 35% 30%,#43d17f,#1f9d55)}
.jp-live-keno .jbg-meta{gap:18px;background:#eef9f1;border-top-color:#c7ead4}
.jp-live-keno .jbg-sum{color:#157a40}
.jp-live-keno .jbg-sum b{color:#1f9d55}
.jkn-stat{font-weight:700;color:#555;font-size:13.5px}
.jkn-stat b{color:#157a40;font-variant-numeric:tabular-nums}
.jp-live-keno .jbg-next b{color:#157a40}
.jp-live-keno .jbg-next .jbg-next-cd{color:#c0392b}
@media(max-width:520px){.jp-live-keno .jpl-ball{width:33px;height:33px;font-size:14px}.jp-live-keno .jbg-meta{gap:10px}}
.keno-hist tr.kn-new td{animation:kn-rowin 1.5s ease-out}
@keyframes kn-rowin{0%{background:#d9f5e3}60%{background:#eef9f1}100%{background:transparent}}
.keno-card.kn-flash{animation:kn-cardin .9s ease-out}
@keyframes kn-cardin{0%{box-shadow:0 0 0 3px #43d17f inset}100%{box-shadow:none}}

/* ===== Trực tuyến: Loto Hàng Chục/Đơn vị + thống kê cặp số (giao diện minhchinh) ===== */
.llt-wrap{display:flex;gap:16px;flex-wrap:wrap}
.llt-box{flex:1 1 320px;min-width:280px}
.llt-title{font-weight:700;color:#b91c1c;margin-bottom:5px;font-size:13.5px}
.llt-tbl{width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed}
.llt-tbl th,.llt-tbl td{border:1px solid var(--line);padding:3px 5px;text-align:center;vertical-align:middle}
.llt-tbl thead th,.llt-tbl tr:first-child th{background:#f3f4f6;font-weight:700}
.llt-tbl .llt-rh{width:26px;font-weight:700;background:#f3f4f6;color:#b91c1c}
.llt-tbl td{letter-spacing:.5px;word-spacing:2px;line-height:1.5;color:#1f2937}
.llt-x{color:#cbd0d6}

.lst-h{margin:14px 0 4px;font-size:13.5px;color:#b91c1c;font-weight:700}
.lst-h:first-child{margin-top:2px}
.lst-balls{display:flex;flex-wrap:wrap;gap:10px 16px;margin:4px 0 6px}
.lst-ball{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#6b7280}
.lst-ball b{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;
  color:#fff;font-size:13px;font-weight:700;box-shadow:inset 0 -2px 4px rgba(0,0,0,.18)}
.lst-ball i{font-style:normal}
.lst-ball.c0 b{background:#ef4444}.lst-ball.c1 b{background:#f97316}
.lst-ball.c2 b{background:#d4a300}.lst-ball.c3 b{background:#22c55e}
.lst-ball.c4 b{background:#14b8a6}.lst-ball.c5 b{background:#3b82f6}
.lst-ball.c6 b{background:#8b5cf6}.lst-ball.c7 b{background:#ec4899}
.lst-hu{margin-top:6px}
.lst-hu th,.lst-hu td{text-align:center;padding:5px 6px}
.lst-hu .lbl{font-weight:700;white-space:nowrap;text-align:left;color:#b91c1c}
@media(max-width:520px){.lst-ball b{width:27px;height:27px;font-size:12px}.llt-tbl{font-size:11px}}
