/* =============================================================================
   Soi Cầu Pro V2 — main.css
   Giao diện "NIÊN GIÁM BÁO GIẤY": giấy kem, mực serif, số máy chữ canh cột,
   ĐƯỜNG KẺ DÒNG + dot-leader thay thẻ bo tròn, DẤU ẤN ĐỎ nhấn. Không gradient,
   không glow, góc vuông. Viết lại 100% — giữ MỌI hook JS (drawer/tabs/live/
   calendar/clock/date-switcher) & mọi class renderer/AJAX phát ra.
   Mục lục: 1 Reset · 2 Base · 3 Layout · 4 Header/Nav/Drawer · 5 Bottom-nav ·
   6 Buttons · 7 Nhãn/Chip · 8 Tấm giấy/Widget · 9 Số (máy chữ) · 10 KQXS ruled ·
   11 Bảng loto/thống kê · 12 Cầu matrix · 13 Soi cầu blocks · 14 Dự đoán/picks ·
   15 Live bar · 16 Date switcher/Tabs · 17 Lịch · 18 Lịch quay · 19 Giấc mơ ·
   20 Blog/Single · 21 Forms · 22 Breadcrumb/Pagination · 23 Footer · 24 Masthead/Misc ·
   25 Skeleton · 26 Responsive.
   ========================================================================== */

/* ── 1. Reset ────────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
img, picture, svg, video { display: block; max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; background: none; border: none; }
a { color: var(--scp-primary); text-decoration: none; transition: color var(--scp-dur) var(--scp-ease); }
a:hover { color: var(--scp-primary-ink); text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1px; }
ul, ol { list-style: none; padding: 0; }
table { border-collapse: collapse; width: 100%; }
:focus-visible { outline: 2px solid var(--scp-ring); outline-offset: 2px; border-radius: 2px; }
::selection { background: color-mix(in srgb, var(--scp-primary) 22%, transparent); }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}

/* ── 2. Base ─────────────────────────────────────────────────────────────── */
body {
  font-family: var(--scp-font-body);
  font-size: var(--scp-fs-base);
  line-height: var(--scp-lh-body);
  color: var(--scp-ink);
  background-color: var(--scp-bg);
  /* vân giấy rất nhạt (feTurbulence) — tăng cảm giác in ấn */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  min-height: 100vh;
}
h1, h2, h3, h4, h5 { font-family: var(--scp-font-heading); line-height: var(--scp-lh-heading); font-weight: var(--scp-fw-bold); color: var(--scp-ink); text-wrap: balance; }
h1 { font-size: clamp(1.7rem, 1.1rem + 2.4vw, var(--scp-fs-4xl)); letter-spacing: -.01em; }
h2 { font-size: var(--scp-fs-xl); }
h3 { font-size: var(--scp-fs-lg); }
p { text-wrap: pretty; }
.scp-muted { color: var(--scp-muted); }
.scp-skip { position: absolute; left: -9999px; top: 0; z-index: var(--scp-z-toast); background: var(--scp-primary); color: #fff; padding: 10px 16px; }
.scp-skip:focus { left: 0; color: #fff; }
.scp-num, .scp-pick, [class*="__num"], .scp-cal__day, td .scp-num { font-family: var(--scp-font-num); font-variant-numeric: tabular-nums; }

/* ── 3. Layout ───────────────────────────────────────────────────────────── */
.scp-container { width: 100%; max-width: var(--scp-container); margin-inline: auto; padding-inline: var(--scp-gutter); }
.scp-page-wrap { min-height: 60vh; padding-bottom: var(--scp-sp-10); }
.scp-main { min-width: 0; }
.scp-section { margin-bottom: var(--scp-sp-6); }
.scp-section + .scp-section { margin-top: 0; }

/* Standard content+sidebar layout — cột giấy có đường phân chia dọc */
.scp-layout-wrap { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--scp-sp-6); padding-top: var(--scp-sp-6); }
@media (min-width: 1024px) {
  .scp-layout-wrap { grid-template-columns: minmax(0, 1fr) 320px; align-items: start; }
  .scp-layout-left .scp-sidebar { order: -1; }
}
.scp-sidebar { display: flex; flex-direction: column; gap: var(--scp-sp-4); }
@media (min-width: 1024px) { .scp-sidebar { position: sticky; top: calc(var(--scp-header-h) + 12px); align-self: start; } }

/* Home 3-col */
.scp-home-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--scp-sp-6); padding-top: var(--scp-sp-6); align-items: start; }
.scp-home-left { display: none; }
.scp-home-right { display: flex; flex-direction: column; gap: var(--scp-sp-4); }
.scp-home-main { min-width: 0; display: flex; flex-direction: column; gap: var(--scp-sp-6); }
@media (min-width: 900px) { .scp-home-grid { grid-template-columns: minmax(0, 1fr) 320px; } }
@media (min-width: 1200px) {
  .scp-home-grid { grid-template-columns: 262px minmax(0, 1fr) 320px; column-gap: var(--scp-sp-8); }
  .scp-home-left { display: flex; flex-direction: column; gap: var(--scp-sp-4); }
}
/* Sidebar dính nhẹ, KHÔNG nhốt-cuộn (bỏ scrollbar dọc xấu). Cột nào cao hơn
   viewport vẫn cuộn tự nhiên theo trang. */
@media (min-width: 1024px) {
  .scp-home-right, .scp-home-left { position: sticky; top: calc(var(--scp-header-h) + 12px); align-self: start; }
}

