/* ===== Xổ Số - giao diện (chữ to, đậm, rõ như các trang kết quả xổ số) ===== */
.xd-root, .xd-root * { box-sizing: border-box; }
.xd-root {
  /* Font hệ thống (không tải font ngoài → nhanh, không gửi dữ liệu cho bên thứ ba). */
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.45;
  color: #1f2328;
  background: #f4f5f7;
  max-width: 960px;
  margin: 0 auto;
  border: 1px solid #e3e5e8;
  border-radius: 6px;
  overflow: hidden;
  -webkit-text-size-adjust: 100%;
}
.xd-main { padding: 16px; }
.xd-main > * + * { margin-top: 18px; }
.xd-loading { padding: 24px; text-align: center; font-size: 18px; color: #666; }

/* ---- Thanh chuyển tab (chỉ bản gộp [xoso_demo]) ---- */
.xd-nav { display: flex; flex-wrap: wrap; background: #fff; border-bottom: 4px solid #d31f1f; }
.xd-nav button {
  flex: 1 1 0; min-width: 90px;
  padding: 14px 10px;
  font: inherit; font-size: 18px; font-weight: 700; letter-spacing: .02em;
  color: #444; background: #fff; border: 0; border-right: 1px solid #eee; cursor: pointer;
}
.xd-nav button:last-child { border-right: 0; }
/* tab Home (icon) + chữ ẩn cho trình đọc màn hình */
.xd-nav .xd-navhome { flex: 0 0 76px !important; min-width: 76px !important; }
.xd-homeicon { display: block; margin: 0 auto; }
.xd-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.xd-nav button.xd-navlink, .xd-nav a.xd-navlink { position: relative; }
/* thanh tab dạng liên kết (mỗi loại kết quả là 1 trang) */
.xd-nav a.xd-navlink {
  flex: 1 1 0; min-width: 90px; display: block; text-align: center; text-decoration: none;
  padding: 14px 10px; font-size: 18px; font-weight: 700; letter-spacing: .02em;
  color: #444; background: #fff; border-right: 1px solid #eee;
}
.xd-nav a.xd-navlink:last-child { border-right: 0; }
.xd-nav a.xd-navlink:hover { background: #f6f6f6; }
.xd-nav a.xd-navlink.active { background: #d31f1f; color: #fff; }
.xd-nav button:hover { background: #f6f6f6; }
.xd-nav button.active { background: #d31f1f; color: #fff; }

/* ---- Dòng chẩn đoán (chỉ quản trị viên thấy) ---- */
.xd-admin { background: #fffbe6; border-bottom: 1px solid #f0e2a0; padding: 6px 14px; font-size: 13px; color: #6b5d00; }
.xd-admin > span { margin-right: 12px; }
.xd-admin .xd-issue { color: #b45309; }
.xd-admin-note { font-size: 13px; color: #777; margin: 0; }
.xd-mocknote { background: #fff3cd; border: 1px solid #ffe08a; color: #664d03; padding: 8px 12px; border-radius: 4px; font-size: 15px; font-weight: 600; }
.xd-notice { background: #fff; border: 1px solid #e3e5e8; border-left: 5px solid #d31f1f; padding: 16px; font-size: 18px; }
.xd-notice a { color: #d31f1f; font-weight: 700; }

/* ---- Chọn ngày: mỗi ngày là 1 liên kết (URL riêng) ---- */
.xd-dayrow { display: flex; flex-wrap: wrap; align-items: stretch; }
.xd-daytabs { display: flex; flex: 1 1 auto; overflow-x: auto; -webkit-overflow-scrolling: touch; }
a.xd-daytab, button.xd-daytab {
  flex: 0 0 auto; min-width: 84px;
  display: block; text-align: center; text-decoration: none;
  padding: 8px 14px; margin: 0 6px 6px 0;
  background: #fff; color: #333; border: 1px solid #d6d9dd; border-radius: 6px;
  font: inherit; cursor: pointer; line-height: 1.2;
}
a.xd-daytab:hover, button.xd-daytab:hover { border-color: #d31f1f; }
.xd-daytab .xd-tab-wd { display: block; font-size: 13px; font-weight: 600; color: #777; }
.xd-daytab .xd-tab-d { display: block; font-size: 19px; font-weight: 700; }
.xd-daytab.active { background: #d31f1f; border-color: #d31f1f; color: #fff; }
.xd-daytab.active .xd-tab-wd { color: #ffd9d9; }
.xd-dayselect {
  flex: 0 0 auto; margin: 0 0 6px 6px; padding: 8px 10px;
  font: inherit; font-size: 16px; font-weight: 600; color: #333;
  background: #fff; border: 1px solid #d6d9dd; border-radius: 6px;
}

/* ---- Thẻ ---- */
.xd-card { background: #fff; border: 1px solid #e3e5e8; border-radius: 6px; }
.xd-card-header {
  background: #d31f1f; color: #fff;
  padding: 12px 16px; border-radius: 5px 5px 0 0;
  font-size: 18px; font-weight: 700; line-height: 1.3;
  display: flex; align-items: center; justify-content: space-between;
}
/* Tiêu đề thẻ là thẻ <h2>: xoá kiểu mặc định của theme để giữ nguyên giao diện */
.xd-root h2.xd-card-title { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; color: inherit !important; font: inherit !important; text-transform: none !important; letter-spacing: inherit !important; line-height: inherit !important; }
.xd-card-header .xd-sub { font-size: 14px; font-weight: 600; opacity: .95; }
.xd-card-body { padding: 12px; overflow-x: auto; }

/* ---- Bảng kết quả ---- */
table.xd-table { width: 100%; border-collapse: collapse; font-size: 17px; }
table.xd-table th, table.xd-table td { border: 1px solid #e3e5e8; padding: 10px 12px; text-align: left; vertical-align: middle; }
table.xd-table thead th { background: #f4f5f7; font-size: 15px; font-weight: 700; color: #555; text-transform: uppercase; letter-spacing: .02em; }
table.xd-table tbody tr:nth-child(even) { background: #fafafa; }
.xd-row-highlight, table.xd-table tbody tr.xd-row-highlight { background: #fff7d6 !important; }
.xd-mono { font-variant-numeric: tabular-nums; }
.xd-red { color: #d31f1f; }
.xd-red-bold { color: #d31f1f; font-weight: 700; }

/* nhãn giải */
.xd-prize-label { width: 76px; font-size: 16px; font-weight: 400; color: #555; white-space: nowrap; }

/* các con số: to, đậm, tự xuống dòng */
.xd-n { display: inline-block; margin: 3px 14px 3px 0; font-size: 26px; font-weight: 700; letter-spacing: .03em; color: #111; }
.xd-special .xd-n { font-size: 42px; color: #d31f1f; letter-spacing: .05em; margin-right: 0; }
/* bảng nhiều tỉnh (Miền Nam / Trung): mỗi số một dòng trong cột của tỉnh */
table.xd-table td.xd-col { vertical-align: top; text-align: center; }
td.xd-col .xd-n { display: block; margin: 4px 0; font-size: 23px; }
td.xd-col.xd-special .xd-n { font-size: 32px; }
table.xd-table thead th { text-align: center; }
table.xd-table thead th:first-child { text-align: left; }
table.xd-table thead th { color: #d31f1f; font-size: 17px; }

/* bảng Loto */
.xd-loto-head { width: 64px; text-align: center; font-size: 26px; }
.xd-loto-nums .xd-n { font-size: 24px; margin-right: 16px; }

/* ---- Dò vé số ---- */
.xd-form-row { display: flex; flex-wrap: wrap; align-items: flex-end; }
.xd-field { display: flex; flex-direction: column; margin: 0 12px 10px 0; }
.xd-field label { font-size: 15px; font-weight: 700; color: #555; margin-bottom: 4px; }
.xd-field select, .xd-field input { border: 1px solid #c9cdd2; border-radius: 6px; padding: 10px 12px; font: inherit; font-size: 18px; }
.xd-field input.xd-ticket-input { font-weight: 700; letter-spacing: 4px; width: 190px; }
.xd-btn { padding: 11px 26px; margin-bottom: 10px; border-radius: 6px; background: #d31f1f; color: #fff; font: inherit; font-size: 18px; font-weight: 700; border: 0; cursor: pointer; }
.xd-btn:hover { background: #b01818; }
.xd-hint { font-size: 15px; color: #777; margin: 6px 0 0; }
.xd-result-box { margin-top: 12px; border-radius: 6px; border: 1px solid; padding: 14px 16px; font-size: 20px; font-weight: 700; }
.xd-result-box .xd-result-sub { font-size: 15px; font-weight: 400; opacity: .8; margin-top: 4px; }
.xd-result-trung { background: #fff7d6; border-color: #f2c200; color: #d31f1f; }
.xd-result-khuyenkhich { background: #eaf2ff; border-color: #5b9bff; color: #1d4ed8; }
.xd-result-lo { background: #f6f7f8; border-color: #c9cdd2; color: #444; }
.xd-result-khong { background: #f6f7f8; border-color: #e3e5e8; color: #666; }

/* ---- Thống kê ---- */
.xd-statsnote { font-size: 14px; color: #777; margin: 0 0 8px; }
.xd-rank { width: 36px; color: #999; font-size: 15px; text-align: center; }
.xd-statnum { font-size: 24px; font-weight: 700; }
.xd-statcount { font-size: 16px; color: #555; }
.xd-histdate { font-size: 16px; font-weight: 700; white-space: nowrap; }
.xd-histnums { font-size: 19px; font-weight: 700; }
.xd-freqbox { margin-top: 16px; }
.xd-stats-grid { display: grid; grid-template-columns: 1fr; gap: 18px; }
@media (min-width: 720px) { .xd-stats-grid { grid-template-columns: 1fr 1fr; } }
.xd-gan-table th, .xd-gan-table td { text-align: center !important; }
.xd-gan-table th { font-size: 20px; }
.xd-gan-table td { font-size: 15px; }

/* ---- Vietlott ---- */
.xd-vl-grid { display: grid; grid-template-columns: 1fr; gap: 18px; }
@media (min-width: 720px) { .xd-vl-grid { grid-template-columns: 1fr 1fr; } }
.xd-ball-row { display: flex; flex-wrap: wrap; justify-content: center; padding: 10px 0; }
.xd-ball {
  height: 54px; width: 54px; margin: 4px;
  border-radius: 50%; border: 3px solid #d31f1f; background: #fff; color: #d31f1f;
  font-size: 24px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}
.xd-ball.xd-ball-special { background: #d31f1f; color: #fff; }
.xd-ball.xd-ball-sm { height: 38px; width: 38px; font-size: 16px; border-width: 2px; margin: 0; }
.xd-vl-note { text-align: center; font-size: 14px; color: #777; margin: 2px 0 0; }
.xd-jackpot-box { text-align: center; margin-top: 14px; border-top: 1px solid #eee; padding-top: 10px; }
.xd-jackpot-label { font-size: 14px; font-weight: 700; color: #666; text-transform: uppercase; }
.xd-jackpot-value { color: #d31f1f; font-weight: 700; font-size: 26px; margin-top: 4px; }
.xd-freq-label { font-size: 14px; font-weight: 700; color: #666; text-transform: uppercase; margin-bottom: 8px; }
.xd-freq-chip { display: inline-flex; align-items: center; background: #f6f7f8; border: 1px solid #e3e5e8; border-radius: 999px; padding: 3px 12px 3px 3px; margin: 3px; }
.xd-freq-chip span { font-size: 15px; color: #666; margin-left: 6px; }

/* ---- Chưa có kết quả: đồng hồ đếm ngược + "Đang cập nhật…" ---- */
.xd-updating { text-align: center; padding: 30px 12px 26px; }
.xd-countdown-label { font-size: 15px; font-weight: 700; color: #666; text-transform: uppercase; letter-spacing: .04em; }
.xd-countdown { font-weight: 700; font-size: 56px; line-height: 1.15; color: #d31f1f; margin: 6px 0 2px; font-variant-numeric: tabular-nums; }
.xd-countdown-sub { font-size: 14px; color: #888; margin-top: 4px; }
.xd-updating-text { display: inline-flex; align-items: center; margin-top: 14px; font-size: 22px; font-weight: 700; color: #333; }
.xd-spinner { width: 20px; height: 20px; margin-right: 10px; border: 3px solid #f5c2c2; border-top-color: #d31f1f; border-radius: 50%; display: inline-block; animation: xd-spin .9s linear infinite; }
@keyframes xd-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .xd-spinner { animation: none; } }

/* ---- Điện thoại ---- */
@media (max-width: 600px) {
  .xd-main { padding: 10px; }
  .xd-card-header { font-size: 17px; padding: 11px 12px; }
  .xd-card-body { padding: 8px; }
  table.xd-table { font-size: 16px; }
  table.xd-table th, table.xd-table td { padding: 8px 6px; }
  .xd-prize-label { width: 56px; font-size: 15px; }
  .xd-n { font-size: 24px; margin-right: 10px; }
  .xd-special .xd-n { font-size: 36px; }
  td.xd-col .xd-n { font-size: 20px; }
  td.xd-col.xd-special .xd-n { font-size: 26px; }
  .xd-loto-nums .xd-n { font-size: 22px; margin-right: 12px; }
  .xd-countdown { font-size: 44px; }
  .xd-ball { height: 46px; width: 46px; font-size: 20px; }
  .xd-field input.xd-ticket-input { width: 150px; }
  .xd-dayselect { width: 100%; margin: 0 0 8px 0; }
}


/* ---- Các CON SỐ luôn đậm (kể cả khi theme đặt lại font-weight); nhãn giải G.ĐB, G.1, G.2… để chữ thường ---- */
.xd-root .xd-n,
.xd-root td.xd-prize-nums,
.xd-root td.xd-col,
.xd-root td.xd-loto-nums,
.xd-root .xd-loto-head { font-weight: 700 !important; }
.xd-root .xd-prize-label { color: #333; font-size: 17px; font-weight: 400 !important; }
.xd-root .xd-n { color: #111; }
.xd-root .xd-special .xd-n { color: #d31f1f; }

/* ---- Lô gan: lưới ô tự xuống dòng ---- */
.xd-gan-grid { display: flex; flex-wrap: wrap; }
.xd-gan-item { flex: 1 1 64px; min-width: 64px; max-width: 120px; margin: 4px; padding: 8px 4px; text-align: center; border: 1px solid #e3e5e8; border-radius: 6px; background: #fafafa; }
.xd-gan-num { display: block; font-size: 24px; font-weight: 700; color: #d31f1f; line-height: 1.2; }
.xd-gan-days { display: block; font-size: 14px; color: #555; margin-top: 2px; }

/* ---- Điện thoại: thanh tab hiện đủ 5 mục (Home + 4 tab) trên 1 hàng ---- */
@media (max-width: 600px) {
  .xd-nav { flex-wrap: nowrap; }
  .xd-nav button, .xd-nav a.xd-navlink { min-width: 0 !important; padding: 12px 2px !important; font-size: 14px !important; letter-spacing: 0 !important; }
  .xd-nav .xd-navhome { flex: 0 0 46px !important; min-width: 46px !important; }
  .xd-homeicon { width: 22px; height: 22px; }
  .xd-gan-item { flex: 1 1 56px; min-width: 56px; margin: 3px; }
  .xd-gan-num { font-size: 22px; }
}
@media (max-width: 360px) {
  .xd-nav button, .xd-nav a.xd-navlink { font-size: 13px !important; }
}


/* ---- [xoso_ds_tinh]: danh sách các tỉnh ---- */
.xd-tinhlist { font-family: Arial, Helvetica, sans-serif; }
.xd-tinhlist h2.xd-tinhlist-title { margin: 18px 0 10px; font-size: 20px; font-weight: 700; color: #d31f1f; }
.xd-tinhlist ul { display: flex; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; }
.xd-tinhlist li { margin: 0 8px 8px 0; padding: 0; }
.xd-tinhlist li a, .xd-tinhlist li span { display: block; padding: 9px 16px; border: 1px solid #d6d9dd; border-radius: 6px; background: #fff; font-size: 17px; text-decoration: none; color: #1f2328; }
.xd-tinhlist li a { font-weight: 700; }
.xd-tinhlist li a:hover { border-color: #d31f1f; color: #d31f1f; }
.xd-tinhlist li span { color: #888; }


/* ---- Trang theo thứ: chọn miền để dò vé / Loto / thống kê ---- */
.xd-subnav { display: flex; flex-wrap: wrap; margin-top: 6px; }
.xd-subtab { flex: 1 1 0; min-width: 0; margin: 0 6px 0 0; padding: 12px 6px; font: inherit; font-size: 17px; font-weight: 700; color: #444; background: #fff; border: 1px solid #d6d9dd; border-radius: 6px; cursor: pointer; }
.xd-subtab:last-child { margin-right: 0; }
.xd-subtab:hover { border-color: #d31f1f; }
.xd-subtab.active { background: #d31f1f; border-color: #d31f1f; color: #fff; }
@media (max-width: 600px) { .xd-subtab { font-size: 14px; padding: 10px 2px; } }


/* ---- Thanh Hôm nay | Hôm qua | Thứ 2 | ... | Chủ nhật: chữ thường (không đậm), đổi màu khi rê chuột ----
   Dùng chung cho mọi trang (liên kết ở các trang miền, nút ở [xoso_demo]). */
.xd-root a.xd-wdtab, .xd-root button.xd-wdtab {
  min-width: 0; padding: 11px 16px;
  font-size: 17px; font-weight: 400 !important; line-height: 1.2; white-space: nowrap;
  color: #333; background: #fff; border: 1px solid #d6d9dd; border-radius: 6px;
  text-decoration: none; cursor: pointer;
  transition: color .15s, border-color .15s;
}
.xd-root a.xd-wdtab:hover, .xd-root button.xd-wdtab:hover,
.xd-root a.xd-wdtab:focus, .xd-root button.xd-wdtab:focus { color: #d31f1f; border-color: #d31f1f; text-decoration: none; }
.xd-root a.xd-wdtab.active, .xd-root button.xd-wdtab.active,
.xd-root a.xd-wdtab.active:hover, .xd-root button.xd-wdtab.active:hover { color: #fff; background: #d31f1f; border-color: #d31f1f; font-weight: 400 !important; }
@media (max-width: 600px) { .xd-root a.xd-wdtab, .xd-root button.xd-wdtab { padding: 10px 12px; font-size: 15px; } }


/* ---- Phần "Thông Tin Về Kết Quả Xổ Số Kiến Thiết Miền ..." (dưới [xoso_xsmb] / [xoso_xsmn] / [xoso_xsmt]) ---- */
.xd-info { max-width: 960px; margin: 28px auto 0; padding: 0 4px; font-family: Arial, Helvetica, sans-serif; font-size: 17px; line-height: 1.6; color: #1f2328; }
.xd-info h2 { margin: 0 0 14px; font-size: 26px; line-height: 1.3; font-weight: 700; color: #d31f1f; }
.xd-info h3 { margin: 26px 0 10px; font-size: 21px; line-height: 1.35; font-weight: 700; color: #1f2328; padding-left: 10px; border-left: 4px solid #d31f1f; }
.xd-info p { margin: 0 0 12px; }
.xd-info ol { margin: 0 0 12px; padding-left: 22px; }
.xd-info li { margin: 0 0 8px; }
.xd-info-scroll { overflow-x: auto; margin: 0 0 12px; }
.xd-info table { width: 100%; border-collapse: collapse; font-size: 16px; background: #fff; }
.xd-info th, .xd-info td { border: 1px solid #e3e5e8; padding: 9px 12px; text-align: left; vertical-align: top; }
.xd-info thead th { background: #f4f5f7; font-weight: 700; white-space: nowrap; }
.xd-info tbody tr:nth-child(even) { background: #fafafa; }
@media (max-width: 600px) { .xd-info { font-size: 16px; } .xd-info h2 { font-size: 22px; } .xd-info h3 { font-size: 19px; } .xd-info table { font-size: 15px; } .xd-info th, .xd-info td { padding: 8px 8px; } }


/* ======================= Bảng kết quả theo mẫu: tiêu đề vàng, ký hiệu ĐB, số căn đều theo cột, hàng xen kẽ xanh nhạt ======================= */

.xd-root table.xd-prize-table { width: 100%; table-layout: fixed; border-collapse: collapse; background: #fff; font-size: 17px; }
.xd-root table.xd-prize-table th, .xd-root table.xd-prize-table td { border: 1px solid #d8e2ef; padding: 4px 6px; vertical-align: middle; text-align: center; }
.xd-root table.xd-prize-table th.xd-prize-label, .xd-root table.xd-prize-table td.xd-prize-label { width: 84px; font-size: 20px; font-weight: 400 !important; color: #222; text-transform: none; }
.xd-root table.xd-prize-table thead th { background: #fff; text-transform: none; }
.xd-root table.xd-prize-table tbody tr:nth-child(odd) { background: #eaf4ff; }
.xd-root table.xd-prize-table tbody tr:nth-child(even) { background: #fff; }
.xd-root table.xd-prize-table tr.xd-row-highlight { background: #eaf4ff !important; }

/* lưới số: N cột đều nhau, mỗi số căn giữa cột của nó */
.xd-ngrid { display: grid; width: 100%; align-items: center; justify-items: center; }
.xd-ngrid.xd-cols-1 { grid-template-columns: 1fr; }
.xd-ngrid.xd-cols-2 { grid-template-columns: repeat(2, 1fr); }
.xd-ngrid.xd-cols-3 { grid-template-columns: repeat(3, 1fr); }
.xd-ngrid.xd-cols-4 { grid-template-columns: repeat(4, 1fr); }
.xd-root table.xd-prize-table:not(.xd-prov-table) .xd-ngrid .xd-n { display: block; margin: 6px 0; font-size: 34px; letter-spacing: .02em; }
.xd-root table.xd-prize-table:not(.xd-prov-table) .xd-special .xd-n { font-size: 56px; color: #e1202a; margin: 4px 0; letter-spacing: .04em; }

/* dòng "ký hiệu trúng giải Đặc biệt" */

/* bảng nhiều tỉnh (Miền Nam / Miền Trung): tên tỉnh màu đỏ, số mỗi dòng một số, căn giữa */
.xd-root table.xd-prov-table thead th { color: #e1202a; font-size: 18px; font-weight: 700; text-transform: uppercase; }
.xd-root table.xd-prov-table td.xd-col .xd-n { display: block; margin: 4px 0; font-size: 28px; }
.xd-root table.xd-prov-table td.xd-col.xd-special .xd-n { font-size: 38px; color: #e1202a; }

@media (max-width: 600px) {
  .xd-root table.xd-prize-table th.xd-prize-label, .xd-root table.xd-prize-table td.xd-prize-label { width: 46px; font-size: 16px; }
  .xd-root table.xd-prize-table th, .xd-root table.xd-prize-table td { padding: 3px 2px; }
  .xd-root table.xd-prize-table:not(.xd-prov-table) .xd-ngrid .xd-n { font-size: 23px; margin: 4px 0; letter-spacing: 0; }
  .xd-root table.xd-prize-table:not(.xd-prov-table) .xd-special .xd-n { font-size: 40px; }
  .xd-root table.xd-prov-table thead th { font-size: 14px; }
  .xd-root table.xd-prov-table td.xd-col .xd-n { font-size: 20px; }
  .xd-root table.xd-prov-table td.xd-col.xd-special .xd-n { font-size: 26px; }
}


/* ---- Dòng nhỏ "Ký hiệu trúng Đặc Biệt: 12HV-4HV-11HV-3HV-13HV-7HV" (Miền Bắc), căn phải phía trên bảng ---- */
.xd-root .xd-symline { text-align: right; font-size: 17px; line-height: 1.4; color: #222; padding: 0 4px 8px; }
.xd-root .xd-symlabel { font-weight: 400 !important; }
.xd-root .xd-symlist { font-weight: 700 !important; color: #000; margin-left: 6px; letter-spacing: .01em; }
@media (max-width: 600px) { .xd-root .xd-symline { font-size: 14px; } }


/* ---- Liên kết "Xem kết quả xổ số miền X ngày hôm qua" trong thẻ đang chờ kết quả hôm nay ---- */
.xd-root .xd-updating-link { margin-top: 16px; font-size: 17px; }
.xd-root .xd-updating-link a { color: #1a56db; text-decoration: underline; }
.xd-root .xd-updating-link a:hover { color: #d31f1f; }


/* ---- Trang Chính sách bảo mật / Điều khoản sử dụng ---- */
.xd-legal h2 { margin: 26px 0 10px; font-size: 22px; color: #1f2328; }
.xd-legal ul { margin: 0 0 12px; padding-left: 22px; }
.xd-legal li { margin: 0 0 8px; }
.xd-legal a { color: #1a56db; text-decoration: underline; }
.xd-legal-date { color: #666; }


/* ---- Điện thoại: ô "Giải" thu gọn để dành chỗ cho kết quả, số to hơn ----
   Cột nhãn (G.ĐB, G.1 ... G.8) chỉ rộng ~34px, chữ nhỏ; bớt khoảng đệm hai bên; các con số lấy phần còn lại và to ra.
   Cỡ chữ tính theo bề ngang màn hình (vw) nên số luôn VỪA cột, không đè lên cột bên cạnh (kể cả ngày 4 tỉnh). */
.xd-root table.xd-prov-table td.xd-col .xd-n { white-space: nowrap; }
@media (max-width: 600px) {
  .xd-root .xd-main { padding: 8px 4px; }
  .xd-root .xd-card-body { padding: 6px 2px; }

  .xd-root table.xd-prize-table th.xd-prize-label, .xd-root table.xd-prize-table td.xd-prize-label { width: 34px; font-size: 12px; padding: 2px 0; letter-spacing: 0; }
  .xd-root table.xd-prize-table th, .xd-root table.xd-prize-table td { padding: 3px 1px; }

  /* Miền Bắc: lưới số theo cột */
  .xd-root table.xd-prize-table:not(.xd-prov-table) .xd-ngrid .xd-n { font-size: min(30px, 8vw); margin: 4px 0; letter-spacing: 0; }
  .xd-root table.xd-prize-table:not(.xd-prov-table) .xd-special .xd-n { font-size: min(48px, 12.5vw); }

  /* Miền Nam / Miền Trung: càng nhiều tỉnh (cột) thì chữ càng nhỏ; giải Đặc biệt có 6 chữ số nên nhỏ hơn một chút */
  .xd-root table.xd-prov-table td.xd-col .xd-n { letter-spacing: 0; }
  .xd-root table.xd-prov-table.xd-pc-4 td.xd-col .xd-n { font-size: min(25px, 6.5vw); }
  .xd-root table.xd-prov-table.xd-pc-4 td.xd-col.xd-special .xd-n { font-size: min(23px, 5.9vw); }
  .xd-root table.xd-prov-table.xd-pc-3 td.xd-col .xd-n { font-size: min(31px, 8vw); }
  .xd-root table.xd-prov-table.xd-pc-3 td.xd-col.xd-special .xd-n { font-size: min(30px, 7.7vw); }
  .xd-root table.xd-prov-table.xd-pc-2 td.xd-col .xd-n { font-size: min(36px, 9.2vw); }
  .xd-root table.xd-prov-table.xd-pc-2 td.xd-col.xd-special .xd-n { font-size: min(40px, 10.3vw); }
  .xd-root table.xd-prov-table.xd-pc-1 td.xd-col .xd-n { font-size: min(36px, 9.2vw); }
  .xd-root table.xd-prov-table.xd-pc-1 td.xd-col.xd-special .xd-n { font-size: min(48px, 12.3vw); }
}


/* ---- "Mã ĐB: 12HV-4HV-11HV-3HV-13HV-7HV" luôn trên 1 dòng (kể cả điện thoại) ---- */
.xd-root .xd-symline { white-space: nowrap; }
@media (max-width: 360px) { .xd-root .xd-symline { font-size: 13px; } }

/* ---- Miền Nam / Miền Trung: số CĂN PHẢI cho dễ nhìn, cỡ chữ giảm một chút ---- */
.xd-root table.xd-prov-table td.xd-col { text-align: right; padding-right: 8px; }
.xd-root table.xd-prov-table td.xd-col .xd-n { text-align: right; font-size: 26px; }
.xd-root table.xd-prov-table td.xd-col.xd-special .xd-n { font-size: 34px; }
.xd-root table.xd-prov-table thead th:not(.xd-prize-label) { text-align: right; padding-right: 8px; }
@media (max-width: 600px) {
  .xd-root table.xd-prov-table td.xd-col { padding: 3px 4px 3px 1px; }
  .xd-root table.xd-prov-table thead th:not(.xd-prize-label) { padding: 3px 4px 3px 1px; }
  .xd-root table.xd-prov-table.xd-pc-4 td.xd-col .xd-n { font-size: min(22px, 5.8vw); }
  .xd-root table.xd-prov-table.xd-pc-4 td.xd-col.xd-special .xd-n { font-size: min(21px, 5.4vw); }
  .xd-root table.xd-prov-table.xd-pc-3 td.xd-col .xd-n { font-size: min(27px, 7vw); }
  .xd-root table.xd-prov-table.xd-pc-3 td.xd-col.xd-special .xd-n { font-size: min(26px, 6.7vw); }
  .xd-root table.xd-prov-table.xd-pc-2 td.xd-col .xd-n { font-size: min(32px, 8.2vw); }
  .xd-root table.xd-prov-table.xd-pc-2 td.xd-col.xd-special .xd-n { font-size: min(34px, 8.7vw); }
  .xd-root table.xd-prov-table.xd-pc-1 td.xd-col .xd-n { font-size: min(32px, 8.2vw); }
  .xd-root table.xd-prov-table.xd-pc-1 td.xd-col.xd-special .xd-n { font-size: min(42px, 10.8vw); }
}


/* ---- Jackpot Vietlott: giá trị từng kỳ + ƯỚC TÍNH kỳ tới ---- */
.xd-root .xd-jp-lines { margin: 10px 0 4px; font-size: 17px; line-height: 1.5; }
.xd-root .xd-jp-line { margin: 2px 0; }
.xd-root .xd-jp-name { font-weight: 400; }
.xd-root .xd-jp-line b { color: #d31f1f; }
.xd-root .xd-jp-win { color: #666; font-size: 15px; }
.xd-root .xd-jp-note { margin-top: 8px; font-size: 14px; color: #666; line-height: 1.45; }
.xd-root .xd-jp-grid { display: flex; flex-wrap: wrap; gap: 12px; }
.xd-root .xd-jp-last { border-top: 1px solid #e3e5e8; margin-top: 8px; padding-top: 8px; }
.xd-root .xd-jp-lasthead { font-size: 16px; color: #333; }


/* ---- Khung "KẾT QUẢ JACKPOT ƯỚC TÍNH": thẻ cam hình thang + khung viền đôi cam, số đỏ to, dòng ngày mở thưởng màu xanh ----
   Cỡ chữ tính theo bề rộng CỦA KHUNG (cqw), không theo bề rộng màn hình: khung nằm trong thẻ nửa trang hay cả trang thì số vẫn vừa khung.
   Dòng khai báo cỡ cố định ở trước là dự phòng cho trình duyệt cũ chưa hiểu đơn vị cqw. */
.xd-root .xd-jp-card { flex: 1 1 360px; min-width: 0; }
.xd-root .xd-card-body { min-width: 0; }
.xd-root .xd-jpf { text-align: center; margin: 6px 0; min-width: 0; container-type: inline-size; }
.xd-root .xd-jpf-tab { display: table; max-width: 100%; margin: 0 auto; background: #dc4a05; color: #fff; clip-path: polygon(0 100%, 9% 0, 91% 0, 100% 100%); padding: 11px 6% 9px; box-sizing: border-box; }
.xd-root .xd-jpf-tab span { display: block; font-size: 15px; font-size: clamp(11px, 3.6cqw, 18px); font-weight: 700 !important; letter-spacing: .01em; line-height: 1.2; white-space: nowrap; }
.xd-root .xd-jpf-outer { border: 6px solid #dc4a05; border-radius: 26px; padding: 5px; background: #fff; margin-top: -2px; }
.xd-root .xd-jpf-inner { border: 3px solid #dc4a05; border-radius: 18px; padding: 12px 6px 14px; background: #fff; }
.xd-root .xd-jpf-game { font-size: 15px; font-size: clamp(12px, 3.4cqw, 17px); font-weight: 700 !important; color: #dc4a05; text-transform: uppercase; letter-spacing: .02em; margin-bottom: 2px; }
.xd-root .xd-jpf-value { font-size: 30px; font-size: min(58px, 10.6cqw); font-weight: 700 !important; color: #ee1c24; line-height: 1.15; white-space: nowrap; }
.xd-root .xd-jpf-value.xd-jpf-long { font-size: 26px; font-size: min(52px, 8.8cqw); }
.xd-root .xd-jpf-value.xd-jpf-small { font-size: 20px; font-size: clamp(16px, 5cqw, 26px); white-space: normal; color: #666; }
.xd-root .xd-jpf-next { margin-top: 10px; font-size: 18px; font-size: clamp(14px, 4.6cqw, 24px); font-weight: 700 !important; color: #1c1ce0; line-height: 1.3; }
.xd-root .xd-jp-lines, .xd-root .xd-jp-line { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .xd-root .xd-jpf-outer { border-width: 5px; border-radius: 22px; }
  .xd-root .xd-jpf-inner { border-width: 2px; border-radius: 16px; padding: 8px 4px 10px; }
}


/* ---- Lịch sử các kỳ gần đây (Vietlott): số của Mega 6/45 và Power 6/55 đều in đậm như nhau ---- */
.xd-root td.xd-histnums { font-weight: 700 !important; }


/* ---- [xoso_demo] trước giờ có kết quả: thông báo nhỏ, đóng khung, nổi bật + đồng hồ đếm ngược ---- */
.xd-root .xd-early { display: table; max-width: 100%; margin: 4px auto 12px; padding: 8px 16px; text-align: center; font-size: 17px; line-height: 1.4; color: #333; background: #fff6df; border: 2px solid #dc4a05; border-radius: 10px; box-shadow: 0 1px 4px rgba(220, 74, 5, .18); box-sizing: border-box; }
.xd-root .xd-early b { color: #1c1ce0; }
.xd-root .xd-early-clock { display: inline-block; font-size: 20px; font-weight: 700 !important; color: #d31f1f; font-variant-numeric: tabular-nums; letter-spacing: .02em; }
@media (max-width: 600px) { .xd-root .xd-early { font-size: 15px; padding: 7px 10px; } .xd-root .xd-early-clock { font-size: 18px; } }


/* ---- Thông báo "Kết quả xổ số ... sẽ có sau ..." bấm được (chuyển sang trang miền) ---- */
.xd-root a.xd-early { color: #333; text-decoration: none; cursor: pointer; transition: background-color .15s, border-color .15s; }
.xd-root a.xd-early:hover, .xd-root a.xd-early:focus { background: #ffeab8; border-color: #b83d00; color: #333; text-decoration: none; }
.xd-root a.xd-early b { color: #1c1ce0; }


/* ======================= Sổ mơ [xoso_so_mo]: khung đỏ + 2 ô tìm + phân trang + bảng gọn 3 cột (một URL, tìm và chuyển trang ngay trong trang) ======================= */
.xd-somo { max-width: 960px; margin: 0 auto; font-family: Arial, Helvetica, sans-serif; font-size: 16px; line-height: 1.4; color: #1f2328; }
.xd-somo .xd-somo-card { margin: 0 0 16px; background: #fff; border: 1px solid #dcdfe3; }
.xd-somo h2.xd-somo-bar { margin: 0; padding: 8px 10px; background: #ed1c24; color: #fff; text-align: center; font-size: 20px; font-weight: 400; line-height: 1.3; }
.xd-somo .xd-somo-body { padding: 10px 10px 8px; }
.xd-somo .xd-somo-form { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: flex-end; padding: 0 6px; }
.xd-somo .xd-somo-field { flex: 1 1 180px; min-width: 0; }
.xd-somo .xd-somo-field-wide { flex: 3 1 300px; }
.xd-somo .xd-somo-field label { display: block; margin: 0 0 4px; font-weight: 700; font-size: 16px; color: #111; }
.xd-somo .xd-somo-field input { display: block; width: 100%; box-sizing: border-box; height: 38px; padding: 4px 12px; font-size: 16px; color: #333; background: #fff; border: 1px solid #ccc; border-radius: 5px; box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); }
.xd-somo .xd-somo-field input:focus { outline: none; border-color: #66afe9; box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px rgba(102, 175, 233, .6); }
.xd-somo .xd-somo-submit { flex: 1 1 100%; text-align: center; }
.xd-somo button.xd-somo-btn { padding: 7px 20px; font-size: 16px; color: #fff; background: #337ab7; border: 1px solid #2e6da4; border-radius: 5px; cursor: pointer; }
.xd-somo button.xd-somo-btn:hover { background: #286090; }
.xd-somo button.xd-somo-clear { margin-left: 8px; padding: 7px 12px; font-size: 15px; color: #337ab7; background: none; border: 0; text-decoration: underline; cursor: pointer; }
.xd-somo .xd-somo-clear[hidden], .xd-somo .xd-somo-count[hidden] { display: none !important; }
.xd-somo ul.xd-somo-pager { display: flex; flex-wrap: wrap; justify-content: center; list-style: none; margin: 2px auto 8px; padding: 0; }
.xd-somo ul.xd-somo-pager li { margin: 0; padding: 0; }
.xd-somo ul.xd-somo-pager button, .xd-somo ul.xd-somo-pager span { display: block; min-width: 36px; padding: 6px 11px; box-sizing: border-box; text-align: center; font-family: inherit; font-size: 16px; line-height: 1.3; color: #337ab7; background: #fff; border: 1px solid #ddd; margin-left: -1px; text-decoration: none; cursor: pointer; border-radius: 0; }
.xd-somo ul.xd-somo-pager span { cursor: default; }
.xd-somo ul.xd-somo-pager li:first-child button, .xd-somo ul.xd-somo-pager li:first-child span { border-radius: 5px 0 0 5px; margin-left: 0; }
.xd-somo ul.xd-somo-pager li:last-child button, .xd-somo ul.xd-somo-pager li:last-child span { border-radius: 0 5px 5px 0; }
.xd-somo ul.xd-somo-pager button:hover { background: #eee; }
.xd-somo ul.xd-somo-pager li.active span { color: #fff; background: #337ab7; border-color: #337ab7; }
.xd-somo ul.xd-somo-pager li.disabled span { color: #777; }
.xd-somo .xd-somo-count { margin: 0 0 8px; text-align: center; color: #444; font-size: 15px; }
.xd-somo .xd-somo-tablewrap { overflow-x: auto; border: 1px solid #b8b8b8; }
.xd-somo table.xd-somo-table { width: 100%; border-collapse: collapse; background: #fff; }
.xd-somo .xd-somo-table th { padding: 7px 6px; background: #d9edf7; color: #a00000; font-size: 18px; font-weight: 700; text-align: center; border-bottom: 1px solid #c8c8c8; border-left: 1px solid #d5d5d5; }
.xd-somo .xd-somo-table th:first-child { border-left: 0; }
.xd-somo .xd-somo-table td { padding: 4px 8px; text-align: center; vertical-align: middle; border-top: 1px solid #efefef; border-left: 1px solid #e6e6e6; font-size: 18px; line-height: 1.4; transition: background-color .12s; }
.xd-somo .xd-somo-table td:first-child { border-left: 0; }
.xd-somo .xd-somo-table td.xd-somo-c-stt { width: 80px; }
.xd-somo .xd-somo-table td.xd-somo-c-nums { width: 190px; font-variant-numeric: tabular-nums; }
.xd-somo td.xd-somo-none { padding: 14px 10px; color: #666; font-size: 17px; }
/* đường kẻ giữa 2 dòng: rất mảnh (màn hình độ phân giải cao: nửa điểm ảnh) */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { .xd-somo .xd-somo-table td { border-top-width: .5px; } }
/* làm nổi bật dòng khi rê chuột hoặc nhấn vào (nhấn lần nữa để bỏ chọn) */
.xd-somo .xd-somo-table tbody tr { cursor: pointer; }
.xd-somo .xd-somo-table tbody tr:hover td { background: #fff3c4; }
.xd-somo .xd-somo-table tbody tr.is-selected td { background: #ffe08a; font-weight: 700; color: #a00000; }
.xd-somo .xd-somo-table tbody tr:hover td.xd-somo-none { background: #fff; cursor: default; }
.xd-somo .xd-somo-note { margin: 10px 0 0; padding: 8px 12px; font-size: 13px; color: #555; background: #fff8e8; border-left: 4px solid #dc4a05; border-radius: 4px; }
@media (max-width: 600px) {
  .xd-somo { font-size: 15px; }
  .xd-somo h2.xd-somo-bar { font-size: 17px; padding: 7px 6px; }
  .xd-somo .xd-somo-body { padding: 8px 4px 6px; }
  .xd-somo .xd-somo-form { padding: 0 2px; gap: 8px; }
  .xd-somo .xd-somo-field, .xd-somo .xd-somo-field-wide { flex: 1 1 100%; }
  .xd-somo ul.xd-somo-pager button, .xd-somo ul.xd-somo-pager span { min-width: 32px; padding: 5px 8px; font-size: 15px; }
  .xd-somo .xd-somo-table th { font-size: 16px; padding: 6px 2px; }
  .xd-somo .xd-somo-table td { font-size: 17px; padding: 4px 4px; }
  .xd-somo .xd-somo-table td.xd-somo-c-stt { width: 54px; }
  .xd-somo .xd-somo-table td.xd-somo-c-nums { width: 92px; }
}


/* ======================= Loto gan (lô gan) [xoso_lo_gan] ======================= */
.xd-lg { max-width: 960px; margin: 0 auto; font-family: Arial, Helvetica, sans-serif; font-size: 16px; line-height: 1.4; color: #1f2328; }
.xd-lg .xd-lg-form { margin: 0 0 14px; padding: 12px; background: #fff; border: 1px solid #dcdfe3; border-radius: 6px; }
/* v1.103.0: 2 nút chọn kiểu thống kê + tiêu đề + 1 hàng ô chọn (nhãn ẩn, chỉ cho trình đọc màn hình) */
.xd-lg .xd-lg-modes { display: flex; flex-direction: column; gap: 10px; margin: 0 0 14px; }
.xd-lg .xd-lg-mode { display: inline-flex; align-items: center; gap: 10px; font-size: 18px; color: #1a0dab; cursor: pointer; }
.xd-lg .xd-lg-mode input { width: 18px; height: 18px; margin: 0; accent-color: #1a73e8; cursor: pointer; }
.xd-lg p.xd-lg-formtitle { margin: 0 0 10px; padding: 0; font-size: 18px; font-weight: 700; color: #111; }
.xd-lg .xd-lg-row { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: center; }
.xd-lg .xd-lg-row .xd-lg-field { flex: 1 1 150px; }
.xd-lg .xd-lg-row .xd-lg-field label { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.xd-lg .xd-lg-field { flex: 1 1 170px; min-width: 0; }
.xd-lg .xd-lg-field[hidden] { display: none !important; }
.xd-lg .xd-lg-field label { display: block; margin: 0 0 4px; font-weight: 700; font-size: 15px; color: #111; }
.xd-lg .xd-lg-field select, .xd-lg .xd-lg-field input { display: block; width: 100%; box-sizing: border-box; height: 38px; padding: 4px 10px; font-size: 16px; color: #333; background: #fff; border: 1px solid #ccc; border-radius: 5px; }
.xd-lg .xd-lg-field select:disabled { background: #f2f2f2; color: #777; }
.xd-lg .xd-lg-submit { flex: 0 0 auto; }
.xd-lg .xd-lg-row .xd-lg-field select, .xd-lg .xd-lg-row .xd-lg-field input { height: 44px; padding: 4px 14px; font-size: 17px; border-color: #ccc; border-radius: 6px; }
.xd-lg .xd-lg-row .xd-lg-field select:disabled { background: #fff; color: #333; opacity: 1; }
.xd-lg button.xd-lg-btn { height: 44px; padding: 0 40px; font-size: 17px; font-weight: 700; color: #fff; background: #ed1c24; border: 1px solid #b0141a; border-radius: 2px; cursor: pointer; }
.xd-lg button.xd-lg-btn:hover { background: #c8161d; }
.xd-lg h2.xd-lg-bar { margin: 0; padding: 9px 10px; background: #ed1c24; color: #fff; text-align: center; font-size: 20px; font-weight: 400; line-height: 1.3; }
.xd-lg .xd-lg-wrap { overflow-x: auto; }
.xd-lg table.xd-lg-table { width: 100%; border-collapse: collapse; background: #fff; }
.xd-lg .xd-lg-top th { padding: 7px 6px; background: #d9edf7; color: #a00000; font-size: 17px; font-weight: 700; text-align: center; border: 1px solid #d5d5d5; }
.xd-lg .xd-lg-top td { padding: 5px 8px; text-align: center; font-size: 18px; border: 1px solid #e6e6e6; }
.xd-lg .xd-lg-top td.xd-lg-num { font-size: 22px; font-weight: 700; color: #d31f1f; }
.xd-lg .xd-lg-top tbody tr:hover td { background: #fff3c4; }
.xd-lg h3.xd-lg-sub { margin: 16px 0 8px; padding: 0; text-align: center; font-size: 17px; font-weight: 700; color: #a00000; }
.xd-lg .xd-lg-maxgrid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px 12px; }
/* v1.104.0: cột tiêu đề "Loto" / "Ngày cực đại" nhỏ gọn (chữ nhỏ, xuống dòng); số và ô số to hơn */
.xd-lg .xd-lg-max { table-layout: fixed; }
.xd-lg .xd-lg-max th { width: 46px; padding: 2px 3px; background: #d9edf7; color: #a00000; font-size: 11px; line-height: 1.15; font-weight: 700; text-align: center; border: 1px solid #d5d5d5; white-space: normal; word-break: normal; }
.xd-lg .xd-lg-max td { padding: 8px 1px; text-align: center; font-size: 19px; line-height: 1.2; border: 1px solid #e6e6e6; }
.xd-lg .xd-lg-max tr.xd-lg-r1 td { background: #f4f9fc; font-weight: 700; color: #a00000; }
.xd-lg .xd-lg-max tr:not(.xd-lg-r1) td { font-weight: 700; }
.xd-lg .xd-lg-empty { margin: 0; padding: 18px 12px; text-align: center; color: #666; background: #fafafa; border: 1px solid #e6e6e6; }
.xd-lg .xd-lg-note { margin: 12px 0 0; padding: 8px 12px; font-size: 13px; color: #555; background: #fff8e8; border-left: 4px solid #dc4a05; border-radius: 4px; }
@media (max-width: 600px) {
  .xd-lg { font-size: 15px; }
  .xd-lg .xd-lg-mode { font-size: 16px; }
  .xd-lg p.xd-lg-formtitle { font-size: 16px; }
  .xd-lg .xd-lg-row .xd-lg-field { flex: 1 1 100%; }
  .xd-lg .xd-lg-form { padding: 8px; gap: 8px; }
  .xd-lg .xd-lg-field { flex: 1 1 100%; }
  .xd-lg .xd-lg-submit { flex: 1 1 100%; }
  .xd-lg button.xd-lg-btn { width: 100%; }
  .xd-lg h2.xd-lg-bar { font-size: 17px; }
  .xd-lg .xd-lg-top th { font-size: 15px; padding: 6px 3px; }
  .xd-lg .xd-lg-top td { font-size: 16px; padding: 5px 4px; }
  .xd-lg .xd-lg-top td.xd-lg-num { font-size: 20px; }
  .xd-lg .xd-lg-maxgrid { grid-template-columns: 1fr; }
  .xd-lg .xd-lg-max th { width: 40px; font-size: 10px; padding: 2px; }
  .xd-lg .xd-lg-max td { font-size: 17px; padding: 8px 0; }
}


/* ---- Loto gan: ô "Ngày cực đại" - rê chuột / nhấn vào để xem từ ngày nào đến ngày nào ---- */
.xd-lg .xd-lg-wrap { overflow: visible; }
.xd-lg .xd-lg-maxcell { position: relative; cursor: pointer; }
.xd-lg .xd-lg-maxcell:hover, .xd-lg .xd-lg-maxcell:focus, .xd-lg .xd-lg-maxcell.is-open { background: #fff3c4; outline: none; }
.xd-lg .xd-lg-tip { display: none; position: absolute; bottom: calc(100% + 6px); left: 50%; transform: translateX(-50%); z-index: 30; padding: 6px 10px; font-size: 13px; font-weight: 400; line-height: 1.35; white-space: nowrap; color: #fff; background: #333; border-radius: 6px; box-shadow: 0 2px 8px rgba(0, 0, 0, .3); pointer-events: none; }
.xd-lg .xd-lg-tip::after { content: ""; position: absolute; top: 100%; left: 50%; margin-left: -5px; border: 5px solid transparent; border-top-color: #333; }
.xd-lg .xd-lg-maxcell:hover .xd-lg-tip, .xd-lg .xd-lg-maxcell:focus .xd-lg-tip, .xd-lg .xd-lg-maxcell.is-open .xd-lg-tip { display: block; }
/* ô ở sát mép trái / phải: căn chú thích vào trong để không bị cắt */
.xd-lg .xd-lg-max td.xd-lg-maxcell:nth-child(-n+4) .xd-lg-tip { left: 0; transform: none; }
.xd-lg .xd-lg-max td.xd-lg-maxcell:nth-child(-n+4) .xd-lg-tip::after { left: 16px; margin-left: 0; }
.xd-lg .xd-lg-max td.xd-lg-maxcell:nth-last-child(-n+3) .xd-lg-tip { left: auto; right: 0; transform: none; }
.xd-lg .xd-lg-max td.xd-lg-maxcell:nth-last-child(-n+3) .xd-lg-tip::after { left: auto; right: 16px; margin-left: 0; }
.xd-lg .xd-lg-top td.xd-lg-maxcell:last-child .xd-lg-tip { left: auto; right: 0; transform: none; }
.xd-lg .xd-lg-top td.xd-lg-maxcell:last-child .xd-lg-tip::after { left: auto; right: 16px; margin-left: 0; }


/* ---- Loto gan: tab chuyển giữa 3 miền (liên kết tới trang lô gan của từng miền) ---- */
.xd-lg nav.xd-lg-regions { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; }
.xd-lg nav.xd-lg-regions a.xd-lg-rtab { flex: 1 1 0; min-width: 100px; padding: 10px 12px; text-align: center; font-size: 18px; color: #333; text-decoration: none; background: #fff; border: 1px solid #dcdfe3; border-radius: 6px; transition: color .15s, border-color .15s, background-color .15s; }
.xd-lg nav.xd-lg-regions a.xd-lg-rtab:hover, .xd-lg nav.xd-lg-regions a.xd-lg-rtab:focus { color: #d31f1f; border-color: #d31f1f; }
.xd-lg nav.xd-lg-regions a.xd-lg-rtab.active { color: #fff; background: #d31f1f; border-color: #d31f1f; }
.xd-logan-info a { color: #1a56db; text-decoration: underline; }
.xd-logan-info a:hover { color: #d31f1f; }
@media (max-width: 600px) { .xd-lg nav.xd-lg-regions a.xd-lg-rtab { font-size: 16px; padding: 9px 6px; min-width: 0; } }
/* v1.105.0: trên điện thoại tab viết tắt "Lô gan MB / MN / MT" */
.xd-lg nav.xd-lg-regions .xd-lg-rshort { display: none; }
@media (max-width: 600px) { .xd-lg nav.xd-lg-regions .xd-lg-rfull { display: none; } .xd-lg nav.xd-lg-regions .xd-lg-rshort { display: inline; } }


/* ---- Trang 30/60 ngày: mỗi ngày 1 hàng, kết quả bên trái + khung Loto của ngày đó bên phải.
   Màn hình hẹp (< 900px, gồm điện thoại và máy tính bảng dọc) thì khung Loto xuống dưới kết quả. ---- */
.xd-root .xd-range-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; align-items: start; }
.xd-root .xd-range-main, .xd-root .xd-range-side { min-width: 0; }
.xd-root .xd-range-row .xd-card { margin-bottom: 0; }
.xd-root .xd-side-loto .xd-card-header { padding: 10px 12px; font-size: 16px; }
.xd-root .xd-side-loto .xd-side-title { font-weight: 700; }
.xd-root .xd-side-loto .xd-card-body { padding: 8px; }
.xd-root .xd-side-loto table.xd-table th, .xd-root .xd-side-loto table.xd-table td { padding: 6px 8px; }
.xd-root .xd-side-loto .xd-loto-head { width: 44px; font-size: 20px; }
.xd-root .xd-side-loto .xd-loto-nums .xd-n { font-size: 19px; margin: 2px 9px 2px 0; }
/* v1.140.0: luôn 1 cột - bảng Loto gọn nằm dưới bảng kết quả */

/* ---- Trang Loto 30 ngày ([xoso_loto_xsmb]…): nút "Xem thêm"; bảng Loto miền Nam / Trung chia cột theo đài ---- */
.xd-root .xd-more-wrap { text-align: center; }
.xd-root .xd-more-btn { margin-bottom: 0; min-width: 200px; }
.xd-root table.xd-loto-prov thead th { text-align: center; }
.xd-root table.xd-loto-prov thead th:first-child { text-align: center; width: 64px; }
.xd-root td.xd-loto-pcol { text-align: center; vertical-align: middle; }
.xd-root td.xd-loto-pcol .xd-n { font-size: 21px; margin: 2px 6px; }
@media (max-width: 600px) {
  .xd-root table.xd-loto-prov thead th:first-child { width: 40px; }
  .xd-root td.xd-loto-pcol .xd-n { font-size: 18px; margin: 2px 4px; }
}

/* ---- Trang dò vé [xoso_do_ve] ---- */
.xd-root .xd-dove .xd-dove-row { flex-wrap: wrap; }
.xd-root .xd-dove .xd-field { min-width: 0; flex: 1 1 160px; }
.xd-root .xd-dove .xd-dove-num { flex: 2 1 200px; }
.xd-root .xd-dove .xd-ticket-input { font-size: 22px; letter-spacing: 2px; }
.xd-root .xd-dove-wins { margin: 8px 0 4px; padding-left: 20px; text-align: left; }
.xd-root .xd-dove-wins li { margin: 4px 0; }

/* ---- Trang dò vé: lịch chọn ngày quay (thanh đỏ, chọn Tháng / Năm, CN T2 … T7) ---- */
.xd-root .xd-cal-field { position: relative; }
.xd-root .xd-cal-input { width: 100%; box-sizing: border-box; cursor: pointer; font-size: 18px; padding: 8px 12px; border: 1px solid #cbd5e1; border-radius: 6px; background: #fff; color: #333; }
.xd-root .xd-cal-input:focus { outline: none; border-color: #66afe9; box-shadow: 0 0 0 3px rgba(102, 175, 233, .35); }
.xd-root .xd-cal { position: absolute; z-index: 50; top: 100%; left: 0; margin-top: 4px; width: 340px; max-width: calc(100vw - 24px); box-sizing: border-box;
  background: #fff; border: 1px solid #e2e8f0; border-radius: 6px; box-shadow: 0 8px 24px rgba(0, 0, 0, .15); padding: 6px; }
.xd-root .xd-cal-head { display: flex; align-items: center; gap: 4px; background: #cc0000; border-radius: 6px; padding: 6px; }
.xd-root .xd-cal-nav { flex: 0 0 auto; width: 26px; height: 26px; border-radius: 50%; border: 0; background: #fff; color: #cc0000; font-size: 11px;
  line-height: 26px; padding: 0; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.xd-root .xd-cal-nav:disabled { opacity: .45; cursor: default; }
.xd-root .xd-cal-sel { flex: 1 1 auto; min-width: 0; background: transparent; color: #fff; font-weight: 700; font-size: 17px; border: 1px solid rgba(255, 255, 255, .45);
  padding: 2px 4px; border-radius: 0; cursor: pointer; }
.xd-root .xd-cal-sel option { color: #333; background: #fff; }
.xd-root .xd-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px; margin-top: 6px; }
.xd-root .xd-cal-wd { text-align: center; font-weight: 700; font-size: 15px; color: #333; padding: 10px 0; }
.xd-root .xd-cal-day { text-align: right; font-size: 16px; padding: 10px 6px; border: 1px solid #e2e8f0; background: #f7f7f7; color: #a3b5c7; border-radius: 2px; font-family: inherit; }
.xd-root .xd-cal-day.xd-cal-ok { background: #eee; border-color: #d4d4d4; color: #00366f; font-weight: 700; cursor: pointer; }
.xd-root .xd-cal-day.xd-cal-ok.xd-cal-other { color: #5a7a99; font-weight: 400; }
.xd-root .xd-cal-day.xd-cal-ok:hover, .xd-root .xd-cal-day.xd-cal-ok:focus-visible { background: #fff0f0; border-color: #cc0000; outline: none; }
.xd-root .xd-cal-day.xd-cal-today { background: #fcf8e3; border-color: #f5c26b; color: #333; }
.xd-root .xd-cal-day.xd-cal-sel-day { background: #cc0000; border-color: #cc0000; color: #fff; }
.xd-root .xd-cal-day:disabled { cursor: default; }

/* v1.82.0: lịch chọn ngày bị cắt — thân thẻ dò vé (overflow-x: auto) và khung ngoài (overflow: hidden) cắt mất phần lịch
   trồi ra ngoài. Thẻ dò vé để tràn tự do; khi lịch đang mở thì khung ngoài cũng không cắt. */
.xd-root .xd-dove, .xd-root .xd-dove .xd-card-body { overflow: visible; }
.xd-root:has(.xd-cal) { overflow: visible; }
.xd-root .xd-dove .xd-cal-field { z-index: 5; }
/* Ô số vé chiếm hết cột của nó để nút "Dò vé" đứng ngay cạnh, không bị đẩy sang mép phải */
.xd-root .xd-dove .xd-field input.xd-ticket-input { width: 100%; }
.xd-root .xd-dove .xd-dove-num { flex: 0 1 320px; }
@media (max-width: 600px) {
  .xd-root .xd-dove .xd-dove-num { flex: 1 1 200px; }
}
/* v1.102.0: lịch trên điện thoại — vừa màn hình (vị trí ngang do script.js đặt), ô ngày co lại, Tháng / Năm không bị cắt chữ */
.xd-root .xd-cal-grid { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.xd-root .xd-cal-day { min-width: 0; }
.xd-root .xd-cal-sel.xd-cal-year { flex: 0 1 84px; }
@media (max-width: 600px) {
  .xd-root .xd-cal { max-width: calc(100vw - 16px); }
  .xd-root .xd-cal-grid { gap: 2px; }
  .xd-root .xd-cal-wd { font-size: 13px; padding: 6px 0; }
  .xd-root .xd-cal-day { text-align: center; font-size: 15px; padding: 9px 0; }
  .xd-root .xd-cal-sel { font-size: 15px; padding: 2px; }
}

/* ---- Tường thuật trực tiếp Miền Bắc (v1.83.0) ---- */
.xd-root .xd-live-note { text-align: center; font-weight: 700; color: #b91c1c; margin: 0 0 8px; font-size: 15px; }
.xd-root .xd-live-sub { font-weight: 400; color: #6b7280; font-size: 13px; }
.xd-root .xd-live-dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: #dc2626; margin-right: 6px; vertical-align: middle; animation: xd-live-blink 1s ease-in-out infinite; }
.xd-root .xd-live-wait { display: inline-flex; align-items: center; justify-content: center; min-height: 1.2em; }
.xd-root .xd-live-spin { display: inline-block; width: 22px; height: 22px; border: 3px solid #f5b400; border-bottom-color: transparent; border-radius: 50%; animation: xd-live-rot .9s linear infinite; vertical-align: middle; }
.xd-root .xd-live-new { color: #dc2626; animation: xd-live-blink 1.2s ease-in-out 3; }
@keyframes xd-live-rot { to { transform: rotate(360deg); } }
@keyframes xd-live-blink { 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) {
  .xd-root .xd-live-spin, .xd-root .xd-live-dot, .xd-root .xd-live-new { animation: none; }
}

/* ---- [xoso_demo]: "Giới thiệu trang KQXS 3 miền Ketqua.biz" (v1.85.0) ---- */
.xd-home-info .xd-home-lead { background: #fff7f7; border-left: 4px solid #d31f1f; border-radius: 0 6px 6px 0; padding: 14px 16px; margin: 0 0 18px; }
.xd-home-info .xd-home-lead a { color: #d31f1f; text-decoration: none; }
.xd-home-info .xd-home-lead a:hover { text-decoration: underline; }
.xd-home-info ul.xd-home-features { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 10px; }
.xd-home-info ul.xd-home-features li { position: relative; margin: 0; padding: 12px 14px 12px 44px; background: #fff; border: 1px solid #e3e5e8; border-radius: 8px; }
.xd-home-info ul.xd-home-features li::before { content: "✓"; position: absolute; left: 12px; top: 11px; width: 22px; height: 22px; border-radius: 50%;
  background: #d31f1f; color: #fff; font-size: 14px; font-weight: 700; line-height: 22px; text-align: center; }

/* v1.86.0: Loto Miền Nam / Trung tách riêng từng đài cả trong khung Loto hẹp bên phải trang 30/60 ngày */
.xd-root .xd-side-loto table.xd-loto-prov th, .xd-root .xd-side-loto table.xd-loto-prov td { padding: 5px 3px; }
.xd-root .xd-side-loto table.xd-loto-prov thead th { font-size: 12px; line-height: 1.2; }
.xd-root .xd-side-loto td.xd-loto-pcol .xd-n { font-size: 15px; margin: 1px 2px; display: inline-block; }

/* ---- Trang quay thử [xoso_quay_thu] (v1.88.0) ---- */
.xd-root .xd-qt-tabs { display: flex; background: #fff; border-bottom: 4px solid #d31f1f; margin: -16px -16px 16px; }
.xd-root .xd-qt-tabs .xd-tab { flex: 1 1 0; text-align: center; padding: 13px 8px; font: inherit; font-size: 17px; font-weight: 700; color: #444; background: #fff;
  border: 0; border-right: 1px solid #eee; text-decoration: none; cursor: pointer; }
.xd-root .xd-qt-tabs .xd-tab:last-child { border-right: 0; }
.xd-root .xd-qt-tabs .xd-tab.active { background: #d31f1f; color: #fff; }
.xd-root .xd-qt .xd-field { flex: 1 1 180px; }
.xd-root .xd-qt-station { border: 1px solid #c9cdd2; border-radius: 6px; padding: 10px 12px; font-size: 18px; background: #f7f7f7; }
.xd-root .xd-btn-ghost { background: #fff; color: #d31f1f; border: 2px solid #d31f1f; }
.xd-root .xd-qt-quick { margin: 0 0 10px; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-weight: 700; color: #555; }
.xd-root .xd-chip { font: inherit; font-size: 15px; font-weight: 700; padding: 6px 12px; border-radius: 999px; border: 1px solid #d31f1f; color: #d31f1f; background: #fff; cursor: pointer; }
.xd-root .xd-chip:hover, .xd-root .xd-chip:focus-visible { background: #d31f1f; color: #fff; outline: none; }
.xd-root .xd-qt-note { font-size: 14px; }
.xd-root .xd-qt-table thead th { text-align: center; }
.xd-root .xd-qt-loto { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; }
@media (max-width: 600px) { .xd-root .xd-qt-tabs { margin: -8px -4px 12px; } .xd-root .xd-qt-tabs .xd-tab { font-size: 15px; padding: 11px 4px; } }

/* ---- Quay thử v1.89.0: số chạy 2 giây, bóng Vietlott, bảng Loto đầu / đuôi ---- */
.xd-root .xd-qt-tabs { flex-wrap: wrap; }
.xd-root .xd-qt-tabs .xd-tab { min-width: 120px; }
.xd-root .xd-qt .xd-card-body { padding-bottom: 4px; }
.xd-root .xd-qt-roll { color: #9ca3af; }
.xd-root .xd-qt-balls { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px; padding: 14px 0; }
.xd-root .xd-qt-ball { width: 64px; height: 64px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  background: radial-gradient(circle at 30% 30%, #ff6b6b, #c40000 70%); box-shadow: 0 3px 8px rgba(0, 0, 0, .25); }
.xd-root .xd-qt-ball .xd-n { color: #fff; font-size: 26px; font-weight: 800; margin: 0; }
.xd-root .xd-qt-ball .xd-qt-roll { color: #ffd6d6; }
.xd-root .xd-qt-ball .xd-live-spin { border-color: #fff; border-bottom-color: transparent; }
.xd-root .xd-qt-ball.xd-qt-bonus { background: radial-gradient(circle at 30% 30%, #ffe680, #e0a800 70%); }
.xd-root .xd-qt-ball.xd-qt-bonus .xd-n { color: #5b3a00; }
.xd-root .xd-qt-plus { font-size: 28px; color: #9ca3af; }
@media (max-width: 600px) { .xd-root .xd-qt-ball { width: 50px; height: 50px; } .xd-root .xd-qt-ball .xd-n { font-size: 21px; } }

.xd-root .xd-qt-loto { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; }
.xd-root .xd-qt-lwrap { overflow-x: auto; }
.xd-root table.xd-qt-ltable { width: 100%; border-collapse: collapse; table-layout: fixed; border: 1px solid #e3e5e8; }
.xd-root table.xd-qt-ltable caption { caption-side: top; text-align: left; font-weight: 700; color: #555; padding: 0 0 6px; }
.xd-root table.xd-qt-ltable thead th { background: #d31f1f; color: #fff; font-weight: 700; padding: 8px 6px; text-align: center; font-size: 15px; }
.xd-root table.xd-qt-ltable th.xd-qt-key { width: 64px; }
.xd-root table.xd-qt-ltable tbody th.xd-qt-key { background: #fff5f5; color: #d31f1f; font-size: 22px; font-weight: 800; text-align: center; border-right: 1px solid #f0d0d0; }
.xd-root table.xd-qt-ltable tbody tr:nth-child(even) td { background: #fafafa; }
.xd-root table.xd-qt-ltable td.xd-qt-lc { padding: 7px 10px; border-top: 1px solid #eee; text-align: left; vertical-align: middle; min-height: 30px; }
.xd-root table.xd-qt-ltable tbody th.xd-qt-key, .xd-root table.xd-qt-ltable td.xd-qt-lc { border-top: 1px solid #eee; }
.xd-root .xd-qt-d { font-size: 20px; font-weight: 700; color: #1f2328; font-family: "Roboto Mono", ui-monospace, Menlo, Consolas, monospace; }
.xd-root .xd-qt-sep { color: #b0b4ba; }
.xd-root .xd-qt-none { color: #b0b4ba; }
.xd-root .xd-live-spin.xd-qt-mini { width: 14px; height: 14px; border-width: 2px; }

/* ---- Tường thuật Miền Nam / Trung (v1.92.0) ---- */
.xd-root .xd-live-prov thead th { text-align: center; font-size: 16px; }
.xd-root .xd-live-prov .xd-live-kh { font-size: 12px; font-weight: 400; color: #6b7280; }
.xd-root .xd-live-prov td.xd-col { text-align: center; }

/* ---- Cách hiển thị số trong bảng kết quả: Đầy đủ / 2 số / 3 số (v1.93.0) ---- */
.xd-root .xd-dg-2 .xd-c4, .xd-root .xd-dg-2 .xd-c3, .xd-root .xd-dg-3 .xd-c4 { display: none; } /* v1.144.0: lớp gắn vào từng bảng */
/* v1.148.0: thanh Đầy đủ / 2 số / 3 số + 0–9: không viền, không đệm ngoài; ô chế độ có khoảng trống 2 bên chữ.
   Máy tính: 1 hàng liền. Điện thoại: 2 dòng (dòng 1: 3 ô chế độ chia đều; dòng 2: 0–9 chia đều).
   Thuộc tính của nút có !important để theme WordPress không ghi đè kiểu nút. */
.xd-root .xd-digitbar { display: flex; flex-wrap: nowrap; align-items: stretch; gap: 0; margin: 0; padding: 0; border: 0; background: none; }
.xd-root .xd-segbar { display: flex; min-width: 0; margin: 0; padding: 0; border: 1px solid #f0d6a8; overflow: hidden; background: #fff; }
.xd-root .xd-modebar { flex: 0 0 auto; border-right: 0; border-radius: 4px 0 0 4px; }
.xd-root .xd-hlbar { flex: 1 1 auto; border-radius: 0 4px 4px 0; }
.xd-root .xd-digitbar button.xd-segbtn { margin: 0 !important; padding: 6px 0 !important; min-height: 0 !important; height: auto !important; width: auto;
  border: 0 !important; border-left: 1px solid #f0d6a8 !important; border-radius: 0 !important; background: #fff !important; box-shadow: none !important;
  outline: 0; font: inherit; font-size: 15px !important; font-weight: 700 !important; line-height: 1.3 !important; color: #1f2328 !important;
  text-transform: none !important; letter-spacing: normal !important; white-space: nowrap; cursor: pointer; }
.xd-root .xd-digitbar .xd-segbar button.xd-segbtn:first-child { border-left: 0 !important; }
.xd-root .xd-digitbar button.xd-segbtn:hover { background: #fde7cf !important; }
.xd-root .xd-digitbar button.xd-segbtn:focus-visible { outline: 2px solid #e3242b; outline-offset: -2px; }
.xd-root .xd-digitbar button.xd-modebtn { padding-left: 12px !important; padding-right: 12px !important; }
.xd-root .xd-digitbar button.xd-modebtn.active { background: #c00 !important; color: #fff !important; }
.xd-root .xd-digitbar button.xd-hlbtn { flex: 1 1 0; min-width: 0; }
.xd-root .xd-digitbar button.xd-hlbtn.active { background: #f88825 !important; color: #fff !important; }
@media (max-width: 600px) {
  .xd-root .xd-digitbar { flex-wrap: wrap; row-gap: 4px; }
  .xd-root .xd-modebar, .xd-root .xd-hlbar { flex: 1 1 100%; border: 1px solid #f0d6a8; border-radius: 4px; }
  .xd-root .xd-digitbar button.xd-segbtn { padding-top: 9px !important; padding-bottom: 9px !important; font-size: 15px !important; }
  .xd-root .xd-digitbar button.xd-modebtn { flex: 1 1 0; }
}
/* Tô 2 số cuối có chữ số đang chọn */
.xd-root table.xd-prize-table .xd-l2 { border-radius: 4px; }
.xd-root .xd-hl-0 .xd-l2.xd-h0,
.xd-root .xd-hl-1 .xd-l2.xd-h1,
.xd-root .xd-hl-2 .xd-l2.xd-h2,
.xd-root .xd-hl-3 .xd-l2.xd-h3,
.xd-root .xd-hl-4 .xd-l2.xd-h4,
.xd-root .xd-hl-5 .xd-l2.xd-h5,
.xd-root .xd-hl-6 .xd-l2.xd-h6,
.xd-root .xd-hl-7 .xd-l2.xd-h7,
.xd-root .xd-hl-8 .xd-l2.xd-h8,
.xd-root .xd-hl-9 .xd-l2.xd-h9 { background: #f88825; color: #fff; box-shadow: 0 0 0 2px #f88825; }
/* v1.143.0: rê chuột / nhấn vào ô kết quả → nền #fff4c3 */
.xd-root table.xd-prize-table td.xd-col, .xd-root table.xd-prize-table .xd-ngrid .xd-n { transition: background-color .12s; }
.xd-root table.xd-prize-table .xd-ngrid .xd-n { border-radius: 4px; }
@media (hover: hover) {
  .xd-root table.xd-prize-table td.xd-col:hover, .xd-root table.xd-prize-table .xd-ngrid .xd-n:hover { background: #fff4c3; }
}
.xd-root table.xd-prize-table td.xd-col.xd-hov, .xd-root table.xd-prize-table .xd-ngrid .xd-n.xd-hov { background: #fff4c3; }

/* ---- Thanh "Đang tường thuật trực tiếp quay số Miền X" phía trên widget (v1.95.0) ---- */
.xd-livebar { max-width: 960px; margin: 0 auto 8px; box-sizing: border-box; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px 12px;
  padding: 9px 14px; border-radius: 6px; background: #b91c1c; color: #fff; font-family: Arial, Helvetica, sans-serif;
  font-size: 16px; line-height: 1.35; text-align: center; }
.xd-livebar b { color: #fde68a; }
.xd-livebar-dot { width: 10px; height: 10px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 0 rgba(255, 255, 255, .7); animation: xd-livebar-pulse 1.4s ease-out infinite; }
.xd-livebar-go { color: #b91c1c !important; background: #fff; border-radius: 999px; padding: 3px 12px; font-weight: 700; text-decoration: none !important; font-size: 14px; }
.xd-livebar-go:hover, .xd-livebar-go:focus-visible { background: #fde68a; outline: none; }
@keyframes xd-livebar-pulse { 0% { box-shadow: 0 0 0 0 rgba(255, 255, 255, .7); } 70% { box-shadow: 0 0 0 8px rgba(255, 255, 255, 0); } 100% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); } }
@media (prefers-reduced-motion: reduce) { .xd-livebar-dot { animation: none; } }

/* v1.97.0: thanh "Đang quay số miền X" luôn 1 dòng, kể cả trên điện thoại */
.xd-livebar { flex-wrap: nowrap; white-space: nowrap; }
.xd-livebar-dot { flex: 0 0 auto; }
@media (max-width: 480px) { .xd-livebar { font-size: 15px; gap: 8px; padding: 8px 10px; } .xd-livebar-go { font-size: 13px; padding: 2px 10px; } }

/* v1.98.0 / v1.99.0: kiểu cũ của trang sớ đầu đuôi đã bỏ ở v1.200.0 (xem cuối file) */

/* v1.112.0: ô chọn tỉnh lô gan - chữ thường, không in đậm */
.xd-lg select.xd-lg-place, .xd-lg select.xd-lg-place option { font-weight: 400; }

/* v1.118.0: ghi chú trên bảng Loto đang cập nhật trực tiếp */
.xd-root .xd-live-loto-note { margin: 0 0 6px; color: #b91c1c; font-size: 13px; }

/* ===== v1.119.0: Thống kê giải đặc biệt [xoso_giai_db] ===== */
.xd-gdb { margin: 0 0 18px; font-size: 16px; color: #222; }
.xd-gdb nav.xd-gdb-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; }
.xd-gdb a.xd-gdb-tab { flex: 1 1 auto; padding: 9px 12px; text-align: center; font-size: 15px; color: #333; background: #f2f3f5; border: 1px solid #dcdfe3; border-radius: 6px; text-decoration: none; }
.xd-gdb a.xd-gdb-tab:hover { background: #fde8e8; }
.xd-gdb a.xd-gdb-tab.active { color: #fff; background: #ed1c24; border-color: #ed1c24; font-weight: 700; }
.xd-gdb .xd-gdb-form { margin: 0 0 14px; padding: 12px; background: #fff; border: 1px solid #dcdfe3; border-radius: 6px; }
.xd-gdb p.xd-gdb-formtitle { margin: 0 0 10px; padding: 0; font-weight: 700; font-size: 17px; }
.xd-gdb .xd-gdb-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.xd-gdb .xd-gdb-row select, .xd-gdb .xd-gdb-row input { flex: 1 1 140px; height: 42px; padding: 4px 10px; font-size: 16px; border: 1px solid #ccc; border-radius: 6px; background: #fff; color: #333; box-sizing: border-box; }
.xd-gdb button.xd-gdb-btn { height: 42px; padding: 0 28px; font-size: 16px; font-weight: 700; color: #fff; background: #ed1c24; border: 1px solid #b0141a; border-radius: 4px; cursor: pointer; }
.xd-gdb button.xd-gdb-btn:hover { background: #c8161d; }
.xd-gdb .xd-gdb-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.xd-gdb h2.xd-gdb-title { margin: 6px 0 10px; padding: 0; text-align: center; font-size: 18px; font-weight: 700; color: #c00; text-transform: uppercase; }
.xd-gdb h3.xd-gdb-sub { margin: 18px 0 10px; padding: 8px; text-align: center; font-size: 16px; font-weight: 700; color: #1a4c8f; background: #eef4fb; text-transform: uppercase; }
.xd-gdb h3.xd-gdb-sub b, .xd-gdb .xd-gdb-n b { color: #d0021b; }
.xd-gdb .xd-gdb-scroll { overflow-x: auto; }
.xd-gdb table.xd-gdb-table { width: 100%; margin: 0; border-collapse: collapse; table-layout: fixed; }
.xd-gdb table.xd-gdb-table th, .xd-gdb table.xd-gdb-table td { padding: 6px 2px; text-align: center; border: 1px solid #d5d9de; vertical-align: middle; }
.xd-gdb table.xd-gdb-table thead th { background: #d9edf7; color: #333; font-size: 14px; font-weight: 700; }
.xd-gdb table.xd-gdb-table td.xd-gdb-has { background: #fff; }
.xd-gdb table.xd-gdb-table td.xd-gdb-out { background: #f5f5f5; }
.xd-gdb .xd-gdb-n { display: inline-block; font-size: 18px; font-weight: 700; letter-spacing: .5px; white-space: nowrap; }
.xd-gdb .xd-gdb-date { display: block; font-size: 12px; color: #777; }
.xd-gdb .xd-gdb-sum { display: block; font-size: 12px; font-weight: 700; color: #1a4c8f; }
.xd-gdb th.xd-gdb-week { font-size: 12px; font-weight: 400; background: #f7f9fb; }
.xd-gdb table.xd-gdb-list { table-layout: auto; }
.xd-gdb table.xd-gdb-year { min-width: 780px; }
.xd-gdb table.xd-gdb-year .xd-gdb-n { font-size: 14px; }
.xd-gdb table.xd-gdb-year tbody th { width: 40px; background: #f7f9fb; }
.xd-gdb table.xd-gdb-sumtab { table-layout: auto; }
.xd-gdb .xd-gdb-empty, .xd-gdb .xd-gdb-note { text-align: center; color: #666; }
@media (max-width: 600px) {
  .xd-gdb a.xd-gdb-tab { font-size: 13px; padding: 8px 6px; flex: 1 1 45%; }
  .xd-gdb .xd-gdb-row select, .xd-gdb .xd-gdb-row input, .xd-gdb button.xd-gdb-btn { flex: 1 1 100%; }
  .xd-gdb .xd-gdb-n { font-size: 14px; letter-spacing: 0; }
  .xd-gdb table.xd-gdb-table thead th { font-size: 12px; }
  .xd-gdb table.xd-gdb-table th, .xd-gdb table.xd-gdb-table td { padding: 5px 1px; }
}
/* v1.120.0: bảng năm / tuần / so sánh / tổng theo trang mẫu */
.xd-gdb table.xd-gdb-table th.xd-gdb-corner { background: #ed1c24; color: #fff; }
.xd-gdb table.xd-gdb-table tbody th { background: #f7f9fb; font-size: 13px; font-weight: 700; white-space: nowrap; }
.xd-gdb table.xd-gdb-table td.xd-gdb-sun { background: #fff4e5; }
.xd-gdb table.xd-gdb-year { min-width: 900px; }
.xd-gdb table.xd-gdb-year tbody th { width: 64px; }
.xd-gdb table.xd-gdb-year .xd-gdb-n { font-size: 15px; }
.xd-gdb table.xd-gdb-weeks tbody th { width: 70px; }
.xd-gdb table.xd-gdb-mcmp { min-width: 520px; }
.xd-gdb .xd-gdb-n u { text-decoration: underline; text-underline-offset: 2px; }
.xd-gdb .xd-gdb-sums { display: flex; justify-content: space-between; gap: 6px; padding: 0 4px; font-size: 13px; font-weight: 700; }
.xd-gdb .xd-gdb-sums .xd-gdb-sh { color: #1a4c8f; }
.xd-gdb .xd-gdb-sums .xd-gdb-st { color: #d0021b; margin-left: auto; }
.xd-gdb .xd-gdb-mode-head .xd-gdb-sums { justify-content: flex-start; }
.xd-gdb .xd-gdb-years { display: flex; gap: 12px; overflow-x: auto; }
.xd-gdb .xd-gdb-years > .xd-gdb-scroll { flex: 0 0 auto; overflow: visible; }
@media (max-width: 600px) {
  .xd-gdb table.xd-gdb-year .xd-gdb-n { font-size: 14px; }
  .xd-gdb table.xd-gdb-weeks tbody th { width: 52px; font-size: 11px; }
}
.xd-gdb .xd-gdb-years table.xd-gdb-year { width: 900px; min-width: 900px; }

/* ===== v1.121.0: Loto kép [xoso_lo_kep] ===== */
.xd-lk { margin: 0 0 18px; font-size: 16px; color: #222; }
.xd-lk .xd-lk-form { margin: 0 0 14px; padding: 12px; background: #fff; border: 1px solid #dcdfe3; border-radius: 6px; }
.xd-lk p.xd-lk-formtitle { margin: 0 0 10px; padding: 0; font-weight: 700; font-size: 17px; }
.xd-lk .xd-lk-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.xd-lk .xd-lk-row select { flex: 1 1 120px; height: 42px; padding: 4px 10px; font-size: 16px; border: 1px solid #ccc; border-radius: 6px; background: #fff; color: #333; }
.xd-lk button.xd-lk-btn { height: 42px; padding: 0 28px; font-size: 16px; font-weight: 700; color: #fff; background: #ed1c24; border: 1px solid #b0141a; border-radius: 4px; cursor: pointer; }
.xd-lk button.xd-lk-btn:hover { background: #c8161d; }
.xd-lk .xd-lk-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.xd-lk h2.xd-lk-title { margin: 6px 0 4px; padding: 8px; text-align: center; font-size: 18px; font-weight: 700; color: #fff; background: #ed1c24; border-radius: 4px 4px 0 0; }
.xd-lk .xd-lk-note, .xd-lk .xd-lk-empty { margin: 6px 0 10px; text-align: center; font-size: 14px; color: #666; }
.xd-lk .xd-lk-scroll { overflow-x: auto; }
.xd-lk table.xd-lk-table { width: 100%; margin: 0; border-collapse: collapse; }
.xd-lk table.xd-lk-table th, .xd-lk table.xd-lk-table td { padding: 8px 6px; border: 1px solid #d5d9de; vertical-align: middle; }
.xd-lk table.xd-lk-table thead th { background: #d9edf7; text-align: center; font-size: 15px; }
.xd-lk td.xd-lk-pair { width: 18%; text-align: center; font-weight: 700; font-size: 17px; white-space: nowrap; }
.xd-lk td.xd-lk-count { width: 16%; text-align: center; white-space: nowrap; }
.xd-lk td.xd-lk-count b { color: #d0021b; }
.xd-lk td.xd-lk-dates { font-size: 14px; line-height: 1.6; }
.xd-lk td.xd-lk-dates a { color: #1a4c8f; text-decoration: none; }
.xd-lk td.xd-lk-dates a:hover { text-decoration: underline; }
/* v1.122.0: "Xem thống kê: Loto gan …" là dòng highlight, không phải nút */
.xd-lk p.xd-lk-more { margin: 12px 0 0; padding: 9px 12px; font-size: 15px; color: #333; background: #fff8d6; border-left: 4px solid #f0b400; border-radius: 3px; }
.xd-lk p.xd-lk-more a { color: #c00; font-weight: 700; text-decoration: none; }
.xd-lk p.xd-lk-more a:hover { text-decoration: underline; }
@media (max-width: 600px) {
  .xd-lk .xd-lk-row select, .xd-lk button.xd-lk-btn { flex: 1 1 100%; }
  .xd-lk td.xd-lk-pair { font-size: 15px; }
  .xd-lk td.xd-lk-dates { font-size: 13px; }
}

/* v1.124.0: trang riêng Mega 6/45 / Power 6/55 */
.xd-root h2.xd-vl-more-title { margin: 18px 0 10px; padding: 8px; text-align: center; font-size: 17px; font-weight: 700; color: #1a4c8f; background: #eef4fb; border-radius: 4px; }
.xd-root .xd-vl-draw { margin-bottom: 12px; }
.xd-root .xd-vl-draw h3.xd-card-title { margin: 0; font-size: 16px; }

/* ===== v1.125.0: bảng trong bài "Thống kê xổ số" tự đăng ===== */
.xd-stat-figure { margin: 10px 0 18px; overflow-x: auto; }
table.xd-stat-table { width: 100%; margin: 0; border-collapse: collapse; font-size: 15px; }
table.xd-stat-table th, table.xd-stat-table td { padding: 7px 6px; border: 1px solid #d5d9de; text-align: center; vertical-align: middle; }
table.xd-stat-table thead th { background: #d9edf7; color: #222; font-weight: 700; }
table.xd-stat-table tbody tr:nth-child(even) td { background: #f8fafc; }
table.xd-stat-table td:first-child { white-space: nowrap; }
table.xd-stat-table td strong { color: #c00; }
table.xd-stat-table.xd-stat-db td { font-size: 16px; font-weight: 700; color: #222; white-space: nowrap; }
table.xd-stat-table .xd-stat-red { color: #d0021b; }
table.xd-stat-table.xd-stat-dates td:last-child { font-size: 14px; }
.xd-stat-note { padding: 8px 12px; background: #fff8d6; border-left: 4px solid #f0b400; }
@media (max-width: 600px) { table.xd-stat-table { font-size: 13px; } table.xd-stat-table.xd-stat-db td { font-size: 13px; } }

/* v1.130.0: số trong bảng của bài thống kê to hơn */
table.xd-stat-table { font-size: 16px; }
table.xd-stat-table td strong { font-size: 20px; letter-spacing: .5px; }
table.xd-stat-table.xd-stat-db td { font-size: 20px; letter-spacing: .5px; }
table.xd-stat-table.xd-stat-db td .xd-stat-red { font-size: 20px; }
table.xd-stat-table.xd-stat-dates td:last-child { font-size: 15px; }
@media (max-width: 600px) {
  table.xd-stat-table { font-size: 14px; }
  table.xd-stat-table td strong { font-size: 17px; letter-spacing: 0; }
  table.xd-stat-table.xd-stat-db td, table.xd-stat-table.xd-stat-db td .xd-stat-red { font-size: 15px; letter-spacing: 0; }
  table.xd-stat-table.xd-stat-dates td:last-child { font-size: 13px; }
}

/* v1.134.0: bài thống kê tự đăng - chỉ thu gọn khoảng trắng PHÍA TRÊN khối tiêu đề (Neve mặc định 60px); các khoảng khác giữ nguyên */
body.xd-stat-post .nv-single-post-wrap > div:first-child { margin-top: 20px; }
@media (max-width: 600px) { body.xd-stat-post .nv-single-post-wrap > div:first-child { margin-top: 12px; } }

/* ===== v1.135.0: trang kết quả - dòng điều hướng, bảng tỉnh 1 cột, các kỳ trước, bảng Loto gọn ===== */
.xd-root .xd-crumb { margin: 0 0 8px; padding: 6px 2px; font-size: 16px; font-weight: 700; }
.xd-root .xd-crumb a { color: #a50000; text-decoration: underline; }
.xd-root table.xd-prov-table th a, .xd-root th.xd-one-head a { color: #1a0dab; text-decoration: underline; }
.xd-root th.xd-one-head { font-weight: 400; text-align: center; }
.xd-root table.xd-one-prov td.xd-prize-nums, .xd-root table.xd-one-prov td.xd-red-bold { text-align: center; }
.xd-root table.xd-one-prov .xd-ngrid { justify-content: center; }
.xd-root table.xd-one-prov td.xd-red-bold:not(.xd-special) .xd-n { color: #e8101e; }
.xd-root h2.xd-prev-title { margin: 22px 0 10px; padding: 8px; text-align: center; font-size: 18px; font-weight: 700; color: #fff; background: #c00; border-radius: 4px; }
.xd-root .xd-prev-draw { margin: 0 0 16px; padding: 10px; background: #fff; border: 1px solid #ddd; border-radius: 6px; }
.xd-root .xd-lm-links { margin: 10px 0 6px; padding: 8px; background: #ececec; font-weight: 700; font-size: 15px; }
.xd-root .xd-lm-links a { color: #1a0dab; }
.xd-root .xd-lm-wrap { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px 12px; }
.xd-root .xd-loto-mini { min-width: 0; }
.xd-root .xd-lm-title { padding: 6px 4px; font-size: 14px; color: #333; }
.xd-root table.xd-lm-table { width: 100%; border-collapse: collapse; font-size: 15px; }
.xd-root table.xd-lm-table th { padding: 4px 6px; background: #ececec; color: #a50000; font-weight: 700; text-align: center; border: 1px solid #ddd; }
.xd-root table.xd-lm-table td { padding: 3px 8px; border: 1px solid #ddd; }
.xd-root table.xd-lm-table td.xd-lm-head { width: 44px; text-align: center; font-weight: 700; }
.xd-root table.xd-lm-table td.xd-lm-nums { letter-spacing: .3px; }
/* bảng Loto chính trên trang kết quả cũng gọn hơn */
.xd-root table.xd-table td.xd-loto-head, .xd-root table.xd-table td.xd-loto-nums { padding-top: 4px; padding-bottom: 4px; }
.xd-root table.xd-table td.xd-loto-nums .xd-n { font-size: 15px; }
@media (max-width: 600px) {
  .xd-root .xd-crumb { font-size: 14px; }
  .xd-root .xd-lm-wrap { grid-template-columns: 1fr; }
  .xd-root table.xd-lm-table { font-size: 14px; }
}

/* v1.136.0: số trong bảng Loto gọn to hơn */
.xd-root table.xd-lm-table { font-size: 17px; }
.xd-root table.xd-lm-table td.xd-lm-nums { font-size: 19px; font-weight: 700; letter-spacing: .5px; padding: 5px 10px; }
.xd-root table.xd-lm-table td.xd-lm-head { font-size: 18px; color: #a50000; }
@media (max-width: 600px) { .xd-root table.xd-lm-table td.xd-lm-nums { font-size: 18px; } }

/* v1.137.0: <h1> tiêu đề trang trong thẻ đầu tiên (cùng cỡ với <h2> cũ); dòng điều hướng là <h2> to hơn một chút; nút "Xem thêm" mảnh */
.xd-root h1.xd-card-title { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; color: inherit !important; font: inherit !important; text-transform: none !important; letter-spacing: inherit !important; line-height: inherit !important; }
.xd-root h2.xd-crumb { margin: 0 0 8px !important; padding: 6px 2px !important; border: 0 !important; background: none !important; font-size: 18px !important; font-weight: 700 !important; line-height: 1.4 !important; color: inherit; text-transform: none; letter-spacing: normal; }
.xd-root h2.xd-crumb a { color: #a50000; text-decoration: underline; }
.xd-root .xd-loto-top .xd-lm-links { margin-top: 0; }
.xd-root .xd-more-wrap .xd-more-btn[data-action="prev-more"], .xd-root .xd-more-wrap .xd-more-btn[data-action="loto-more"] { min-width: 160px; padding: 6px 22px; font-size: 15px; font-weight: 600; line-height: 1.3; color: #c00; background: #fff; border: 1px solid #c00; border-radius: 18px; box-shadow: none; }
.xd-root .xd-more-wrap .xd-more-btn[data-action="prev-more"]:hover, .xd-root .xd-more-wrap .xd-more-btn[data-action="loto-more"]:hover { background: #fdecec; }
@media (max-width: 600px) { .xd-root h2.xd-crumb { font-size: 16px !important; } }

/* v1.146.0: điện thoại - tràn sát 2 mép, không khung, không viền, không khoảng trống 2 bên */
@media (max-width: 600px) {
  .xd-root { border: 0; border-radius: 0; max-width: none; }
  .xd-root .xd-main { padding-left: 0; padding-right: 0; }
  .xd-root .xd-card { border-left: 0; border-right: 0; border-radius: 0; }
  .xd-root .xd-card-body { padding-left: 0; padding-right: 0; }
  .xd-root table.xd-table, .xd-root table.xd-lm-table { border-left: 0; border-right: 0; }
  .xd-root table.xd-table tr > :first-child, .xd-root table.xd-lm-table tr > :first-child { border-left: 0; }
  .xd-root table.xd-table tr > :last-child, .xd-root table.xd-lm-table tr > :last-child { border-right: 0; }
  .xd-root .xd-modebar, .xd-root .xd-hlbar { border-left: 0; border-right: 0; border-radius: 0; } /* sát 2 mép màn hình */
  .xd-root .xd-lm-wrap { gap: 8px 0; }
}
/* tràn qua khoảng đệm của theme WordPress: rộng bằng màn hình */
@media (max-width: 600px) {
  .xd-root { width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); box-sizing: border-box; }
}
@media (max-width: 600px) {
  .xd-root .xd-crumb, .xd-root .xd-lm-title, .xd-root .xd-lm-links, .xd-root .xd-hint { padding-left: 8px; padding-right: 8px; }
}
@media (max-width: 600px) { .xd-root h2.xd-crumb { padding-left: 8px !important; padding-right: 8px !important; } }

/* v1.147.0: điện thoại - số trong bảng kết quả nhỏ lại (~15%) cho dễ nhìn */
@media (max-width: 600px) {
  .xd-root table.xd-prize-table:not(.xd-prov-table) .xd-ngrid .xd-n { font-size: min(26px, 6.8vw); }
  .xd-root table.xd-prize-table:not(.xd-prov-table) .xd-special .xd-n { font-size: min(40px, 10.5vw); }
  .xd-root table.xd-prov-table.xd-pc-4 td.xd-col .xd-n { font-size: min(19px, 5vw); }
  .xd-root table.xd-prov-table.xd-pc-4 td.xd-col.xd-special .xd-n { font-size: min(18px, 4.7vw); }
  .xd-root table.xd-prov-table.xd-pc-3 td.xd-col .xd-n { font-size: min(23px, 6vw); }
  .xd-root table.xd-prov-table.xd-pc-3 td.xd-col.xd-special .xd-n { font-size: min(22px, 5.7vw); }
  .xd-root table.xd-prov-table.xd-pc-2 td.xd-col .xd-n { font-size: min(27px, 7vw); }
  .xd-root table.xd-prov-table.xd-pc-2 td.xd-col.xd-special .xd-n { font-size: min(29px, 7.4vw); }
  .xd-root table.xd-prov-table.xd-pc-1 td.xd-col .xd-n { font-size: min(27px, 7vw); }
  .xd-root table.xd-prov-table.xd-pc-1 td.xd-col.xd-special .xd-n { font-size: min(36px, 9.2vw); }
}

/* v1.149.0: máy tính - số trong bảng kết quả nhỏ lại ~10% (v1.150.0) (Miền Bắc / trang tỉnh: lưới số; Miền Nam / Trung: bảng nhiều đài) */
@media (min-width: 601px) {
  .xd-root table.xd-prize-table:not(.xd-prov-table) .xd-ngrid .xd-n { font-size: 31px; }
  .xd-root table.xd-prize-table:not(.xd-prov-table) .xd-special .xd-n { font-size: 50px; }
  .xd-root table.xd-prov-table td.xd-col .xd-n { font-size: 23px; }
  .xd-root table.xd-prov-table td.xd-col.xd-special .xd-n { font-size: 31px; }
}

/* v1.151.0: đầu bảng kết quả - khối vàng: tiêu đề căn giữa + dòng điều hướng <p> (liên kết đỏ gạch chân) */
.xd-root .xd-res-head, .xd-root p.xd-crumb { background: #ffe699; text-align: center; }
.xd-root .xd-res-head { padding: 12px 10px 10px; margin: 0; }
.xd-root .xd-res-head .xd-card-title { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; display: block;
  font-size: 22px !important; font-weight: 400 !important; line-height: 1.35 !important; color: #222 !important; text-transform: none !important; letter-spacing: normal !important; }
.xd-root p.xd-crumb { margin: 0 !important; padding: 8px 10px !important; font-size: 17px !important; font-weight: 400 !important; line-height: 1.5 !important; color: #555; }
.xd-root .xd-res-head p.xd-crumb { padding: 6px 0 0 !important; background: none; }
.xd-root p.xd-crumb a { color: #c00 !important; text-decoration: underline !important; text-underline-offset: 5px; text-decoration-thickness: 1px; }
.xd-root p.xd-crumb .xd-sep { display: inline-block; margin: 0 12px; color: #666; font-size: .8em; }
.xd-root .xd-res-card .xd-card-body > .xd-res-head + * { margin-top: 0; }
@media (max-width: 600px) {
  .xd-root .xd-res-head { padding: 10px 6px 8px; }
  .xd-root .xd-res-head .xd-card-title { font-size: 19px !important; }
  .xd-root p.xd-crumb { font-size: 15px !important; padding-left: 6px !important; padding-right: 6px !important; }
  .xd-root p.xd-crumb .xd-sep { margin: 0 8px; }
}
.xd-root .xd-res-card > .xd-card-body { padding-top: 0; }
.xd-root .xd-res-card > .xd-card-body { padding-top: 12px; }
@media (max-width: 600px) { .xd-root .xd-res-card > .xd-card-body { padding-top: 0; } }

/* v1.155.0: Thống kê Loto từ 00 - 99 [xoso_loto_00_99] (dùng chung khung .xd-lk của trang loto kép) */
.xd-l99 h2.xd-lk-title { margin: 0 0 10px; border-radius: 4px; background: #fff0bd; color: #222; } /* v1.156.0: nền vàng */
.xd-l99 label.xd-l99-lab { flex: 1 1 160px; display: flex; flex-direction: column; gap: 4px; font-size: 14px; font-weight: 700; color: #444; }
.xd-l99 label.xd-l99-lab select { flex: none; width: 100%; height: 42px; padding: 4px 10px; font-size: 16px; font-weight: 400; border: 1px solid #ccc; border-radius: 6px; background: #fff; color: #333; }
.xd-l99 .xd-lk-row { align-items: flex-end; }
.xd-l99 p.xd-l99-note { margin: 4px 0 10px; font-size: 15px; color: #333; }
.xd-l99 p.xd-l99-note a { color: #c00; text-decoration: none; }
/* v1.158.0: bảng 4 cột Loto | thanh đỏ | % | lượt, chữ đậm, hàng xen kẽ (như trang mẫu) */
.xd-l99 table.xd-l99-table { table-layout: fixed; border: 1px solid #ddd; }
.xd-l99 table.xd-l99-table th, .xd-l99 table.xd-l99-table td { padding: 8px; border: 0; border-top: 1px solid #ddd; font-weight: 700; color: #111; background: #fff; vertical-align: middle; white-space: nowrap; }
.xd-l99 table.xd-l99-table thead th { background: #f5f5f5; text-align: center; font-size: 16px; }
.xd-l99 col.xd-l99-c1 { width: 9%; } .xd-l99 col.xd-l99-c2 { width: 56%; } .xd-l99 col.xd-l99-c3 { width: 16%; } .xd-l99 col.xd-l99-c4 { width: 19%; }
.xd-l99 table.xd-l99-table tbody th { text-align: center; font-size: 18px; }
.xd-l99 table.xd-l99-table td.xd-l99-barcell { padding-left: 4px; }
.xd-l99 table.xd-l99-table td.xd-l99-pct, .xd-l99 table.xd-l99-table td.xd-l99-cnt { font-size: 18px; }
.xd-l99 tbody tr:nth-child(odd) th, .xd-l99 tbody tr:nth-child(odd) td { background: #f9f9f9; }
.xd-l99 .xd-l99-track { height: 40px; background: #f5f5f5; border-radius: 4px; box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); overflow: hidden; }
.xd-l99 .xd-l99-bar { height: 100%; min-width: 2px; background: #cc0000; border-radius: 4px 0 0 4px; }
.xd-l99 tr.xd-l99-top th, .xd-l99 tr.xd-l99-top td.xd-l99-pct, .xd-l99 tr.xd-l99-top td.xd-l99-cnt { color: #c00; }
@media (max-width: 600px) {
  .xd-l99 table.xd-l99-table th, .xd-l99 table.xd-l99-table td { padding: 6px 4px; }
  .xd-l99 col.xd-l99-c1 { width: 13%; } .xd-l99 col.xd-l99-c2 { width: 42%; } .xd-l99 col.xd-l99-c3 { width: 21%; } .xd-l99 col.xd-l99-c4 { width: 24%; }
  .xd-l99 table.xd-l99-table tbody th { font-size: 16px; }
  .xd-l99 table.xd-l99-table td.xd-l99-pct, .xd-l99 table.xd-l99-table td.xd-l99-cnt { font-size: 15px; }
  .xd-l99 .xd-l99-track { height: 28px; }
}

/* v1.159.0: Thống kê Loto 00 - 99 - dòng thấp hơn */
.xd-l99 table.xd-l99-table th, .xd-l99 table.xd-l99-table td { padding-top: 4px; padding-bottom: 4px; }
.xd-l99 table.xd-l99-table tbody th, .xd-l99 table.xd-l99-table td.xd-l99-pct, .xd-l99 table.xd-l99-table td.xd-l99-cnt { font-size: 16px; line-height: 1.3; }
.xd-l99 .xd-l99-track { height: 22px; }
@media (max-width: 600px) {
  .xd-l99 table.xd-l99-table th, .xd-l99 table.xd-l99-table td { padding-top: 3px; padding-bottom: 3px; }
  .xd-l99 table.xd-l99-table tbody th, .xd-l99 table.xd-l99-table td.xd-l99-pct, .xd-l99 table.xd-l99-table td.xd-l99-cnt { font-size: 14px; }
  .xd-l99 .xd-l99-track { height: 18px; }
}

/* v1.160.0: tiêu đề trong khối vàng đầu bảng đậm hơn một chút */
.xd-root .xd-res-head .xd-card-title { font-weight: 600 !important; }

/* v1.161.0: Cặp loto cùng về [xoso_cap_loto] (dùng chung khung .xd-l99) */
.xd-cl .xd-cl-sub { margin: 16px 0 4px; padding: 8px 10px; background: #fff0bd; border-radius: 4px; font-size: 18px; font-weight: 700; color: #222; text-align: center; }
.xd-cl table.xd-cl-table { border: 1px solid #ddd; }
.xd-cl table.xd-cl-table th, .xd-cl table.xd-cl-table td { padding: 6px 8px; border: 0; border-top: 1px solid #ddd; vertical-align: middle; }
.xd-cl table.xd-cl-table thead th { background: #f5f5f5; font-size: 15px; text-align: center; }
.xd-cl table.xd-cl-table tbody th { font-size: 18px; font-weight: 700; color: #c00; text-align: center; white-space: nowrap; }
.xd-cl table.xd-cl-table td.xd-cl-cnt { font-weight: 700; text-align: center; white-space: nowrap; }
.xd-cl table.xd-cl-table td.xd-cl-dates { font-size: 14px; color: #333; }
.xd-cl tbody tr:nth-child(odd) th, .xd-cl tbody tr:nth-child(odd) td { background: #f9f9f9; }
@media (max-width: 600px) {
  .xd-cl table.xd-cl-table th, .xd-cl table.xd-cl-table td { padding: 5px 4px; }
  .xd-cl table.xd-cl-table tbody th { font-size: 16px; }
  .xd-cl table.xd-cl-table td.xd-cl-dates { font-size: 13px; }
}

/* v1.163.0: trang Miền Nam / Miền Trung - mỗi đài một phần riêng */
.xd-cl h3.xd-cl-prov { margin: 24px 0 6px; padding: 8px 10px; border-left: 4px solid #c00; background: #f7f7f7; font-size: 20px; font-weight: 700; color: #c00; }
.xd-cl h3.xd-cl-prov a { color: #c00; text-decoration: none; }
.xd-cl h4.xd-cl-sub { font-size: 16px; }

/* ===== v1.170.0: Lô gan (.xd-lg2) kiểu minhchinh.com - tab đỏ #ed1c24, khung vàng #ffe08a, số đỏ, ngày xanh ===== */
.xd-lg2 { max-width: 960px; margin: 0 auto; font-size: 16px; line-height: 1.4; color: #222; }
.xd-lg2 .xd-lg2-tabs { display: flex; margin: 0 0 12px; border-radius: 6px; overflow: hidden; box-shadow: 0 1px 3px rgba(0,0,0,.15); }
.xd-lg2 a.xd-lg2-tab { flex: 1 1 0; padding: 10px 4px; text-align: center; font-size: 17px; color: #222; text-decoration: none; background: #f1f1f1; border-left: 1px solid #ddd; }
.xd-lg2 a.xd-lg2-tab:first-child { border-left: 0; }
.xd-lg2 a.xd-lg2-tab.active { background: #ed1c24; color: #fff; font-weight: 700; }
.xd-lg2 .xd-lg2-box { margin: 0 0 16px; border: 6px solid #ffe08a; border-top: 0; border-radius: 8px; background: #fff; overflow: hidden; }
.xd-lg2 .xd-lg2-box.xd-lg2-plain { border: 0; }
.xd-lg2 h2.xd-lg2-title { margin: 0 -6px !important; padding: 12px 16px !important; background: #ffe08a !important; color: #ed1c24 !important; font-size: 20px !important; font-weight: 700 !important; line-height: 1.35 !important; text-align: left; border: 0 !important; }
.xd-lg2 .xd-lg2-row { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 14px; padding: 14px 10px 12px; border-bottom: 1px solid #e5e5e5; }
.xd-lg2 label.xd-lg2-field { flex: 1 1 150px; display: flex; flex-direction: column; gap: 6px; font-weight: 700; font-size: 16px; color: #333; }
.xd-lg2 label.xd-lg2-field select { height: 44px; padding: 4px 10px; font-size: 17px; font-weight: 400; border: 1px solid #ccc; border-radius: 8px; background: #fff; color: #0b62c4; }
.xd-lg2 button.xd-lg2-btn { flex: 0 0 auto; min-width: 130px; height: 44px; padding: 0 24px; border: 0; border-radius: 8px; background: #ed1c24; color: #fff; font-size: 17px; font-weight: 700; cursor: pointer; }
.xd-lg2 button.xd-lg2-btn:hover { background: #c8101a; }
.xd-lg2 p.xd-lg2-pills { margin: 0; padding: 8px 10px 12px; text-align: center; line-height: 2.4; }
.xd-lg2 p.xd-lg2-pills span { color: #ed1c24; margin-right: 4px; font-weight: 700; }
.xd-lg2 a.xd-lg2-pill { display: inline-block; padding: 2px 12px; margin: 0 2px; background: #ffe08a; border-radius: 16px; color: #222; text-decoration: none; line-height: 1.8; }
.xd-lg2 a.xd-lg2-pill:hover { background: #ffd24d; }
.xd-lg2 p.xd-lg2-lead, .xd-lg2 h3.xd-lg2-sub { margin: 0; padding: 12px 10px 8px; font-size: 18px; font-weight: 700; color: #333; text-align: left; background: none; border: 0; }
.xd-lg2 p.xd-lg2-lead a, .xd-lg2 h3.xd-lg2-sub a { color: #0b62c4; text-decoration: none; }
.xd-lg2 .xd-lg2-ctrl { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; padding: 4px 10px 10px; }
.xd-lg2 .xd-lg2-par { display: flex; gap: 8px; flex-wrap: wrap; }
.xd-lg2 button.xd-lg2-pbtn { min-width: 70px; padding: 6px 14px; border: 1px solid #ddd; border-radius: 8px; background: #f1f1f1; color: #333; font-size: 16px; cursor: pointer; }
.xd-lg2 button.xd-lg2-pbtn.active { background: #ed1c24; border-color: #ed1c24; color: #fff; font-weight: 700; }
.xd-lg2 label.xd-lg2-toggle { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; cursor: pointer; user-select: none; }
.xd-lg2 .xd-lg2-toggle input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.xd-lg2 .xd-lg2-sw { position: relative; width: 52px; height: 28px; border-radius: 14px; background: #8a8a8a; transition: background .15s; flex: 0 0 auto; }
.xd-lg2 .xd-lg2-sw::after { content: ""; position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 50%; background: #fff; transition: left .15s; }
.xd-lg2 .xd-lg2-toggle input:checked + .xd-lg2-sw { background: #ed1c24; }
.xd-lg2 .xd-lg2-toggle input:checked + .xd-lg2-sw::after { left: 27px; }
.xd-lg2 .xd-lg2-toggle input:focus-visible + .xd-lg2-sw { outline: 2px solid #ed1c24; outline-offset: 2px; }
.xd-lg2 .xd-lg2-scroll { overflow-x: auto; padding: 0 10px 12px; }
.xd-lg2 .xd-lg2-plain .xd-lg2-scroll { padding: 0; }
.xd-lg2 table.xd-lg2-table { width: 100%; margin: 0; border-collapse: collapse; table-layout: fixed; border: 1px solid #aaa; }
.xd-lg2 table.xd-lg2-table th, .xd-lg2 table.xd-lg2-table td { padding: 9px 6px; border: 1px solid #c9c9c9; text-align: center; vertical-align: middle; font-size: 18px; background: #fff; }
.xd-lg2 table.xd-lg2-table thead th { background: #eee; font-weight: 700; color: #333; }
.xd-lg2 table.xd-lg2-table thead th.xd-lg2-cap { padding: 12px 8px; }
.xd-lg2 table.xd-lg2-table tbody th { font-weight: 700; color: #333; }
.xd-lg2 table.xd-lg2-table td b { color: #ed1c24; font-weight: 700; }
.xd-lg2 table.xd-lg2-table td.xd-lg2-date, .xd-lg2 table.xd-lg2-table td.xd-lg2-date a { color: #0b62c4; text-decoration: none; }
.xd-lg2 table.xd-lg2-table tbody tr:hover th, .xd-lg2 table.xd-lg2-table tbody tr:hover td { background: #fff8e1; }
.xd-lg2 .xd-lg2-none { margin: 0; padding: 12px; text-align: center; color: #666; }
.xd-lg2 p.xd-lg2-note { margin: 0 0 16px; font-size: 14px; color: #555; }
@media (max-width: 600px) {
  .xd-lg2 a.xd-lg2-tab { font-size: 15px; padding: 10px 2px; }
  .xd-lg2 .xd-lg2-box { border-width: 4px; }
  .xd-lg2 h2.xd-lg2-title { margin: 0 -4px !important; font-size: 18px !important; padding: 10px 12px !important; }
  .xd-lg2 label.xd-lg2-field { flex-basis: 40%; font-size: 15px; }
  .xd-lg2 button.xd-lg2-btn { flex: 1 1 100%; }
  .xd-lg2 button.xd-lg2-pbtn { min-width: 0; padding: 6px 10px; font-size: 15px; }
  .xd-lg2 .xd-lg2-scroll { padding: 0 6px 10px; }
  .xd-lg2 table.xd-lg2-table th, .xd-lg2 table.xd-lg2-table td { padding: 7px 2px; font-size: 15px; }
  .xd-lg2 p.xd-lg2-lead, .xd-lg2 h3.xd-lg2-sub { font-size: 16px; padding: 10px 6px 6px; }
}

/* v1.171.0: lô gan - không khung, tràn viền; tiêu đề <h2> nền #ffe699 chữ #222; ô chọn chữ màu thường; tab "Lô Gan Miền …" / điện thoại "Lô Gan MB …" */
.xd-lg2 .xd-lg2-tabs { border-radius: 0; }
.xd-lg2 .xd-lg2-tshort { display: none; }
.xd-lg2 .xd-lg2-box { border: 0; border-radius: 0; }
.xd-lg2 h2.xd-lg2-title { margin: 0 !important; background: #ffe699 !important; color: #222 !important; }
.xd-lg2 label.xd-lg2-field select { color: #222; }
.xd-lg2 .xd-lg2-scroll { padding-left: 0; padding-right: 0; }
.xd-lg2 .xd-lg2-row { padding-left: 0; padding-right: 0; }
@media (max-width: 600px) {
  .xd-lg2 { width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); box-sizing: border-box; }
  .xd-lg2 .xd-lg2-tfull { display: none; }
  .xd-lg2 .xd-lg2-tshort { display: inline; }
  .xd-lg2 h2.xd-lg2-title { margin: 0 !important; }
  .xd-lg2 .xd-lg2-scroll { padding: 0 0 10px; }
  .xd-lg2 .xd-lg2-row { padding: 12px 8px; }
  .xd-lg2 .xd-lg2-ctrl { padding-left: 8px; padding-right: 8px; }
  .xd-lg2 table.xd-lg2-table { border-left: 0; border-right: 0; }
  .xd-lg2 table.xd-lg2-table tr > :first-child { border-left: 0; }
  .xd-lg2 table.xd-lg2-table tr > :last-child { border-right: 0; }
  .xd-lg2 p.xd-lg2-note { padding: 0 8px; }
}

/* v1.172.0: lô gan - "Xem theo tỉnh:" màu thường; điện thoại: số trong bảng to hơn 10%, Tất cả | Chẵn | Lẻ | Kép | Theo bộ số chung 1 dòng */
.xd-lg2 p.xd-lg2-pills span { color: #222; }
@media (max-width: 600px) {
  .xd-lg2 table.xd-lg2-table th, .xd-lg2 table.xd-lg2-table td { font-size: 16.5px; }
  .xd-lg2 table.xd-lg2-table thead th { font-size: 15px; }
  .xd-lg2 .xd-lg2-ctrl { flex-wrap: nowrap; gap: 6px; }
  .xd-lg2 .xd-lg2-par { flex-wrap: nowrap; gap: 4px; }
  .xd-lg2 button.xd-lg2-pbtn { padding: 5px 7px; font-size: 14px; border-radius: 6px; white-space: nowrap; }
  .xd-lg2 label.xd-lg2-toggle { gap: 5px; font-size: 14px; white-space: nowrap; }
  .xd-lg2 .xd-lg2-sw { width: 38px; height: 22px; border-radius: 11px; }
  .xd-lg2 .xd-lg2-sw::after { width: 16px; height: 16px; }
  .xd-lg2 .xd-lg2-toggle input:checked + .xd-lg2-sw::after { left: 19px; }
}

/* v1.173.0: trang Trực tiếp xổ số 3 miền - lịch quay hôm nay */
.xd-root .xd-live-sched { display: flex; gap: 8px; margin: 0 0 4px; }
.xd-root a.xd-live-item { flex: 1 1 0; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 8px 4px; border: 1px solid #e3e5e8; border-radius: 6px; background: #fff; color: #222; text-decoration: none; text-align: center; }
.xd-root a.xd-live-item b { font-size: 16px; }
.xd-root a.xd-live-item span { font-size: 15px; color: #555; }
.xd-root a.xd-live-item em { font-style: normal; font-size: 13px; font-weight: 700; padding: 1px 8px; border-radius: 10px; }
.xd-root a.xd-live-wait em { background: #eef0f3; color: #555; }
.xd-root a.xd-live-live { border-color: #e3242b; }
.xd-root a.xd-live-live em { background: #e3242b; color: #fff; animation: xdLivePulse 1.2s ease-in-out infinite; }
.xd-root a.xd-live-done em { background: #e6f4ea; color: #1e7b34; }
@keyframes xdLivePulse { 50% { opacity: .55; } }
@media (prefers-reduced-motion: reduce) { .xd-root a.xd-live-live em { animation: none; } }
.xd-root .xd-live-anchor { scroll-margin-top: 70px; height: 0; }
.xd-root .xd-main > .xd-live-anchor + * { margin-top: 0; }
@media (max-width: 600px) {
  .xd-root .xd-live-sched { gap: 4px; padding: 0 4px; }
  .xd-root a.xd-live-item b { font-size: 14px; }
  .xd-root a.xd-live-item em { font-size: 12px; padding: 1px 6px; }
}

/* v1.177.0: bảng tường thuật Miền Nam / Trung - tên đài có link tới trang xổ số của tỉnh (cùng kiểu bảng kết quả) */
.xd-root table.xd-live-prov thead th a { color: #1a0dab; text-decoration: underline; }

/* v1.178.0: tab Hôm nay / Hôm qua là liên kết (trang chủ, /ket-qua-xo-so-hom-qua/) - giữ kiểu nút */
.xd-root a.xd-daytab { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; color: inherit; }

/* v1.180.0: Tần suất loto / cặp loto / đầu đuôi loto miền Bắc (.xd-ts, dùng chung khung .xd-l99) */
.xd-ts p.xd-ts-hint { margin: 4px 0 8px; font-size: 14px; color: #555; }
.xd-ts h3.xd-ts-sub { margin: 18px 0 6px; padding: 8px 10px; background: #fff0bd; border-radius: 4px; font-size: 18px; font-weight: 700; color: #222; text-align: center; }
.xd-ts .xd-ts-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid #ddd; }
.xd-ts table.xd-ts-table { width: max-content; min-width: 100%; margin: 0; border-collapse: separate; border-spacing: 0; font-size: 15px; }
.xd-ts table.xd-ts-table th, .xd-ts table.xd-ts-table td { padding: 5px 6px; border-right: 1px solid #e5e5e5; border-bottom: 1px solid #e5e5e5; text-align: center; white-space: nowrap; background: #fff; }
.xd-ts table.xd-ts-table thead th { background: #f5f5f5; font-weight: 700; position: sticky; top: 0; z-index: 2; }
.xd-ts table.xd-ts-table .xd-ts-sticky { position: sticky; left: 0; z-index: 1; background: #f9f9f9; font-weight: 700; min-width: 44px; }
.xd-ts table.xd-ts-table thead .xd-ts-sticky { z-index: 3; background: #f5f5f5; }
.xd-ts table.xd-ts-table th.xd-ts-date { font-size: 13px; font-weight: 600; min-width: 38px; }
.xd-ts table.xd-ts-table .xd-ts-sum { font-weight: 700; background: #fffbe6; }
.xd-ts table.xd-ts-table td.xd-ts-c { min-width: 30px; font-weight: 700; color: #fff; }
.xd-ts table.xd-ts-table td.xd-ts-c1 { background: #f9b97f; color: #222; }
.xd-ts table.xd-ts-table td.xd-ts-c2 { background: #f07d3a; }
.xd-ts table.xd-ts-table td.xd-ts-c3 { background: #c00; }
.xd-ts table.xd-ts-table .xd-ts-top { color: #c00; font-weight: 700; }
.xd-ts table.xd-ts-table td.xd-ts-zero { color: #bbb; }
.xd-ts table.xd-ts-ddtab td { min-width: 44px; font-size: 16px; }
.xd-ts table.xd-ts-ddtab tr.xd-ts-total th, .xd-ts table.xd-ts-ddtab tr.xd-ts-total td { background: #fffbe6; font-weight: 700; }
.xd-ts table.xd-ts-ddtab tbody tr:nth-child(odd):not(.xd-ts-total) td { background: #fcfcfc; }
.xd-ts table.xd-ts-table .xd-ts-sticky { width: 48px; min-width: 48px; max-width: 48px; box-sizing: border-box; }
.xd-ts table.xd-ts-table:not(.xd-ts-ddtab) .xd-ts-sticky { width: 72px; min-width: 72px; max-width: 72px; }
.xd-ts table.xd-ts-table .xd-ts-sum { position: sticky; left: 71px; z-index: 1; min-width: 46px; box-shadow: 2px 0 0 #e5e5e5; }
.xd-ts table.xd-ts-table thead .xd-ts-sum { z-index: 3; }
.xd-ts table.xd-ts-ddtab .xd-ts-sticky { width: 100px; min-width: 100px; max-width: 100px; }

/* ===== v1.181.0: Tần suất lô tô (.xd-ts2) - cam #c84a00, nền vàng #fdeeb5, ô không về xám ===== */
.xd-ts2 { max-width: 1200px; margin: 0 auto 18px; font-size: 16px; color: #222; }
.xd-ts2 .xd-ts2-quick { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; padding: 10px; background: #fdeeb5; }
.xd-ts2 a.xd-ts2-qbtn, .xd-ts2 a.xd-ts2-wbtn, .xd-ts2 a.xd-ts2-ky { display: inline-block; padding: 5px 14px; border: 1px solid #e3d3a8; border-radius: 4px; background: #fff; color: #222; text-decoration: none; }
.xd-ts2 a.xd-ts2-qbtn.active { background: #c84a00; border-color: #c84a00; color: #fff; }
.xd-ts2 .xd-ts2-form { background: #fff8ef; }
.xd-ts2 .xd-ts2-row { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 14px; padding: 14px 10px; }
.xd-ts2 label.xd-ts2-field { flex: 1 1 200px; display: flex; flex-direction: column; gap: 6px; font-weight: 700; color: #555; font-size: 15px; }
.xd-ts2 label.xd-ts2-field select { height: 44px; padding: 4px 10px; font-size: 17px; font-weight: 400; color: #222; border: 1px solid #ccc; border-radius: 3px; background: #fff; }
.xd-ts2 .xd-ts2-step { display: flex; height: 44px; border: 1px solid #ccc; border-radius: 3px; background: #fff; overflow: hidden; }
.xd-ts2 .xd-ts2-step button { flex: 0 0 44px; border: 0; background: #fff; color: #c84a00; font-size: 24px; font-weight: 700; cursor: pointer; padding: 0; }
.xd-ts2 .xd-ts2-step input { flex: 1 1 auto; min-width: 0; border: 0; border-left: 1px solid #ccc; border-right: 1px solid #ccc; text-align: center; font-size: 17px; -moz-appearance: textfield; }
.xd-ts2 .xd-ts2-step input::-webkit-inner-spin-button, .xd-ts2 .xd-ts2-step input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.xd-ts2 button.xd-ts2-go { flex: 1 1 200px; height: 44px; border: 0; border-radius: 3px; background: #c84a00; color: #fff; font-size: 18px; cursor: pointer; }
.xd-ts2 button.xd-ts2-go:hover { background: #a93e00; }
.xd-ts2 .xd-ts2-pickbar { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; padding: 10px; background: #fdeeb5; }
.xd-ts2 button.xd-ts2-pick { padding: 6px 14px; border: 1px solid #e3d3a8; border-radius: 4px; background: #fff; color: #222; font-size: 16px; cursor: pointer; }
.xd-ts2 button.xd-ts2-pick.active { background: #c84a00; border-color: #c84a00; color: #fff; }
.xd-ts2 .xd-ts2-gridwrap { overflow-x: auto; }
.xd-ts2 table.xd-ts2-grid { width: 100%; border-collapse: collapse; margin: 0; background: #fff; }
.xd-ts2 table.xd-ts2-grid th, .xd-ts2 table.xd-ts2-grid td { padding: 6px 4px; border: 1px solid #eee; text-align: center; white-space: nowrap; }
.xd-ts2 table.xd-ts2-grid label { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; font-size: 17px; }
.xd-ts2 table.xd-ts2-grid input { width: 18px; height: 18px; accent-color: #c84a00; margin: 0; }
.xd-ts2 button.xd-ts2-dau, .xd-ts2 button.xd-ts2-duoi { padding: 4px 8px; border: 1px solid #ddd; border-radius: 4px; background: #fff; font-size: 15px; cursor: pointer; white-space: nowrap; }
.xd-ts2 tr.xd-ts2-duoirow th, .xd-ts2 tr.xd-ts2-duoirow td { background: #fdeeb5; }
.xd-ts2 .xd-ts2-res { margin-top: 16px; }
.xd-ts2 .xd-ts2-reshead { background: #c84a00; padding: 10px 8px 4px; }
.xd-ts2 .xd-ts2-wd { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.xd-ts2 a.xd-ts2-wbtn { min-width: 84px; text-align: center; }
.xd-ts2 a.xd-ts2-wbtn.active { background: #c84a00; color: #fff; border: 2px solid #fff; font-weight: 700; }
.xd-ts2 h2.xd-ts2-title { margin: 8px 0 !important; padding: 0 !important; background: none !important; border: 0 !important; color: #fff !important; font-size: 20px !important; font-weight: 700 !important; text-align: center; }
.xd-ts2 .xd-ts2-bar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; padding: 10px 6px; }
.xd-ts2 .xd-ts2-kys { display: flex; gap: 6px; flex-wrap: wrap; }
.xd-ts2 a.xd-ts2-ky { border-color: #c84a00; color: #c84a00; font-weight: 700; }
.xd-ts2 a.xd-ts2-ky.active { background: #c84a00; color: #fff; }
.xd-ts2 .xd-ts2-orient { display: flex; align-items: center; gap: 6px; font-weight: 700; }
.xd-ts2 button.xd-ts2-or { padding: 5px 14px; border: 1px solid #c84a00; border-radius: 4px; background: #fff; color: #c84a00; font-weight: 700; font-size: 16px; cursor: pointer; }
.xd-ts2 button.xd-ts2-or.active { background: #c84a00; color: #fff; }
.xd-ts2 .xd-ts2-scroll { overflow: auto; max-height: 80vh; border: 1px solid #ccc; }
.xd-ts2 table.xd-ts2-table { border-collapse: separate; border-spacing: 0; margin: 0; width: max-content; min-width: 100%; font-size: 16px; }
.xd-ts2 table.xd-ts2-table th, .xd-ts2 table.xd-ts2-table td { min-width: 38px; height: 38px; padding: 2px 4px; text-align: center; border-right: 1px solid #ddd; border-bottom: 1px solid #ddd; font-weight: 700; }
.xd-ts2 table.xd-ts2-table thead th { position: sticky; top: 0; z-index: 2; background: #fff; font-size: 14px; line-height: 1.05; }
.xd-ts2 table.xd-ts2-table .st { position: sticky; left: 0; z-index: 1; background: #fff; min-width: 54px; }
.xd-ts2 table.xd-ts2-table thead .st { z-index: 3; font-size: 13px; }
.xd-ts2 table.xd-ts2-table td.z { background: #8c8c8c; }
.xd-ts2 table.xd-ts2-table td.y { background: #fff; }
.xd-ts2 table.xd-ts2-table .tt { background: #fbe3a3; position: sticky; right: 0; z-index: 1; }
.xd-ts2 table.xd-ts2-table thead .tt { z-index: 3; }
.xd-ts2 table.xd-ts2-table tr.tt th, .xd-ts2 table.xd-ts2-table tr.tt td { background: #fbe3a3; position: sticky; bottom: 0; }
.xd-ts2 table.xd-ts2-table td.hl { background: #fbe3a3; }
.xd-ts2 table.xd-ts2-table td.cur { outline: 3px solid #e06a1b; outline-offset: -3px; color: #c84a00; }
.xd-ts2 .xd-ts2-none { padding: 16px; text-align: center; color: #666; }
.xd-ts2 .xd-ts2-sum { margin-top: 18px; }
.xd-ts2 .xd-ts2-sum > h2.xd-ts2-title { margin: 0 !important; padding: 12px !important; background: #c84a00 !important; }
.xd-ts2 .xd-ts2-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; padding: 14px 0; }
.xd-ts2 .xd-ts2-card { border: 1px solid #e5e5e5; border-radius: 4px; overflow: hidden; background: #fff; }
.xd-ts2 .xd-ts2-card h3 { margin: 0; padding: 12px 6px; background: #fdeeb5; font-size: 18px; font-weight: 700; text-align: center; color: #333; }
.xd-ts2 .xd-ts2-card table { width: 100%; margin: 0; border-collapse: collapse; }
.xd-ts2 .xd-ts2-card th { padding: 8px; background: #f3f3f3; font-weight: 700; border: 1px solid #e5e5e5; }
.xd-ts2 .xd-ts2-card td { padding: 7px 8px; text-align: center; border: 1px solid #eee; color: #555; }
.xd-ts2 .xd-ts2-card td.xd-ts2-num { color: #c84a00; font-weight: 700; }
.xd-ts2 .xd-ts2-keprow { display: grid; grid-template-columns: repeat(10, 1fr); }
.xd-ts2 .xd-ts2-keprow div { display: flex; flex-direction: column; align-items: center; padding: 8px 2px; border-right: 1px solid #eee; }
.xd-ts2 .xd-ts2-keprow b { color: #c84a00; font-size: 18px; }
.xd-ts2 .xd-ts2-keprow span { color: #555; }
@media (max-width: 900px) { .xd-ts2 .xd-ts2-cards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) {
  .xd-ts2 { width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
  .xd-ts2 label.xd-ts2-field { flex-basis: 100%; }
  .xd-ts2 table.xd-ts2-grid label { font-size: 14px; gap: 2px; flex-direction: column; }
  .xd-ts2 table.xd-ts2-grid th, .xd-ts2 table.xd-ts2-grid td { padding: 4px 1px; }
  .xd-ts2 button.xd-ts2-dau, .xd-ts2 button.xd-ts2-duoi { font-size: 12px; padding: 3px 3px; }
  .xd-ts2 a.xd-ts2-wbtn { min-width: 0; padding: 4px 8px; font-size: 14px; }
  .xd-ts2 h2.xd-ts2-title { font-size: 17px !important; }
  .xd-ts2 .xd-ts2-cards { grid-template-columns: 1fr 1fr; gap: 8px; padding: 8px; }
  .xd-ts2 .xd-ts2-keprow { grid-template-columns: repeat(5, 1fr); }
  .xd-ts2 .xd-ts2-card h3 { font-size: 15px; }
}

/* v1.182.0: tần suất lô tô - theme WordPress ghi đè kiểu nút (chữ trắng trên nền trắng ở nút Đầu / Đuôi): khoá lại kiểu nút */
.xd-ts2 button.xd-ts2-dau, .xd-ts2 button.xd-ts2-duoi {
  display: inline-block !important; min-width: 0 !important; height: auto !important; min-height: 0 !important; margin: 0 !important;
  padding: 4px 8px !important; border: 1px solid #ddd !important; border-radius: 4px !important; background: #fff !important; box-shadow: none !important;
  color: #222 !important; font-size: 15px !important; font-weight: 400 !important; line-height: 1.3 !important; text-transform: none !important; letter-spacing: normal !important; white-space: nowrap; }
.xd-ts2 button.xd-ts2-dau:hover, .xd-ts2 button.xd-ts2-duoi:hover { background: #fdeeb5 !important; border-color: #c84a00 !important; }
.xd-ts2 button.xd-ts2-pick, .xd-ts2 button.xd-ts2-or { min-height: 0 !important; height: auto !important; line-height: 1.3 !important; text-transform: none !important; letter-spacing: normal !important; box-shadow: none !important; }
.xd-ts2 button.xd-ts2-pick { color: #222 !important; background: #fff !important; border: 1px solid #e3d3a8 !important; }
.xd-ts2 button.xd-ts2-pick.active { color: #fff !important; background: #c84a00 !important; border-color: #c84a00 !important; }
.xd-ts2 button.xd-ts2-or { color: #c84a00 !important; background: #fff !important; border: 1px solid #c84a00 !important; }
.xd-ts2 button.xd-ts2-or.active { color: #fff !important; background: #c84a00 !important; }
.xd-ts2 .xd-ts2-step button { color: #c84a00 !important; background: #fff !important; border: 0 !important; box-shadow: none !important; min-height: 0 !important; height: 100% !important; line-height: 1 !important; padding: 0 !important; }
.xd-ts2 button.xd-ts2-go { color: #fff !important; background: #c84a00 !important; border: 0 !important; box-shadow: none !important; }
@media (max-width: 600px) {
  .xd-ts2 button.xd-ts2-dau, .xd-ts2 button.xd-ts2-duoi { font-size: 12px !important; padding: 3px 3px !important; }
}

/* v1.183.0: tần suất lô tô - Zoom bảng (biến --ts-z do JS đặt), thanh Kiểu hiển thị + Zoom */
.xd-ts2 .xd-ts2-zoom { display: flex; align-items: center; gap: 8px; font-weight: 700; }
.xd-ts2 .xd-ts2-zoom b { min-width: 52px; text-align: center; font-weight: 400; font-size: 17px; }
.xd-ts2 button.xd-ts2-zbtn { width: 36px !important; height: 34px !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; border: 1px solid #e3c49a !important; border-radius: 4px !important;
  background: #fff !important; color: #c84a00 !important; font-size: 22px !important; font-weight: 700 !important; line-height: 1 !important; box-shadow: none !important; cursor: pointer; }
.xd-ts2 .xd-ts2-mat table.xd-ts2-table { font-size: calc(16px * var(--ts-z, 1)); }
.xd-ts2 .xd-ts2-mat table.xd-ts2-table th, .xd-ts2 .xd-ts2-mat table.xd-ts2-table td { min-width: calc(38px * var(--ts-z, 1)); height: calc(38px * var(--ts-z, 1)); padding: calc(2px * var(--ts-z, 1)) calc(4px * var(--ts-z, 1)); }
.xd-ts2 .xd-ts2-mat table.xd-ts2-table thead th { font-size: calc(14px * var(--ts-z, 1)); }
.xd-ts2 .xd-ts2-mat table.xd-ts2-table .st { min-width: calc(54px * var(--ts-z, 1)); }
.xd-ts2 .xd-ts2-mat table.xd-ts2-table thead .st { font-size: calc(13px * var(--ts-z, 1)); }
@media (max-width: 600px) {
  .xd-ts2 .xd-ts2-wd { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
  .xd-ts2 .xd-ts2-bar { gap: 8px; }
  .xd-ts2 .xd-ts2-kys { width: 100%; justify-content: center; }
  .xd-ts2 .xd-ts2-orient, .xd-ts2 .xd-ts2-zoom { font-size: 15px; }
}
.xd-ts2 .xd-ts2-mat table.xd-ts2-table .tt { white-space: normal; min-width: calc(50px * var(--ts-z, 1)); max-width: calc(64px * var(--ts-z, 1)); line-height: 1.1; }
@media (max-width: 600px) {
  .xd-ts2 .xd-ts2-bar { justify-content: space-between; padding: 8px 4px; gap: 8px 4px; }
  .xd-ts2 .xd-ts2-orient, .xd-ts2 .xd-ts2-zoom { gap: 4px; font-size: 14px; }
  .xd-ts2 button.xd-ts2-or { padding: 4px 9px !important; font-size: 14px !important; }
  .xd-ts2 button.xd-ts2-zbtn { width: 28px !important; height: 28px !important; font-size: 18px !important; }
  .xd-ts2 .xd-ts2-zoom b { min-width: 38px; font-size: 14px; }
}

/* v1.184.0: tần suất lô tô trên điện thoại - ô chọn 2 cột (Miền/tỉnh + Số ngày, Loại thống kê + nút Xem), nút nhanh gọn hơn */
@media (max-width: 600px) {
  .xd-ts2 .xd-ts2-quick { gap: 6px; padding: 8px 6px; }
  .xd-ts2 a.xd-ts2-qbtn { padding: 4px 9px; font-size: 15px; }
  .xd-ts2 .xd-ts2-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 8px; padding: 10px 8px; align-items: end; }
  .xd-ts2 label.xd-ts2-field { flex-basis: auto; min-width: 0; font-size: 14px; gap: 4px; }
  .xd-ts2 label.xd-ts2-field select { height: 40px; font-size: 16px; padding: 2px 6px; width: 100%; }
  .xd-ts2 .xd-ts2-step { height: 40px; }
  .xd-ts2 .xd-ts2-step button { flex-basis: 34px; font-size: 20px; }
  .xd-ts2 .xd-ts2-step input { font-size: 15px; }
  .xd-ts2 button.xd-ts2-go { height: 40px; font-size: 16px; font-weight: 700; }
  .xd-ts2 .xd-ts2-pickbar { gap: 5px; padding: 8px 4px; }
  .xd-ts2 button.xd-ts2-pick { padding: 4px 8px !important; font-size: 14px !important; }
}
@media (max-width: 600px) {
  .xd-ts2 .xd-ts2-pickbar { flex-wrap: nowrap; gap: 4px; }
  .xd-ts2 button.xd-ts2-pick { padding: 4px 6px !important; font-size: 13px !important; white-space: nowrap; }
  .xd-ts2 table.xd-ts2-grid { table-layout: fixed; width: 100%; }
  .xd-ts2 table.xd-ts2-grid th { width: 13%; }
  .xd-ts2 table.xd-ts2-grid th, .xd-ts2 table.xd-ts2-grid td { padding: 3px 0; }
  .xd-ts2 table.xd-ts2-grid label { font-size: 13px; gap: 1px; }
  .xd-ts2 table.xd-ts2-grid input { width: 16px; height: 16px; }
  .xd-ts2 button.xd-ts2-dau, .xd-ts2 button.xd-ts2-duoi { font-size: 11px !important; padding: 2px 2px !important; white-space: normal; line-height: 1.15 !important; }
}
@media (max-width: 600px) { .xd-lg2 button.xd-lg2-btn { flex: 1 1 40%; } } /* v1.185.0: Biên độ + nút Xem cùng hàng */

/* v1.188.0: tab TK 00 - 99 MB | MN | MT */
.xd-l99 .xd-l99-tabs { display: flex; margin: 0 0 12px; border-radius: 6px; overflow: hidden; box-shadow: 0 1px 3px rgba(0,0,0,.15); }
.xd-l99 a.xd-l99-tab { flex: 1 1 0; padding: 10px 4px; text-align: center; font-size: 16px; color: #222; text-decoration: none; background: #f1f1f1; border-left: 1px solid #ddd; white-space: nowrap; }
.xd-l99 a.xd-l99-tab:first-child { border-left: 0; }
.xd-l99 a.xd-l99-tab.active { background: #ed1c24; color: #fff; font-weight: 700; }
@media (max-width: 600px) { .xd-l99 a.xd-l99-tab { font-size: 14px; padding: 9px 2px; } }

/* ===== v1.189.0: full chiều rộng + bố cục có sidebar ===== */
.xd-root, .xd-info, .xd-somo, .xd-lg, .xd-livebar, .xd-lg2, .xd-ts2 { max-width: none; }
.xd-layout { display: block; width: 100%; box-sizing: border-box; }
.xd-layout-main { min-width: 0; }
.xd-layout > .xd-side { margin-top: 24px; }
@media (min-width: 1024px) {
  .xd-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 24px; align-items: start; }
  .xd-layout > .xd-side { margin-top: 0; position: sticky; top: 16px; }
}
.xd-side { display: flex; flex-direction: column; gap: 18px; font-family: Arial, Helvetica, sans-serif; }
.xd-side .xd-side-box { background: #fff; border-radius: 8px; box-shadow: 0 1px 4px rgba(0, 0, 0, .15); overflow: hidden; }
.xd-side h3.xd-side-title { display: flex; align-items: center; gap: 10px; margin: 0 !important; padding: 10px 14px !important; background: #d31f1f !important; color: #fff !important;
  font-size: 16px !important; font-weight: 700 !important; line-height: 1.3 !important; text-transform: uppercase; /* v1.190.2: 19px → 16px */ border: 0 !important; letter-spacing: 0 !important; }
.xd-side .xd-side-coin { position: relative; flex: 0 0 auto; width: 24px; height: 24px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #ffe680, #f7b500 70%); box-shadow: inset 0 0 0 3px #ffd34d, 0 0 0 2px #f0a500; }
.xd-side .xd-side-coin::after { content: ""; position: absolute; left: 50%; top: 50%; width: 7px; height: 7px; margin: -3.5px 0 0 -3.5px; background: #d31f1f; border: 2px solid #f7b500; box-sizing: border-box; }
.xd-side ul.xd-side-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; margin: 0 !important; padding: 10px 16px 12px 36px !important; list-style: disc; }
.xd-side ul.xd-side-list li { margin: 0 !important; padding: 5px 0 !important; font-size: 17px; line-height: 1.5; color: #333; }
.xd-side ul.xd-side-list li::marker { color: #d31f1f; }
.xd-side ul.xd-side-list a { color: #333; text-decoration: none; }
.xd-side ul.xd-side-list a:hover { color: #d31f1f; text-decoration: underline; }
.xd-side .xd-side-live { display: inline-block; width: 15px; height: 15px; margin-left: 6px; vertical-align: -2px; border-radius: 50%;
  border: 3px dotted #f5a623; border-top-color: #d31f1f; box-sizing: border-box; animation: xdSideSpin 1.1s linear infinite; }
@keyframes xdSideSpin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .xd-side .xd-side-live { animation: none; } }
@media (max-width: 600px) { .xd-side ul.xd-side-list li { font-size: 16px; } }

/* v1.190.0: thanh Hôm qua | Thứ 2 … Thứ 7 | CN - máy tính: 1 dòng chia đều khung; điện thoại: 2 dòng (4 tab / dòng) */
.xd-root .xd-daytabs.xd-wdtabs { display: flex; flex-wrap: nowrap; gap: 6px; overflow: visible; }
.xd-root .xd-daytabs.xd-wdtabs > .xd-wdtab { flex: 1 1 0; min-width: 0; padding-left: 4px; padding-right: 4px; text-align: center; justify-content: center; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 600px) {
  .xd-root .xd-daytabs.xd-wdtabs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
  .xd-root .xd-daytabs.xd-wdtabs > .xd-wdtab { padding: 9px 2px; font-size: 15px; }
}

/* v1.190.4: máy tính - thanh tab xd-nav và các tab ngày/thứ (xd-dayrow) thấp hơn */
@media (min-width: 601px) {
  .xd-nav button, .xd-nav a.xd-navlink { padding-top: 10px; padding-bottom: 10px; }
  .xd-dayrow a.xd-daytab, .xd-dayrow button.xd-daytab { padding-top: 5px; padding-bottom: 5px; }
  .xd-root .xd-dayrow a.xd-wdtab, .xd-root .xd-dayrow button.xd-wdtab { padding-top: 8px; padding-bottom: 8px; }
}
/* v1.190.4: điện thoại - 2 dòng tab của xd-dayrow sát nhau hơn (trước: gap 6px + lề dưới 6px = 12px, nay 4px) */
@media (max-width: 600px) {
  .xd-root .xd-dayrow .xd-daytabs.xd-wdtabs { row-gap: 4px; margin-bottom: 6px; }
  .xd-root .xd-dayrow .xd-daytabs.xd-wdtabs > .xd-wdtab { margin-bottom: 0; }
}

/* v1.190.5: giải 2 số (G.7 miền Bắc, G.8 miền Nam / Trung) màu đỏ và to hơn ~25% so với các giải thường cùng bảng.
   Lớp xd-n2 do script.js gắn vào số có đúng 2 chữ số trong bảng kết quả (kể cả trực tiếp, quay thử); xd-n2i (bên trong) phóng to theo em
   nên tự ăn theo mọi cỡ chữ máy tính / điện thoại / số đài đang có. Không áp dụng cho bảng Loto. */
.xd-root .xd-n.xd-n2 { color: #d31f1f; }
.xd-root .xd-n.xd-n2 .xd-n2i { font-size: 1.25em; line-height: 1; }

/* v1.190.7: tab miền của trang Lô gan (xd-lg2-tabs) và Thống kê Loto 00 - 99 (xd-l99-tabs) dùng cùng kiểu với thanh tab
   trang XSMB (xd-nav): nền trắng, chữ đậm #444, vạch đỏ #d31f1f dưới thanh, tab đang chọn nền đỏ chữ trắng. */
.xd-lg2 nav.xd-lg2-tabs, .xd-l99 nav.xd-l99-tabs {
  display: flex; flex-wrap: nowrap; margin: 0 0 12px; background: #fff; border-bottom: 4px solid #d31f1f; border-radius: 0; box-shadow: none; overflow: hidden;
}
.xd-lg2 nav.xd-lg2-tabs a.xd-lg2-tab, .xd-l99 nav.xd-l99-tabs a.xd-l99-tab {
  flex: 1 1 0; min-width: 0; display: block; text-align: center; text-decoration: none; white-space: nowrap;
  padding: 10px 10px; font-family: inherit; font-size: 18px; font-weight: 700; letter-spacing: .02em; line-height: 1.4;
  color: #444; background: #fff; border: 0; border-right: 1px solid #eee; box-shadow: none;
}
.xd-lg2 nav.xd-lg2-tabs a.xd-lg2-tab:last-child, .xd-l99 nav.xd-l99-tabs a.xd-l99-tab:last-child { border-right: 0; }
.xd-lg2 nav.xd-lg2-tabs a.xd-lg2-tab:hover, .xd-l99 nav.xd-l99-tabs a.xd-l99-tab:hover { background: #f6f6f6; color: #444; }
.xd-lg2 nav.xd-lg2-tabs a.xd-lg2-tab.active, .xd-l99 nav.xd-l99-tabs a.xd-l99-tab.active,
.xd-lg2 nav.xd-lg2-tabs a.xd-lg2-tab.active:hover, .xd-l99 nav.xd-l99-tabs a.xd-l99-tab.active:hover { background: #d31f1f; color: #fff; }
@media (max-width: 600px) {
  .xd-lg2 nav.xd-lg2-tabs a.xd-lg2-tab, .xd-l99 nav.xd-l99-tabs a.xd-l99-tab { padding: 12px 2px; font-size: 14px; letter-spacing: 0; }
}
@media (max-width: 360px) {
  .xd-lg2 nav.xd-lg2-tabs a.xd-lg2-tab, .xd-l99 nav.xd-l99-tabs a.xd-l99-tab { font-size: 13px; }
}

/* v1.190.8: sidebar - khung "Dò vé số" (ô miền + số vé + nút) và "Quay thử xổ số" (danh sách 1 cột) */
.xd-side ul.xd-side-list.xd-side-list1 { grid-template-columns: 1fr; }
.xd-side form.xd-side-form { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0; padding: 12px 16px 14px; }
.xd-side form.xd-side-form select, .xd-side form.xd-side-form input {
  box-sizing: border-box; width: 100%; height: 40px; margin: 0; padding: 0 10px; font-family: inherit; font-size: 16px; color: #222;
  background: #fff; border: 1px solid #ccc; border-radius: 4px; box-shadow: none;
}
.xd-side form.xd-side-form input:focus, .xd-side form.xd-side-form select:focus { outline: 2px solid #d31f1f; outline-offset: -1px; border-color: #d31f1f; }
.xd-side form.xd-side-form button {
  grid-column: 1 / -1; height: 40px; margin: 0; padding: 0 12px; font-family: inherit; font-size: 16px; font-weight: 700; text-transform: none;
  color: #fff !important; background: #d31f1f !important; border: 0 !important; border-radius: 4px; cursor: pointer; box-shadow: none;
}
.xd-side form.xd-side-form button:hover { background: #b51919 !important; }

/* v1.190.9: khung "Dò vé số" ở sidebar: 2 cột - "Chọn ngày:" | "Chọn tỉnh:", ô dãy số | nút "Kết quả" */
.xd-side form.xd-side-form { grid-template-columns: 1fr 1fr; gap: 6px 10px; padding: 14px 16px 16px; }
.xd-side form.xd-side-form > label:not(.xd-sr) { display: block; margin: 0; font-size: 18px; font-weight: 700; color: #111; line-height: 1.3; }
.xd-side form.xd-side-form select, .xd-side form.xd-side-form input { height: 44px; font-size: 17px; border-radius: 4px; }
.xd-side form.xd-side-form select { padding-right: 6px; }
.xd-side form.xd-side-form #xd-side-dv-n { margin-top: 10px; }
.xd-side form.xd-side-form button { grid-column: auto; height: 44px; margin-top: 10px; font-size: 17px; border-radius: 2px; }

/* v1.190.10: tiêu đề khung sidebar là liên kết - giữ chữ trắng trên nền đỏ, gạch chân khi rê chuột */
.xd-side h3.xd-side-title a.xd-side-tlink, .xd-side h3.xd-side-title a.xd-side-tlink:visited { color: #fff !important; text-decoration: none !important; box-shadow: none; }
.xd-side h3.xd-side-title a.xd-side-tlink:hover, .xd-side h3.xd-side-title a.xd-side-tlink:focus { color: #fff !important; text-decoration: underline !important; }

/* v1.191.0: trang kết quả 1 đài / 1 ngày - tiêu đề "… các kỳ quay trước"; tiêu đề từng kỳ là <h3> nhưng giữ cỡ như <h2> cũ */
.xd-root h2.xd-prev-h2 { margin: 24px 0 10px !important; padding: 0 !important; font-size: 22px !important; font-weight: 700 !important; line-height: 1.3 !important; color: #222 !important; }
@media (max-width: 600px) { .xd-root h2.xd-prev-h2 { margin: 18px 8px 8px !important; font-size: 19px !important; } }

/* v1.196.0: trang 404 "Không tìm thấy trang" */
.xd-404-main { display: block; }
.xd-404 { box-sizing: border-box; max-width: 1100px; margin: 0 auto; padding: 24px 16px 40px; font-family: Arial, Helvetica, sans-serif; color: #222; }
.xd-404 h1.xd-404-title { margin: 0 0 12px; font-size: 32px; font-weight: 700; line-height: 1.25; color: #d31f1f; }
.xd-404 .xd-404-text { margin: 0 0 14px; font-size: 18px; line-height: 1.6; }
.xd-404 a { color: #d31f1f; text-decoration: none; }
.xd-404 a:hover { text-decoration: underline; }
.xd-404 .xd-404-home { margin: 0 0 28px; }
.xd-404 a.xd-404-btn { display: inline-block; padding: 10px 22px; background: #d31f1f; color: #fff !important; font-size: 17px; font-weight: 700; border-radius: 4px; text-decoration: none !important; }
.xd-404 a.xd-404-btn:hover { background: #b51919; }
.xd-404 h2.xd-404-h2 { margin: 28px 0 8px; padding: 10px 14px; font-size: 22px; font-weight: 700; line-height: 1.3; color: #222; background: #ffe699; border: 0; }
.xd-404 .xd-404-sub { margin: 0 0 8px; color: #555; font-size: 15px; }
.xd-404 .xd-404-group { margin: 0 0 14px; }
.xd-404 h3.xd-404-h3 { margin: 12px 0 6px; font-size: 18px; font-weight: 700; line-height: 1.3; }
.xd-404 ul.xd-404-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px 16px; margin: 0; padding: 0; list-style: none; }
.xd-404 ul.xd-404-list li { margin: 0; padding: 6px 0 6px 14px; position: relative; font-size: 16px; line-height: 1.4; border-bottom: 1px dotted #ddd; }
.xd-404 ul.xd-404-list li::before { content: ""; position: absolute; left: 2px; top: 50%; width: 5px; height: 5px; margin-top: -2.5px; border-radius: 50%; background: #d31f1f; }
@media (max-width: 900px) { .xd-404 ul.xd-404-list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) {
  .xd-404 { padding: 16px 10px 28px; }
  .xd-404 h1.xd-404-title { font-size: 26px; }
  .xd-404 h2.xd-404-h2 { font-size: 19px; }
  .xd-404 ul.xd-404-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* v1.197.0: tab miền trang Lô kép / Lô xiên - chữ đầy đủ trên máy tính, chữ tắt (MB / MN / MT) trên điện thoại */
.xd-l99 nav.xd-l99-tabs .xd-tshort { display: none; }
@media (max-width: 600px) {
  .xd-l99 nav.xd-l99-tabs .xd-tfull { display: none; }
  .xd-l99 nav.xd-l99-tabs .xd-tshort { display: inline; }
}

/* v1.198.0: bài thống kê tự động theo dàn ý mới - mục lục, dòng ⚡, chú thích bảng, bảng kết quả */
.xd-stat-toc { margin: 0 0 16px; padding: 10px 14px; background: #f7f7f7; border: 1px solid #e3e3e3; border-radius: 4px; }
.xd-stat-toc .xd-stat-toc-title { margin: 0 0 6px; }
.xd-stat-toc ul { margin: 0; padding: 0; list-style: none; }
.xd-stat-toc li { margin: 2px 0; }
.xd-stat-toc li.xd-stat-toc-l3 { padding-left: 18px; }
.xd-stat-toc a { color: #d31f1f; text-decoration: none; }
.xd-stat-toc a:hover { text-decoration: underline; }
p.xd-stat-flash { margin: 6px 0; }
p.xd-stat-cap { margin: -10px 0 16px; text-align: center; font-size: 14px; color: #555; }
table.xd-stat-table.xd-stat-kq td { font-size: 17px; font-weight: 700; letter-spacing: .5px; line-height: 1.5; }
table.xd-stat-table.xd-stat-kq td:first-child { width: 60px; font-weight: 400; color: #555; }
table.xd-stat-table.xd-stat-kq .xd-stat-red { color: #d31f1f; font-size: 20px; }
table.xd-stat-table.xd-stat-digits td, table.xd-stat-table.xd-stat-digits th { min-width: 28px; padding: 6px 3px; }
ul.xd-stat-follow { columns: 2; column-gap: 24px; }
@media (max-width: 600px) { ul.xd-stat-follow { columns: 1; } table.xd-stat-table.xd-stat-kq td { font-size: 15px; } }

/* v1.198.1: bài thống kê - các con số được thống kê (ngoài bảng) màu đỏ */
.xd-stat-hl, strong.xd-stat-hl { color: #d31f1f; font-weight: 700; }

/* v1.199.7 / v1.199.8: thông báo chờ kết quả - điện thoại (dưới 600px): "KQXSMB hôm nay 30/10/2026 sẽ có sau 08:15:00"
   luôn 1 dòng, khung trải hết bề ngang (bớt khoảng trống 2 bên) để chữ to hơn; máy tính: "Kết quả XSMB hôm nay …" */
@media (max-width: 600px) {
  .xd-root .xd-early-name { font-size: 0; }
  .xd-root .xd-early-name::before { content: attr(data-short); font-size: clamp(12px, 3.9vw, 19px); }
  .xd-root .xd-early { display: block; width: auto; max-width: none; margin: 4px 0 12px; box-sizing: border-box; white-space: nowrap; overflow: hidden;
    padding: 7px 6px; border-radius: 8px; text-align: center; font-size: clamp(12px, 3.9vw, 19px); line-height: 1.4; letter-spacing: -.01em; }
  .xd-root .xd-early-head, .xd-root .xd-early-tail { display: inline; white-space: nowrap; }
  .xd-root .xd-early-clock { font-size: clamp(13px, 4.5vw, 22px); }
  /* "Loto Tiền Giang hôm nay …" dài hơn: chữ nhỏ hơn một chút */
  .xd-root .xd-early.xd-early-loto { font-size: clamp(11px, 3.5vw, 18px); }
  .xd-root .xd-early.xd-early-loto .xd-early-clock { font-size: clamp(12px, 4vw, 20px); }
}

/* v1.200.0: trang Sớ đầu đuôi - bố cục theo xsmn.mobi (1 thanh tab Miền X | Thứ 2 … CN, ô "Chọn đài:", mỗi kỳ 1 dải, nút "Xem thêm"),
   màu theo trang Lô gan: tab trắng chữ #444 vạch đỏ #d31f1f, tiêu đề nền #ffe699, số xanh #0b62c4, số đỏ #ed1c24, viền #c9c9c9. */
.xd-root .xd-sodd-page { font-family: Arial, Helvetica, sans-serif; color: #222; }
.xd-root nav.xd-sodd-tabs { display: flex; flex-wrap: nowrap; margin: 0 0 12px; background: #fff; border-bottom: 4px solid #d31f1f; overflow: hidden; }
.xd-root nav.xd-sodd-tabs .xd-sodd-tab { flex: 1 1 0; min-width: 0; display: block; padding: 10px 4px; text-align: center; text-decoration: none; white-space: nowrap;
  font-size: 17px; font-weight: 700; line-height: 1.4; color: #444; background: #fff; border: 0; border-right: 1px solid #eee; box-shadow: none; }
.xd-root nav.xd-sodd-tabs .xd-sodd-tab:first-child { flex-grow: 1.6; }
.xd-root nav.xd-sodd-tabs .xd-sodd-tab:last-child { border-right: 0; }
.xd-root nav.xd-sodd-tabs a.xd-sodd-tab:hover { background: #f6f6f6; color: #444; }
.xd-root nav.xd-sodd-tabs .xd-sodd-tab.active, .xd-root nav.xd-sodd-tabs a.xd-sodd-tab.active:hover { background: #d31f1f; color: #fff; }
.xd-root .xd-sodd-box { margin: 0 0 16px; background: #fff; }
.xd-root h2.xd-sodd-title { margin: 0 !important; padding: 12px 16px !important; background: #ffe699 !important; color: #222 !important; font-size: 20px !important;
  font-weight: 700 !important; line-height: 1.35 !important; text-align: center; border: 0 !important; }
.xd-root .xd-sodd-picker { padding: 12px 8px; text-align: center; border-bottom: 1px solid #e5e5e5; }
.xd-root .xd-sodd-picker label { margin-right: 8px; font-size: 16px; font-weight: 700; color: #333; vertical-align: middle; }
.xd-root .xd-sodd-picker select { max-width: 60%; height: 40px; padding: 4px 10px; font-family: inherit; font-size: 16px; color: #222; background: #fff;
  border: 1px solid #ccc; border-radius: 8px; vertical-align: middle; }
.xd-root .xd-sodd-scroll { overflow-x: auto; }
.xd-root table.xd-sodd2 { width: 100%; margin: 0 auto; border-collapse: separate; border-spacing: 0 10px; table-layout: auto; border: 0; background: none; }
.xd-root table.xd-sodd2 th, .xd-root table.xd-sodd2 td { padding: 8px 4px; text-align: center; vertical-align: middle; line-height: 1.6; border: 0; background: #fff; }
.xd-root table.xd-sodd2 thead th { background: #eee; color: #333; font-size: 17px; font-weight: 700; border-top: 1px solid #c9c9c9; border-bottom: 1px solid #c9c9c9; }
.xd-root table.xd-sodd2 thead th + th { border-left: 1px solid #c9c9c9; }
.xd-root table.xd-sodd2 thead th:first-child { border-left: 1px solid #c9c9c9; }
.xd-root table.xd-sodd2 thead th:last-child { border-right: 1px solid #c9c9c9; }
.xd-root table.xd-sodd2 tbody td { font-size: 17px; border-top: 1px solid #c9c9c9; border-bottom: 1px solid #c9c9c9; }
.xd-root table.xd-sodd2 tbody td:not(.xd-sodd-empty) { border-left: 1px solid #c9c9c9; }
.xd-root table.xd-sodd2 tbody td:last-child { border-right: 1px solid #c9c9c9; }
.xd-root table.xd-sodd2 .xd-sodd-wd { display: block; }
.xd-root table.xd-sodd2 .xd-sodd-prov { display: inline; white-space: normal; }
.xd-root table.xd-sodd2 td.xd-sodd-date { width: 1%; min-width: 92px; padding: 8px 10px; white-space: nowrap; font-size: 16px; color: #333; background: #f3f3f3; }
.xd-root table.xd-sodd2 tbody tr:hover td:not(.xd-sodd-empty):not(.xd-sodd-date) { background: #fff8e1; }
.xd-root table.xd-sodd2 .xd-sodd-n, .xd-root table.xd-sodd2 .xd-sodd-head { color: #0b62c4; }
.xd-root table.xd-sodd2 .xd-sodd-red { color: #ed1c24; }
.xd-root table.xd-sodd2 td.xd-sodd-g7 { font-size: 22px; font-weight: 700; color: #0b62c4; letter-spacing: .02em; }
.xd-root table.xd-sodd2 td.xd-sodd-db i { font-style: normal; font-size: 22px; font-weight: 700; letter-spacing: .02em; }
.xd-root table.xd-sodd2 td.xd-sodd-slot { font-size: 16px; color: #333; }
.xd-root table.xd-sodd2 td.xd-sodd-slot b { font-size: 21px; font-weight: 700; }
.xd-root table.xd-sodd2 .xd-sodd-sep { margin: 0 3px; color: #888; font-size: 18px; }
.xd-root table.xd-sodd2-slots td.xd-sodd-slot, .xd-root table.xd-sodd2-slots td.xd-sodd-empty { width: 22%; }
.xd-root .xd-sodd-none { margin: 0; padding: 16px 12px; text-align: center; color: #666; }
.xd-root button.xd-sodd-more { display: block; min-width: 150px; height: 40px; margin: 4px auto 8px; padding: 0 24px; font-family: inherit; font-size: 16px;
  font-weight: 700; color: #fff; background: #ed1c24; border: 0; border-radius: 8px; cursor: pointer; text-transform: none; box-shadow: none; }
.xd-root button.xd-sodd-more:hover { background: #c8101a; }
@media (max-width: 600px) {
  .xd-root nav.xd-sodd-tabs .xd-sodd-tab { padding: 11px 1px; font-size: 13px; }
  .xd-root nav.xd-sodd-tabs .xd-sodd-tab:first-child { flex-grow: 1.9; }
  .xd-root h2.xd-sodd-title { font-size: 18px !important; padding: 10px 12px !important; }
  .xd-root .xd-sodd-picker select { max-width: 65%; }
  .xd-root table.xd-sodd2 { border-spacing: 0 8px; }
  .xd-root table.xd-sodd2 th, .xd-root table.xd-sodd2 td { padding: 6px 2px; }
  .xd-root table.xd-sodd2 thead th { font-size: 15px; }
  .xd-root table.xd-sodd2 td.xd-sodd-date { min-width: 0; padding: 6px 4px; font-size: 13px; }
  .xd-root table.xd-sodd2 td.xd-sodd-g7, .xd-root table.xd-sodd2 td.xd-sodd-db i { font-size: 18px; }
  .xd-root table.xd-sodd2 td.xd-sodd-slot { font-size: 12px; line-height: 1.4; }
  .xd-root table.xd-sodd2 td.xd-sodd-slot b { font-size: 17px; }
  .xd-root table.xd-sodd2 .xd-sodd-sep { margin: 0 1px; font-size: 14px; }
}
@media (max-width: 360px) { .xd-root nav.xd-sodd-tabs .xd-sodd-tab { font-size: 12px; } }

/* v1.200.3: sớ đầu đuôi - tab "Thứ 2" … "Thứ 7" viết tắt "T2" … "T7" trên điện thoại */
.xd-root nav.xd-sodd-tabs .xd-tshort { display: none; }
@media (max-width: 600px) {
  .xd-root nav.xd-sodd-tabs .xd-tfull { display: none; }
  .xd-root nav.xd-sodd-tabs .xd-tshort { display: inline; }
  .xd-root nav.xd-sodd-tabs .xd-sodd-tab { font-size: 14px; }
  .xd-root nav.xd-sodd-tabs .xd-sodd-tab:first-child { flex-grow: 2.2; }
}

/* v1.200.4: sớ đầu đuôi - nút "Xem thêm" cùng kiểu nút của trang xsmn thứ 2 (viền đỏ, chữ đỏ, bo tròn) */
.xd-root .xd-more-wrap .xd-more-btn[data-action="sodd-more"] { min-width: 160px; padding: 6px 22px; font-size: 15px; font-weight: 600; line-height: 1.3; color: #c00; background: #fff; border: 1px solid #c00; border-radius: 18px; box-shadow: none; }
.xd-root .xd-more-wrap .xd-more-btn[data-action="sodd-more"]:hover { background: #fdecec; }
.xd-root .xd-sodd-morewrap { margin: 4px 0 8px; }

/* ===== v1.201.0: Thống kê nhanh dưới trang kết quả (.xd-tkn) - màu theo trang Lô gan ===== */
.xd-tkn { margin: 20px 0; font-family: Arial, Helvetica, sans-serif; color: #222; background: #fff; }
.xd-tkn h2.xd-tkn-title { margin: 0 !important; padding: 11px 14px !important; background: #ffe699 !important; color: #222 !important; font-size: 20px !important;
  font-weight: 700 !important; line-height: 1.35 !important; text-align: center; border: 0 !important; }
.xd-tkn input.xd-tkn-radio { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.xd-tkn .xd-tkn-tabs { display: flex; flex-wrap: nowrap; background: #fff; border-bottom: 3px solid #d31f1f; }
.xd-tkn label.xd-tkn-tab { flex: 1 1 0; min-width: 0; margin: 0; padding: 9px 4px; text-align: center; font-size: 16px; font-weight: 700; line-height: 1.35;
  color: #444; background: #f1f1f1; border-right: 1px solid #fff; cursor: pointer; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.xd-tkn label.xd-tkn-tab:last-child { border-right: 0; }
.xd-tkn label.xd-tkn-tab:hover { background: #e6e6e6; }
.xd-tkn .xd-tkn-pane { display: none; padding: 4px 0 6px; }
.xd-tkn .xd-tkn-pane.xd-tkn-open { display: block; }
/* tab đài (Miền Nam / Trung): tối đa 5 đài */
.xd-tkn .xd-tkn-r0:checked ~ .xd-tkn-tabs .xd-tkn-tab:nth-child(1), .xd-tkn .xd-tkn-r1:checked ~ .xd-tkn-tabs .xd-tkn-tab:nth-child(2),
.xd-tkn .xd-tkn-r2:checked ~ .xd-tkn-tabs .xd-tkn-tab:nth-child(3), .xd-tkn .xd-tkn-r3:checked ~ .xd-tkn-tabs .xd-tkn-tab:nth-child(4),
.xd-tkn .xd-tkn-r4:checked ~ .xd-tkn-tabs .xd-tkn-tab:nth-child(5) { background: #d31f1f; color: #fff; }
.xd-tkn .xd-tkn-r0:checked ~ .xd-tkn-panes .xd-tkn-pane:nth-child(1), .xd-tkn .xd-tkn-r1:checked ~ .xd-tkn-panes .xd-tkn-pane:nth-child(2),
.xd-tkn .xd-tkn-r2:checked ~ .xd-tkn-panes .xd-tkn-pane:nth-child(3), .xd-tkn .xd-tkn-r3:checked ~ .xd-tkn-panes .xd-tkn-pane:nth-child(4),
.xd-tkn .xd-tkn-r4:checked ~ .xd-tkn-panes .xd-tkn-pane:nth-child(5) { display: block; }
.xd-tkn input.xd-tkn-radio:focus-visible ~ .xd-tkn-tabs { outline: 2px solid #d31f1f; outline-offset: 2px; }
.xd-tkn h3.xd-tkn-sub { margin: 12px 0 8px !important; padding: 0 4px !important; font-size: 17px !important; font-weight: 700 !important; line-height: 1.35 !important; color: #333 !important; text-align: left; border: 0 !important; background: none !important; }
.xd-tkn .xd-tkn-cells { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 1px solid #c9c9c9; border-left: 1px solid #c9c9c9; }
.xd-tkn .xd-tkn-cell { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; padding: 8px 2px; border-right: 1px solid #c9c9c9; border-bottom: 1px solid #c9c9c9; text-align: center; }
.xd-tkn .xd-tkn-cell b { font-size: 22px; font-weight: 700; line-height: 1.15; color: #ed1c24; }
.xd-tkn .xd-tkn-cell span { font-size: 14px; color: #0b62c4; }
.xd-tkn .xd-tkn-digits .xd-tkn-cell b { font-size: 17px; color: #222; }
.xd-tkn .xd-tkn-digits .xd-tkn-cell span { color: #ed1c24; font-weight: 700; }
.xd-tkn .xd-tkn-cell:hover { background: #fff8e1; }
.xd-tkn .xd-tkn-empty { margin: 0; padding: 12px; text-align: center; color: #666; }
.xd-tkn p.xd-tkn-note { margin: 8px 0 0; padding: 0 4px; font-size: 13px; color: #666; }
/* Thống kê giải ĐB 30 ngày: bộ lọc Đầu | Đuôi | Loto | Tổng */
.xd-tkdb .xd-tkdb-tabs { margin: 10px 0 0; }
.xd-tkdb .xd-tkdb-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border-top: 1px solid #c9c9c9; border-left: 1px solid #c9c9c9; }
.xd-tkdb .xd-tkdb-cell { display: flex; flex-direction: column; align-items: center; gap: 1px; padding: 7px 2px; border-right: 1px solid #c9c9c9; border-bottom: 1px solid #c9c9c9; text-align: center; }
.xd-tkdb .xd-tkdb-date { font-size: 13px; color: #0b62c4; }
.xd-tkdb .xd-tkdb-db { font-size: 14px; color: #555; letter-spacing: .03em; }
.xd-tkdb .xd-tkdb-db em { font-style: normal; font-weight: 700; color: #ed1c24; }
.xd-tkdb b.xd-tkdb-v { display: none; font-size: 24px; font-weight: 700; line-height: 1.2; color: #ed1c24; }
.xd-tkdb .xd-tkdb-r-dau:checked ~ .xd-tkdb-grid .xd-tkdb-dau, .xd-tkdb .xd-tkdb-r-duoi:checked ~ .xd-tkdb-grid .xd-tkdb-duoi,
.xd-tkdb .xd-tkdb-r-loto:checked ~ .xd-tkdb-grid .xd-tkdb-loto, .xd-tkdb .xd-tkdb-r-tong:checked ~ .xd-tkdb-grid .xd-tkdb-tong { display: block; }
.xd-tkdb .xd-tkdb-r-dau:checked ~ .xd-tkdb-tabs .xd-tkdb-l-dau, .xd-tkdb .xd-tkdb-r-duoi:checked ~ .xd-tkdb-tabs .xd-tkdb-l-duoi,
.xd-tkdb .xd-tkdb-r-loto:checked ~ .xd-tkdb-tabs .xd-tkdb-l-loto, .xd-tkdb .xd-tkdb-r-tong:checked ~ .xd-tkdb-tabs .xd-tkdb-l-tong { background: #d31f1f; color: #fff; }
@media (max-width: 600px) {
  .xd-tkn h2.xd-tkn-title { font-size: 18px !important; padding: 10px 8px !important; }
  .xd-tkn label.xd-tkn-tab { font-size: 13px; padding: 9px 2px; }
  .xd-tkn h3.xd-tkn-sub { font-size: 15px !important; }
  .xd-tkn .xd-tkn-cell b { font-size: 19px; }
  .xd-tkn .xd-tkn-cell span { font-size: 12px; }
  .xd-tkn .xd-tkn-digits .xd-tkn-cell b { font-size: 14px; }
  .xd-tkdb .xd-tkdb-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .xd-tkdb .xd-tkdb-cell { padding: 6px 0; }
  .xd-tkdb .xd-tkdb-date { font-size: 11px; letter-spacing: -.02em; }
  .xd-tkdb .xd-tkdb-db { font-size: 12px; letter-spacing: 0; }
  .xd-tkdb b.xd-tkdb-v { font-size: 20px; }
}

/* v1.201.1: thống kê nhanh - chữ không phải liên kết dùng màu thường; "Đầu x" / "Đuôi x" / "Tổng x" màu đỏ như các số, số lần màu thường */
.xd-tkn .xd-tkn-cell span, .xd-tkn .xd-tkn-digits .xd-tkn-cell span { color: #333; font-weight: 400; }
.xd-tkn .xd-tkn-digits .xd-tkn-cell b { color: #ed1c24; }
.xd-tkdb .xd-tkdb-date { color: #333; }

/* v1.201.2: Thống kê giải ĐB XSMB 30 ngày - 4 công tắc Đầu | Đuôi | Loto | Tổng (bật/tắt độc lập) + bảng lịch Thứ 2 … CN */
.xd-tkdb .xd-tkdb-grid { display: none; }
.xd-tkdb .xd-tkdb-sws { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; padding: 14px 6px 10px; background: #fff3cc; }
.xd-tkdb label.xd-tkdb-sw { display: flex; flex-direction: column; align-items: center; gap: 6px; margin: 0; cursor: pointer; user-select: none; }
.xd-tkdb .xd-tkdb-knob { position: relative; width: 60px; height: 30px; border-radius: 15px; background: #8a8a8a; transition: background .15s; }
.xd-tkdb .xd-tkdb-knob::after { content: ""; position: absolute; top: -3px; left: -3px; width: 36px; height: 36px; box-sizing: border-box; border-radius: 50%; background: #fff; border: 4px solid #ffe08a; box-shadow: 0 1px 3px rgba(0,0,0,.25); transition: left .15s; }
.xd-tkdb .xd-tkdb-swl { font-size: 17px; font-weight: 700; color: #333; }
.xd-tkdb .xd-tkdb-c-dau:checked ~ .xd-tkdb-sws .xd-tkdb-l-dau .xd-tkdb-knob, .xd-tkdb .xd-tkdb-c-duoi:checked ~ .xd-tkdb-sws .xd-tkdb-l-duoi .xd-tkdb-knob,
.xd-tkdb .xd-tkdb-c-loto:checked ~ .xd-tkdb-sws .xd-tkdb-l-loto .xd-tkdb-knob, .xd-tkdb .xd-tkdb-c-tong:checked ~ .xd-tkdb-sws .xd-tkdb-l-tong .xd-tkdb-knob { background: #ed1c24; }
.xd-tkdb .xd-tkdb-c-dau:checked ~ .xd-tkdb-sws .xd-tkdb-l-dau .xd-tkdb-knob::after, .xd-tkdb .xd-tkdb-c-duoi:checked ~ .xd-tkdb-sws .xd-tkdb-l-duoi .xd-tkdb-knob::after,
.xd-tkdb .xd-tkdb-c-loto:checked ~ .xd-tkdb-sws .xd-tkdb-l-loto .xd-tkdb-knob::after, .xd-tkdb .xd-tkdb-c-tong:checked ~ .xd-tkdb-sws .xd-tkdb-l-tong .xd-tkdb-knob::after { left: 27px; }
.xd-tkdb input.xd-tkn-radio:focus-visible ~ .xd-tkdb-sws { outline: 2px solid #d31f1f; outline-offset: -2px; }
.xd-tkdb .xd-tkdb-scroll { overflow-x: auto; }
.xd-tkdb table.xd-tkdb-cal { width: 100%; margin: 0; border-collapse: collapse; table-layout: fixed; background: #fff; }
.xd-tkdb table.xd-tkdb-cal th { padding: 8px 2px; font-size: 17px; font-weight: 700; color: #333; text-align: center; background: linear-gradient(#fafafa, #e9e9e9); border: 1px solid #ddd; }
.xd-tkdb table.xd-tkdb-cal td { padding: 6px 2px; text-align: center; vertical-align: top; border: 1px solid #ddd; background: #fff; }
.xd-tkdb table.xd-tkdb-cal td.xd-tkdb-off { background: #f7f7f7; }
.xd-tkdb table.xd-tkdb-cal .xd-tkdb-date { display: block; font-size: 13px; color: #333; }
.xd-tkdb table.xd-tkdb-cal .xd-tkdb-db { display: block; font-size: 17px; font-weight: 700; color: #333; letter-spacing: .02em; }
.xd-tkdb table.xd-tkdb-cal .xd-tkdb-db em { font-style: normal; color: #ed1c24; }
.xd-tkdb table.xd-tkdb-cal .xd-tkdb-v { display: none; font-size: 14px; color: #333; line-height: 1.4; }
.xd-tkdb table.xd-tkdb-cal .xd-tkdb-v b { font-size: 17px; font-weight: 700; color: #ed1c24; }
.xd-tkdb .xd-tkdb-c-dau:checked ~ .xd-tkdb-scroll .xd-tkdb-dau, .xd-tkdb .xd-tkdb-c-duoi:checked ~ .xd-tkdb-scroll .xd-tkdb-duoi,
.xd-tkdb .xd-tkdb-c-loto:checked ~ .xd-tkdb-scroll .xd-tkdb-loto, .xd-tkdb .xd-tkdb-c-tong:checked ~ .xd-tkdb-scroll .xd-tkdb-tong { display: block; }
@media (max-width: 600px) {
  .xd-tkdb .xd-tkdb-sws { padding: 12px 2px 8px; }
  .xd-tkdb .xd-tkdb-knob { width: 50px; height: 26px; border-radius: 13px; }
  .xd-tkdb .xd-tkdb-knob::after { width: 32px; height: 32px; }
  .xd-tkdb .xd-tkdb-c-dau:checked ~ .xd-tkdb-sws .xd-tkdb-l-dau .xd-tkdb-knob::after, .xd-tkdb .xd-tkdb-c-duoi:checked ~ .xd-tkdb-sws .xd-tkdb-l-duoi .xd-tkdb-knob::after,
  .xd-tkdb .xd-tkdb-c-loto:checked ~ .xd-tkdb-sws .xd-tkdb-l-loto .xd-tkdb-knob::after, .xd-tkdb .xd-tkdb-c-tong:checked ~ .xd-tkdb-sws .xd-tkdb-l-tong .xd-tkdb-knob::after { left: 21px; }
  .xd-tkdb .xd-tkdb-swl { font-size: 15px; }
  .xd-tkdb table.xd-tkdb-cal th { padding: 7px 0; font-size: 12px; }
  .xd-tkdb table.xd-tkdb-cal td { padding: 4px 0; }
  .xd-tkdb table.xd-tkdb-cal .xd-tkdb-date { font-size: 10px; }
  .xd-tkdb table.xd-tkdb-cal .xd-tkdb-db { font-size: 11px; letter-spacing: -.02em; }
  .xd-tkdb table.xd-tkdb-cal .xd-tkdb-v { font-size: 10px; }
  .xd-tkdb table.xd-tkdb-cal .xd-tkdb-v b { font-size: 13px; }
}

/* v1.201.3: thống kê nhanh nằm trong trang kết quả; số ĐB, ngày, số lần, số kỳ lớn hơn */
.xd-root .xd-tkn-wrap { margin: 0 0 16px; }
.xd-root .xd-tkn-wrap .xd-tkn { margin: 0 0 16px; }
.xd-tkn .xd-tkn-cell span, .xd-tkn .xd-tkn-digits .xd-tkn-cell span { font-size: 16px; }
.xd-tkn .xd-tkn-cell b { font-size: 24px; }
.xd-tkdb table.xd-tkdb-cal .xd-tkdb-date { font-size: 15px; }
.xd-tkdb table.xd-tkdb-cal .xd-tkdb-db { font-size: 20px; }
.xd-tkdb table.xd-tkdb-cal .xd-tkdb-v { font-size: 15px; }
.xd-tkdb table.xd-tkdb-cal .xd-tkdb-v b { font-size: 19px; }
@media (max-width: 600px) {
  .xd-tkn .xd-tkn-cell span, .xd-tkn .xd-tkn-digits .xd-tkn-cell span { font-size: 14px; }
  .xd-tkn .xd-tkn-cell b { font-size: 21px; }
  .xd-tkdb table.xd-tkdb-cal .xd-tkdb-date { font-size: 11px; }
  .xd-tkdb table.xd-tkdb-cal .xd-tkdb-db { font-size: 13px; letter-spacing: -.03em; }
  .xd-tkdb table.xd-tkdb-cal .xd-tkdb-v { font-size: 11px; }
  .xd-tkdb table.xd-tkdb-cal .xd-tkdb-v b { font-size: 14px; }
}
/* v1.201.3: công tắc Đầu / Đuôi / Loto / Tổng nhỏ hơn */
.xd-tkdb .xd-tkdb-sws { padding: 10px 6px 8px; }
.xd-tkdb label.xd-tkdb-sw { gap: 4px; }
.xd-tkdb .xd-tkdb-knob { width: 40px; height: 20px; border-radius: 10px; }
.xd-tkdb .xd-tkdb-knob::after { top: -2px; left: -2px; width: 24px; height: 24px; border-width: 3px; }
.xd-tkdb .xd-tkdb-c-dau:checked ~ .xd-tkdb-sws .xd-tkdb-l-dau .xd-tkdb-knob::after, .xd-tkdb .xd-tkdb-c-duoi:checked ~ .xd-tkdb-sws .xd-tkdb-l-duoi .xd-tkdb-knob::after,
.xd-tkdb .xd-tkdb-c-loto:checked ~ .xd-tkdb-sws .xd-tkdb-l-loto .xd-tkdb-knob::after, .xd-tkdb .xd-tkdb-c-tong:checked ~ .xd-tkdb-sws .xd-tkdb-l-tong .xd-tkdb-knob::after { left: 18px; }
.xd-tkdb .xd-tkdb-swl { font-size: 15px; }
@media (max-width: 600px) {
  .xd-tkdb .xd-tkdb-sws { padding: 8px 2px 6px; }
  .xd-tkdb .xd-tkdb-knob { width: 36px; height: 18px; border-radius: 9px; }
  .xd-tkdb .xd-tkdb-knob::after { width: 22px; height: 22px; }
  .xd-tkdb .xd-tkdb-c-dau:checked ~ .xd-tkdb-sws .xd-tkdb-l-dau .xd-tkdb-knob::after, .xd-tkdb .xd-tkdb-c-duoi:checked ~ .xd-tkdb-sws .xd-tkdb-l-duoi .xd-tkdb-knob::after,
  .xd-tkdb .xd-tkdb-c-loto:checked ~ .xd-tkdb-sws .xd-tkdb-l-loto .xd-tkdb-knob::after, .xd-tkdb .xd-tkdb-c-tong:checked ~ .xd-tkdb-sws .xd-tkdb-l-tong .xd-tkdb-knob::after { left: 16px; }
  .xd-tkdb .xd-tkdb-swl { font-size: 13px; }
}

/* v1.204.0: bảng Loto Miền Bắc "Đầu | Đuôi | Đầu | Đuôi" */
.xd-root .xd-lm-wrap.xd-lm-wrap-dd { grid-template-columns: 1fr; }
.xd-root table.xd-dd-table { width: 100%; margin: 0; border-collapse: collapse; table-layout: fixed; font-family: Arial, Helvetica, sans-serif; background: #fff; }
.xd-root table.xd-dd-table th, .xd-root table.xd-dd-table td { padding: 8px 10px; border: 1px solid #e3e3e3; line-height: 1.3; }
.xd-root table.xd-dd-table th { background: #f7e8c0; color: #333; font-size: 17px; font-weight: 700; }
.xd-root table.xd-dd-table .xd-dd-k { width: 18%; text-align: center; }
.xd-root table.xd-dd-table th.xd-dd-l, .xd-root table.xd-dd-table td.xd-dd-l { text-align: left; }
.xd-root table.xd-dd-table th.xd-dd-r, .xd-root table.xd-dd-table td.xd-dd-r { text-align: right; }
.xd-root table.xd-dd-table td { font-size: 20px; font-weight: 700; color: #333; letter-spacing: .02em; }
.xd-root table.xd-dd-table td.xd-dd-k { color: #d35400; }
.xd-root table.xd-dd-table .xd-dd-db { color: #d35400; font-weight: 700; }
.xd-root table.xd-dd-table td.xd-dd-hit { background: #fff1bf; }
.xd-root table.xd-dd-table tbody tr:hover td { background: #fff1bf; }
@media (max-width: 600px) {
  .xd-root table.xd-dd-table th, .xd-root table.xd-dd-table td { padding: 7px 5px; }
  .xd-root table.xd-dd-table th { font-size: 15px; }
  .xd-root table.xd-dd-table td { font-size: 17px; letter-spacing: 0; }
  .xd-root table.xd-dd-table .xd-dd-k { width: 15%; }
}
/* v1.204.1: bảng Đầu-Đuôi Miền Bắc dùng lại màu bảng Loto cũ; loto giải ĐB đỏ #e1202a */
.xd-root table.xd-dd-table th, .xd-root table.xd-dd-table td { border-color: #ddd; }
.xd-root table.xd-dd-table th { background: #ececec; color: #a50000; }
.xd-root table.xd-dd-table td { font-size: 19px; color: inherit; }
.xd-root table.xd-dd-table td.xd-dd-k { font-size: 18px; color: #a50000; }
.xd-root table.xd-dd-table .xd-dd-db { color: #e1202a; }
.xd-root table.xd-dd-table td.xd-dd-hit, .xd-root table.xd-dd-table tbody tr:hover td { background: #fff; }
@media (max-width: 600px) { .xd-root table.xd-dd-table td { font-size: 18px; } .xd-root table.xd-dd-table td.xd-dd-k { font-size: 17px; } }

/* v1.206.2: trang quay thử - "Quay thử các tỉnh mở thưởng hôm nay" cùng kiểu hàng tab thứ */
.xd-root .xd-qt-quick { display: block; margin-top: 12px; }
.xd-root .xd-qt-quick .xd-qt-quick-l { margin: 0 0 6px; font-weight: 700; color: #333; }
.xd-root .xd-qt-quick .xd-dayrow { margin: 0; }
.xd-root .xd-daytabs.xd-qt-today { display: flex; flex-wrap: wrap; }
.xd-root .xd-daytabs.xd-qt-today > .xd-wdtab { flex: 1 1 auto; min-width: 90px; justify-content: center; white-space: nowrap; font-family: inherit; cursor: pointer; }
@media (max-width: 600px) { .xd-root .xd-daytabs.xd-qt-today { display: grid; grid-template-columns: repeat(3, 1fr); } .xd-root .xd-daytabs.xd-qt-today > .xd-wdtab { min-width: 0; } }
@media (max-width: 600px) { .xd-root .xd-nav.xd-qt-nav .xd-navlink { flex: 1 1 0; min-width: 0; font-size: 14px; line-height: 1.2; padding: 6px 2px; white-space: normal; text-align: center; display: flex; align-items: center; justify-content: center; } }

/* v1.206.3: điện thoại (iOS) - chữ trong ô chọn giữ màu chữ thường, không chuyển sang xanh */
.xd-root .xd-field select, .xd-root .xd-field select option { color: #222; -webkit-text-fill-color: #222; }
.xd-root .xd-field select:disabled { color: #222; -webkit-text-fill-color: #222; opacity: .6; }
.xd-root .xd-field select { -webkit-appearance: none; appearance: none; padding-right: 30px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23444' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 10px center; background-size: 12px 8px; }
/* v1.206.4: Thống kê giải ĐB XSMB 30 ngày - số và ngày to hơn trên điện thoại */
@media (max-width: 600px) {
  .xd-tkdb table.xd-tkdb-cal th { font-size: 13px; }
  .xd-tkdb table.xd-tkdb-cal td { padding: 5px 0; }
  .xd-tkdb table.xd-tkdb-cal .xd-tkdb-date { font-size: 13px; }
  .xd-tkdb table.xd-tkdb-cal .xd-tkdb-db { font-size: 16px; letter-spacing: -.03em; }
  .xd-tkdb table.xd-tkdb-cal .xd-tkdb-v { font-size: 12.5px; }
  .xd-tkdb table.xd-tkdb-cal .xd-tkdb-v b { font-size: 17px; }
}
@media (max-width: 360px) {
  .xd-tkdb table.xd-tkdb-cal .xd-tkdb-date { font-size: 12px; }
  .xd-tkdb table.xd-tkdb-cal .xd-tkdb-db { font-size: 14.5px; }
}

/* ===== v1.207.0: Xổ số điện toán 1-2-3, 6x36, Thần Tài 4 (.xd-dt) - màu theo trang Lô gan ===== */
.xd-root.xd-dt { font-family: Arial, Helvetica, sans-serif; color: #222; }
.xd-root.xd-dt .xd-dt-tabs { margin: 0 0 14px; }
.xd-root.xd-dt .xd-dt-tabs .xd-daytabs { display: flex; }
.xd-root.xd-dt .xd-dt-tabs .xd-wdtab { flex: 1 1 0; justify-content: center; display: flex; align-items: center; }
.xd-dt .xd-dt-sec { margin: 0 0 18px; background: #fff; }
.xd-dt h2.xd-dt-title { margin: 0 0 10px !important; padding: 11px 14px !important; background: #ffe699 !important; color: #222 !important; font-size: 20px !important;
  font-weight: 700 !important; line-height: 1.35 !important; text-align: center; border: 0 !important; }
.xd-dt h3.xd-dt-sub { margin: 4px 0 8px !important; font-size: 17px !important; font-weight: 700 !important; color: #333 !important; text-align: center; }
.xd-dt .xd-dt-ky { margin: 0 0 8px; text-align: center; color: #333; }
.xd-dt .xd-dt-nums { display: flex; justify-content: center; padding: 10px 0 4px; }
.xd-dt .xd-dt-balls { display: inline-flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.xd-dt .xd-dt-ball { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 50%; background: #fff;
  border: 2px solid #ed1c24; color: #ed1c24; font-size: 22px; font-weight: 700; line-height: 1; }
.xd-dt .xd-dt-ball.xd-dt-ball-red { background: #ed1c24; color: #fff; }
.xd-dt .xd-dt-small .xd-dt-ball { width: 34px; height: 34px; font-size: 16px; border-width: 1px; }
.xd-dt .xd-dt-123 { display: flex; flex-wrap: wrap; gap: 18px 28px; justify-content: center; }
.xd-dt .xd-dt-123g, .xd-dt .xd-dt-tt4c { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.xd-dt .xd-dt-123g .xd-dt-ball { background: #ed1c24; color: #fff; }
.xd-dt .xd-dt-lbl { font-size: 14px; font-weight: 700; color: #333; }
.xd-dt .xd-dt-tt4 { display: flex; gap: 16px; justify-content: center; }
.xd-dt .xd-dt-tt4 .xd-dt-ball { width: 56px; height: 56px; font-size: 28px; }
.xd-dt .xd-dt-note { margin: 8px 0 0; font-size: 13px; color: #666; text-align: center; }
.xd-dt .xd-dt-prev { margin: 10px 0 0; padding: 8px 10px; text-align: center; background: #f7f7f7; border: 1px solid #e5e5e5; }
.xd-dt .xd-dt-prev span { font-weight: 700; color: #ed1c24; letter-spacing: .03em; }
.xd-dt .xd-dt-scroll { overflow-x: auto; }
.xd-dt table.xd-dt-table { width: 100%; margin: 0; border-collapse: collapse; background: #fff; }
.xd-dt table.xd-dt-table th, .xd-dt table.xd-dt-table td { padding: 7px 6px; border: 1px solid #c9c9c9; text-align: center; vertical-align: middle; font-size: 15px; line-height: 1.35; }
.xd-dt table.xd-dt-table thead th { background: #eee; color: #333; font-weight: 700; }
.xd-dt table.xd-dt-table tbody th { background: #f7f7f7; font-weight: 700; white-space: nowrap; }
.xd-dt table.xd-dt-table tbody tr:hover td { background: #fff8e1; }
.xd-dt table.xd-dt-table td.xd-dt-max { background: #ffe699; font-weight: 700; }
.xd-dt table.xd-dt-table small { color: #666; font-size: 12px; }
.xd-dt .xd-dt-red { color: #ed1c24; font-weight: 700; font-size: 17px; }
.xd-dt .xd-dt-big { font-size: 20px; letter-spacing: .04em; }
.xd-dt table.xd-dt-freq td:nth-child(2) { text-align: left; white-space: nowrap; }
.xd-dt .xd-dt-bar { display: inline-block; width: 120px; height: 8px; margin-right: 6px; vertical-align: middle; background: #eee; border-radius: 4px; overflow: hidden; }
.xd-dt .xd-dt-bar i { display: block; height: 100%; background: #ed1c24; }
.xd-dt .xd-dt-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.xd-dt .xd-dt-grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.xd-dt .xd-dt-grid2 > .xd-dt-sec { margin-bottom: 0; }
.xd-dt .xd-dt-empty { padding: 14px; text-align: center; color: #666; }
.xd-dt .xd-dt-info .xd-dt-sec h2.xd-dt-title { text-align: left; }
.xd-dt .xd-dt-info p, .xd-dt .xd-dt-info li { font-size: 16px; line-height: 1.6; }
.xd-dt .xd-dt-info .xd-dt-prize td { text-align: left; }
@media (max-width: 600px) {
  .xd-dt h2.xd-dt-title { font-size: 18px !important; padding: 10px 8px !important; }
  .xd-root.xd-dt .xd-dt-tabs .xd-wdtab { font-size: 13px; padding-left: 2px; padding-right: 2px; }
  .xd-dt .xd-dt-ball { width: 40px; height: 40px; font-size: 19px; }
  .xd-dt .xd-dt-tt4 { gap: 10px; }
  .xd-dt .xd-dt-tt4 .xd-dt-ball { width: 50px; height: 50px; font-size: 25px; }
  .xd-dt .xd-dt-123 { gap: 12px 16px; }
  .xd-dt .xd-dt-small .xd-dt-ball { width: 30px; height: 30px; font-size: 14px; }
  .xd-dt .xd-dt-balls { gap: 5px; }
  .xd-dt .xd-dt-grid3, .xd-dt .xd-dt-grid2 { grid-template-columns: 1fr; }
  .xd-dt table.xd-dt-table th, .xd-dt table.xd-dt-table td { padding: 6px 3px; font-size: 14px; }
  .xd-dt table.xd-dt-digits th, .xd-dt table.xd-dt-digits td { font-size: 13px; padding: 6px 2px; }
  .xd-dt .xd-dt-bar { width: 60px; }
}

/* v1.207.1: điện toán - "Kết quả kỳ trước" nổi bật: nền kem, ngày và kết quả đỏ #d31f1f, kết quả to */
.xd-dt .xd-dt-prev { display: flex; flex-direction: column; align-items: center; gap: 4px; margin: 12px 0 0; padding: 14px 10px 16px; text-align: center;
  background: #fff5e6; border: 0; border-top: 2px solid #fde3c4; }
.xd-dt .xd-dt-prev .xd-dt-prev-l { font-size: 20px; color: #6b4a2b; font-weight: 400; letter-spacing: 0; }
.xd-dt .xd-dt-prev .xd-dt-prev-l b { color: #d31f1f; font-weight: 700; }
.xd-dt .xd-dt-prev .xd-dt-prev-v { font-size: 34px; font-weight: 700; line-height: 1.2; color: #d31f1f; letter-spacing: .15em; }
@media (max-width: 600px) {
  .xd-dt .xd-dt-prev .xd-dt-prev-l { font-size: 17px; }
  .xd-dt .xd-dt-prev .xd-dt-prev-v { font-size: 28px; letter-spacing: .1em; }
}
/* v1.207.2: điện toán - bóng kết quả 3 trang cùng cỡ Thần Tài, chữ trong bóng to hơn; kết quả kỳ trước nhỏ hơn */
.xd-dt .xd-dt-latest .xd-dt-ball, .xd-dt .xd-dt-tt4 .xd-dt-ball { width: 56px; height: 56px; font-size: 30px; }
.xd-dt .xd-dt-prev .xd-dt-prev-v { font-size: 26px; }
@media (max-width: 600px) {
  .xd-dt .xd-dt-latest .xd-dt-ball, .xd-dt .xd-dt-tt4 .xd-dt-ball { width: 50px; height: 50px; font-size: 27px; }
  .xd-dt .xd-dt-latest .xd-dt-balls6 { gap: 4px; }
  .xd-dt .xd-dt-latest .xd-dt-balls6 .xd-dt-ball { width: 48px; height: 48px; font-size: 24px; }
  .xd-dt .xd-dt-prev .xd-dt-prev-v { font-size: 22px; }
}
@media (max-width: 360px) { .xd-dt .xd-dt-latest .xd-dt-balls6 .xd-dt-ball { width: 42px; height: 42px; font-size: 21px; } }

/* ===== v1.208.0: Keno Vietlott (.xd-kn) - màu theo trang Lô gan ===== */
.xd-root.xd-kn { font-family: Arial, Helvetica, sans-serif; color: #222; }
.xd-root.xd-kn .xd-kn-tabs { margin: 0 0 14px; }
.xd-root.xd-kn .xd-kn-tabs .xd-daytabs { display: flex; }
.xd-root.xd-kn .xd-kn-tabs .xd-wdtab { flex: 1 1 0; display: flex; align-items: center; justify-content: center; }
.xd-kn .xd-kn-sec { margin: 0 0 18px; background: #fff; }
.xd-kn h2.xd-kn-title { margin: 0 0 10px !important; padding: 11px 14px !important; background: #ffe699 !important; color: #222 !important; font-size: 20px !important;
  font-weight: 700 !important; line-height: 1.35 !important; text-align: center; border: 0 !important; }
.xd-kn h3.xd-kn-sub { margin: 4px 0 8px !important; font-size: 17px !important; font-weight: 700 !important; color: #333 !important; text-align: center; }
.xd-kn .xd-kn-head { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 18px; margin: 0 0 10px; font-size: 16px; color: #333; }
.xd-kn .xd-kn-head b { color: #d31f1f; }
.xd-kn .xd-kn-balls { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 5px; }
.xd-kn .xd-kn-ball { display: inline-flex; align-items: center; justify-content: center; aspect-ratio: 1 / 1; min-width: 0; border-radius: 50%; background: #fff;
  border: 2px solid #0b62c4; color: #0b62c4; font-size: 15px; font-weight: 700; line-height: 1; }
.xd-kn .xd-kn-ball.xd-kn-big { border-color: #ed1c24; color: #ed1c24; }
.xd-kn .xd-kn-ball.xd-kn-hit { background: #ffe699; }
.xd-kn .xd-kn-balls-lg { max-width: 640px; margin: 0 auto; gap: 8px; }
.xd-kn .xd-kn-balls-lg .xd-kn-ball { font-size: 22px; background: #0b62c4; color: #fff; }
.xd-kn .xd-kn-balls-lg .xd-kn-ball.xd-kn-big { background: #ed1c24; color: #fff; }
.xd-kn .xd-kn-ball.xd-kn-sm { width: 34px; height: 34px; font-size: 14px; }
.xd-kn .xd-kn-sum { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 12px 0 0; }
.xd-kn .xd-kn-sum span { padding: 5px 12px; border: 1px solid #c9c9c9; border-radius: 16px; font-size: 15px; background: #f7f7f7; }
.xd-kn .xd-kn-sum b { color: #d31f1f; }
.xd-kn .xd-kn-next { margin: 12px 0 0; padding: 10px; text-align: center; background: #fff5e6; border-top: 2px solid #fde3c4; font-size: 16px; }
.xd-kn .xd-kn-next b { color: #d31f1f; }
.xd-kn .xd-kn-rule { margin: 8px 0; font-size: 14px; color: #555; text-align: center; }
.xd-kn .xd-kn-empty { padding: 14px; text-align: center; color: #666; }
.xd-kn .xd-kn-list { border-top: 1px solid #c9c9c9; }
.xd-kn .xd-kn-row { display: grid; grid-template-columns: 96px 1fr 120px; gap: 10px; align-items: center; padding: 8px 6px; border: 1px solid #c9c9c9; border-top: 0; }
.xd-kn .xd-kn-row:nth-child(even) { background: #fafafa; }
.xd-kn .xd-kn-ky { display: flex; flex-direction: column; align-items: center; font-size: 15px; }
.xd-kn .xd-kn-ky b { color: #d31f1f; }
.xd-kn .xd-kn-ky span { font-size: 13px; color: #555; }
.xd-kn .xd-kn-pills { display: flex; flex-direction: column; gap: 4px; align-items: stretch; }
.xd-kn .xd-kn-pill { padding: 3px 8px; border-radius: 12px; font-size: 13px; font-weight: 700; text-align: center; color: #fff; background: #888; }
.xd-kn .xd-kn-chan, .xd-kn .xd-kn-lon { background: #ed1c24; }
.xd-kn .xd-kn-le, .xd-kn .xd-kn-nho { background: #0b62c4; }
.xd-kn .xd-kn-hoa { background: #8a8a8a; }
.xd-kn .xd-kn-morebtn { display: block; min-width: 160px; margin: 12px auto 4px; padding: 6px 22px; font-size: 15px; font-weight: 600; color: #c00; background: #fff; border: 1px solid #c00; border-radius: 18px; cursor: pointer; }
.xd-kn .xd-kn-morebtn:hover { background: #fdecec; }
.xd-kn .xd-kn-form { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; justify-content: center; padding: 6px 0; }
.xd-kn .xd-kn-form label { display: flex; flex-direction: column; gap: 4px; font-size: 14px; font-weight: 700; color: #333; }
.xd-kn .xd-kn-form input { height: 40px; padding: 4px 10px; font-family: inherit; font-size: 16px; color: #222; -webkit-text-fill-color: #222; border: 1px solid #ccc; border-radius: 8px; background: #fff; }
.xd-kn .xd-kn-form .xd-kn-wide input { min-width: 220px; }
.xd-kn .xd-kn-btn { height: 40px; padding: 0 20px; font-family: inherit; font-size: 16px; font-weight: 700; color: #fff; background: #ed1c24; border: 0; border-radius: 8px; cursor: pointer; }
.xd-kn .xd-kn-grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.xd-kn table.xd-kn-table { width: 100%; margin: 0; border-collapse: collapse; }
.xd-kn table.xd-kn-table th, .xd-kn table.xd-kn-table td { padding: 6px; border: 1px solid #c9c9c9; text-align: center; font-size: 15px; }
.xd-kn table.xd-kn-table thead th { background: #eee; }
.xd-kn table.xd-kn-table tr.xd-kn-max td { background: #ffe699; }
.xd-kn .xd-kn-heat { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); border-top: 1px solid #c9c9c9; border-left: 1px solid #c9c9c9; }
.xd-kn .xd-kn-hc { display: flex; flex-direction: column; align-items: center; padding: 6px 2px; border-right: 1px solid #c9c9c9; border-bottom: 1px solid #c9c9c9; }
.xd-kn .xd-kn-hc b { font-size: 16px; } .xd-kn .xd-kn-hc span { font-size: 13px; color: #555; }
.xd-kn .xd-kn-l0 { background: #fff; } .xd-kn .xd-kn-l1 { background: #fff4d6; } .xd-kn .xd-kn-l2 { background: #ffe699; }
.xd-kn .xd-kn-l3 { background: #ffc266; } .xd-kn .xd-kn-l4 { background: #ff8a5c; }
.xd-kn .xd-kn-bar { display: flex; height: 34px; border-radius: 6px; overflow: hidden; font-size: 14px; font-weight: 700; color: #fff; }
.xd-kn .xd-kn-bar span { display: flex; align-items: center; justify-content: center; min-width: 60px; white-space: nowrap; }
.xd-kn .xd-kn-ba { background: #ed1c24; } .xd-kn .xd-kn-bb { background: #0b62c4; }
.xd-kn .xd-kn-info p { font-size: 16px; line-height: 1.6; }
.xd-kn .xd-kn-info h2.xd-kn-title { text-align: left; }
@media (max-width: 600px) {
  .xd-kn h2.xd-kn-title { font-size: 18px !important; padding: 10px 8px !important; }
  .xd-root.xd-kn .xd-kn-tabs .xd-wdtab { font-size: 13px; padding-left: 2px; padding-right: 2px; }
  .xd-kn .xd-kn-balls { gap: 3px; }
  .xd-kn .xd-kn-ball { font-size: 13px; border-width: 1.5px; }
  .xd-kn .xd-kn-balls-lg { gap: 5px; }
  .xd-kn .xd-kn-balls-lg .xd-kn-ball { font-size: 16px; }
  .xd-kn .xd-kn-row { grid-template-columns: 1fr auto; gap: 6px; }
  .xd-kn .xd-kn-row .xd-kn-balls { grid-column: 1 / -1; grid-row: 2; }
  .xd-kn .xd-kn-ky { flex-direction: row; gap: 8px; justify-content: flex-start; }
  .xd-kn .xd-kn-pills { flex-direction: row; }
  .xd-kn .xd-kn-grid2 { grid-template-columns: 1fr; }
  .xd-kn .xd-kn-hc b { font-size: 14px; } .xd-kn .xd-kn-hc span { font-size: 11px; }
  .xd-kn .xd-kn-form label { flex: 1 1 140px; } .xd-kn .xd-kn-form .xd-kn-wide input { min-width: 0; }
}
.xd-kn .xd-kn-row .xd-kn-balls { grid-template-columns: repeat(10, 38px); justify-content: center; gap: 5px; }
.xd-kn .xd-kn-row .xd-kn-ball { width: 38px; height: 38px; }
@media (max-width: 600px) {
  .xd-kn .xd-kn-row .xd-kn-balls { grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 3px; }
  .xd-kn .xd-kn-row .xd-kn-ball { width: auto; height: auto; }
}

/* v1.208.2: trang trực tiếp Keno theo bố cục Minh Chính */
.xd-kn .xd-kn-lv-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin: 0 0 12px; padding: 10px 12px; background: #fff5e6; border: 1px solid #fde3c4; border-radius: 6px; }
.xd-kn .xd-kn-lv-ky { display: flex; flex-direction: column; font-size: 15px; } .xd-kn .xd-kn-lv-ky > b { font-size: 22px; color: #d31f1f; }
.xd-kn .xd-kn-lv-ky span b { color: #222; }
.xd-kn .xd-kn-lv-st { display: flex; flex-wrap: wrap; gap: 6px 12px; font-size: 14px; font-weight: 700; color: #555; } .xd-kn .xd-kn-lv-st b { color: #d31f1f; font-size: 16px; }
.xd-kn .xd-kn-lv-nx { font-size: 15px; font-weight: 700; } .xd-kn .xd-kn-lv-nx b { display: inline-block; min-width: 64px; padding: 4px 10px; color: #fff; background: #d31f1f; border-radius: 6px; text-align: center; font-size: 18px; }
.xd-kn .xd-kn-ltabs { margin-top: 14px; }
.xd-kn .xd-kn-ltabs input.xd-kn-tr { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.xd-kn .xd-kn-tl { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 3px solid #d31f1f; }
.xd-kn .xd-kn-tl label { margin: 0; padding: 9px 4px; text-align: center; font-size: 15px; font-weight: 700; color: #444; background: #f1f1f1; border-right: 1px solid #fff; cursor: pointer; }
.xd-kn .xd-kn-tp { display: none; padding: 12px 4px 4px; }
.xd-kn .xd-kn-tr0:checked ~ .xd-kn-tl label:nth-child(1), .xd-kn .xd-kn-tr1:checked ~ .xd-kn-tl label:nth-child(2),
.xd-kn .xd-kn-tr2:checked ~ .xd-kn-tl label:nth-child(3), .xd-kn .xd-kn-tr3:checked ~ .xd-kn-tl label:nth-child(4) { background: #d31f1f; color: #fff; }
.xd-kn .xd-kn-tr0:checked ~ .xd-kn-tps .xd-kn-tp:nth-child(1), .xd-kn .xd-kn-tr1:checked ~ .xd-kn-tps .xd-kn-tp:nth-child(2),
.xd-kn .xd-kn-tr2:checked ~ .xd-kn-tps .xd-kn-tp:nth-child(3), .xd-kn .xd-kn-tr3:checked ~ .xd-kn-tps .xd-kn-tp:nth-child(4) { display: block; }
.xd-kn .xd-kn-nextbig { text-align: center; font-size: 17px; } .xd-kn .xd-kn-nextbig b { color: #d31f1f; }
.xd-kn .xd-kn-cdbig b { display: inline-block; margin: 10px 0 4px; padding: 6px 22px; font-size: 40px; color: #fff !important; background: #d31f1f; border-radius: 10px; letter-spacing: .05em; }
.xd-kn .xd-kn-freq { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 8px 4px; }
.xd-kn .xd-kn-freq > div { display: flex; flex-direction: column; align-items: center; gap: 2px; } .xd-kn .xd-kn-freq small { font-size: 12px; color: #555; }
.xd-kn .xd-kn-freq5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.xd-kn .xd-kn-bh { background: #8a8a8a; }
.xd-kn .xd-kn-dots { display: flex; flex-wrap: wrap; gap: 4px; justify-content: center; }
.xd-kn .xd-kn-dot { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; font-size: 12px; font-weight: 700; color: #fff; }
.xd-kn .xd-kn-red { color: #d31f1f; }
.xd-kn table.xd-kn-lvtable td { vertical-align: middle; } .xd-kn table.xd-kn-lvtable td:first-child { width: 110px; } .xd-kn table.xd-kn-lvtable td:nth-child(2) { width: 90px; }
.xd-kn table.xd-kn-lvtable .xd-kn-pills { margin-top: 6px; }
.xd-kn table.xd-kn-lvtable .xd-kn-balls { grid-template-columns: repeat(10, 34px); justify-content: center; gap: 4px; } .xd-kn table.xd-kn-lvtable .xd-kn-ball { width: 34px; height: 34px; font-size: 14px; }
.xd-kn .xd-kn-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.xd-kn .xd-kn-scroll { overflow-x: auto; }
@media (max-width: 600px) {
  .xd-kn .xd-kn-tl label { font-size: 12.5px; padding: 8px 2px; }
  .xd-kn .xd-kn-freq { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .xd-kn .xd-kn-freq5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .xd-kn .xd-kn-grid3 { grid-template-columns: 1fr; }
  .xd-kn .xd-kn-cdbig b { font-size: 32px; }
  .xd-kn table.xd-kn-lvtable thead { display: none; }
  .xd-kn table.xd-kn-lvtable tr { display: grid; grid-template-columns: 1fr 1fr; }
  .xd-kn table.xd-kn-lvtable td { width: auto !important; }
  .xd-kn table.xd-kn-lvtable td:nth-child(3) { grid-column: 1 / -1; }
  .xd-kn table.xd-kn-lvtable .xd-kn-balls { grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 3px; }
  .xd-kn table.xd-kn-lvtable .xd-kn-ball { width: auto; height: auto; font-size: 12px; }
}

/* v1.208.3: trang Trực tiếp Keno theo hình mẫu */
.xd-kn .xd-kn-lvhead { margin: 0 0 12px; text-align: center; }
.xd-kn h2.xd-kn-lvh2 { margin: 0 0 4px !important; padding: 0 !important; background: none !important; border: 0 !important; font-size: 22px !important; font-weight: 700 !important; color: #222 !important; line-height: 1.35 !important; }
.xd-kn h2.xd-kn-lvh2.xd-kn-left { text-align: left; margin-bottom: 12px !important; }
.xd-kn .xd-kn-crumb { margin: 0; font-size: 15px; } .xd-kn .xd-kn-crumb a { color: #0b62c4; text-decoration: none; }
.xd-kn .xd-kn-ybox { display: grid; grid-template-columns: 300px 1fr; gap: 14px; align-items: center; padding: 14px; background: #ffe9a3; }
.xd-kn .xd-kn-ystat { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.xd-kn .xd-kn-ys { display: flex; align-items: center; gap: 8px; padding: 6px 10px; background: #fff; border: 2px solid #c8102e; border-radius: 4px; font-size: 18px; font-weight: 700; color: #222; }
.xd-kn .xd-kn-ys > span:not(.xd-kn-ic) { flex: 1 1 auto; white-space: nowrap; }
.xd-kn .xd-kn-ys b { font-size: 18px; } .xd-kn .xd-kn-ys b.xd-kn-red { color: #ed1c24; }
.xd-kn .xd-kn-ic { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 30px; height: 30px; border-radius: 50%; color: #fff; font-size: 17px; font-weight: 700; line-height: 1; }
.xd-kn .xd-kn-ic-chan { background: #1d5fbf; } .xd-kn .xd-kn-ic-le { background: #45aaf2; }
.xd-kn .xd-kn-ic-lon { background: #f26a35; } .xd-kn .xd-kn-ic-nho { background: #f6a623; }
.xd-kn .xd-kn-ic-hcl, .xd-kn .xd-kn-ic-hln { background: #8a8a8a; }
.xd-kn .xd-kn-yballs { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 8px; }
.xd-kn .xd-kn-lball { display: flex; align-items: center; justify-content: center; aspect-ratio: 1 / 1; border-radius: 50%; background: #fff; border: 2px solid #c8102e; color: #c8102e; font-size: 26px; font-weight: 700; }
.xd-kn .xd-kn-beads { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 18px 0; }
.xd-kn .xd-kn-bt { margin: 0 0 6px; font-size: 15px; font-weight: 700; color: #333; }
.xd-kn .xd-kn-bead { overflow-x: auto; border: 1px solid #ddd; background: #fff; }
.xd-kn .xd-kn-bead-in { display: grid; grid-template-rows: repeat(6, 40px); width: max-content; }
.xd-kn .xd-kn-bc { display: flex; align-items: center; justify-content: center; border-right: 1px solid #e3e3e3; border-bottom: 1px solid #e3e3e3; }
.xd-kn .xd-kn-bc .xd-kn-ic { width: 28px; height: 28px; font-size: 15px; }
.xd-kn table.xd-kn-ltable { width: 100%; min-width: 620px; margin: 0; border-collapse: collapse; }
.xd-kn table.xd-kn-ltable th { padding: 10px 6px; background: #eef6ff; color: #d31f1f; font-size: 18px; font-weight: 700; border: 1px solid #dfe7ef; }
.xd-kn table.xd-kn-ltable td { padding: 8px 4px; text-align: center; border: 1px solid #e3e3e3; background: #fff; }
.xd-kn table.xd-kn-ltable tr.xd-kn-first td { background: #fff8e1; }
.xd-kn table.xd-kn-ltable tr.xd-kn-extra { display: none; }
.xd-kn table.xd-kn-ltable td.xd-kn-tky { width: 130px; } .xd-kn table.xd-kn-ltable td.xd-kn-tky b { font-size: 17px; }
.xd-kn table.xd-kn-ltable td.xd-kn-tky div { display: flex; justify-content: center; gap: 6px; margin-top: 6px; }
.xd-kn table.xd-kn-ltable td.xd-kn-tt { width: 110px; font-size: 15px; font-weight: 700; line-height: 1.6; }
.xd-kn table.xd-kn-ltable td.xd-kn-tn { font-size: 20px; font-weight: 700; color: #222; }
.xd-kn .xd-kn-vmore { display: flex; justify-content: center; gap: 10px; margin: 14px 0 22px; }
.xd-kn .xd-kn-rbtn { display: inline-flex; align-items: center; padding: 8px 24px; font-family: inherit; font-size: 17px; color: #fff !important; background: #c8102e; border: 0; border-radius: 22px; text-decoration: none; cursor: pointer; }
.xd-kn .xd-kn-rbtn:hover { background: #a50d25; }
.xd-kn .xd-kn-wbs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.xd-kn .xd-kn-wb { padding: 7px 14px; font-family: inherit; font-size: 16px; color: #333; background: #f1f1f1; border: 0; border-radius: 4px; cursor: pointer; }
.xd-kn .xd-kn-wb.active { color: #fff; background: #d31f1f; }
.xd-kn .xd-kn-sbox { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.xd-kn .xd-kn-sleft { border: 1px solid #dfe7ef; }
.xd-kn .xd-kn-shead { padding: 10px; text-align: center; background: #eef6ff; color: #d31f1f; font-size: 18px; font-weight: 700; border-bottom: 1px solid #dfe7ef; }
.xd-kn .xd-kn-sgrid { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 8px 2px; padding: 10px 6px; }
.xd-kn .xd-kn-sgrid > div { display: flex; flex-direction: column; align-items: center; gap: 2px; }
.xd-kn .xd-kn-pk { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: radial-gradient(circle at 50% 40%, #fff 0, #fde3e5 55%, #f8c9cd 100%); font-size: 15px; font-weight: 700; color: #222; }
.xd-kn .xd-kn-sgrid small { font-size: 11px; font-weight: 700; color: #333; white-space: nowrap; }
.xd-kn .xd-kn-sright { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.xd-kn table.xd-kn-stab { width: 100%; margin: 0; border-collapse: collapse; }
.xd-kn table.xd-kn-stab th { padding: 10px 4px; background: #eef6ff; color: #d31f1f; font-size: 17px; font-weight: 700; border: 1px solid #dfe7ef; }
.xd-kn table.xd-kn-stab td { padding: 8px 4px; text-align: center; border: 1px solid #e3e3e3; font-size: 15px; }
.xd-kn table.xd-kn-stab td b { font-size: 19px; }
.xd-kn table.xd-kn-stab tbody tr:nth-child(even) td { background: #f7f7f7; }
@media (max-width: 900px) {
  .xd-kn .xd-kn-ybox { grid-template-columns: 1fr; }
  .xd-kn .xd-kn-sbox { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .xd-kn h2.xd-kn-lvh2 { font-size: 18px !important; }
  .xd-kn .xd-kn-ybox { padding: 10px; gap: 10px; }
  .xd-kn .xd-kn-ys { font-size: 15px; padding: 5px 8px; gap: 6px; } .xd-kn .xd-kn-ys b { font-size: 16px; }
  .xd-kn .xd-kn-ic { width: 26px; height: 26px; font-size: 15px; }
  .xd-kn .xd-kn-yballs { gap: 4px; } .xd-kn .xd-kn-lball { font-size: 16px; border-width: 1.5px; }
  .xd-kn .xd-kn-beads { grid-template-columns: 1fr; gap: 14px; }
  .xd-kn table.xd-kn-ltable { min-width: 0; }
  .xd-kn table.xd-kn-ltable thead { display: none; }
  .xd-kn table.xd-kn-ltable td.xd-kn-tky, .xd-kn table.xd-kn-ltable td.xd-kn-tt { width: auto; font-size: 13px; }
  .xd-kn table.xd-kn-ltable td.xd-kn-tn { font-size: 15px; padding: 6px 1px; }
  .xd-kn .xd-kn-sgrid small { font-size: 9.5px; } .xd-kn .xd-kn-pk { width: 28px; height: 28px; font-size: 13px; }
  .xd-kn .xd-kn-sright { grid-template-columns: 1fr 1fr 1fr; gap: 6px; }
  .xd-kn table.xd-kn-stab th { font-size: 14px; } .xd-kn table.xd-kn-stab td { font-size: 13px; padding: 6px 2px; } .xd-kn table.xd-kn-stab td b { font-size: 16px; }
  .xd-kn .xd-kn-rbtn { font-size: 15px; padding: 7px 18px; }
}
.xd-kn .xd-kn-ys b { white-space: nowrap; }
.xd-kn .xd-kn-ys b.xd-kn-cd { font-size: 17px; }
@media (max-width: 600px) { .xd-kn .xd-kn-ys b.xd-kn-cd { font-size: 15px; } }

.xd-kn .xd-kn-admin { margin: 0 0 10px; padding: 8px 10px; font-size: 13px; color: #7a4b00; background: #fff8e1; border: 1px dashed #e0b84c; border-radius: 4px; }

/* v1.208.8: trực tiếp Keno - khung thống kê nhỏ hơn, chữ thường (không bị bóng số đè); bóng "đang quay" */
.xd-kn .xd-kn-ybox { grid-template-columns: 250px minmax(0, 1fr); }
.xd-kn .xd-kn-ystat { gap: 6px; min-width: 0; }
.xd-kn .xd-kn-ys { gap: 6px; padding: 4px 8px; min-width: 0; font-size: 15px; font-weight: 400; border-width: 1.5px; }
.xd-kn .xd-kn-ys b, .xd-kn .xd-kn-ys b.xd-kn-cd { font-size: 15px; font-weight: 400; }
.xd-kn .xd-kn-ys b.xd-kn-red { color: #ed1c24; }
.xd-kn .xd-kn-ys .xd-kn-ic { width: 24px; height: 24px; font-size: 14px; }
.xd-kn .xd-kn-yballs { min-width: 0; }
.xd-kn .xd-kn-lball { position: relative; min-width: 0; }
.xd-kn .xd-kn-yballs.xd-kn-spin .xd-kn-lball { color: transparent; border-color: #9b1c1c; border-width: 1.5px; }
.xd-kn .xd-kn-yballs.xd-kn-spin .xd-kn-lball::after { content: ""; position: absolute; inset: 24%; border-radius: 50%; border: 3px solid transparent;
  border-top-color: #9b1c1c; border-bottom-color: #9b1c1c; transform: rotate(45deg); animation: xd-kn-spin 1s linear infinite; }
@keyframes xd-kn-spin { from { transform: rotate(45deg); } to { transform: rotate(405deg); } }
@media (max-width: 1100px) and (min-width: 901px) { .xd-kn .xd-kn-ybox { grid-template-columns: 230px minmax(0, 1fr); } .xd-kn .xd-kn-lball { font-size: 20px; } }
@media (max-width: 600px) {
  .xd-kn .xd-kn-ys, .xd-kn .xd-kn-ys b, .xd-kn .xd-kn-ys b.xd-kn-cd { font-size: 14px; }
  .xd-kn .xd-kn-yballs.xd-kn-spin .xd-kn-lball::after { border-width: 2px; }
}
.xd-kn .xd-kn-ybox { grid-template-columns: 280px minmax(0, 1fr); }
.xd-kn .xd-kn-ys > span:not(.xd-kn-ic) { flex: 0 1 auto; }
.xd-kn .xd-kn-ys b { margin-left: auto; }
@media (max-width: 1100px) and (min-width: 901px) { .xd-kn .xd-kn-ybox { grid-template-columns: 270px minmax(0, 1fr); } }
.xd-kn .xd-kn-ys b.xd-kn-cd { font-size: 14px; white-space: nowrap; }
.xd-kn .xd-kn-ys:last-child { gap: 4px; padding-right: 6px; }
@media (max-width: 900px) { .xd-kn .xd-kn-ybox { grid-template-columns: minmax(0, 1fr); } }

.xd-kn .xd-kn-beads { margin-bottom: 26px; }

/* v1.208.10 */
.xd-kn .xd-kn-last10 { margin: 0 0 26px; }
.xd-kn .xd-kn-ic-hcl, .xd-kn .xd-kn-ic-hln { font-size: 18px; }

/* v1.208.11: trực tiếp Keno - bảng cầu "đường lớn" + bảng 10 kỳ (máy tính 2 cột trên nền cam; điện thoại tab Chẵn - Lẻ | Lớn - Bé) */
.xd-kn .xd-kn-board { --xd-kn-cell: 46px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; margin: 0 0 26px; padding: 12px; background: #ffbd3b; }
.xd-kn .xd-kn-roads { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.xd-kn .xd-kn-roads input.xd-kn-rt { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.xd-kn .xd-kn-rtabs { display: none; }
.xd-kn .xd-kn-road .xd-kn-bead { border: 1px solid #a3262a; background: #fff; }
.xd-kn .xd-kn-road .xd-kn-bead-in { grid-template-rows: repeat(6, var(--xd-kn-cell)); }
.xd-kn .xd-kn-road .xd-kn-bc { border-right: 1px solid #a3262a; border-bottom: 1px solid #a3262a; }
.xd-kn .xd-kn-road .xd-kn-bc .xd-kn-ic { width: 32px; height: 32px; font-size: 17px; font-weight: 400; }
.xd-kn .xd-kn-dash { color: #2fa84f; font-size: 22px; font-weight: 700; line-height: 1; }
.xd-kn .xd-kn-ic-le { background: #39b3e6; }
.xd-kn .xd-kn-k10 { min-width: 0; overflow-x: auto; }
.xd-kn table.xd-kn-k10t { width: 100%; margin: 0; border-collapse: collapse; background: #fff; border: 1px solid #c8102e; }
.xd-kn table.xd-kn-k10t th { padding: 10px 4px; font-size: 16px; font-weight: 700; text-transform: uppercase; color: #222; background: #fff; border: 1px solid #c8102e; }
.xd-kn table.xd-kn-k10t td { padding: 7px 2px; text-align: center; font-size: 17px; font-weight: 700; color: #222; border: 1px solid #c8102e; }
.xd-kn table.xd-kn-k10t tbody.xd-kn-k10a td { background: #fff7d6; }
.xd-kn table.xd-kn-k10t td.xd-kn-k10ky { width: 92px; padding: 4px; }
.xd-kn table.xd-kn-k10t td.xd-kn-k10ky b { display: block; font-size: 16px; }
.xd-kn table.xd-kn-k10t td.xd-kn-k10time { width: 92px; font-size: 15px; line-height: 1.6; }
.xd-kn .xd-kn-pp { display: block; margin: 3px auto 0; padding: 2px 4px; max-width: 86px; border-radius: 3px; font-size: 12px; font-weight: 700; text-transform: uppercase; color: #fff; }
.xd-kn .xd-kn-pchan { background: #1d5fbf; } .xd-kn .xd-kn-ple { background: #39b3e6; } .xd-kn .xd-kn-phcl { background: #9b0a7d; }
.xd-kn .xd-kn-plon { background: #ff0000; } .xd-kn .xd-kn-pnho { background: #f6a623; } .xd-kn .xd-kn-phln { background: #4cbb17; }
@media (max-width: 1100px) { .xd-kn .xd-kn-board { --xd-kn-cell: 40px; } .xd-kn table.xd-kn-k10t td { font-size: 15px; } }
@media (max-width: 900px) {
  .xd-kn .xd-kn-board { grid-template-columns: minmax(0, 1fr); padding: 8px; }
  .xd-kn .xd-kn-roads { gap: 0; }
  .xd-kn .xd-kn-rtabs { display: flex; gap: 4px; }
  .xd-kn .xd-kn-rtabs label { margin: 0; padding: 7px 16px; font-size: 15px; font-weight: 700; text-transform: uppercase; color: #222; background: #ff9f1c; border-radius: 6px 6px 0 0; cursor: pointer; }
  .xd-kn .xd-kn-rt0:checked ~ .xd-kn-rtabs label:nth-child(1), .xd-kn .xd-kn-rt1:checked ~ .xd-kn-rtabs label:nth-child(2) { background: #fff; }
  .xd-kn .xd-kn-road { display: none; }
  .xd-kn .xd-kn-rt0:checked ~ .xd-kn-road0, .xd-kn .xd-kn-rt1:checked ~ .xd-kn-road1 { display: block; }
  .xd-kn table.xd-kn-k10t th.xd-kn-k10time, .xd-kn table.xd-kn-k10t td.xd-kn-k10time { display: none; }
}
@media (max-width: 600px) {
  .xd-kn .xd-kn-board { --xd-kn-cell: 36px; }
  .xd-kn .xd-kn-road .xd-kn-bc .xd-kn-ic { width: 26px; height: 26px; font-size: 14px; }
  .xd-kn table.xd-kn-k10t th { font-size: 14px; padding: 8px 2px; }
  .xd-kn table.xd-kn-k10t td { font-size: 14px; padding: 6px 0; }
  .xd-kn table.xd-kn-k10t td.xd-kn-k10ky { width: 70px; } .xd-kn table.xd-kn-k10t td.xd-kn-k10ky b { font-size: 13px; }
  .xd-kn .xd-kn-pp { font-size: 10px; padding: 2px 2px; }
}
.xd-kn .xd-kn-board { --xd-kn-cell: 56px; align-items: start; }
.xd-kn .xd-kn-road .xd-kn-bc .xd-kn-ic { width: 38px; height: 38px; font-size: 19px; }
.xd-kn .xd-kn-k10 { max-height: calc(12 * var(--xd-kn-cell) + 16px); overflow-y: auto; }
.xd-kn table.xd-kn-k10t thead th { position: sticky; top: 0; z-index: 1; }
@media (max-width: 1100px) { .xd-kn .xd-kn-board { --xd-kn-cell: 46px; } .xd-kn .xd-kn-road .xd-kn-bc .xd-kn-ic { width: 32px; height: 32px; font-size: 17px; } }
@media (max-width: 900px) { .xd-kn .xd-kn-k10 { max-height: none; overflow-y: visible; } }
@media (max-width: 600px) { .xd-kn .xd-kn-board { --xd-kn-cell: 36px; } .xd-kn .xd-kn-road .xd-kn-bc .xd-kn-ic { width: 26px; height: 26px; font-size: 14px; } }

/* v1.208.12: 2 bảng cầu cùng hàng (máy tính), bảng 10 kỳ cả bề ngang; bảng đếm ngược 1 phút trước giờ quay */
.xd-kn .xd-kn-board { display: block; --xd-kn-cell: 44px; }
.xd-kn .xd-kn-roads { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
.xd-kn .xd-kn-roads input.xd-kn-rt, .xd-kn .xd-kn-rtabs { grid-column: 1 / -1; }
.xd-kn .xd-kn-rtitle { margin: 0 0 6px; font-size: 15px; font-weight: 700; color: #222; text-transform: uppercase; }
.xd-kn .xd-kn-road .xd-kn-bc .xd-kn-ic { width: 30px; height: 30px; font-size: 16px; }
.xd-kn .xd-kn-k10 { max-height: none; overflow-y: visible; overflow-x: auto; margin: 0 0 26px; }
.xd-kn .xd-kn-cdpanel { display: none; flex-direction: column; align-items: center; justify-content: center; gap: 6px; min-height: 120px; padding: 10px; background: #fff; border: 2px solid #c8102e; border-radius: 8px; text-align: center; font-size: 17px; color: #222; }
.xd-kn .xd-kn-cdpanel b { color: #d31f1f; }
.xd-kn .xd-kn-cdnum b { display: inline-block; padding: 6px 26px; font-size: 46px; font-weight: 700; color: #fff !important; background: #d31f1f; border-radius: 10px; letter-spacing: .06em; font-variant-numeric: tabular-nums; animation: xd-kn-pulse 1s ease-in-out infinite; }
.xd-kn .xd-kn-cdsub { font-size: 14px; color: #555; }
@keyframes xd-kn-pulse { 50% { transform: scale(1.05); } }
.xd-kn .xd-kn-ybox.xd-kn-pre .xd-kn-yballs { display: none; }
.xd-kn .xd-kn-ybox.xd-kn-pre .xd-kn-cdpanel { display: flex; }
@media (max-width: 900px) {
  .xd-kn .xd-kn-roads { display: flex; flex-direction: column; gap: 0; }
  .xd-kn .xd-kn-rtitle { display: none; }
}
@media (max-width: 600px) { .xd-kn .xd-kn-board { --xd-kn-cell: 36px; } .xd-kn .xd-kn-road .xd-kn-bc .xd-kn-ic { width: 26px; height: 26px; font-size: 14px; } .xd-kn .xd-kn-cdnum b { font-size: 38px; } }

/* v1.208.13 */
.xd-kn table.xd-kn-k10t thead th { text-align: center !important; vertical-align: middle; }
.xd-root.xd-kn .xd-kn-wrow { margin: 0 0 16px; }
.xd-root.xd-kn .xd-daytabs.xd-kn-wbs { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 6px; margin: 0; }
.xd-root.xd-kn .xd-kn-wbs > button.xd-wdtab { width: 100%; justify-content: center; font-family: inherit; border-radius: 4px; padding: 7px 2px; }
.xd-kn .xd-kn-yballs-kq { max-width: 680px; margin: 0 auto; padding: 12px; background: #ffe9a3; }
@media (max-width: 600px) {
  .xd-root.xd-kn .xd-daytabs.xd-kn-wbs { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .xd-kn .xd-kn-yballs-kq { padding: 8px; }
}

/* v1.210.1: nút "Xem thêm" trang N ngày - cùng kiểu nút trang xsmn thứ 2 */
.xd-root .xd-more-wrap .xd-more-btn[data-action="range-more"] { min-width: 160px; padding: 6px 22px; font-size: 15px; font-weight: 600; line-height: 1.3; color: #c00; background: #fff; border: 1px solid #c00; border-radius: 18px; box-shadow: none; }
.xd-root .xd-more-wrap .xd-more-btn[data-action="range-more"]:hover { background: #fdecec; }
.xd-root .xd-range-morewrap { margin: 8px 0 18px; }

/* ===== v1.211.0: trang sổ kết quả N ngày - khung chọn (.xd-rb), <h2>, thống kê nhanh (.xd-rs) ===== */
.xd-root.xd-rb { margin: 0 0 16px; padding: 0; background: #fff; border: 2px solid #d31f1f; font-family: Arial, Helvetica, sans-serif; color: #222; }
.xd-rb .xd-rb-tabs { display: grid; grid-template-columns: repeat(3, 1fr); }
.xd-rb .xd-rb-tabs a { display: block; padding: 10px 4px; text-align: center; font-size: 17px; color: #333; text-decoration: none; background: #eee; border-right: 1px solid #d6d6d6; border-bottom: 1px solid #d6d6d6; }
.xd-rb .xd-rb-tabs a:last-child { border-right: 0; }
.xd-rb .xd-rb-tabs a.active { color: #fff; font-weight: 700; background: #d31f1f; border-color: #d31f1f; }
.xd-rb .xd-rb-form { margin: 0; padding: 14px 16px 0; }
.xd-rb .xd-rb-row { display: grid; grid-template-columns: 1fr 1fr 0.85fr 0.75fr 1fr; gap: 14px; }
.xd-rb .xd-rb-f { display: flex; flex-direction: column; gap: 6px; margin: 0; min-width: 0; }
.xd-rb .xd-rb-f > span { font-size: 16px; font-weight: 700; color: #222; }
.xd-rb .xd-rb-f select, .xd-rb .xd-rb-f input { width: 100%; height: 44px; margin: 0; padding: 4px 10px; font-family: inherit; font-size: 16px; color: #222; -webkit-text-fill-color: #222; background-color: #fff; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; }
.xd-rb .xd-rb-f select { -webkit-appearance: none; appearance: none; padding-right: 28px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23444' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 10px center; background-size: 12px 8px; }
.xd-rb .xd-rb-row2 { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin: 14px 0 0; }
.xd-rb .xd-rb-kieu { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 22px; font-size: 16px; }
.xd-rb .xd-rb-kieu label { display: inline-flex; align-items: center; gap: 6px; margin: 0; cursor: pointer; }
.xd-rb .xd-rb-kieu input { width: 18px; height: 18px; margin: 0; accent-color: #d31f1f; }
.xd-rb .xd-rb-btn { min-width: 200px; height: 46px; padding: 0 24px; font-family: inherit; font-size: 17px; font-weight: 700; color: #fff; background: #d31f1f; border: 1px solid #b0161a; border-radius: 4px; cursor: pointer; }
.xd-rb .xd-rb-btn:hover { background: #b0161a; }
.xd-rb .xd-rb-hint { margin: 14px 16px 8px; font-size: 15px; color: #666; }
.xd-rb .xd-rb-quick { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; margin: 0 16px; }
.xd-rb .xd-rb-quick a { display: block; padding: 10px 2px; text-align: center; font-size: 16px; font-weight: 700; color: #222; text-decoration: none; background: #eee; border: 1px solid #ddd; border-radius: 4px; }
.xd-rb .xd-rb-quick a:hover { background: #e2e2e2; }
.xd-rb .xd-rb-quick a.active { color: #fff; background: #d31f1f; border-color: #d31f1f; }
.xd-rb .xd-rb-today { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 16px; }
.xd-rb .xd-rb-today a { padding: 7px 14px; font-size: 16px; color: #222; text-decoration: none; background: #eee; border: 1px solid #ddd; border-radius: 4px; }
.xd-rb .xd-rb-today a:hover { background: #e2e2e2; } .xd-rb .xd-rb-today a.active { color: #fff; background: #d31f1f; border-color: #d31f1f; }
.xd-rb .xd-rb-go { margin: 16px 16px 14px; font-size: 17px; font-weight: 700; }
.xd-rb .xd-rb-go a { color: #d31f1f; text-decoration: underline; }
.xd-rb .xd-rb-go span { color: #d31f1f; }
h2.xd-rb-h2, section.xd-rs h2.xd-rs-h2 { margin: 18px 0 12px !important; padding: 11px 14px !important; background: #ffe699 !important; color: #222 !important; font-family: Arial, Helvetica, sans-serif; font-size: 20px !important; font-weight: 700 !important; line-height: 1.35 !important; text-align: center; border: 0 !important; }
.xd-root .xd-range-row.xd-range-ket-qua .xd-range-side { display: none; }
.xd-root .xd-range-row.xd-range-loto .xd-range-side { width: 100%; max-width: 100%; }
.xd-root h3.xd-range-lh3 { margin: 0 0 6px !important; font-size: 17px !important; font-weight: 700 !important; color: #222 !important; }
.xd-root.xd-rs { margin: 20px 0; font-family: Arial, Helvetica, sans-serif; color: #222; }
.xd-rs .xd-rs-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 0 0 16px; }
.xd-rs .xd-rs-box { border: 1px solid #d31f1f; background: #fff; }
.xd-rs h3.xd-rs-h3 { margin: 0 !important; padding: 10px !important; background: #fdf0c6 !important; color: #222 !important; font-size: 18px !important; font-weight: 700 !important; text-align: center; border: 0 !important; }
.xd-rs .xd-rs-pairs { display: grid; grid-template-columns: 1fr 1fr; }
.xd-rs .xd-rs-pairs > div { display: grid; grid-template-columns: 64px 1fr; align-items: center; border-top: 1px solid #e3e3e3; }
.xd-rs .xd-rs-pairs > div:nth-child(odd) { border-right: 1px solid #e3e3e3; }
.xd-rs .xd-rs-pairs b { padding: 10px 0; text-align: center; font-size: 22px; color: #ed1c24; background: #f3f3f3; }
.xd-rs .xd-rs-pairs span { text-align: center; font-size: 17px; }
.xd-rs .xd-rs-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; padding: 14px; }
.xd-rs .xd-rs-dg { border: 1px solid #ddd; }
.xd-rs .xd-rs-dgh { padding: 9px; text-align: center; font-size: 17px; font-weight: 700; background: #eee; }
.xd-rs .xd-rs-dgg { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.xd-rs .xd-rs-dgg > div { display: flex; flex-direction: column; align-items: center; padding: 7px 2px; border-top: 1px solid #e3e3e3; border-right: 1px solid #e3e3e3; }
.xd-rs .xd-rs-dgg > div:nth-child(5n) { border-right: 0; }
.xd-rs .xd-rs-dgg b { font-size: 20px; color: #ed1c24; } .xd-rs .xd-rs-dgg span { font-size: 14px; color: #333; }
.xd-rs .xd-rs-note, .xd-rs .xd-rs-empty { margin: 10px 0 0; font-size: 14px; color: #666; text-align: center; }
@media (max-width: 900px) {
  .xd-rb .xd-rb-row { grid-template-columns: 1fr 1fr; }
  .xd-rb .xd-rb-quick { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .xd-rs .xd-rs-grid2, .xd-rs .xd-rs-grid3 { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .xd-rb .xd-rb-tabs a { font-size: 15px; }
  .xd-rb .xd-rb-form { padding: 12px 10px 0; } .xd-rb .xd-rb-row { gap: 10px; }
  .xd-rb .xd-rb-f > span { font-size: 15px; }
  .xd-rb .xd-rb-btn { width: 100%; }
  .xd-rb .xd-rb-quick, .xd-rb .xd-rb-today, .xd-rb .xd-rb-hint, .xd-rb .xd-rb-go { margin-left: 10px; margin-right: 10px; }
  .xd-rb .xd-rb-quick { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  h2.xd-rb-h2, section.xd-rs h2.xd-rs-h2 { font-size: 18px !important; }
  .xd-rs .xd-rs-pairs b { font-size: 19px; }
}

/* v1.211.1: h2 trang sổ kết quả nền đỏ #c00, chữ trắng */
h2.xd-rb-h2, section.xd-rs h2.xd-rs-h2 { background: #c00 !important; color: #fff !important; }

/* v1.211.2: điện thoại - khung chọn sổ kết quả không còn tràn viền (giao diện dạng flex làm khung giãn theo ô ngày của iPhone) */
.xd-root.xd-rb, .xd-root.xd-rs { min-width: 0; max-width: 100%; width: auto; }
.xd-rb .xd-rb-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, .85fr) minmax(0, .75fr) minmax(0, 1fr); }
.xd-rb .xd-rb-f select, .xd-rb .xd-rb-f input { min-width: 0; max-width: 100%; display: block; }
.xd-rb .xd-rb-f input[type="date"] { -webkit-appearance: none; appearance: none; line-height: 34px; text-align: left; }
.xd-rb .xd-rb-f input[type="date"]::-webkit-date-and-time-value { text-align: left; }
.xd-rb .xd-rb-row2, .xd-rb .xd-rb-kieu, .xd-rb .xd-rb-quick, .xd-rb .xd-rb-today { min-width: 0; }
.xd-rb .xd-rb-btn { max-width: 100%; }
@media (max-width: 900px) { .xd-rb .xd-rb-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
@media (max-width: 600px) { .xd-rb .xd-rb-btn { min-width: 0; } .xd-rb .xd-rb-f select, .xd-rb .xd-rb-f input { font-size: 16px; } }
/* v1.211.3: trang sổ kết quả trên điện thoại - tràn viền (khung chọn, tiêu đề, các bảng kết quả, thống kê nhanh) */
@media (max-width: 600px) {
  .xd-root.xd-rb, h2.xd-rb-h2, .xd-root[data-range], .xd-root.xd-rs {
    width: 100vw !important; max-width: 100vw !important; margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important;
    border-left: 0 !important; border-right: 0 !important; border-radius: 0 !important;
  }
  .xd-root.xd-rs h2.xd-rs-h2 { margin-left: 0 !important; margin-right: 0 !important; }
}
h2.xd-rb-h2, section.xd-rs h2.xd-rs-h2 { box-sizing: border-box; }
/* v1.212.1: điện thoại - "Kiểu xem" gọn 1 dòng; danh sách tỉnh quay hôm nay 2 dòng (4 tỉnh / dòng) */
@media (max-width: 600px) {
  .xd-rb .xd-rb-kieu { flex-wrap: nowrap; gap: 8px; font-size: 13.5px; white-space: nowrap; width: 100%; justify-content: space-between; }
  .xd-rb .xd-rb-kieu b { font-size: 13.5px; }
  .xd-rb .xd-rb-kieu label { gap: 4px; }
  .xd-rb .xd-rb-kieu input { width: 15px; height: 15px; }
  .xd-rb .xd-rb-today { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
  .xd-rb .xd-rb-today a { padding: 7px 2px; font-size: 13px; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}
@media (max-width: 360px) { .xd-rb .xd-rb-kieu, .xd-rb .xd-rb-kieu b { font-size: 12.5px; } .xd-rb .xd-rb-today a { font-size: 12px; } }
/* v1.212.2: điện thoại - nút chọn nhanh số ngày cùng cỡ với nút tỉnh quay hôm nay */
@media (max-width: 600px) {
  .xd-rb .xd-rb-quick { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
  .xd-rb .xd-rb-quick a { padding: 7px 2px; font-size: 13px; font-weight: 400; line-height: 1.45; }
  .xd-rb .xd-rb-quick a.active { font-weight: 700; }
}
@media (max-width: 360px) { .xd-rb .xd-rb-quick a { font-size: 12px; } }
/* v1.212.3: điện thoại - nút "Xem kết quả" nhỏ lại */
@media (max-width: 600px) { .xd-rb .xd-rb-btn { height: 38px; padding: 0 16px; font-size: 15px; } .xd-rb .xd-rb-row2 { margin-top: 10px; } }

/* v1.215.0: hiện tiêu đề trang (<h1>) mà giao diện (Neve: tắt tiêu đề trang) đang ẩn cho trình đọc màn hình - kiểu A:
   chữ đen đậm, vạch đỏ bên trái, gạch mảnh bên dưới. Chỉ áp dụng trên các trang của plugin (CSS này chỉ nạp ở đó). */
.nv-single-page-wrap > h1.screen-reader-text,
h1.screen-reader-text:has(+ .entry-content),
h1.screen-reader-text:has(+ .nv-content-wrap) {
  position: static !important; clip: auto !important; clip-path: none !important; width: auto !important; height: auto !important;
  overflow: visible !important; white-space: normal !important; word-wrap: break-word; transform: none !important;
  display: block; margin: 0 0 14px !important; padding: 4px 0 10px 14px !important;
  font-family: Arial, Helvetica, sans-serif !important; font-size: 26px !important; font-weight: 700 !important; line-height: 1.3 !important;
  color: #222 !important; background: none !important; text-align: left;
  border: 0 !important; border-left: 5px solid #d31f1f !important; border-bottom: 1px solid #e5e5e5 !important; border-radius: 0 !important;
}
@media (max-width: 600px) {
  .nv-single-page-wrap > h1.screen-reader-text,
  h1.screen-reader-text:has(+ .entry-content),
  h1.screen-reader-text:has(+ .nv-content-wrap) { font-size: 20px !important; padding: 2px 0 8px 10px !important; border-left-width: 4px !important; margin-bottom: 12px !important; }
}
/* v1.215.1: h1 trên máy tính nhỏ hơn (26px → 22px) */
@media (min-width: 601px) {
  .nv-single-page-wrap > h1.screen-reader-text,
  h1.screen-reader-text:has(+ .entry-content),
  h1.screen-reader-text:has(+ .nv-content-wrap) { font-size: 22px !important; padding: 3px 0 8px 12px !important; border-left-width: 4px !important; margin-bottom: 12px !important; }
}
/* v1.216.0: phần thông tin trang sổ kết quả */
.xd-info.xd-range-info { font-family: Arial, Helvetica, sans-serif; color: #222; }
.xd-info.xd-range-info h3 { margin: 22px 0 10px !important; padding: 0 0 6px !important; font-size: 19px !important; font-weight: 700 !important; color: #c00 !important; border-bottom: 1px solid #eee; }
.xd-info.xd-range-info p, .xd-info.xd-range-info li { font-size: 16px; line-height: 1.65; }
.xd-info.xd-range-info ul { margin: 6px 0 10px 22px; padding: 0; } .xd-info.xd-range-info ul ul { margin-top: 4px; }
.xd-info.xd-range-info a { color: #0b62c4; }
.xd-info.xd-range-info .xd-range-note { font-size: 14px; color: #666; font-style: italic; }

/* v1.217.3: h3 phần thông tin sổ kết quả - chữ không còn sát vạch đỏ bên trái */
.xd-info.xd-range-info h3 { padding: 4px 0 8px 12px !important; line-height: 1.35 !important; }
.xd-info.xd-range-info p > a > strong { color: inherit; }

/* v1.218.1: Nam / Trung 7 nút chọn nhanh - 1 hàng trên máy tính */
@media (min-width: 901px) { .xd-rb .xd-rb-quick.xd-rb-q7 { grid-template-columns: repeat(7, minmax(0, 1fr)); } }

/* =====================================================================
 * v1.221.0: BẢNG ĐẶC BIỆT - THỐNG KÊ GIẢI ĐẶC BIỆT ([xoso_bang_db], includes/bang-db.php, assets/bangdb.js)
 * ===================================================================== */
.xd-bdb { --bdb-or: #d31f1f; --bdb-cream: #f6e8bf; --bdb-we: #fff6d8; --bdb-line: #ddd; font-family: Arial, Helvetica, sans-serif; color: #333; font-size: 15px; }
.xd-bdb *, .xd-bdb *::before, .xd-bdb *::after { box-sizing: border-box; }
.xd-bdb h2, .xd-bdb h3, .xd-bdb h4 { font-family: Arial, Helvetica, sans-serif !important; letter-spacing: 0 !important; text-transform: none !important; }
.xd-bdb a { text-decoration: none; }

/* tab trên cùng */
.xd-bdb .xd-bdb-tabs { display: grid; grid-auto-columns: minmax(0, 1fr); grid-auto-flow: column; margin: 0 0 0 !important; padding: 0 !important; list-style: none !important; }
.xd-bdb .xd-bdb-tabs li { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.xd-bdb .xd-bdb-tabs li::before { content: none !important; }
.xd-bdb .xd-bdb-tabs a { display: flex; align-items: center; justify-content: center; height: 40px; padding: 0 4px; border: 1px solid #ccc; border-bottom: 0; background: #eee; color: #333; font-size: 15px; text-align: center; line-height: 1.2; }
.xd-bdb .xd-bdb-tabs li + li a { border-left: 0; }
.xd-bdb .xd-bdb-tabs a:hover { background: #e2e2e2; }
.xd-bdb .xd-bdb-tabs a.xd-bdb-on { background: var(--bdb-or); border-color: var(--bdb-or); color: #fff; font-weight: 700; }

/* khung */
.xd-bdb .xd-bdb-box { margin: 0 0 14px; border: 2px solid var(--bdb-or); border-radius: 0 0 6px 6px; background: #fff; overflow: hidden; }
.xd-bdb .xd-bdb-tabs + .xd-bdb-box { border-top-width: 0; }
.xd-bdb .xd-bdb-box + .xd-bdb-box { border-radius: 6px; }
.xd-bdb .xd-bdb-h { margin: 0 !important; padding: 9px 6px !important; background: var(--bdb-or) !important; color: #fff !important; text-align: center; font-size: 17px !important; font-weight: 700 !important; line-height: 1.4 !important; border: 0 !important; }
.xd-bdb .xd-bdb-sub { margin: 0 !important; padding: 8px 6px !important; background: var(--bdb-cream) !important; color: #222 !important; text-align: center; font-size: 16px !important; font-weight: 700 !important; line-height: 1.4 !important; border: 0 !important; border-top: 1px solid var(--bdb-line) !important; }
.xd-bdb .xd-bdb-empty { margin: 0; padding: 14px; text-align: center; color: #777; }
.xd-bdb .xd-bdb-note { margin: 0; padding: 6px 10px; font-size: 12px; color: #666; border-top: 1px solid var(--bdb-line); }
.xd-bdb .xd-bdb-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* nút 7 / 30 / 60 / 90 kỳ, T1 … T12 */
.xd-bdb .xd-bdb-presets { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; padding: 10px; background: var(--bdb-cream); }
.xd-bdb .xd-bdb-presets a, .xd-bdb .xd-bdb-presets span { display: inline-flex; align-items: center; justify-content: center; min-width: 74px; height: 36px; padding: 0 12px; border: 1px solid var(--bdb-or); border-radius: 4px; background: #fff; color: #222; font-weight: 700; font-size: 16px; }
.xd-bdb .xd-bdb-presets a.xd-bdb-on { background: var(--bdb-or); color: #fff; }
.xd-bdb .xd-bdb-months { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 6px; background: #fff; }
.xd-bdb .xd-bdb-months a, .xd-bdb .xd-bdb-months span { min-width: 0; height: 32px; padding: 0; border-color: #ccc; font-size: 13px; }
.xd-bdb .xd-bdb-months a.xd-bdb-on { background: #ffe58a; border-color: #e6c25a; color: #222; }
.xd-bdb .xd-bdb-months .xd-bdb-dis { background: #e8946a; border-color: #e8946a; color: #9a4a26; opacity: .8; }
.xd-bdb .xd-bdb-year { margin-left: 4px; padding: 3px 26px 3px 8px; height: 32px; border: 1px solid #ccc; border-radius: 4px; background-color: #fff; color: #222; font-size: 15px; font-weight: 400; vertical-align: middle; }

/* bảng lịch Thứ 2 … CN */
.xd-bdb .xd-bdb-cal { width: 100%; min-width: 0; margin: 0 !important; border-collapse: collapse; table-layout: fixed; border: 0 !important; }
.xd-bdb .xd-bdb-cal th { padding: 8px 2px !important; background: linear-gradient(#fafafa, #ececec) !important; border: 1px solid var(--bdb-line) !important; border-top: 0 !important; color: #222; font-size: 15px; font-weight: 700; text-align: center; }
.xd-bdb .xd-bdb-cal td { height: 64px; padding: 6px 2px !important; border: 1px solid var(--bdb-line) !important; text-align: center; vertical-align: middle; background: #fff; }
.xd-bdb .xd-bdb-cal th:first-child, .xd-bdb .xd-bdb-cal td:first-child { border-left: 0 !important; }
.xd-bdb .xd-bdb-cal th:last-child, .xd-bdb .xd-bdb-cal td:last-child { border-right: 0 !important; }
.xd-bdb .xd-bdb-cal td.xd-bdb-we { background: var(--bdb-we); }
.xd-bdb .xd-bdb-cal td.xd-bdb-out { background: #f7f7f7; }
.xd-bdb .xd-bdb-cal tr.xd-bdb-hide { display: none; }
.xd-bdb .xd-bdb-cal td.xd-bdb-off > * { display: none !important; }
.xd-bdb .xd-bdb-month .xd-bdb-cal td { height: 58px; }
.xd-bdb .xd-bdb-num { display: block; font-size: 22px; font-weight: 700; line-height: 1.2; color: #555; }
.xd-bdb .xd-bdb-num b { color: var(--bdb-or); font-weight: 700; }
.xd-bdb .xd-bdb-date { display: block; margin-top: 2px; font-size: 14px; color: #777; }
.xd-bdb .xd-bdb-v { display: none; font-size: 13px; line-height: 1.5; color: #555; }
.xd-bdb .xd-bdb-v b { font-size: 14px; color: #1a3d8f; }
.xd-bdb .xd-bdb-tong b { color: var(--bdb-or); }
.xd-bdb .xd-bdb-chan, .xd-bdb .xd-bdb-le { font-weight: 700; color: var(--bdb-or); }

/* công tắc */
.xd-bdb .xd-bdb-sws { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 18px; padding: 10px 6px; border-top: 1px solid var(--bdb-line); }
.xd-bdb .xd-bdb-sw { position: relative; display: inline-flex; align-items: center; gap: 7px; margin: 0; cursor: pointer; user-select: none; font-weight: 700; font-size: 16px; color: #222; }
.xd-bdb .xd-bdb-sw input { position: absolute; z-index: 1; left: 0; top: 50%; width: 52px; height: 28px; margin: -14px 0 0; opacity: 0; cursor: pointer; }
.xd-bdb .xd-bdb-knob { position: relative; flex: 0 0 auto; width: 52px; height: 28px; border-radius: 14px; background: #8a8a8a; transition: background .15s; }
.xd-bdb .xd-bdb-knob::after { content: ""; position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.3); transition: left .15s; }
.xd-bdb .xd-bdb-sw input:checked + .xd-bdb-knob { background: var(--bdb-or); }
.xd-bdb .xd-bdb-sw input:checked + .xd-bdb-knob::after { left: 27px; }
.xd-bdb .xd-bdb-sw input:focus-visible + .xd-bdb-knob { outline: 2px solid #0059a9; outline-offset: 2px; }
.xd-bdb .xd-bdb-box:has(input[data-t="dau"]:checked) .xd-bdb-dau, .xd-bdb .xd-bdb-box.xd-bdb-on-dau .xd-bdb-dau,
.xd-bdb .xd-bdb-box:has(input[data-t="duoi"]:checked) .xd-bdb-duoi, .xd-bdb .xd-bdb-box.xd-bdb-on-duoi .xd-bdb-duoi,
.xd-bdb .xd-bdb-box:has(input[data-t="tong"]:checked) .xd-bdb-tong, .xd-bdb .xd-bdb-box.xd-bdb-on-tong .xd-bdb-tong,
.xd-bdb .xd-bdb-box:has(input[data-t="chan"]:checked) .xd-bdb-chan, .xd-bdb .xd-bdb-box.xd-bdb-on-chan .xd-bdb-chan,
.xd-bdb .xd-bdb-box:has(input[data-t="le"]:checked) .xd-bdb-le, .xd-bdb .xd-bdb-box.xd-bdb-on-le .xd-bdb-le { display: block; }
.xd-bdb .xd-bdb-box:has(input[data-t="loto"]:checked) .xd-bdb-pre, .xd-bdb .xd-bdb-box.xd-bdb-on-loto .xd-bdb-pre { display: none; }
.xd-bdb .xd-bdb-box:has(input[data-t="chan"]:checked):not(:has(input[data-t="le"]:checked)) .xd-bdb-card[data-p="l"],
.xd-bdb .xd-bdb-box:has(input[data-t="le"]:checked):not(:has(input[data-t="chan"]:checked)) .xd-bdb-card[data-p="c"] { opacity: .25; }

/* chọn miền / tỉnh, số kỳ, tỉnh nhanh */
.xd-bdb .xd-bdb-ctrl { display: grid; grid-template-columns: 130px 90px minmax(0, 1fr); gap: 10px; align-items: end; margin: 0; padding: 10px 12px; }
.xd-bdb .xd-bdb-f { display: flex; flex-direction: column; gap: 5px; margin: 0; font-size: 14px; font-weight: 700; color: #222; min-width: 0; }
.xd-bdb .xd-bdb-f select { width: 100%; height: 38px; padding: 0 28px 0 10px; border: 1px solid #bbb; border-radius: 5px; background-color: #fff; color: #222; font-size: 15px; font-weight: 400; }
.xd-bdb .xd-bdb-quick > div { display: flex; flex-wrap: wrap; gap: 4px; }
.xd-bdb .xd-bdb-quick a { display: inline-flex; align-items: center; height: 38px; padding: 0 6px; border: 1px solid var(--bdb-or); border-radius: 3px; background: #fff; color: #222; font-size: 13px; font-weight: 400; white-space: nowrap; }
.xd-bdb .xd-bdb-quick a.xd-bdb-on, .xd-bdb .xd-bdb-quick a:hover { background: var(--bdb-or); color: #fff; font-weight: 700; }
.xd-bdb .xd-bdb-go { height: 38px; padding: 0 14px; border: 0; border-radius: 5px; background: var(--bdb-or); color: #fff; font-weight: 700; }

/* 2 bảng cặp số */
.xd-bdb .xd-bdb-pairs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.xd-bdb .xd-bdb-pairs .xd-bdb-tbl + .xd-bdb-tbl { border-left: 2px solid var(--bdb-line) !important; }
.xd-bdb .xd-bdb-tbl { width: 100%; margin: 0 !important; border-collapse: collapse; border: 0 !important; }
.xd-bdb .xd-bdb-tbl th { padding: 7px 4px !important; background: linear-gradient(#fafafa, #ececec) !important; border: 0 !important; border-bottom: 1px solid var(--bdb-line) !important; font-size: 15px; font-weight: 700; color: #222; text-align: center; }
.xd-bdb .xd-bdb-tbl td { padding: 6px 4px !important; border: 0 !important; border-bottom: 1px solid #eee !important; text-align: center; font-size: 16px; }
.xd-bdb .xd-bdb-tbl td:first-child { border-right: 1px solid #eee !important; }
.xd-bdb .xd-bdb-tbl td b { color: var(--bdb-or); font-size: 17px; }
.xd-bdb .xd-bdb-tbl tr:hover td { background: #fff8e3; }

/* lâu chưa về */
.xd-bdb .xd-bdb-late { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0 !important; padding: 0 !important; list-style: none !important; }
.xd-bdb .xd-bdb-late li { margin: 0 !important; padding: 8px 4px !important; border-bottom: 1px solid #eee; border-right: 1px solid #eee; text-align: center; font-size: 15px; list-style: none !important; }
.xd-bdb .xd-bdb-late li::before { content: none !important; }
.xd-bdb .xd-bdb-late li:nth-child(5n) { border-right: 0; }
.xd-bdb .xd-bdb-late strong { color: var(--bdb-or); }
.xd-bdb .xd-bdb-late span { color: var(--bdb-or); }
.xd-bdb .xd-bdb-late-duoi strong { color: #0b62c4; }

/* liên kết */
.xd-bdb .xd-bdb-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 20px; margin: 4px 0 16px !important; padding: 0 0 0 20px !important; }
.xd-bdb .xd-bdb-links li { margin: 0 !important; color: var(--bdb-or); font-size: 15px; }
.xd-bdb .xd-bdb-links a { color: #0b62c4; }
.xd-bdb .xd-bdb-links a:hover { text-decoration: underline; }

/* ngày này năm xưa */
.xd-bdb .xd-bdb-nnnx-t td { font-size: 15px; padding: 5px 4px !important; }
.xd-bdb .xd-bdb-nnnx-t td.xd-bdb-date { display: table-cell; color: #888; font-size: 14px; }
.xd-bdb .xd-bdb-nnnx-t .xd-bdb-num { font-size: 16px; color: #222; }
.xd-bdb .xd-bdb-nnnx-t td:first-child, .xd-bdb .xd-bdb-nnnx-t td:nth-child(2) { border-right: 1px solid #eee !important; }

/* Miền Nam / Trung: thứ, thẻ các đài, thanh */
.xd-bdb .xd-bdb-wds { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 6px; padding: 8px 8px 10px; }
.xd-bdb .xd-bdb-wds button { height: 34px; padding: 0 2px; border: 1px solid var(--bdb-or); border-radius: 3px; background: #fff; color: #222; font-size: 14px; font-weight: 700; cursor: pointer; line-height: 1; }
.xd-bdb .xd-bdb-wds button.xd-bdb-on { background: var(--bdb-or); color: #fff; }
.xd-bdb .xd-bdb-cards { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-top: 1px solid var(--bdb-line); }
.xd-bdb .xd-bdb-card { min-width: 0; min-height: 72px; padding: 7px 2px; border-right: 1px solid var(--bdb-line); border-bottom: 1px solid var(--bdb-line); text-align: center; transition: opacity .15s; }
.xd-bdb .xd-bdb-card:nth-child(7n) { border-right: 0; }
.xd-bdb .xd-bdb-card.xd-bdb-we { background: var(--bdb-we); }
.xd-bdb .xd-bdb-blank:not(.xd-bdb-b7) { display: none; }
.xd-bdb .xd-bdb-card .xd-bdb-num { font-size: 19px; color: #333; }
.xd-bdb .xd-bdb-card .xd-bdb-date { font-size: 12px; }
.xd-bdb .xd-bdb-prov { display: block; font-size: 12px; color: #555; line-height: 1.4; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.xd-bdb .xd-bdb-sec { border-top: 1px solid var(--bdb-line); }
.xd-bdb .xd-bdb-barsw { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 10px; }
.xd-bdb .xd-bdb-bars { border: 1px solid var(--bdb-line); border-radius: 4px; padding: 0 0 6px; }
.xd-bdb .xd-bdb-bars h4 { margin: 0 0 6px !important; padding: 6px !important; background: #eee; text-align: center; font-size: 15px !important; font-weight: 700 !important; color: #222 !important; }
.xd-bdb .xd-bdb-bar { display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 2px 10px; font-size: 13px; }
.xd-bdb .xd-bdb-track { display: block; height: 12px; border-radius: 3px; background: #eee; overflow: hidden; }
.xd-bdb .xd-bdb-track i { display: block; height: 100%; background: var(--bdb-or); }

/* phần thông tin trang tỉnh */
.xd-bdb .xd-bdb-info { margin: 18px 0 8px; padding: 14px 16px; background: #f5f5f5; border-radius: 6px; }
.xd-bdb .xd-bdb-info h2 { margin: 6px 0 10px !important; font-size: 19px !important; font-weight: 700 !important; color: #222 !important; }
.xd-bdb .xd-bdb-info p, .xd-bdb .xd-bdb-info li { font-size: 16px; line-height: 1.65; }
.xd-bdb .xd-bdb-info ul { margin: 6px 0 10px 22px; padding: 0; }
.xd-bdb .xd-bdb-info a { color: #0b62c4; }

@media (max-width: 760px) {
  .xd-bdb .xd-bdb-ctrl { grid-template-columns: minmax(0, 1fr) 110px; }
  .xd-bdb .xd-bdb-quick { grid-column: 1 / -1; }
  .xd-bdb .xd-bdb-wds { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .xd-bdb .xd-bdb-barsw { grid-template-columns: minmax(0, 1fr); }
  .xd-bdb .xd-bdb-months { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .xd-bdb { font-size: 14px; }
  .xd-bdb .xd-bdb-tabs a { height: 38px; font-size: 13px; }
  .xd-bdb .xd-bdb-h { font-size: 15px !important; padding: 8px 4px !important; }
  .xd-bdb .xd-bdb-sub { font-size: 14px !important; }
  .xd-bdb .xd-bdb-presets { gap: 6px; padding: 8px 6px; }
  .xd-bdb .xd-bdb-presets a { min-width: 60px; height: 32px; font-size: 14px; padding: 0 8px; }
  .xd-bdb .xd-bdb-months a, .xd-bdb .xd-bdb-months span { min-width: 0; height: 30px; font-size: 12px; padding: 0; }
  .xd-bdb .xd-bdb-cal th { font-size: 12px; padding: 6px 1px !important; }
  .xd-bdb .xd-bdb-cal td { height: 50px; padding: 4px 1px !important; }
  .xd-bdb .xd-bdb-num { font-size: 14px; letter-spacing: -.2px; }
  .xd-bdb .xd-bdb-date { font-size: 10px; letter-spacing: -.2px; }
  .xd-bdb .xd-bdb-v { font-size: 11px; } .xd-bdb .xd-bdb-v b { font-size: 12px; }
  .xd-bdb .xd-bdb-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .xd-bdb .xd-bdb-card:nth-child(7n) { border-right: 1px solid var(--bdb-line); }
  .xd-bdb .xd-bdb-card:nth-child(4n) { border-right: 0; }
  .xd-bdb .xd-bdb-blank.xd-bdb-b4 { display: block; }
  .xd-bdb .xd-bdb-blank:not(.xd-bdb-b4) { display: none; }
  .xd-bdb .xd-bdb-card .xd-bdb-num { font-size: 16px; }
  .xd-bdb .xd-bdb-sws { gap: 8px 4px; padding: 8px 2px; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .xd-bdb .xd-bdb-sw { flex-direction: column; gap: 4px; font-size: 12px; text-align: center; line-height: 1.2; }
  .xd-bdb .xd-bdb-sw input { left: 50%; top: 0; margin: 0 0 0 -22px; width: 44px; height: 24px; }
  .xd-bdb .xd-bdb-knob { width: 44px; height: 24px; }
  .xd-bdb .xd-bdb-knob::after { width: 18px; height: 18px; }
  .xd-bdb .xd-bdb-sw input:checked + .xd-bdb-knob::after { left: 23px; }
  .xd-bdb .xd-bdb-late { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .xd-bdb .xd-bdb-late li:nth-child(5n) { border-right: 1px solid #eee; }
  .xd-bdb .xd-bdb-late li:nth-child(2n) { border-right: 0; }
  .xd-bdb .xd-bdb-tbl td { font-size: 15px; }
  .xd-bdb .xd-bdb-links { grid-template-columns: minmax(0, 1fr); }
}

/* v1.221.2: tab Bảng đặc biệt (tab trên cùng + Miền | Thứ 2 … CN) cùng kiểu thanh tab trang XSMB (.xd-wdtab) */
.xd-bdb .xd-bdb-tabs { display: flex; flex-wrap: nowrap; gap: 6px; margin: 0 0 10px !important; }
.xd-bdb .xd-bdb-tabs li { flex: 1 1 0; min-width: 0; }
.xd-bdb .xd-bdb-tabs a, .xd-bdb .xd-bdb-tabs li + li a {
  display: flex; align-items: center; justify-content: center; height: auto; min-width: 0; padding: 11px 4px;
  font-size: 17px; font-weight: 400 !important; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  color: #333; background: #fff; border: 1px solid #d6d9dd; border-radius: 6px; text-decoration: none; transition: color .15s, border-color .15s;
}
.xd-bdb .xd-bdb-tabs a:hover, .xd-bdb .xd-bdb-tabs a:focus { color: #d31f1f; border-color: #d31f1f; background: #fff; }
.xd-bdb .xd-bdb-tabs a.xd-bdb-on, .xd-bdb .xd-bdb-tabs a.xd-bdb-on:hover { color: #fff; background: #d31f1f; border-color: #d31f1f; font-weight: 400 !important; }
.xd-bdb .xd-bdb-tabs + .xd-bdb-box { border-top-width: 2px; border-radius: 6px; }
.xd-bdb .xd-bdb-wds { gap: 6px; }
.xd-bdb .xd-bdb-wds button {
  height: auto; padding: 11px 2px; font-family: inherit; font-size: 17px; font-weight: 400; line-height: 1.2; white-space: nowrap;
  color: #333; background: #fff; border: 1px solid #d6d9dd; border-radius: 6px; transition: color .15s, border-color .15s;
}
.xd-bdb .xd-bdb-wds button:hover, .xd-bdb .xd-bdb-wds button:focus { color: #d31f1f; border-color: #d31f1f; }
.xd-bdb .xd-bdb-wds button.xd-bdb-on, .xd-bdb .xd-bdb-wds button.xd-bdb-on:hover { color: #fff; background: #d31f1f; border-color: #d31f1f; }
@media (max-width: 600px) {
  .xd-bdb .xd-bdb-tabs a, .xd-bdb .xd-bdb-tabs li + li a { padding: 10px 2px; font-size: 14px; }
  .xd-bdb .xd-bdb-wds button { padding: 9px 2px; font-size: 15px; }
}

/* v1.221.3: tab trên cùng trang Bảng đặc biệt = thanh tab XSMB | XSMN | XSMT | Vietlott (xd-nav):
   1 thanh liền, nền trắng, chữ đậm #444, vạch đỏ #d31f1f dưới thanh, tab đang mở nền đỏ chữ trắng */
.xd-bdb .xd-bdb-tabs { display: flex; flex-wrap: nowrap; gap: 0; margin: 0 0 12px !important; background: #fff; border: 1px solid #e5e5e5; border-bottom: 4px solid #d31f1f; border-radius: 6px 6px 0 0; overflow: hidden; }
.xd-bdb .xd-bdb-tabs li { flex: 1 1 0; min-width: 0; }
.xd-bdb .xd-bdb-tabs a, .xd-bdb .xd-bdb-tabs li + li a {
  display: block; height: auto; padding: 10px 6px; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  font-size: 18px; font-weight: 700 !important; letter-spacing: .02em; line-height: 1.4;
  color: #444; background: #fff; border: 0; border-right: 1px solid #eee; border-radius: 0; transition: none;
}
.xd-bdb .xd-bdb-tabs li:last-child a { border-right: 0; }
.xd-bdb .xd-bdb-tabs a:hover, .xd-bdb .xd-bdb-tabs a:focus { background: #f6f6f6; color: #444; border-color: #eee; }
.xd-bdb .xd-bdb-tabs a.xd-bdb-on, .xd-bdb .xd-bdb-tabs a.xd-bdb-on:hover { background: #d31f1f; color: #fff; font-weight: 700 !important; }
@media (max-width: 600px) {
  .xd-bdb .xd-bdb-tabs a, .xd-bdb .xd-bdb-tabs li + li a { padding: 12px 2px; font-size: 14px; letter-spacing: 0; }
}
/* v1.221.5: 4 tab trang tỉnh (mã dài như HCM, QNG) vẫn đủ chữ trên điện thoại */
@media (max-width: 600px) { .xd-bdb .xd-bdb-tabs a, .xd-bdb .xd-bdb-tabs li + li a { font-size: 13px; letter-spacing: -.2px; padding-left: 1px; padding-right: 1px; } }
