/* Kira KQXS — bảng kết quả / soi cầu / thống kê (premium). Màu kế thừa CSS variables theme. */
.kira-kqxs{
	--kira-primary: var( --color-primary, #e53935 );
	--kira-primary-dark: var( --color-primary-dark, #b71c1c );
	--kira-secondary: var( --color-secondary, #ffb300 );
	--kira-border: var( --color-border, #e8e8ee );
	--kira-radius: var( --radius, 14px );
	margin: 0 0 20px;
}

/* ---------- Skeleton ---------- */
.kira-skeleton{ padding: 6px 0; }
.kira-skel-bar{
	display:block;height:14px;border-radius:6px;
	background:linear-gradient(90deg,#ececf2 25%,#f6f6fa 37%,#ececf2 63%);
	background-size:400% 100%;animation:kira-shimmer 1.3s ease-in-out infinite;margin:9px 0;
}
.kira-skel-title{height:24px;width:55%}
.kira-skel-row{display:flex;gap:10px;align-items:center}
.kira-skel-row .kira-skel-bar{margin:7px 0}
.kira-skel-bar.w20{width:20%}.kira-skel-bar.w40{width:40%}.kira-skel-bar.w55{width:55%}
.kira-skel-bar.w70{width:70%}.kira-skel-bar.w85{width:85%}.kira-skel-bar.w100{width:100%}
@keyframes kira-shimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}
@media(prefers-reduced-motion:reduce){.kira-skel-bar{animation:none}}
.kira-content{animation:kira-fade .35s ease both}
@keyframes kira-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ---------- Bảng kết quả ---------- */
.kira-result{border:1px solid var(--kira-border);border-radius:var(--kira-radius);overflow:hidden;box-shadow:0 2px 10px rgba(20,20,40,.05)}
.kira-result-head{
	background:linear-gradient(135deg,var(--kira-primary),var(--kira-primary-dark));
	color:#fff;font-weight:800;text-transform:uppercase;letter-spacing:.4px;
	padding:11px 16px;font-size:14px;display:flex;justify-content:space-between;
	flex-wrap:wrap;gap:6px;align-items:center;
}
.kira-result-head span{font-weight:600;font-size:13px;opacity:.95}
.kira-table{width:100%;border-collapse:collapse;background:#fff;font-size:14px}
.kira-result .kira-table{border:0}
.kira-table th,.kira-table td{border:1px solid var(--kira-border);padding:7px 9px;text-align:center;vertical-align:middle}
.kira-table thead th{background:#faf7f8;font-weight:700}
.kira-table tbody>tr:nth-child(even)>td{background:#fcfcfe}
.kira-table tbody>tr>th:first-child{background:linear-gradient(135deg,#fff6f6,#fff);font-weight:800;color:var(--kira-primary);width:54px}
.kira-table-result td{line-height:1.9}

/* Số */
.kira-num{display:inline-block;margin:0 5px;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:.3px}
.kira-num b{color:var(--kira-primary);font-weight:800}
.kira-num-db{font-size:1.7em;font-weight:900;color:var(--kira-primary);letter-spacing:1px;text-shadow:0 1px 0 rgba(229,57,53,.15)}
.kira-num-db b{color:var(--kira-primary)}
.row-db td{background:linear-gradient(135deg,#fff4f4,#fff)!important}
.row-g7 td,.row-g8 td{color:#0a7d3b}
.prov-code{display:block;font-size:11px;color:#9aa0ab;font-weight:600;margin-top:2px}

/* Đầu - đuôi */
.kira-dau-duoi{margin-top:10px}
.kira-table-dd th{background:#faf7f8}
.kira-table-dd td{font-weight:700;color:var(--kira-primary)}

/* Soi cầu / thống kê */
.kira-soicau-table th,.kira-thongke .kira-table th{text-align:left;white-space:nowrap}
.kira-soicau-meta{font-size:13px;color:#666;margin:2px 0 12px;padding:8px 12px;background:#faf7f8;border-radius:10px;border-left:3px solid var(--kira-secondary)}
.kira-num.hot{background:linear-gradient(135deg,var(--kira-primary),var(--kira-primary-dark));color:#fff!important;padding:4px 14px;border-radius:8px;font-weight:900;font-size:1.05em;box-shadow:0 3px 8px rgba(229,57,53,.3);letter-spacing:1px}
.kira-soicau-table .kira-num,.kira-dudoan-multi .kira-num{background:#fff1f1;color:var(--kira-primary-dark);padding:3px 9px;border-radius:7px;margin:2px 3px;font-weight:700}
.kira-soicau-table .kira-num.hot,.kira-dudoan-multi .kira-num.hot{background:linear-gradient(135deg,var(--kira-primary),var(--kira-primary-dark));color:#fff!important}
.kira-soicau-table tr,.kira-thongke tr{transition:background .15s}
.kira-soicau-table tbody tr:hover,.kira-thongke tbody tr:hover{background:#fffaf0}

.kira-lich .is-today{background:linear-gradient(135deg,#fff7e0,#fffdf5)}
.kira-lich .is-today th{color:var(--kira-primary)}
.kira-empty{padding:18px;color:#9aa0ab;font-style:italic;text-align:center}

@media(max-width:600px){
	.kira-table{font-size:12.5px}
	.kira-table th,.kira-table td{padding:5px 6px}
	.kira-num-db{font-size:1.45em}
	.kira-num{margin:0 3px}
}

/* ============ CHẾ ĐỘ SINH ĐỘNG (body.sc-vibrant) ============ */
.sc-vibrant .kira-result-head{position:relative;overflow:hidden}
.sc-vibrant .kira-result-head::after{content:"";position:absolute;top:-50%;right:-10%;width:120px;height:200%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transform:rotate(18deg);animation:kira-shine 3.5s ease-in-out infinite}
@keyframes kira-shine{0%,100%{right:-20%}50%{right:90%}}

/* Giải ĐB như viên ngọc phát sáng */
.sc-vibrant .kira-num-db{
	background:var(--ball-grad,linear-gradient(135deg,#ff6b6b,#b71c1c));
	-webkit-background-clip:text;background-clip:text;color:transparent;
	filter:drop-shadow(0 2px 6px rgba(229,57,53,.45));font-size:1.85em;
}

/* Số dự đoán -> quả cầu gradient */
.sc-vibrant .kira-soicau-table .kira-num,
.sc-vibrant .kira-dudoan-multi .kira-num,
.sc-vibrant .kira-thongke .kira-table tbody th .kira-num,
.sc-vibrant .kira-db-tuan .kira-num{
	display:inline-flex;align-items:center;justify-content:center;
	min-width:36px;height:36px;padding:0 6px;border-radius:50%;
	background:var(--ball-grad,linear-gradient(135deg,#ff7a7a,#c62828));
	color:#fff!important;font-weight:800;font-size:14px;letter-spacing:0;
	box-shadow:0 4px 10px rgba(229,57,53,.30),inset 0 2px 4px rgba(255,255,255,.45),inset 0 -3px 6px rgba(0,0,0,.18);
	border:0;margin:3px;text-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .15s}
.sc-vibrant .kira-soicau-table .kira-num:hover,
.sc-vibrant .kira-dudoan-multi .kira-num:hover{transform:translateY(-2px) scale(1.08)}

/* Bạch thủ: quả cầu lớn nhấp nháy nhẹ */
.sc-vibrant .kira-num.hot{
	min-width:46px;height:46px;font-size:18px;border-radius:50%;
	background:var(--ball-grad,linear-gradient(135deg,#ff5252,#b71c1c));
	box-shadow:0 0 0 4px rgba(229,57,53,.15),0 8px 20px rgba(229,57,53,.45),inset 0 2px 5px rgba(255,255,255,.5);
	animation:kira-pulse 2s ease-in-out infinite}
@keyframes kira-pulse{0%,100%{box-shadow:0 0 0 4px rgba(229,57,53,.15),0 8px 20px rgba(229,57,53,.4),inset 0 2px 5px rgba(255,255,255,.5)}50%{box-shadow:0 0 0 8px rgba(229,57,53,.05),0 10px 26px rgba(229,57,53,.6),inset 0 2px 5px rgba(255,255,255,.5)}}

/* Đầu-đuôi: nhãn đầu/đuôi thành chip gradient */
.sc-vibrant .kira-table-dd tbody th{background:var(--btn-grad,#e53935);color:#fff;border-radius:8px}
.sc-vibrant .kira-table tbody>tr>th:first-child{background:linear-gradient(135deg,#fff,#fff3f3)}

@media(prefers-reduced-motion:reduce){.sc-vibrant .kira-num.hot{animation:none}.sc-vibrant .kira-result-head::after{animation:none}}

/* ============ Chốt số hôm nay ============ */
.kira-chotso-date{font-size:13px;color:#777;margin-bottom:12px}
.kira-chotso-date strong{color:var(--kira-primary)}
.kira-chotso-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 14px;border-radius:14px;margin-bottom:10px;
	background:linear-gradient(135deg,#fff6f6,#fffaf3);border:1px solid var(--kira-border)}
.kira-chotso-row:last-child{margin-bottom:0}
.kira-chotso-lbl{display:flex;align-items:center;gap:8px;font-weight:700;color:#3a3f4b;font-size:14px;min-width:170px}
.kira-chotso-lbl .ic{font-size:18px}
.kira-chotso-nums{display:flex;gap:10px;flex-wrap:wrap;flex:1;align-items:center}
.kira-chotso-nums .kira-ball{width:44px;height:44px;aspect-ratio:auto;border-radius:50%;font-size:16px;flex:0 0 auto;
	background:linear-gradient(160deg,#fff,#ffe9e9);border:1px solid #ffd2d2;color:var(--kira-primary-dark);
	box-shadow:0 3px 8px rgba(229,57,53,.12),inset 0 2px 4px rgba(255,255,255,.7)}
.sc-vibrant .kira-chotso-nums .kira-ball{background:var(--ball-grad,linear-gradient(160deg,#ff7a7a,#b71c1c));color:#fff;border:0;
	box-shadow:0 5px 12px rgba(229,57,53,.35),inset 0 3px 6px rgba(255,255,255,.45),inset 0 -4px 7px rgba(0,0,0,.2);text-shadow:0 1px 2px rgba(0,0,0,.25)}
.kira-chip{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 14px;border-radius:10px;
	background:var(--btn-grad,linear-gradient(135deg,var(--kira-primary),var(--kira-primary-dark)));color:#fff;font-weight:800;font-size:15px;
	box-shadow:0 4px 10px rgba(229,57,53,.28)}

/* ============ Cầu lô / đặc biệt đẹp (ô số) ============ */
.kira-caudep{border:1px solid var(--kira-border);border-radius:var(--kira-radius);overflow:hidden;margin-bottom:16px;box-shadow:0 2px 10px rgba(20,20,40,.05)}
.kira-caudep-head{color:#fff;font-weight:800;text-transform:uppercase;font-size:13px;letter-spacing:.3px;padding:11px 14px}
.kira-caudep-lo .kira-caudep-head{background:linear-gradient(135deg,#2c3e50,#1a252f)}
.kira-caudep-db .kira-caudep-head{background:linear-gradient(135deg,var(--kira-primary),var(--kira-primary-dark))}
.kira-caudep-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding:14px}
@media(max-width:360px){.kira-caudep-grid{grid-template-columns:repeat(4,1fr)}}
.kira-ball{
	display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:12px;
	background:linear-gradient(135deg,#fff,#f1f3f8);border:1px solid var(--kira-border);
	font-weight:800;color:var(--kira-primary-dark);font-size:15px;box-shadow:0 2px 5px rgba(0,0,0,.05)}
.sc-vibrant .kira-caudep-lo .kira-ball{background:linear-gradient(160deg,#3e4f60,#1c2630);color:#fff;border:0;border-radius:13px;
	box-shadow:0 5px 12px rgba(0,0,0,.28),inset 0 2px 4px rgba(255,255,255,.22),inset 0 -3px 5px rgba(0,0,0,.25)}
.sc-vibrant .kira-caudep-db .kira-ball{background:var(--ball-grad,linear-gradient(160deg,#ff7a7a,#b71c1c));color:#fff;border:0;border-radius:50%;
	box-shadow:0 5px 12px rgba(229,57,53,.35),inset 0 3px 6px rgba(255,255,255,.45),inset 0 -4px 7px rgba(0,0,0,.22);
	text-shadow:0 1px 2px rgba(0,0,0,.25)}

/* ============ Lịch tháng (sinh động) ============ */
.kira-calendar{border:1px solid var(--kira-border);border-radius:var(--kira-radius);overflow:hidden;box-shadow:0 4px 16px rgba(20,20,40,.08)}
.kira-cal-head{text-align:center;font-weight:800;color:#fff;padding:13px;background:var(--btn-grad,linear-gradient(135deg,var(--kira-primary),var(--kira-primary-dark)));text-transform:uppercase;letter-spacing:1px;font-size:15px;position:relative;overflow:hidden}
.kira-cal-head::after{content:"";position:absolute;top:-50%;left:-30%;width:60px;height:200%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transform:rotate(20deg);animation:kira-shine 4s ease-in-out infinite}
.kira-cal-table{width:100%;border-collapse:separate;border-spacing:3px;background:#fff;padding:6px}
.kira-cal-table th{padding:7px 0;font-size:12px;color:#7a8190;font-weight:700;text-transform:uppercase}
.kira-cal-table th.we{color:var(--kira-primary)}
.kira-cal-table td{text-align:center;height:34px;font-size:13.5px;font-weight:700;color:#333;position:relative;border-radius:9px;background:#f7f8fb;transition:transform .15s}
.kira-cal-table td:not(.empty):hover{transform:translateY(-2px);background:#fff;box-shadow:0 4px 10px rgba(0,0,0,.08)}
.kira-cal-table td.empty{background:transparent}
.kira-cal-table td.we{color:var(--kira-primary);background:#fff1f1}
.kira-cal-table td.has::after{content:"";position:absolute;left:50%;bottom:3px;transform:translateX(-50%);width:5px;height:5px;border-radius:50%;background:var(--kira-secondary);box-shadow:0 0 4px var(--kira-secondary)}
.kira-cal-table td.today{color:#fff;background:var(--ball-grad,linear-gradient(135deg,var(--kira-primary),var(--kira-primary-dark)));box-shadow:0 5px 14px rgba(229,57,53,.45);animation:kira-pulse 2.2s ease-in-out infinite}
.kira-cal-table td.today.has::after{background:#fff;box-shadow:0 0 4px #fff}