/* ── 4. Header / Nav / Drawer ────────────────────────────────────────────── */
.scp-header { position: relative; z-index: var(--scp-z-sticky); }
.scp-header--sticky { position: sticky; top: 0; }
.scp-header__main {
  background: var(--scp-header-main-bg);
  border-bottom: 1px solid var(--scp-border);
  box-shadow: var(--scp-shadow-sm);
}
.scp-header__bar { display: flex; align-items: center; gap: var(--scp-sp-4); height: var(--scp-header-h); }
.scp-brand { display: inline-flex; align-items: center; gap: 10px; font-family: var(--scp-font-heading); font-weight: var(--scp-fw-extra); font-size: 1.34rem; letter-spacing: .01em; color: var(--scp-ink); }
.scp-brand:hover { color: var(--scp-ink); text-decoration: none; }
.scp-brand::before { content: "☰"; display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; font-size: .8rem; color: #fff; background: var(--scp-primary); border: 1px solid var(--scp-primary-ink); flex: none; }
.scp-brand__pro { font-size: .58em; font-weight: var(--scp-fw-bold); color: #fff; background: var(--scp-primary); padding: 2px 7px; letter-spacing: .08em; text-transform: uppercase; border: 1px solid var(--scp-primary-ink); }
.scp-custom-logo-link, .custom-logo-link { display: inline-flex; align-items: center; flex: none; }
.scp-header__bar .custom-logo, .scp-header__bar img { max-height: 40px; width: auto; }
.scp-header-right { margin-left: auto; display: flex; align-items: center; gap: var(--scp-sp-3); }

/* Header clock — nhãn ngày kiểu dateline */
.scp-header__clock { display: none; text-align: right; line-height: 1.15; padding: 4px 12px; border-left: 1px solid var(--scp-border); }
.scp-header__clock-time { font-family: var(--scp-font-num); font-variant-numeric: tabular-nums; font-weight: var(--scp-fw-bold); font-size: 1rem; color: var(--scp-primary); letter-spacing: .04em; }
.scp-header__clock-date { display: block; font-size: var(--scp-fs-xs); color: var(--scp-muted); font-style: italic; }
@media (min-width: 560px) { .scp-header__clock { display: block; } }

.scp-menu-toggle { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; color: var(--scp-ink); border: 1px solid var(--scp-border-strong); background: var(--scp-surface); transition: background var(--scp-dur), color var(--scp-dur); }
.scp-menu-toggle:hover { background: var(--scp-primary); color: #fff; border-color: var(--scp-primary-ink); }
@media (min-width: 992px) { .scp-menu-toggle { display: none; } }

/* Desktop nav (bottom bar) — thanh mục lục small-caps, ngăn bằng vạch dọc */
.scp-header__bottom { display: none; background: var(--scp-header-bottom-bg); border-bottom: 3px double var(--scp-ink); }
@media (min-width: 992px) { .scp-header__bottom { display: block; } }
.scp-nav__list { display: flex; align-items: stretch; gap: 0; flex-wrap: wrap; justify-content: center; }
.scp-nav__list > li { position: relative; }
.scp-nav__list > li > a { display: inline-flex; align-items: center; gap: 6px; padding: 12px 9px; color: var(--scp-nav-ink); font-family: var(--scp-font-heading); font-weight: var(--scp-fw-semibold); font-size: var(--scp-fs-sm); letter-spacing: .005em; text-transform: uppercase; white-space: nowrap; border-bottom: 3px solid transparent; }
.scp-nav__list > li > a:hover { color: var(--scp-primary); text-decoration: none; background: var(--scp-nav-active-bg); }
.scp-nav__list > li.current-menu-item > a,
.scp-nav__list > li.current-menu-parent > a,
.scp-nav__list > li.current-page-ancestor > a { color: var(--scp-nav-active-ink); border-bottom-color: var(--scp-primary); background: var(--scp-nav-active-bg); }
/* Submenu (dropdown) — tấm giấy nhỏ viền mực */
.scp-nav__list li ul { position: absolute; top: 100%; left: 0; min-width: 220px; background: var(--scp-surface); border: 1px solid var(--scp-border-strong); box-shadow: var(--scp-shadow-lg); padding: 5px; opacity: 0; visibility: hidden; transform: translateY(6px); transition: all var(--scp-dur) var(--scp-ease); z-index: var(--scp-z-dropdown); }
.scp-nav__list li:hover > ul, .scp-nav__list li:focus-within > ul { opacity: 1; visibility: visible; transform: translateY(0); }
.scp-nav__list li ul li a { display: block; padding: 9px 12px; color: var(--scp-ink); font-size: var(--scp-fs-sm); font-weight: var(--scp-fw-medium); border-bottom: 1px solid var(--scp-border); }
.scp-nav__list li ul li:last-child a { border-bottom: 0; }
.scp-nav__list li ul li a:hover { background: var(--scp-nav-active-bg); color: var(--scp-primary); text-decoration: none; }

/* Drawer (mobile off-canvas) */
.scp-drawer-backdrop { position: fixed; inset: 0; background: rgba(36, 30, 22, .55); opacity: 0; z-index: var(--scp-z-overlay); transition: opacity var(--scp-dur-slow) var(--scp-ease); }
.scp-drawer-backdrop.is-open { opacity: 1; }
.scp-drawer { position: fixed; top: 0; right: 0; height: 100dvh; width: min(86vw, 340px); background: var(--scp-surface); z-index: var(--scp-z-drawer); box-shadow: var(--scp-shadow-lg); border-left: 3px double var(--scp-ink); transform: translateX(100%); transition: transform var(--scp-dur-slow) var(--scp-ease); display: flex; flex-direction: column; }
.scp-drawer.is-open { transform: translateX(0); }
body.scp-drawer-open { overflow: hidden; }
.scp-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: var(--scp-sp-4) var(--scp-sp-5); border-bottom: 2px solid var(--scp-ink); }
.scp-drawer__title { font-family: var(--scp-font-heading); font-weight: var(--scp-fw-bold); font-size: var(--scp-fs-md); text-transform: uppercase; letter-spacing: .06em; }
.scp-drawer__close { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--scp-border-strong); background: var(--scp-surface); color: var(--scp-ink); }
.scp-drawer__close:hover { background: var(--scp-db); color: #fff; border-color: var(--scp-db); }
.scp-drawer__body { overflow-y: auto; padding: var(--scp-sp-2); flex: 1; }
.scp-drawer__list li a { display: flex; align-items: center; gap: 10px; padding: 13px 14px; color: var(--scp-ink); font-family: var(--scp-font-heading); font-weight: var(--scp-fw-semibold); font-size: var(--scp-fs-md); border-bottom: 1px solid var(--scp-border); }
.scp-drawer__list li a:hover, .scp-drawer__list li.current-menu-item > a { color: var(--scp-primary); text-decoration: none; }
.scp-drawer__list li ul { padding-left: 12px; margin: 0 0 4px; border-left: 2px solid var(--scp-border); }
.scp-drawer__list li ul a { font-size: var(--scp-fs-sm); font-weight: var(--scp-fw-medium); font-family: var(--scp-font-body); color: var(--scp-muted); padding: 9px 12px; }

/* ── 5. Bottom-nav (thanh giấy dưới — mobile) ────────────────────────────── */
.scp-bottomnav { position: fixed; left: 0; right: 0; bottom: 0; z-index: var(--scp-z-bottomnav); height: calc(var(--scp-bottomnav-h) + env(safe-area-inset-bottom)); padding-bottom: env(safe-area-inset-bottom); background: var(--scp-surface); border-top: 3px double var(--scp-ink); display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; }
.scp-bottomnav__item { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; font-family: var(--scp-font-heading); font-size: 10.5px; font-weight: var(--scp-fw-semibold); letter-spacing: .02em; text-transform: uppercase; color: var(--scp-muted); border-left: 1px solid var(--scp-border); }
.scp-bottomnav__item:first-child { border-left: 0; }
.scp-bottomnav__item .scp-icon { width: 21px; height: 21px; }
.scp-bottomnav__item:hover { color: var(--scp-ink); text-decoration: none; }
.scp-bottomnav__item.is-active { color: var(--scp-primary); box-shadow: inset 0 3px 0 var(--scp-primary); }
body { padding-bottom: 0; }
@media (max-width: 991px) {
  .scp-page-wrap { padding-bottom: calc(var(--scp-bottomnav-h) + 24px); }
  .scp-footer { margin-bottom: calc(var(--scp-bottomnav-h) + env(safe-area-inset-bottom)); }
}
@media (min-width: 992px) { .scp-bottomnav { display: none; } }

/* ── 6. Buttons — nút mực viền, góc vuông, small-caps ────────────────────── */
.scp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 20px; font-family: var(--scp-font-heading); font-weight: var(--scp-fw-semibold); font-size: var(--scp-fs-sm); letter-spacing: .04em; text-transform: uppercase; line-height: 1; color: #fff; background: var(--scp-primary); border: 1px solid var(--scp-primary-ink); transition: background var(--scp-dur) var(--scp-ease), color var(--scp-dur); white-space: nowrap; }
.scp-btn:hover { color: #fff; background: var(--scp-primary-ink); text-decoration: none; }
.scp-btn:active { transform: translateY(1px); }
.scp-btn--primary { background: var(--scp-primary); }
.scp-btn--ghost { background: transparent; color: var(--scp-ink); border-color: var(--scp-ink); }
.scp-btn--ghost:hover { color: #fff; background: var(--scp-ink); border-color: var(--scp-ink); }
.scp-btn--sm { padding: 7px 14px; font-size: var(--scp-fs-xs); }
.scp-btn--block { width: 100%; }

/* ── 7. Nhãn / Chip — thẻ vuông viền mực, kiểu tem báo ───────────────────── */
.scp-badge { display: inline-flex; align-items: center; gap: 5px; padding: 2px 9px; font-family: var(--scp-font-heading); font-size: 11px; font-weight: var(--scp-fw-bold); letter-spacing: .05em; text-transform: uppercase; line-height: 1.5; background: transparent; color: var(--scp-ink-2); border: 1px solid var(--scp-border-strong); }
.scp-badge--mb { color: var(--scp-mb); border-color: var(--scp-mb); }
.scp-badge--mt { color: var(--scp-mt); border-color: var(--scp-mt); }
.scp-badge--mn { color: var(--scp-mn); border-color: var(--scp-mn); }
.scp-badge--date { color: var(--scp-primary); border-color: var(--scp-primary); }
.scp-chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 13px; background: var(--scp-surface); border: 1px solid var(--scp-border-strong); font-family: var(--scp-font-heading); font-size: var(--scp-fs-sm); font-weight: var(--scp-fw-semibold); letter-spacing: .02em; color: var(--scp-ink); }
.scp-chip:hover { border-color: var(--scp-primary); color: var(--scp-primary); text-decoration: none; }
.scp-tag { display: inline-flex; padding: 3px 10px; background: transparent; color: var(--scp-muted); border: 1px solid var(--scp-border); font-size: var(--scp-fs-xs); font-weight: var(--scp-fw-medium); }
.scp-tag:hover { border-color: var(--scp-primary); color: var(--scp-primary); text-decoration: none; }
.scp-icon { flex: none; vertical-align: middle; }

/* ── 8. Tấm giấy / Widget ────────────────────────────────────────────────── */
.scp-card, .scp-widget, .scp-section.scp-kqsec, .scp-sc__block, .scp-single, .scp-dd-prev, .scp-predict-section, .scp-run, .scp-caurun, .scp-tk30__day, .scp-page-content {
  background: var(--scp-card-bg); border: 1px solid var(--scp-border-strong); border-radius: var(--scp-card-radius); box-shadow: var(--scp-shadow-sm);
}
.scp-card, .scp-widget { padding: var(--scp-sp-5); }
.scp-widget { position: relative; }
/* tiêu đề widget = kicker small-caps + kẻ dưới đôi */
.scp-widget__title { display: flex; align-items: center; gap: 8px; font-family: var(--scp-font-heading); font-size: var(--scp-fs-md); font-weight: var(--scp-fw-bold); letter-spacing: .02em; margin-bottom: var(--scp-sp-4); padding-bottom: 8px; border-bottom: 2px solid var(--scp-ink); }
.scp-widget__title .scp-icon { color: var(--scp-primary); }
.scp-widget__sub { font-size: var(--scp-fs-sm); color: var(--scp-muted); font-style: italic; margin: -8px 0 12px; }
.scp-widget--highlight { background: var(--scp-grad-soft); border-color: var(--scp-ink); border-width: 2px; }

/* Section title (generic) — đề mục báo: small-caps, kẻ dưới đôi, có "◆" */
.scp-section-title, .scp-section__title { display: flex; align-items: center; gap: 10px; font-family: var(--scp-font-heading); font-size: var(--scp-fs-xl); font-weight: var(--scp-fw-bold); letter-spacing: .01em; text-transform: uppercase; margin-bottom: var(--scp-sp-4); padding-bottom: 8px; border-bottom: 3px double var(--scp-ink); }
.scp-section-title::before, .scp-section__title::before { content: "◆"; color: var(--scp-primary); font-size: .6em; }
.scp-page-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--scp-sp-4); margin-bottom: var(--scp-sp-5); padding-bottom: var(--scp-sp-3); border-bottom: 3px double var(--scp-ink); }
.scp-page-title { margin-bottom: var(--scp-sp-2); }
.scp-page-sub { color: var(--scp-muted); font-style: italic; }

/* Hàng link trong widget — mục lục kẻ dòng */
/* `.scp-link-row` CHÍNH là thẻ <a> (không phải container) → mỗi anchor = 1 hàng NGANG */
.scp-sc-links { display: flex; flex-direction: column; gap: 0; }
.scp-link-row { display: flex; align-items: center; gap: 9px; padding: 9px 4px; color: var(--scp-ink-2); font-weight: var(--scp-fw-medium); font-size: var(--scp-fs-sm); border-bottom: 1px dotted var(--scp-border-strong); }
.scp-link-row:last-child { border-bottom: 0; }
.scp-link-row:hover { color: var(--scp-primary); text-decoration: none; }
.scp-link-row .scp-icon { color: var(--scp-primary); flex: none; }
.scp-sc-links__tag { margin-left: auto; }

/* ── 9. Số (máy chữ) ─────────────────────────────────────────────────────── */
.scp-num { display: inline-flex; align-items: center; justify-content: center; min-width: 26px; padding: 1px 4px; color: var(--scp-ink); font-weight: var(--scp-fw-semibold); font-size: var(--scp-fs-sm); letter-spacing: .02em; }
.scp-num--db { color: var(--scp-db); font-weight: var(--scp-fw-bold); letter-spacing: .04em; }
.scp-num--xl { font-family: var(--scp-font-num); font-size: var(--scp-fs-2xl); font-weight: var(--scp-fw-bold); letter-spacing: .04em; }
.scp-num--pending { color: var(--scp-muted); min-width: 26px; }
.scp-num--reveal { animation: scp-ink .45s var(--scp-ease) both; }
@keyframes scp-ink { 0% { opacity: 0; filter: blur(1.5px); } 100% { opacity: 1; filter: none; } }
.scp-spin { display: inline-block; width: 12px; height: 12px; border: 2px solid var(--scp-border-strong); border-top-color: var(--scp-primary); border-radius: 50%; animation: scp-rot .7s linear infinite; }
@keyframes scp-rot { to { transform: rotate(360deg); } }

/* Pick — số chốt: ô vé số vuông viền mực, số máy chữ */
.scp-sc-nums { display: flex; flex-wrap: wrap; gap: 8px; }
.scp-pick { display: inline-flex; align-items: center; justify-content: center; min-width: 46px; height: 44px; padding: 0 10px; background: var(--scp-surface); border: 1px solid var(--scp-ink); color: var(--scp-ink); font-family: var(--scp-font-num); font-variant-numeric: tabular-nums; font-weight: var(--scp-fw-bold); font-size: var(--scp-fs-lg); box-shadow: 2px 2px 0 var(--scp-border-strong); transition: box-shadow var(--scp-dur) var(--scp-ease), transform var(--scp-dur); }
.scp-pick:hover { transform: translate(-1px, -1px); box-shadow: 3px 3px 0 var(--scp-primary); }
.scp-pick--db { background: var(--scp-db); border-color: var(--scp-primary-ink); color: #fff; }
.scp-pick--3c { min-width: 64px; border-color: var(--scp-accent); color: var(--scp-accent); }
.scp-sc-pairs { display: flex; flex-wrap: wrap; gap: 10px; }
.scp-sc-pair { display: inline-flex; flex-direction: column; align-items: center; gap: 2px; padding: 7px 14px; background: var(--scp-surface); border: 1px solid var(--scp-border-strong); font-family: var(--scp-font-num); font-weight: var(--scp-fw-bold); }

/* ── 10. KQXS ruled (bảng tỉnh × giải) ───────────────────────────────────── */
.scp-kqsec { padding: var(--scp-sp-4) var(--scp-sp-4) var(--scp-sp-5); }
.scp-kqsec__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: var(--scp-sp-3); padding-bottom: 6px; border-bottom: 2px solid var(--scp-ink); }
.scp-kqsec__title { display: inline-flex; align-items: baseline; gap: 8px; font-family: var(--scp-font-heading); font-size: var(--scp-fs-md); font-weight: var(--scp-fw-bold); text-transform: uppercase; letter-spacing: .03em; }
.scp-kqsec__title::before { content: "▍"; color: var(--scp-primary); }
.scp-kqsec[data-region="mb"] .scp-kqsec__title::before { color: var(--scp-mb); }
.scp-kqsec[data-region="mt"] .scp-kqsec__title::before { color: var(--scp-mt); }
.scp-kqsec[data-region="mn"] .scp-kqsec__title::before { color: var(--scp-mn); }
.scp-kqsec__date { font-family: var(--scp-font-num); font-weight: var(--scp-fw-semibold); font-size: var(--scp-fs-sm); color: var(--scp-primary); border: 1px solid var(--scp-primary); padding: 2px 10px; }
.scp-kqsec__daylabel { font-weight: var(--scp-fw-bold); color: var(--scp-ink); font-style: italic; }
.scp-kqsec--compact { padding: var(--scp-sp-3) var(--scp-sp-4); }

.scp-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--scp-border); }
.scp-kq-grid { min-width: 320px; }
.scp-kq-grid thead th { text-align: center; padding: 8px 6px; background: var(--scp-surface-2); border-bottom: 2px solid var(--scp-ink); font-family: var(--scp-font-heading); text-transform: uppercase; font-size: var(--scp-fs-xs); letter-spacing: .03em; }
.scp-kq-grid__gcol { width: 46px; }
.scp-kq-grid__prov { background: var(--scp-surface-2); }
.scp-kq-grid__pname { display: block; font-family: var(--scp-font-heading); font-size: var(--scp-fs-sm); font-weight: var(--scp-fw-bold); color: var(--scp-ink); }
.scp-kq-grid__pcode { display: block; font-size: var(--scp-fs-xs); color: var(--scp-muted); }
.scp-kq-grid tr.scp-prize-row { border-top: 1px solid var(--scp-border); }
.scp-kq-grid tr.scp-prize-row:first-child { border-top: 0; }
.scp-prize-label { width: 46px; text-align: center; font-family: var(--scp-font-heading); font-weight: var(--scp-fw-bold); font-size: var(--scp-fs-xs); text-transform: uppercase; color: var(--scp-muted); vertical-align: middle; border-right: 1px solid var(--scp-border); }
.scp-prize-row--db .scp-prize-label { color: var(--scp-db); }
.scp-kq-cell { padding: 5px 4px; text-align: center; vertical-align: middle; }
.scp-kq-grid .scp-kq-cell { display: table-cell; }
.scp-kq-grid tr { display: table-row; }
.scp-kq-grid td, .scp-kq-grid th { display: table-cell; }
.scp-kq-cell .scp-num { margin: 1px 3px; font-size: var(--scp-fs-sm); }
.scp-prize-row--db .scp-num, .scp-num--db { font-size: var(--scp-fs-md); }
.scp-kq-grid tbody tr:nth-child(even) { background: var(--scp-zebra); }
.scp-kq-grid tbody tr.scp-prize-row--db { background: var(--scp-db-soft); }

