/* ===== Kết quả xổ số (Keno, Lotto, Mega, Power, Max 3D, Max 3D PRO, Bingo 18) =====
   Nguồn: Figma "Kết quả ..." (frame 393px, đã bỏ status bar 50px). Phần thẻ kết quả nằm ở result-blocks.css (sinh từ Figma). */
.page-result { background: linear-gradient(145.79deg, #FFF0F1 8.35px, #F2F3F4 310.39px) #F2F3F4; }
.rs { position: relative; width: 100%; max-width: 480px; min-height: 100vh; margin: 0 auto; padding-bottom: 93px; font-family: var(--font-base); }

/* Header */
.rs-head { position: relative; height: 73px; }
.rs-head__logo { position: absolute; left: 16px; top: 8px; width: 123px; height: 31px; }
.rs-head__logo-text { position: absolute; left: 36px; top: 36px; fill: #E50929; font: 700 15px/14px Arial, Helvetica, sans-serif; }
.rs-head__support { position: absolute; right: 16px; top: 10px; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid rgba(255, 255, 255, .5); border-radius: 9999px; background: rgba(255, 255, 255, .8); -webkit-backdrop-filter: blur(1.5px); backdrop-filter: blur(1.5px); }
.rs-head__support img { width: 20px; height: 20px; }

/* Tab sản phẩm */
.rt { display: flex; flex-direction: column; align-items: center; gap: 2px; height: 162px; }
.rt__row { display: flex; align-items: center; justify-content: center; gap: 3px; width: 100%; }
.rt__tab { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; height: 78.2px; min-width: 92px; padding: 6.61px 8px 9.59px; border-radius: 9px; text-decoration: none; }
.rt__logo { position: relative; flex: none; width: 76px; height: 40px; overflow: hidden; mix-blend-mode: multiply; }
.rt__img { position: absolute; background-repeat: no-repeat; }
.rt__name { font-size: 16px; font-weight: 400; line-height: 19.09px; text-align: center; color: #687184; white-space: nowrap; }
.rt__tab.is-active { background: #FFE3EA; }
.rt__tab.is-active .rt__name { font-weight: 600; color: #E50929; }
.rt__tab.is-active::after { content: ""; position: absolute; left: 12px; right: 12px; top: 75px; height: 3px; border-radius: 3px; background: #E50929; }
.rt__img--keno { left: 7px; top: -3px; width: 62px; height: 47px; background-image: url('../img/result/91f0cfa0.png'); background-size: 62px 48.23px; background-position: 0 -.61px; }
.rt__img--lotto { left: -3px; top: -8px; width: 82px; height: 58px; background-image: url('../img/result/270e9533.png'); background-size: 82px 58px; }
.rt__img--mega { left: 3px; top: 0; width: 71px; height: 42px; background-image: url('../img/result/432ab8a0.png'); background-size: 68.12px 39.82px; background-position: 0 1.09px; }
.rt__img--power { left: 11px; top: -1px; width: 55px; height: 41px; background-image: url('../img/result/08ed5054.png'); background-size: 59.46px 41px; background-position: -2.23px 0; }
.rt__img--max3d { left: 0; top: 0; width: 76px; height: 40px; background-image: url('../img/result/09176eb7.png'); background-size: 66.93px 61.57px; background-position: 4.54px -9.9px; }
.rt__img--max3dpro { left: 1.1px; top: -18.2px; width: 73px; height: 73px; background-image: url('../img/result/37965939.png'); background-size: 100% 100%; }
.rt__img--bingo18 { left: 9px; top: 1px; width: 58px; height: 39px; background-image: url('../img/result/e57ea5fa.png'); background-size: 58px 37.37px; background-position: 0 1.39px; }

/* Nội dung: các khối xếp dọc (khoảng cách theo Figma) */
.rs-main { display: flex; flex-direction: column; }
.rs-block { margin: 0 16px; }
.rs-block--full { margin: 0; }
.rs-mt0 { margin-top: 0; }
.rs-mt8 { margin-top: 8px; }
.rs-mt11 { margin-top: 11px; }
.rs-mt16 { margin-top: 16px; }

/* Max 3D PRO: cột nhãn giải rộng cố định, các bộ số canh trái cùng một mép (thiết kế gốc lệch giữa các hàng) */
.rs-pro .rs-col-label { flex: 0 0 96px !important; width: 96px; }
.rs-pro .rs-col-balls { flex: 1 1 0 !important; align-items: flex-start !important; }
/* Chưa có kết quả (API lỗi hoặc không có dữ liệu) */
.rs-empty { padding: 32px 16px; border-radius: 12px; background: #FFFFFF; font-size: 14px; line-height: 16.71px; text-align: center; color: #8C8C8C; }

/* Keno: kết quả có 20 số nên mỗi hàng 10 số (thiết kế mẫu chỉ có 9 số mỗi hàng): thu nhỏ bóng 29px, khoảng cách 3px để vừa chiều ngang thẻ */
.rs .rk-l { gap: 3px; }
.rs .rk-m, .rs .rk-1a { width: 29px; height: 29px; padding: 0; }
.rs .rk-1a { border-radius: 14.5px; }
/* Dòng Chẵn/Lẻ - Quy luật: nội dung dài hơn mẫu ("Lẻ thắng thế") nên thu nhỏ chữ và bỏ lề hai bên để không đè nhau */
.rs .rk-z { padding: 4px 0 0 0; gap: 8px; }
.rs .rk-12, .rs .rk-13, .rs .rk-15 { font-size: 13px; }

/* Lotto: kỳ mới nhất chưa có Jackpot tích lũy thì bỏ khối Độc đắc, thẻ ngắn lại (khối Độc đắc nằm từ 219px) */
.rs .rl1-2--nojp { height: 231px; }

/* Power: kết quả có 6 số chính + số đặc biệt (thiết kế mẫu chỉ vẽ 5 số), thu nhỏ bóng và khoảng cách để vừa chiều ngang thẻ */
.rs .rp1-k { gap: 6px; width: auto; right: 16px; }
.rs .rp1-l { gap: 3px; }
.rs .rp1-m { width: 28px; height: 28px; padding: 0; }
.rs .rp1-n { font-size: 13px; }
.rs .rp1-q { gap: 6px; }
.rs .rp1-r, .rs .rp1-s { width: 36px; height: 36px; }

/* Max 3D - các thẻ "Kỳ quay trước" (bổ sung theo mẫu của Power, thiết kế Max 3D chưa có): header giống thẻ kỳ mới nhất, bên dưới mỗi giải một hàng chip bộ số 3 chữ số, màu theo giải (ĐB đỏ, Nhất xanh, Nhì vàng, Ba cam) */
.m3p-list { display: flex; flex-direction: column; gap: 8px; width: 100%; }
.m3p-card { display: flex; flex-direction: column; gap: 10px; padding: 14px; background: #FFFFFF; border-radius: 12px; box-shadow: inset 0 0 0 1px rgba(226, 232, 240, .8); }
.m3p-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.m3p-badge { flex: none; padding: 2px 8px; border-radius: 90px; background: #ECFDF5; box-shadow: inset 0 0 0 1px #D1FAE5; font-size: 14px; font-weight: 600; line-height: 16.71px; color: #00BA3D; white-space: nowrap; }
.m3p-ago { flex: none; font-size: 14px; font-weight: 600; line-height: 16.71px; color: #94A3B8; white-space: nowrap; }
.m3p-row { display: flex; align-items: flex-start; gap: 8px; padding: 8px; border-radius: 8px; }
.m3p-label { flex: none; width: 66px; padding-top: 4px; font-size: 14px; line-height: 20px; }
.m3p-nums { display: flex; flex-wrap: wrap; gap: 6px; }
.m3p-chip { min-width: 46px; padding: 0 8px; border-radius: 13px; background: #FFFFFF; font-size: 15px; font-weight: 600; line-height: 26px; text-align: center; letter-spacing: 1px; }
.m3p-row--special { background: rgba(255, 218, 218, .3); }
.m3p-row--special .m3p-label, .m3p-row--special .m3p-chip { color: #B80035; }
.m3p-row--first { background: #EFF4FF; }
.m3p-row--first .m3p-label, .m3p-row--first .m3p-chip { color: #0050D4; }
.m3p-row--second { background: #FFF6E5; }
.m3p-row--second .m3p-label, .m3p-row--second .m3p-chip { color: #855300; }
.m3p-row--third { background: #FFF3EE; }
.m3p-row--third .m3p-label, .m3p-row--third .m3p-chip { color: #F45C21; }

/* Max 3D Pro: thiết kế dùng nhầm ảnh logo Max 3D ở header các thẻ kỳ, đổi sang logo Max 3D PRO (cắt dải giữa của ảnh vuông 73px, như ở tab sản phẩm) */
.rs .ry-5 { background-image: url('../img/result/37965939.png'); background-size: 66px 66px; background-position: -8.5px -16.5px; }