/* Result card (MB single / show_loto) — bảng kẻ dòng dọc */
.scp-result { background: var(--scp-surface); border: 1px solid var(--scp-border-strong); border-radius: var(--scp-card-radius); padding: var(--scp-sp-4) var(--scp-sp-5); box-shadow: var(--scp-shadow-sm); }
/* Khi thẻ KQ nằm TRONG một card khác (VIP "kỳ trước", widget…) → làm phẳng, tránh card-trong-card */
.scp-dd-prev .scp-result, .scp-run .scp-result, .scp-widget .scp-result, .scp-predict-section .scp-result { border: 0; border-radius: 0; padding: 0; box-shadow: none; }
.scp-dd-prev .scp-result__table .scp-prize-row--db, .scp-run .scp-result__table .scp-prize-row--db, .scp-widget .scp-result__table .scp-prize-row--db { margin-inline: 0; }
.scp-result__head { display: flex; align-items: baseline; gap: 8px; margin-bottom: 8px; padding-bottom: 7px; border-bottom: 2px solid var(--scp-ink); }
.scp-result__title { font-family: var(--scp-font-heading); font-size: var(--scp-fs-md); font-weight: var(--scp-fw-bold); text-transform: uppercase; letter-spacing: .02em; }
.scp-result__code { font-size: var(--scp-fs-xs); color: var(--scp-muted); }
.scp-result__table .scp-prize-row { display: grid; grid-template-columns: 42px 1fr; gap: 12px; align-items: baseline; padding: 6px 0; border-bottom: 1px dotted var(--scp-border); }
.scp-result__table .scp-prize-row:last-child { border-bottom: 0; }
.scp-result__table .scp-prize-label { border-right: 0; text-align: center; align-self: baseline; }
.scp-result__table .scp-prize-row--db { background: var(--scp-db-soft); padding: 8px; margin-inline: calc(-1 * var(--scp-sp-5)); padding-inline: var(--scp-sp-5); }
/* căn GIỮA đối xứng các dãy số (kiểu bảng KQXS truyền thống) */
.scp-result__table .scp-prize-nums { display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 4px 14px; }
.scp-result__table .scp-prize-nums .scp-num { min-width: 0; padding: 0; font-size: var(--scp-fs-md); }
.scp-result__table .scp-prize-row--db .scp-num { font-size: var(--scp-fs-xl); letter-spacing: .06em; }
.scp-results-3 { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--scp-sp-4); }
@media (min-width: 720px) { .scp-results-3 { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); } }

/* Region CSS filter (theme.js sets #scp-kqxs-wrap[data-region]) */
#scp-kqxs-wrap[data-region="mb"] .scp-kqsec[data-region]:not([data-region="mb"]),
#scp-kqxs-wrap[data-region="mt"] .scp-kqsec[data-region]:not([data-region="mt"]),
#scp-kqxs-wrap[data-region="mn"] .scp-kqsec[data-region]:not([data-region="mn"]) { display: none; }
#scp-kqxs-wrap { display: flex; flex-direction: column; gap: var(--scp-sp-5); }

/* ── 11. Bảng loto / thống kê — ruled ────────────────────────────────────── */
.scp-loto-table, .scp-lototk, .scp-gan-table, .scp-run__table, .scp-tk30__freq, .scp-tk30__ddt, .scp-lqt, table.scp-loto-table {
  font-size: var(--scp-fs-sm); border: 1px solid var(--scp-border-strong);
}
.scp-loto-table th, .scp-lototk th, .scp-gan-table__head, .scp-run__table th, .scp-tk30__freq th, .scp-tk30__ddt th, .scp-lqt th {
  background: var(--scp-table-head-bg); color: var(--scp-ink); font-family: var(--scp-font-heading); font-weight: var(--scp-fw-bold); font-size: var(--scp-fs-xs); text-transform: uppercase; letter-spacing: .04em; padding: 9px 10px; text-align: left; border-bottom: 2px solid var(--scp-ink);
}
.scp-loto-table td, .scp-lototk td, .scp-run__table td, .scp-tk30__freq td, .scp-tk30__ddt td, .scp-lqt td { padding: 8px 10px; border-top: 1px solid var(--scp-border); vertical-align: middle; }
.scp-loto-table tbody tr:nth-child(even), .scp-lototk tbody tr:nth-child(even) { background: var(--scp-zebra); }
.scp-loto-table__k, .scp-lototk__k, .scp-loto-table__hcol, .scp-lototk__hcol { font-family: var(--scp-font-num); font-weight: var(--scp-fw-bold); color: var(--scp-primary); background: var(--scp-surface-2); text-align: center; width: 48px; border-right: 1px solid var(--scp-border); }
.scp-loto-table__nums, .scp-lototk__nums { font-family: var(--scp-font-num); font-variant-numeric: tabular-nums; letter-spacing: .03em; color: var(--scp-ink); }
.scp-loto-table__hot { color: var(--scp-db); font-weight: var(--scp-fw-bold); }
.scp-loto-table__empty, .scp-lototk__empty { color: var(--scp-muted); }
.scp-lototk-sec, .scp-loto-sec { margin-top: var(--scp-sp-4); }
.scp-lototk-sec__title { font-family: var(--scp-font-heading); font-size: var(--scp-fs-md); }

/* Gan table */
.scp-gan-table { display: table; border: 1px solid var(--scp-border-strong); }
.scp-gan-table__head, .scp-gan-table__row { display: table-row; }
.scp-gan-table__head > *, .scp-gan-table__row > * { display: table-cell; padding: 8px 10px; border-top: 1px solid var(--scp-border); }
.scp-gan-table__row:nth-child(even) { background: var(--scp-zebra); }

/* ── 12. Cầu matrix ──────────────────────────────────────────────────────── */
.scp-caumx { display: flex; flex-direction: column; gap: 3px; overflow-x: auto; }
.scp-caumx__row { display: grid; grid-template-columns: 64px repeat(10, minmax(30px, 1fr)); gap: 3px; }
.scp-caumx__rlabel { display: flex; align-items: center; font-family: var(--scp-font-num); font-size: var(--scp-fs-xs); font-weight: var(--scp-fw-bold); color: var(--scp-muted); }
.scp-caumx__cell { aspect-ratio: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid var(--scp-border); }
.scp-caumx__cell--off { background: var(--scp-surface-2); }
.scp-caumx__cell--on { background: var(--scp-db); border-color: var(--scp-primary-ink); color: #fff; }
.scp-caumx__n { font-family: var(--scp-font-num); font-weight: var(--scp-fw-bold); font-size: var(--scp-fs-sm); }
.scp-caumx__c { font-size: 9px; opacity: .9; }
.scp-caurun { padding: var(--scp-sp-5); }
.scp-caurun__title { font-family: var(--scp-font-heading); font-weight: var(--scp-fw-bold); margin-bottom: 4px; }
.scp-caurun__hint { color: var(--scp-muted); font-style: italic; font-size: var(--scp-fs-sm); margin-bottom: 12px; }
.scp-caurun__links { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }

/* ── 13. Soi cầu blocks ──────────────────────────────────────────────────── */
.scp-sc { display: flex; flex-direction: column; gap: var(--scp-sp-4); }
.scp-sc__block { padding: var(--scp-sp-5); }
.scp-sc__title { display: flex; align-items: center; gap: 9px; font-family: var(--scp-font-heading); font-size: var(--scp-fs-md); font-weight: var(--scp-fw-bold); text-transform: uppercase; letter-spacing: .02em; margin-bottom: var(--scp-sp-4); padding-bottom: 8px; border-bottom: 2px solid var(--scp-ink); }
.scp-sc__title .scp-icon { color: var(--scp-primary); }
.scp-sc-duo { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--scp-sp-4); }
@media (min-width: 620px) { .scp-sc-duo { grid-template-columns: 1fr 1fr; } }
.scp-sc-duo__col { background: var(--scp-surface-2); border: 1px solid var(--scp-border); padding: var(--scp-sp-4); }
.scp-sc-duo__cap { font-family: var(--scp-font-heading); font-size: var(--scp-fs-xs); font-weight: var(--scp-fw-semibold); color: var(--scp-muted); text-transform: uppercase; letter-spacing: .05em; margin-bottom: 10px; border-bottom: 1px dotted var(--scp-border-strong); padding-bottom: 6px; }
.scp-sc-bt { display: flex; flex-direction: column; gap: var(--scp-sp-4); }
.scp-sc-bt__next { display: flex; align-items: center; gap: 14px; padding: var(--scp-sp-4); background: var(--scp-grad-soft); border: 1px solid var(--scp-ink); }
.scp-sc-bt__cap { font-family: var(--scp-font-heading); font-weight: var(--scp-fw-semibold); text-transform: uppercase; letter-spacing: .03em; color: var(--scp-ink-2); }
.scp-sc-bt__num { margin-left: auto; font-family: var(--scp-font-num); font-weight: var(--scp-fw-bold); font-size: var(--scp-fs-3xl); color: var(--scp-db); line-height: 1; }
.scp-sc-ok { color: var(--scp-win); font-weight: var(--scp-fw-bold); }
.scp-sc-wait { color: var(--scp-warning); font-weight: var(--scp-fw-semibold); }
.scp-methods-list { display: flex; flex-direction: column; gap: 0; margin-top: 10px; }
.scp-methods-list li { padding: 8px 4px; border-bottom: 1px dotted var(--scp-border-strong); font-size: var(--scp-fs-sm); }
.scp-sc-history { margin-top: var(--scp-sp-4); }

/* ── 14. Dự đoán / picks — mục lục dot-leader ─────────────────────────────── */
.scp-predict-section, .scp-dd-prev, .scp-run { padding: var(--scp-sp-5); }
/* danh sách kẻ dòng dot-leader: nhãn ....... trị số */
.scp-forecast__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
.scp-forecast__row { display: flex; align-items: baseline; gap: 0; padding: 11px 2px; border-bottom: 1px solid var(--scp-border); }
.scp-forecast__row::before { content: ""; order: 1; flex: 1 1 auto; align-self: flex-end; margin: 0 8px 5px; border-bottom: 2px dotted var(--scp-border-strong); min-width: 18px; }
.scp-forecast__k { order: 0; flex: none; font-family: var(--scp-font-heading); font-size: var(--scp-fs-sm); font-weight: var(--scp-fw-semibold); color: var(--scp-ink-2); text-transform: uppercase; letter-spacing: .04em; }
.scp-forecast__v { order: 2; flex: none; font-family: var(--scp-font-num); font-variant-numeric: tabular-nums; font-weight: var(--scp-fw-bold); font-size: var(--scp-fs-lg); color: var(--scp-ink); line-height: 1.15; text-align: right; }
.scp-forecast__row--hero { border-bottom: 3px double var(--scp-ink); padding: 14px 2px; }
.scp-forecast__row--hero .scp-forecast__k { font-size: var(--scp-fs-md); }
/* Hàng nhiều số (cầu 2 nháy…): xuống dòng, bỏ dot-leader để KHÔNG tràn card */
.scp-forecast__row--span2 { flex-direction: column; align-items: stretch; gap: 5px; }
.scp-forecast__row--span2::before { display: none; }
.scp-forecast__row--span2 .scp-forecast__v { text-align: left; font-size: var(--scp-fs-md); line-height: 1.5; overflow-wrap: anywhere; }
.scp-forecast__v--hot { color: var(--scp-db); font-size: var(--scp-fs-3xl); line-height: 1; }
.scp-forecast__v--db { color: var(--scp-db); }
.scp-forecast__sub { color: var(--scp-muted); font-style: italic; margin: -6px 0 10px; }
.scp-forecast__more { display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; font-family: var(--scp-font-heading); font-weight: var(--scp-fw-semibold); text-transform: uppercase; letter-spacing: .03em; font-size: var(--scp-fs-sm); color: var(--scp-primary); }
.scp-forecast__more:hover { gap: 9px; text-decoration: none; }

.scp-picks-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; margin-top: var(--scp-sp-4); }
.scp-pick-cell { display: flex; align-items: center; gap: 10px; padding: 9px 12px; background: var(--scp-surface); border: 1px solid var(--scp-border-strong); position: relative; overflow: hidden; }
.scp-pick-cell__rank { font-family: var(--scp-font-num); font-size: var(--scp-fs-xs); font-weight: var(--scp-fw-bold); color: var(--scp-muted); width: 20px; }
.scp-pick-cell__num { font-family: var(--scp-font-num); font-weight: var(--scp-fw-bold); font-size: var(--scp-fs-lg); color: var(--scp-ink); }
.scp-pick-cell__score { margin-left: auto; font-size: var(--scp-fs-xs); color: var(--scp-muted); }
.scp-pick-cell__bar { position: absolute; left: 0; bottom: 0; height: 3px; background: var(--scp-primary); }

/* Directory (statdir) — thẻ chuyên mục: nhãn + 3 nhãn miền */
.scp-statdir { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 10px; }
.scp-statdir__row { display: flex; flex-direction: column; gap: 10px; padding: 14px 16px; background: var(--scp-surface); border: 1px solid var(--scp-border-strong); }
.scp-statdir__type { font-family: var(--scp-font-heading); font-weight: var(--scp-fw-bold); font-size: var(--scp-fs-md); color: var(--scp-ink); text-transform: uppercase; letter-spacing: .02em; padding-bottom: 7px; border-bottom: 2px solid var(--scp-ink); }
.scp-statdir__links { display: flex; flex-wrap: wrap; gap: 6px; }
.scp-statdir__link { display: inline-flex; align-items: center; padding: 5px 11px; background: transparent; border: 1px solid var(--scp-border-strong); font-family: var(--scp-font-heading); font-size: var(--scp-fs-xs); font-weight: var(--scp-fw-semibold); letter-spacing: .03em; color: var(--scp-ink-2); }
.scp-statdir__link:hover { border-color: var(--scp-primary); color: var(--scp-primary); text-decoration: none; }

/* period / sub-tabs / region-tabs (link style) */
.scp-period, .scp-sub-tabs, .scp-region-tabs, .scp-tabs__nav { display: flex; flex-wrap: wrap; gap: 0; margin-bottom: var(--scp-sp-4); border-bottom: 2px solid var(--scp-ink); }
.scp-period a, .scp-sub-tab, .scp-sub-tabs a { padding: 8px 16px; background: transparent; font-family: var(--scp-font-heading); font-size: var(--scp-fs-sm); font-weight: var(--scp-fw-semibold); text-transform: uppercase; letter-spacing: .03em; color: var(--scp-ink-2); border: 1px solid transparent; border-bottom: 0; }
.scp-period a:hover, .scp-sub-tabs a:hover { color: var(--scp-primary); text-decoration: none; }
.scp-sub-tab--active, .scp-period a.is-active { background: var(--scp-surface); border-color: var(--scp-ink); color: var(--scp-primary); margin-bottom: -2px; }

/* ── 15. Live bar — hộp "TRỰC TIẾP" son đỏ ──────────────────────────────── */
.scp-live { display: flex; align-items: center; gap: 10px; padding: 10px 16px; background: var(--scp-surface); border: 1px solid var(--scp-border-strong); margin-bottom: var(--scp-sp-4); }
.scp-live__dot { width: 10px; height: 10px; border-radius: 50%; background: var(--scp-muted); flex: none; }
.scp-live__label { font-family: var(--scp-font-heading); font-weight: var(--scp-fw-bold); text-transform: uppercase; letter-spacing: .04em; font-size: var(--scp-fs-sm); }
.scp-live__time { margin-left: auto; font-family: var(--scp-font-num); font-size: var(--scp-fs-sm); color: var(--scp-muted); }
.scp-live--pre .scp-live__dot { background: var(--scp-muted); }
.scp-live--wait { border-color: var(--scp-warning); }
.scp-live--wait .scp-live__dot { background: var(--scp-warning); }
.scp-live--on { border-color: var(--scp-live); border-width: 2px; background: var(--scp-db-soft); }
.scp-live--on .scp-live__label { color: var(--scp-live); }
.scp-live--on .scp-live__dot { background: var(--scp-live); box-shadow: 0 0 0 0 color-mix(in srgb, var(--scp-live) 60%, transparent); animation: scp-pulse 1.4s var(--scp-ease) infinite; }
@keyframes scp-pulse { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--scp-live) 55%, transparent); } 70% { box-shadow: 0 0 0 9px transparent; } 100% { box-shadow: 0 0 0 0 transparent; } }
.scp-live--done .scp-live__dot { background: var(--scp-win); }
.scp-live--done .scp-live__label { color: var(--scp-win); }

/* ── 16. Date switcher / Tabs (JS) ───────────────────────────────────────── */
.scp-date-switcher { display: inline-flex; align-items: center; gap: 8px; padding: 4px; background: var(--scp-surface); border: 1px solid var(--scp-ink); }
.scp-date-switcher__input { border: none; background: transparent; padding: 6px 10px; font-weight: var(--scp-fw-semibold); color: var(--scp-ink); font-family: var(--scp-font-num); width: auto; }
.scp-date-switcher__go { padding: 8px 16px; }

/* ARIA tabs (homepage region) — mục báo dạng "folder tab" */
.scp-region-tabs { border-bottom: 2px solid var(--scp-ink); gap: 0; }
.scp-tab { padding: 9px 20px; font-family: var(--scp-font-heading); font-weight: var(--scp-fw-semibold); font-size: var(--scp-fs-sm); text-transform: uppercase; letter-spacing: .04em; color: var(--scp-ink-2); border: 1px solid transparent; border-bottom: 0; }
.scp-tab:hover { color: var(--scp-primary); }
.scp-tab--active { background: var(--scp-surface); border-color: var(--scp-ink); color: var(--scp-primary); margin-bottom: -2px; }
.scp-tab--active:hover { color: var(--scp-primary); }
.scp-tab-panel { animation: scp-fade .3s var(--scp-ease); }
@keyframes scp-fade { from { opacity: 0; } to { opacity: 1; } }

/* client-side region filter tabs (kqxs-ngay) */
.scp-tabs__nav { gap: 0; border-bottom: 2px solid var(--scp-ink); }
.scp-tabs__tab { padding: 9px 20px; font-family: var(--scp-font-heading); font-weight: var(--scp-fw-semibold); font-size: var(--scp-fs-sm); text-transform: uppercase; letter-spacing: .04em; color: var(--scp-ink-2); border: 1px solid transparent; border-bottom: 0; }
.scp-tabs__tab--active { background: var(--scp-surface); border-color: var(--scp-ink); color: var(--scp-primary); margin-bottom: -2px; }

/* ── 17. Lịch (calendar widget) ──────────────────────────────────────────── */
.scp-cal__nav { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.scp-cal__head { font-family: var(--scp-font-heading); font-weight: var(--scp-fw-bold); font-size: var(--scp-fs-sm); text-transform: uppercase; letter-spacing: .04em; }
.scp-cal__btn { width: 32px; height: 32px; border: 1px solid var(--scp-border-strong); background: var(--scp-surface); color: var(--scp-ink); font-size: 1rem; display: inline-flex; align-items: center; justify-content: center; }
.scp-cal__btn:hover { background: var(--scp-primary); color: #fff; border-color: var(--scp-primary-ink); }
.scp-cal__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.scp-cal__dow { text-align: center; font-family: var(--scp-font-heading); font-size: 10px; font-weight: var(--scp-fw-bold); color: var(--scp-muted); text-transform: uppercase; padding-bottom: 4px; }
.scp-cal__day, .scp-cal__pad { aspect-ratio: 1; display: flex; align-items: center; justify-content: center; font-size: var(--scp-fs-sm); font-family: var(--scp-font-num); border: 1px solid transparent; }
.scp-cal__day.is-empty { color: var(--scp-muted); opacity: .45; }
.scp-cal__day.is-avail { background: var(--scp-surface-2); border-color: var(--scp-border); color: var(--scp-ink); font-weight: var(--scp-fw-semibold); }
.scp-cal__day.is-avail:hover { border-color: var(--scp-primary); color: var(--scp-primary); }
.scp-cal__day.is-active { background: var(--scp-primary); border-color: var(--scp-primary-ink); color: #fff; }

/* ── 18. Lịch quay ───────────────────────────────────────────────────────── */
.scp-lqt-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-bottom: var(--scp-sp-4); }
.scp-lqt-legend { display: flex; gap: 14px; margin-left: auto; }
.scp-lqt-legend span { display: inline-flex; align-items: center; gap: 6px; font-size: var(--scp-fs-xs); color: var(--scp-muted); }
.scp-lqt-legend span::before { content: ""; width: 10px; height: 10px; }
.scp-lqt { border: 1px solid var(--scp-border-strong); }
.scp-lqt th { background: var(--scp-table-head-bg); padding: 10px; font-family: var(--scp-font-heading); font-size: var(--scp-fs-xs); text-transform: uppercase; border-bottom: 2px solid var(--scp-ink); }
.scp-lqt td { padding: 10px; border-top: 1px solid var(--scp-border); text-align: center; }
.scp-lqt__row--today { background: var(--scp-db-soft); }
.scp-lqt__prov--mb { color: var(--scp-mb); font-weight: var(--scp-fw-semibold); }
.scp-lqt__prov--mt { color: var(--scp-mt); font-weight: var(--scp-fw-semibold); }
.scp-lqt__prov--mn { color: var(--scp-mn); font-weight: var(--scp-fw-semibold); }
.scp-lqt__none { color: var(--scp-muted); }

/* ── 19. Giấc mơ (giải mã) ───────────────────────────────────────────────── */
.scp-dream-search { margin-bottom: var(--scp-sp-5); }
.scp-search-row { display: flex; gap: 10px; }
.scp-search-input { flex: 1; }
.scp-result-summary { color: var(--scp-muted); font-style: italic; margin-bottom: var(--scp-sp-4); }
.scp-dream-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: var(--scp-sp-4); }
.scp-dream-card { background: var(--scp-surface); border: 1px solid var(--scp-border-strong); padding: var(--scp-sp-4); box-shadow: var(--scp-shadow-sm); transition: box-shadow var(--scp-dur); }
.scp-dream-card:hover { box-shadow: 3px 3px 0 var(--scp-border-strong); }
.scp-dream-card__title { font-family: var(--scp-font-heading); font-size: var(--scp-fs-md); font-weight: var(--scp-fw-bold); margin-bottom: 10px; padding-bottom: 6px; border-bottom: 1px solid var(--scp-border); }
.scp-dream-card__numbers { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.scp-dream-card__keywords { display: flex; flex-wrap: wrap; gap: 6px; }

/* ── 20. Blog / Single ───────────────────────────────────────────────────── */
.scp-post-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--scp-sp-5); }
.scp-post-grid--hero { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); margin-bottom: var(--scp-sp-5); }
.scp-post-card { background: var(--scp-surface); border: 1px solid var(--scp-border-strong); overflow: hidden; box-shadow: var(--scp-shadow-sm); transition: box-shadow var(--scp-dur); display: flex; flex-direction: column; }
.scp-post-card:hover { box-shadow: 4px 4px 0 var(--scp-border-strong); }
.scp-post-card__thumb { display: block; aspect-ratio: 16/9; background: var(--scp-surface-2); overflow: hidden; border-bottom: 1px solid var(--scp-border); filter: grayscale(.25) sepia(.12); }
.scp-post-card__thumb img { width: 100%; height: 100%; object-fit: cover; }
.scp-post-card__ph { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: var(--scp-primary); background: var(--scp-surface-2); }
.scp-post-card__body { padding: var(--scp-sp-4); display: flex; flex-direction: column; gap: 8px; flex: 1; }
.scp-post-card__cat { align-self: flex-start; font-family: var(--scp-font-heading); font-size: var(--scp-fs-xs); font-weight: var(--scp-fw-bold); color: var(--scp-primary); text-transform: uppercase; letter-spacing: .05em; border-bottom: 2px solid var(--scp-primary); }
.scp-post-card__title { font-family: var(--scp-font-heading); font-size: var(--scp-fs-md); line-height: 1.3; }
.scp-post-card__title a { color: var(--scp-ink); }
.scp-post-card__title a:hover { color: var(--scp-primary); }
.scp-post-card__excerpt { font-size: var(--scp-fs-sm); color: var(--scp-ink-2); flex: 1; }
.scp-post-card__meta { display: flex; gap: 12px; font-size: var(--scp-fs-xs); color: var(--scp-muted); font-style: italic; }
.scp-post-card__meta span { display: inline-flex; align-items: center; gap: 5px; }
.scp-post-list { display: flex; flex-direction: column; gap: 0; }
.scp-post-row { display: flex; gap: var(--scp-sp-4); background: var(--scp-surface); border-bottom: 1px solid var(--scp-border-strong); padding: 14px 0; }
.scp-post-row__thumb { flex: none; width: 118px; aspect-ratio: 16/11; overflow: hidden; background: var(--scp-surface-2); border: 1px solid var(--scp-border); filter: grayscale(.25) sepia(.12); }
.scp-post-row__thumb img { width: 100%; height: 100%; object-fit: cover; }
.scp-post-row__ph { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: var(--scp-primary); background: var(--scp-surface-2); }
.scp-post-row__body { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.scp-post-row__title { font-family: var(--scp-font-heading); font-size: var(--scp-fs-md); }
.scp-post-row__title a { color: var(--scp-ink); }
.scp-post-row__title a:hover { color: var(--scp-primary); }
.scp-post-row__excerpt { font-size: var(--scp-fs-sm); color: var(--scp-ink-2); }
.scp-blog-toolbar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: var(--scp-sp-5); padding-bottom: var(--scp-sp-3); border-bottom: 2px solid var(--scp-ink); }
.scp-blog-search { display: flex; align-items: center; gap: 8px; padding: 6px 12px; background: var(--scp-surface); border: 1px solid var(--scp-ink); flex: 1; min-width: 200px; }
.scp-blog-search input { border: none; background: transparent; flex: 1; }
.scp-blog-search .scp-icon { color: var(--scp-muted); }
.scp-blog-sort { display: inline-flex; align-items: center; gap: 8px; font-size: var(--scp-fs-sm); color: var(--scp-muted); }
.scp-blog-sort select { padding: 7px 12px; border: 1px solid var(--scp-ink); background: var(--scp-surface); width: auto; }
.scp-blog-result { margin-bottom: var(--scp-sp-4); font-style: italic; color: var(--scp-muted); }

.scp-single { padding: var(--scp-sp-6); }
.scp-single__header { margin-bottom: var(--scp-sp-4); padding-bottom: var(--scp-sp-3); border-bottom: 3px double var(--scp-ink); }
.scp-single__cat { font-family: var(--scp-font-heading); font-size: var(--scp-fs-xs); font-weight: var(--scp-fw-bold); color: var(--scp-primary); text-transform: uppercase; letter-spacing: .05em; }
.scp-single__title { margin: 8px 0; }
.scp-single__meta { display: flex; flex-wrap: wrap; gap: 16px; font-size: var(--scp-fs-sm); color: var(--scp-muted); font-style: italic; }
.scp-single__meta span { display: inline-flex; align-items: center; gap: 6px; }
.scp-single__thumb { overflow: hidden; margin-bottom: var(--scp-sp-5); border: 1px solid var(--scp-border-strong); filter: grayscale(.2) sepia(.1); }
.scp-single__tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: var(--scp-sp-5); }
.scp-post-nav { display: flex; justify-content: space-between; gap: 12px; margin-top: var(--scp-sp-5); }
.scp-post-nav a { flex: 1; padding: 14px; background: var(--scp-surface); border: 1px solid var(--scp-border-strong); font-family: var(--scp-font-heading); font-weight: var(--scp-fw-semibold); }
.scp-post-nav a:hover { border-color: var(--scp-primary); color: var(--scp-primary); text-decoration: none; }
.scp-related { margin-top: var(--scp-sp-6); }

/* Prose (nội dung biên tập) — chữ serif, thụt đầu dòng như bài báo */
.scp-entry, .scp-prose, .scp-page-content .scp-entry { line-height: 1.8; color: var(--scp-ink); }
.scp-entry > * + *, .scp-prose > * + * { margin-top: 1em; }
.scp-entry h2, .scp-prose h2 { margin-top: 1.5em; padding-bottom: 6px; border-bottom: 2px solid var(--scp-ink); text-transform: uppercase; letter-spacing: .01em; font-size: var(--scp-fs-lg); }
.scp-entry h3, .scp-prose h3 { margin-top: 1.2em; }
.scp-entry a, .scp-prose a { color: var(--scp-primary); text-decoration: underline; text-underline-offset: 2px; }
/* Ảnh nội dung → ngả sepia/giảm bão hoà cho hợp tông báo giấy (như ảnh in) */
.scp-entry img { border: 1px solid var(--scp-border-strong); filter: grayscale(.3) sepia(.18) contrast(.96); }
.scp-entry ul, .scp-prose ul { list-style: square; padding-left: 1.3em; }
.scp-entry ol, .scp-prose ol { list-style: decimal; padding-left: 1.3em; }
.scp-entry blockquote { border-left: 3px solid var(--scp-primary); padding-left: 16px; color: var(--scp-ink-2); font-style: italic; }
.scp-page-content { padding: var(--scp-sp-6); }
.scp-page-content .scp-page-title { margin-bottom: var(--scp-sp-4); }

/* ── 21. Forms ───────────────────────────────────────────────────────────── */
input[type="text"], input[type="search"], input[type="email"], input[type="date"], input[type="number"], select, textarea {
  padding: 10px 14px; border: 1px solid var(--scp-ink); background: var(--scp-surface); color: var(--scp-ink); width: 100%; transition: box-shadow var(--scp-dur);
}
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--scp-primary); box-shadow: inset 0 0 0 1px var(--scp-primary); }
::placeholder { color: var(--scp-muted); }
.scp-province-selector select { max-width: 280px; }

/* ── 22. Breadcrumb / Pagination ─────────────────────────────────────────── */
.scp-breadcrumb { margin-bottom: var(--scp-sp-4); }
.scp-breadcrumb__inner { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: var(--scp-fs-sm); color: var(--scp-muted); font-style: italic; }
.scp-breadcrumb__item + .scp-breadcrumb__item::before { content: "›"; margin-right: 6px; color: var(--scp-border-strong); }
.scp-breadcrumb__item a { color: var(--scp-muted); }
.scp-breadcrumb__item a:hover { color: var(--scp-primary); }
.scp-breadcrumb__item[aria-current="page"] { color: var(--scp-ink); font-weight: var(--scp-fw-semibold); font-style: normal; }
.scp-pagination { display: flex; justify-content: center; gap: 4px; margin-top: var(--scp-sp-6); flex-wrap: wrap; }
.scp-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 12px; background: var(--scp-surface); border: 1px solid var(--scp-border-strong); font-family: var(--scp-font-num); font-weight: var(--scp-fw-semibold); color: var(--scp-ink-2); }
.scp-pagination .page-numbers:hover { border-color: var(--scp-primary); color: var(--scp-primary); text-decoration: none; }
.scp-pagination .page-numbers.current { background: var(--scp-primary); color: #fff; border-color: var(--scp-primary-ink); }

/* ── 23. Footer — colophon mực đen ──────────────────────────────────────── */
.scp-footer { background: var(--scp-footer-bg); color: var(--scp-footer-muted); margin-top: var(--scp-sp-12); padding: var(--scp-sp-10) 0 var(--scp-sp-6); border-top: 4px double var(--scp-ink); }
.scp-footer__cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--scp-sp-6); margin-bottom: var(--scp-sp-8); }
.scp-footer__col h4 { color: var(--scp-footer-ink); font-family: var(--scp-font-heading); font-size: var(--scp-fs-md); text-transform: uppercase; letter-spacing: .05em; margin-bottom: var(--scp-sp-3); padding-bottom: 6px; border-bottom: 1px solid rgba(243, 236, 217, .18); }
.scp-footer__col-body { color: var(--scp-footer-muted); font-size: var(--scp-fs-sm); line-height: 1.9; }
.scp-footer__col-body a { display: block; color: var(--scp-footer-muted); font-size: var(--scp-fs-sm); padding: 2px 0; }
.scp-footer__col-body a:hover { color: var(--scp-footer-ink); }
.scp-footer__info { margin: 2px 0; }
.scp-footer__info span { color: var(--scp-footer-ink); font-weight: var(--scp-fw-semibold); }
.scp-footer__legal { border-top: 1px solid rgba(243, 236, 217, .16); padding-top: var(--scp-sp-5); }
.scp-footer__legal-list, .scp-footer__legal nav, .scp-footer__legal ul { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.scp-footer__legal a { color: var(--scp-footer-muted); font-size: var(--scp-fs-sm); }
.scp-footer__legal a:hover { color: var(--scp-footer-ink); }
.scp-footer__bottom { margin-top: var(--scp-sp-5); color: var(--scp-footer-muted); font-size: var(--scp-fs-sm); font-style: italic; }

/* ── 24. Masthead (hero) / Misc ──────────────────────────────────────────── */
.scp-empty { padding: var(--scp-sp-8); text-align: center; color: var(--scp-muted); background: var(--scp-surface); border: 1px dashed var(--scp-border-strong); }
.scp-404 { text-align: center; padding: var(--scp-sp-16) 0; }
.scp-404__inner { max-width: 480px; margin-inline: auto; }
.scp-404__code { font-family: var(--scp-font-heading); font-size: clamp(4rem, 20vw, 8rem); font-weight: var(--scp-fw-extra); color: var(--scp-primary); line-height: 1; }
.scp-404__actions { display: flex; gap: 12px; justify-content: center; margin-top: var(--scp-sp-5); flex-wrap: wrap; }

/* MASTHEAD — nameplate trang chủ: kẻ đôi trên/dưới, tít Playfair, dateline */
.scp-hero { background: var(--scp-surface); border-top: 4px double var(--scp-ink); border-bottom: 4px double var(--scp-ink); padding: clamp(22px, 3vw, 36px) clamp(20px, 4vw, 56px); margin-top: var(--scp-sp-5); overflow: hidden; }
.scp-hero__inner { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--scp-sp-6); align-items: center; }
@media (min-width: 820px) { .scp-hero__inner { grid-template-columns: minmax(0, 1fr) 232px; } }
/* eyebrow = kicker có vạch hai bên */
.scp-hero__eyebrow { display: inline-flex; align-items: center; gap: 8px; font-family: var(--scp-font-heading); font-size: var(--scp-fs-sm); font-weight: var(--scp-fw-bold); letter-spacing: .12em; text-transform: uppercase; color: var(--scp-primary); }
.scp-hero__eyebrow::before, .scp-hero__eyebrow::after { content: ""; width: 26px; border-bottom: 2px solid var(--scp-primary); }
.scp-hero__title { margin: 14px 0 10px; font-family: var(--scp-font-heading); font-weight: var(--scp-fw-extra); font-size: clamp(1.9rem, 1.1rem + 3vw, var(--scp-fs-4xl)); line-height: 1.08; }
.scp-hero__lead { color: var(--scp-ink-2); font-size: var(--scp-fs-md); font-style: italic; max-width: 60ch; margin-bottom: var(--scp-sp-5); }
.scp-quickchips { display: flex; flex-wrap: wrap; gap: 8px; }
/* box "số nổi bật" — clipping vé đóng khung mực */
.scp-hero__card { background: var(--scp-surface); border: 2px solid var(--scp-ink); padding: var(--scp-sp-5); text-align: center; box-shadow: 4px 4px 0 var(--scp-border-strong); }
.scp-hero__card-cap { display: block; font-family: var(--scp-font-heading); font-size: var(--scp-fs-xs); font-weight: var(--scp-fw-semibold); color: var(--scp-muted); text-transform: uppercase; letter-spacing: .05em; padding-bottom: 8px; border-bottom: 1px solid var(--scp-border-strong); }
.scp-hero__card-num { display: block; font-family: var(--scp-font-num); font-variant-numeric: tabular-nums; font-weight: var(--scp-fw-bold); font-size: 3.4rem; line-height: 1; margin: 12px 0 16px; color: var(--scp-db); }

/* ── 25. Skeleton (bổ trợ skeleton.css) ──────────────────────────────────── */
.scp-skeleton--num, .scp-skeleton--row, .scp-skeleton--head { display: inline-block; background: linear-gradient(100deg, var(--scp-surface-2) 30%, var(--scp-surface-3) 50%, var(--scp-surface-2) 70%); background-size: 200% 100%; animation: scp-shimmer 1.3s linear infinite; }
.scp-skeleton--num { width: 28px; height: 22px; margin: 2px; }
.scp-skeleton--row, .scp-skeleton--head { width: 70%; height: 14px; }
@keyframes scp-shimmer { to { background-position: -200% 0; } }

/* ── 27. Component trang phụ (audit — bổ sung style còn thiếu) ───────────── */

/* Section title nhỏ (dùng trong bảng thống kê) */
.scp-section-title--sm, .scp-section__title.scp-section-title--sm { font-size: var(--scp-fs-md); border-bottom-width: 2px; border-bottom-style: solid; margin: var(--scp-sp-4) 0 var(--scp-sp-3); }

/* Bảng tổng quát (stat-table dispatch) */
.scp-table-wrap, .scp-table--wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--scp-border-strong); margin-bottom: var(--scp-sp-4); }
.scp-table { font-size: var(--scp-fs-sm); }
.scp-table thead th { background: var(--scp-table-head-bg); color: var(--scp-ink); font-family: var(--scp-font-heading); font-weight: var(--scp-fw-bold); font-size: var(--scp-fs-xs); text-transform: uppercase; letter-spacing: .04em; padding: 9px 12px; text-align: left; border-bottom: 2px solid var(--scp-ink); }
.scp-table td { padding: 8px 12px; border-top: 1px solid var(--scp-border); vertical-align: middle; }
.scp-table tbody tr:nth-child(even) { background: var(--scp-zebra); }
.scp-ta-c { text-align: center !important; }
.scp-ta-r { text-align: right !important; }
.scp-stat-note { color: var(--scp-ink-2); font-style: italic; margin-bottom: var(--scp-sp-3); }
.scp-stat-note .scp-num { font-style: normal; color: var(--scp-primary); font-weight: var(--scp-fw-bold); }

/* Thanh gan trong ô bảng (gan-cell / gan-bar) */
.scp-gan-cell { display: flex; align-items: center; gap: 8px; }
.scp-gan-bar { flex: 1; min-width: 60px; height: 10px; background: var(--scp-surface-2); border: 1px solid var(--scp-border); overflow: hidden; }
.scp-gan-bar > span { display: block; height: 100%; background: var(--scp-primary); }
.scp-gan-cell > b { font-family: var(--scp-font-num); font-weight: var(--scp-fw-bold); min-width: 22px; text-align: right; }

/* Lưới tần suất 00–99 (heat theo tier, ramp đỏ) */
.scp-freq-grid { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 3px; margin-bottom: var(--scp-sp-4); }
.scp-freq__cell { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 6px 2px; border: 1px solid var(--scp-border); background: var(--scp-surface-2); min-height: 40px; }
.scp-freq__lo { font-family: var(--scp-font-num); font-weight: var(--scp-fw-bold); font-size: var(--scp-fs-sm); }
.scp-freq__ct { font-family: var(--scp-font-num); font-size: 10px; opacity: .75; }
.scp-freq__cell--t0 { color: var(--scp-muted); }
.scp-freq__cell--t1 { background: color-mix(in srgb, var(--scp-db) 12%, var(--scp-surface)); border-color: color-mix(in srgb, var(--scp-db) 20%, var(--scp-border)); }
.scp-freq__cell--t2 { background: color-mix(in srgb, var(--scp-db) 24%, var(--scp-surface)); border-color: color-mix(in srgb, var(--scp-db) 32%, var(--scp-border)); }
.scp-freq__cell--t3 { background: color-mix(in srgb, var(--scp-db) 40%, var(--scp-surface)); border-color: color-mix(in srgb, var(--scp-db) 50%, var(--scp-border)); }
.scp-freq__cell--t4 { background: color-mix(in srgb, var(--scp-db) 62%, var(--scp-surface)); border-color: var(--scp-db); color: #fff; }
.scp-freq__cell--t5 { background: var(--scp-db); border-color: var(--scp-primary-ink); color: #fff; }
.scp-freq__cell--t4 .scp-freq__ct, .scp-freq__cell--t5 .scp-freq__ct { opacity: .9; }

/* 2 cột thống kê */
.scp-stat-2 { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--scp-sp-5); margin-top: var(--scp-sp-4); }
@media (min-width: 680px) { .scp-stat-2 { grid-template-columns: 1fr 1fr; } }
.scp-chip-list { display: flex; flex-wrap: wrap; gap: 6px; }
.scp-chip-list .scp-chip b { font-family: var(--scp-font-num); color: var(--scp-primary); }
.scp-chip--cold { color: var(--scp-accent); border-color: var(--scp-accent); }
.scp-chip--cold b { color: var(--scp-accent); }

/* Bảng đầu/đuôi dạng thanh (stat-row / bar) */
.scp-stat-table { display: flex; flex-direction: column; gap: 6px; }
.scp-stat-row { display: grid; grid-template-columns: 62px 1fr 40px; align-items: center; gap: 10px; }
.scp-stat-row > .scp-num { font-family: var(--scp-font-heading); font-weight: var(--scp-fw-semibold); font-size: var(--scp-fs-sm); color: var(--scp-ink-2); }
.scp-stat-row > span:last-child { font-family: var(--scp-font-num); font-weight: var(--scp-fw-bold); text-align: right; }
.scp-bar { height: 12px; background: var(--scp-surface-2); border: 1px solid var(--scp-border); overflow: hidden; }
.scp-bar__fill { height: 100%; background: var(--scp-primary); }

.scp-xien-amp { color: var(--scp-muted); margin: 0 2px; }
.scp-tong-los { font-family: var(--scp-font-num); letter-spacing: .04em; color: var(--scp-ink-2); }

/* ĐB mới nhất (db-latest) */
.scp-db-latest { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; padding: var(--scp-sp-4); background: var(--scp-db-soft); border: 1px solid var(--scp-db); margin-bottom: var(--scp-sp-4); }
.scp-db-latest .scp-muted { font-style: italic; }

/* ĐB theo tháng (month-card) */
.scp-month-card { border: 1px solid var(--scp-border-strong); padding: var(--scp-sp-4); margin-bottom: var(--scp-sp-4); background: var(--scp-surface); }
.scp-month-card__head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.scp-month-card__head .scp-section-title { margin: 0 0 var(--scp-sp-3); flex: 1; }
.scp-month-duoi { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 3px; margin-bottom: var(--scp-sp-3); }
.scp-month-days { display: flex; flex-wrap: wrap; gap: 6px; }
.scp-month-day { display: inline-flex; flex-direction: column; align-items: center; gap: 2px; padding: 5px 8px; border: 1px solid var(--scp-border); background: var(--scp-surface-2); }
.scp-month-day__d { font-size: 10px; color: var(--scp-muted); font-family: var(--scp-font-num); }

/* Bảng loto 10×10 (scp_loto_grid) */
.scp-loto__head, .scp-loto__body { display: grid; grid-template-columns: 40px repeat(10, minmax(0, 1fr)); }
.scp-loto__head { border: 1px solid var(--scp-border-strong); border-bottom: 2px solid var(--scp-ink); background: var(--scp-surface-2); }
.scp-loto__body { border: 1px solid var(--scp-border-strong); border-top: 0; }
.scp-loto__col { display: flex; align-items: center; justify-content: center; padding: 6px 2px; font-family: var(--scp-font-num); font-weight: var(--scp-fw-bold); font-size: var(--scp-fs-xs); color: var(--scp-primary); border-right: 1px solid var(--scp-border); }
.scp-loto__cell { display: inline-flex; align-items: center; justify-content: center; min-width: 24px; padding: 4px 5px; font-family: var(--scp-font-num); font-variant-numeric: tabular-nums; font-size: var(--scp-fs-sm); color: var(--scp-ink); border-right: 1px solid var(--scp-border); border-bottom: 1px solid var(--scp-border); }
.scp-loto__cell--empty { color: var(--scp-muted); opacity: .5; }
.scp-loto__cell--hot { color: var(--scp-db); font-weight: var(--scp-fw-bold); background: var(--scp-db-soft); }

/* Lịch quay (lqt) — chip tỉnh + header tô miền + chú thích */
.scp-lqt-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--scp-border-strong); }
.scp-lqt-today { font-style: italic; color: var(--scp-muted); }
.scp-lqt-dot { display: inline-block; width: 11px; height: 11px; margin-right: 5px; vertical-align: -1px; }
.scp-lqt-dot--mb { background: var(--scp-mb); }
.scp-lqt-dot--mt { background: var(--scp-mt); }
.scp-lqt-dot--mn { background: var(--scp-mn); }
.scp-lqt__dhead, .scp-lqt__rhead { background: var(--scp-table-head-bg); font-family: var(--scp-font-heading); text-transform: uppercase; font-size: var(--scp-fs-xs); letter-spacing: .03em; padding: 10px; border-bottom: 2px solid var(--scp-ink); text-align: left; }
.scp-lqt__rhead--mb { color: var(--scp-mb); }
.scp-lqt__rhead--mt { color: var(--scp-mt); }
.scp-lqt__rhead--mn { color: var(--scp-mn); }
.scp-lqt__day { text-align: left; background: var(--scp-surface-2); border-right: 1px solid var(--scp-border); }
.scp-lqt__dayname { font-family: var(--scp-font-heading); font-weight: var(--scp-fw-bold); }
.scp-lqt__cell { vertical-align: top; }
.scp-lqt__cell, .scp-lqt td, .scp-lqt th { border-top: 1px solid var(--scp-border); padding: 9px 10px; }
.scp-lqt__prov { display: inline-block; margin: 2px 4px 2px 0; padding: 2px 9px; border: 1px solid var(--scp-border-strong); font-size: var(--scp-fs-xs); font-weight: var(--scp-fw-semibold); }
.scp-lqt__prov--mb { color: var(--scp-mb); border-color: var(--scp-mb); }
.scp-lqt__prov--mt { color: var(--scp-mt); border-color: var(--scp-mt); }
.scp-lqt__prov--mn { color: var(--scp-mn); border-color: var(--scp-mn); }
.scp-lqt__row--today { background: var(--scp-db-soft); }
.scp-lqt__none { color: var(--scp-muted); }

/* Cầu chạy / backtest (run) — soi-cau-vip */
.scp-run__num { font-family: var(--scp-font-num); font-variant-numeric: tabular-nums; font-weight: var(--scp-fw-bold); color: var(--scp-ink); }
.scp-run__num--db { color: var(--scp-db); }
.scp-run__num--hot { color: var(--scp-db); background: var(--scp-db-soft); padding: 0 4px; }
.scp-run__dates { font-family: var(--scp-font-num); font-size: var(--scp-fs-xs); color: var(--scp-muted); }
.scp-run__pending { color: var(--scp-muted); font-style: italic; }
.scp-run__st { font-family: var(--scp-font-heading); font-weight: var(--scp-fw-bold); font-size: var(--scp-fs-xs); text-transform: uppercase; letter-spacing: .03em; padding: 1px 7px; border: 1px solid currentColor; }
.scp-run__st--hit { color: var(--scp-win); }
.scp-run__st--miss { color: var(--scp-muted); }
.scp-run__st--wait { color: var(--scp-warning); }
.scp-run__note { margin-top: var(--scp-sp-3); font-style: italic; }

/* Hub lịch soi cầu (schub) — soi-cau */
.scp-schub { margin: var(--scp-sp-3) 0 var(--scp-sp-4); }
.scp-schub__group { margin-bottom: var(--scp-sp-3); }
.scp-schub__cap { display: block; font-family: var(--scp-font-heading); font-size: var(--scp-fs-xs); font-weight: var(--scp-fw-bold); text-transform: uppercase; letter-spacing: .04em; color: var(--scp-muted); margin-bottom: 6px; }
.scp-schub__provs { display: flex; flex-wrap: wrap; gap: 6px; }
.scp-schub__prov { display: inline-flex; padding: 5px 11px; background: var(--scp-surface); border: 1px solid var(--scp-border-strong); font-family: var(--scp-font-heading); font-size: var(--scp-fs-sm); font-weight: var(--scp-fw-semibold); color: var(--scp-ink); }
.scp-schub__prov:hover { border-color: var(--scp-primary); color: var(--scp-primary); text-decoration: none; }
.scp-schub__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 6px; }
.scp-schub__cell { display: flex; align-items: center; justify-content: center; padding: 9px; background: var(--scp-surface); border: 1px solid var(--scp-border-strong); font-family: var(--scp-font-heading); font-size: var(--scp-fs-sm); font-weight: var(--scp-fw-semibold); color: var(--scp-ink); }
.scp-schub__cell:hover { border-color: var(--scp-primary); color: var(--scp-primary); text-decoration: none; }
.scp-schub__more { display: inline-flex; margin-top: 6px; font-family: var(--scp-font-heading); font-weight: var(--scp-fw-semibold); text-transform: uppercase; font-size: var(--scp-fs-xs); letter-spacing: .03em; color: var(--scp-primary); }

/* Điều khiển cầu chạy (caurun ctrl/field/link) — soi-cau */
.scp-caurun__ctrl { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; margin-bottom: var(--scp-sp-4); }
.scp-caurun__field { display: flex; flex-direction: column; gap: 5px; font-size: var(--scp-fs-xs); font-weight: var(--scp-fw-semibold); color: var(--scp-muted); text-transform: uppercase; letter-spacing: .03em; }
.scp-caurun__field select, .scp-caurun__field input { width: auto; min-width: 120px; }
.scp-caurun__link { display: inline-flex; padding: 6px 12px; border: 1px solid var(--scp-border-strong); font-family: var(--scp-font-heading); font-size: var(--scp-fs-sm); font-weight: var(--scp-fw-semibold); color: var(--scp-ink-2); }
.scp-caurun__link:hover, .scp-caurun__link.is-active { border-color: var(--scp-primary); color: var(--scp-primary); text-decoration: none; }

/* Lịch sử KQ (kqhist) — soi-cau */
.scp-kqhist { margin-top: var(--scp-sp-4); }

/* Thống kê 30 ngày (tk30) internals */
.scp-tk30__num { font-family: var(--scp-font-num); font-variant-numeric: tabular-nums; font-weight: var(--scp-fw-bold); color: var(--scp-ink); }
.scp-tk30__meta { font-style: italic; margin-bottom: var(--scp-sp-3); }
.scp-tk30__stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: var(--scp-sp-3); margin-bottom: var(--scp-sp-4); }
.scp-tk30__daytitle { font-family: var(--scp-font-heading); font-weight: var(--scp-fw-bold); text-transform: uppercase; letter-spacing: .02em; padding-bottom: 7px; margin-bottom: var(--scp-sp-3); border-bottom: 2px solid var(--scp-ink); }
.scp-tk30__history { margin-top: var(--scp-sp-5); }

/* Chân thẻ kết quả (result__foot) */
.scp-result__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--scp-border); font-size: var(--scp-fs-sm); }

/* Archive / category header */
.scp-archive__header { padding-bottom: var(--scp-sp-3); margin-bottom: var(--scp-sp-5); border-bottom: 3px double var(--scp-ink); }

/* ── 26. Responsive niceties ─────────────────────────────────────────────── */
@media (max-width: 560px) {
  .scp-page-head { flex-direction: column; align-items: stretch; }
  .scp-date-switcher { justify-content: space-between; }
  .scp-sc-bt__next { flex-wrap: wrap; }
  .scp-nav__list { justify-content: flex-start; }
}
