/* Kinh dịch (/kinh-dich/, 17/10/2026) — nạp sau hoptuoi.css + kethon.css. Màu chỉ lấy từ biến của cute.css. */

.kd-tool-head { background: radial-gradient(circle at 12% 30%, color-mix(in srgb, var(--boi-sky) 70%, transparent) 0 42px, transparent 43px),
    radial-gradient(circle at 90% 22%, color-mix(in srgb, var(--boi-butter) 75%, transparent) 0 34px, transparent 35px),
    linear-gradient(115deg, var(--boi-mint), var(--boi-sky) 55%, var(--boi-peach)); }
.kd-tool-head .ht-tool-badge img, .kd-tool-head .ht-tool-badge svg { width: 40px; height: 40px; }

.kd-form { position: relative; max-width: 900px; margin: -36px auto 0; padding: 0 24px; display: grid; gap: 14px; }
.kd-step { display: grid; gap: 12px; padding: 18px 20px 20px; border-radius: var(--boi-r-xl, 28px); background: var(--theme-bg-elevated); border: 1px solid var(--theme-border); box-shadow: var(--boi-card-shadow); min-width: 0; }
.kd-step-h { display: flex; align-items: center; gap: 10px; margin: 0; font: 900 1.12rem/1.3 var(--boi-font-head); color: var(--theme-text-strong); }
.kd-step-n { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--gk-btn); color: var(--gk-btn-ink); font-size: .95rem; box-shadow: var(--gk-btn-shadow); }
.kd-hint { margin: -4px 0 0; font-size: .86rem; line-height: 1.55; color: var(--theme-text-soft); }
.kd-fl { display: block; padding: 0; margin: 0; font-size: .9rem; font-weight: 800; color: var(--theme-text-strong); }
.kd-fl small { font-weight: 700; color: var(--theme-text-soft); }
.kd-step textarea { width: 100%; min-height: 64px; padding: 12px 14px; border-radius: 16px; border: 1px solid var(--theme-border-strong); background: var(--theme-bg);
    color: var(--theme-text-strong); font: 600 1rem/1.5 var(--boi-font-body); resize: vertical; box-sizing: border-box; }
.kd-step textarea:focus-visible, .kd-when input:focus-visible { outline: 3px solid var(--theme-gold-text); outline-offset: 1px; }
.kd-q { margin: 0; padding: 0; border: 0; min-width: 0; }
.kd-q legend { padding: 0; margin: 0 0 8px; font-size: .84rem; font-weight: 800; color: var(--theme-text-secondary); }
.kd-chips, .kd-mopts { display: flex; flex-wrap: wrap; gap: 6px; }
.kd-chips label, .kd-ways label, .kd-mopts label { position: relative; cursor: pointer; }
.kd-chips input, .kd-ways input, .kd-mopts input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.kd-chips span, .kd-mopts span { display: inline-flex; align-items: center; min-height: 38px; padding: 0 14px; border-radius: 999px; font-weight: 800; font-size: .9rem;
    color: var(--theme-text-secondary); background: var(--theme-surface-1); border: 1px solid var(--theme-border); transition: background .15s, color .15s; }
.kd-chips input:checked + span, .kd-mopts input:checked + span { background: var(--gk-btn); color: var(--gk-btn-ink); border-color: transparent; box-shadow: var(--gk-btn-shadow); }
.kd-chips input:focus-visible + span, .kd-ways input:focus-visible + span, .kd-mopts input:focus-visible + span { outline: 3px solid var(--theme-gold-text); outline-offset: 2px; }
.kd-way { margin: 0; padding: 0; border: 0; min-width: 0; }
.kd-ways { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.kd-ways span { display: grid; gap: 2px; height: 100%; padding: 12px 14px; border-radius: 18px; border: 2px solid var(--theme-border); background: var(--theme-surface-1); box-sizing: border-box; transition: border-color .15s, background .15s; }
.kd-ways b { font: 900 1rem/1.3 var(--boi-font-head); color: var(--theme-text-strong); }
.kd-ways small { font-size: .82rem; line-height: 1.4; color: var(--theme-text-secondary); }
.kd-ways input:checked + span { border-color: var(--theme-gold-text); background: color-mix(in srgb, var(--boi-apricot) 30%, var(--theme-bg-elevated)); }
.kd-pane[hidden] { display: none; }
.kd-pane-note { margin: 2px 0 10px; text-align: center; font-size: .92rem; line-height: 1.6; color: var(--theme-text-secondary); }

/* Gieo xu: đồng xu + nút bên trái, 6 ô hào dựng dần bên phải */
.kd-cast { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 20px; align-items: center; padding: 16px; border-radius: 22px; background: var(--theme-surface-1); }
.kd-cast-l { display: grid; justify-items: center; gap: 12px; text-align: center; }
.kd-coins { display: flex; gap: 12px; }
.kd-coin { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; font-size: .76rem; font-weight: 900; color: var(--boi-sticker-ink);
    background: radial-gradient(circle, var(--theme-bg-elevated) 0 8px, var(--boi-butter) 9px 100%); border: 3px solid color-mix(in srgb, var(--boi-butter) 55%, var(--theme-text-strong));
    box-shadow: inset 0 0 0 4px color-mix(in srgb, var(--boi-butter) 70%, #fff); }
.kd-coin.is-head { background: var(--boi-apricot); }
.kd-coin.is-tail { background: var(--boi-sky); }
/* Đồng xu bằng ảnh (bản vẽ chủ site 18/10/2026): ảnh + chữ Ngửa / Sấp dưới, bỏ nền màu. */
.kd-coin.has-img { width: auto; height: auto; gap: 4px; border: 0; border-radius: 0; background: none; box-shadow: none; }
.kd-coin.has-img img { display: block; width: 60px; height: 60px; }
.kd-coin.has-img span { font-size: .8rem; line-height: 1.2; color: var(--theme-text-strong); }
.kd-coin.is-idle img { opacity: .45; filter: saturate(.6); }
.kd-coins.is-flip .kd-coin.has-img { animation-name: kd-flip-img; }
@keyframes kd-flip-img { 0% { transform: translateY(0) rotateY(0); } 45% { transform: translateY(-22px) rotateY(540deg); } 100% { transform: translateY(0) rotateY(1080deg); } }
.kd-coins.is-flip .kd-coin { animation: kd-flip .6s ease-in-out; }
.kd-coins.is-flip .kd-coin:nth-child(2) { animation-delay: .05s; }
.kd-coins.is-flip .kd-coin:nth-child(3) { animation-delay: .1s; }
@keyframes kd-flip { 0% { transform: translateY(0) rotateX(0); } 45% { transform: translateY(-26px) rotateX(540deg); } 100% { transform: translateY(0) rotateX(1080deg); } }
.kd-toss { min-width: 190px; min-height: 52px; font-size: 1.05rem; }
.kd-toss[disabled] { opacity: .6; cursor: default; }
.kd-cast-st { margin: 0; font-weight: 800; color: var(--theme-text-strong); }
.kd-cast-more { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 16px; margin: 0; }
.kd-link { padding: 0; border: 0; background: none; font: 800 .92rem var(--boi-font-body); color: var(--theme-gold-text); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.kd-link[hidden] { display: none; }
.kd-link:focus-visible { outline: 3px solid var(--theme-gold-text); outline-offset: 2px; border-radius: 4px; }
.kd-stack { display: grid; gap: 6px; margin: 0; padding: 12px 14px; border-radius: 18px; background: var(--theme-bg-elevated); list-style: none; }
.kd-slot { display: grid; grid-template-columns: 48px 96px minmax(0, 1fr); align-items: center; gap: 10px; min-height: 26px; font-size: .84rem; color: var(--theme-text-soft); }
.kd-slot-n { font-weight: 800; }
.kd-slot-e { display: block; width: 96px; height: 12px; border-radius: 4px; border: 2px dashed var(--theme-border-strong); box-sizing: border-box; }
.kd-slot.is-next .kd-slot-e { border-color: var(--theme-gold-text); }
.kd-slot.is-next .kd-slot-l { color: var(--theme-gold-text); font-weight: 800; }
.kd-slot.is-on { color: var(--theme-text-secondary); font-weight: 700; }
.kd-slot.is-on .kd-bar { width: 96px; }
.kd-slot b { color: var(--theme-gold-text); }
.kd-slot.is-new { animation: kd-in .35s ease-out; }
@keyframes kd-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

/* Vạch hào: dương = một vạch liền, âm = hai nửa */
.kd-bar { flex: none; display: inline-flex; gap: 12%; width: 84px; height: 12px; }
.kd-bar i { flex: 1; border-radius: 4px; background: var(--theme-text-strong); }
.kd-bar.is-yang { gap: 0; }
.kd-bar.is-yang i + i { display: none; }
.kd-bar.is-mv i { background: var(--theme-gold-text); }
.kd-bar.is-sm { width: 36px; height: 7px; vertical-align: middle; }

/* Nhập 6 lần */
.kd-manual { display: grid; gap: 8px; }
.kd-mrow { display: grid; grid-template-columns: 92px minmax(0, 1fr); align-items: center; gap: 8px; margin: 0; padding: 8px 10px; border: 1px solid var(--theme-border); border-radius: 16px; background: var(--theme-surface-1); }
.kd-mrow legend { float: left; padding: 0; font-weight: 900; color: var(--theme-text-strong); }
.kd-mrow legend small { display: block; font-size: .74rem; font-weight: 700; color: var(--theme-text-soft); }
.kd-mopts span { min-height: 36px; padding: 0 12px; background: var(--theme-bg-elevated); }
.kd-when { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.kd-when label { display: grid; gap: 4px; }
.kd-when input { min-height: 46px; padding: 0 12px; border-radius: 14px; border: 1px solid var(--theme-border-strong); background: var(--theme-bg); color: var(--theme-text-strong); font: 700 1rem var(--boi-font-body); }
.kd-go { justify-self: center; }
.kd-go[hidden] { display: none; }
.kd-go.is-busy { cursor: wait; opacity: .8; }

/* ---------- Kết quả ---------- */
.kd-result { max-width: 920px; margin-left: auto; margin-right: auto; scroll-margin-top: 80px; }
.kd-res-head { text-align: center; margin: 0 0 16px; }
.kd-res-k { margin: 0; font-size: .84rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--theme-gold-text); }
.kd-res-h { margin: 4px 0 6px; font: 900 clamp(1.45rem, 3vw, 2rem)/1.25 var(--boi-font-head); color: var(--theme-text-strong); }
.kd-to { font-size: .7em; font-weight: 800; color: var(--theme-text-soft); }
.kd-res-q { margin: 0 auto 6px; max-width: 640px; font-style: italic; color: var(--theme-text-secondary); }
.kd-res-when { margin: 0; font-size: .86rem; color: var(--theme-text-soft); }

.kd-hexes { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 14px; margin: 0 0 18px; }
.kd-hex { margin: 0; flex: 0 1 300px; display: grid; gap: 10px; justify-items: center; padding: 16px 18px; border-radius: var(--boi-r-xl, 28px);
    background: var(--theme-bg-elevated); border: 1px solid var(--theme-border); box-shadow: var(--boi-card-shadow); }
.kd-hex.is-main { border: 2px solid color-mix(in srgb, var(--theme-gold-text) 45%, var(--theme-border)); }
.kd-hex-cap { font-size: .8rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; color: var(--theme-text-soft); }
.kd-hex-lines { display: grid; gap: 8px; }
.kd-hl { display: grid; grid-template-columns: 16px 120px 40px; align-items: center; gap: 8px; }
.kd-hl .kd-bar { width: 120px; height: 14px; }
.kd-hn { font-size: .74rem; font-weight: 800; color: var(--theme-text-soft); text-align: right; }
.kd-hm { font-size: .72rem; font-weight: 900; color: var(--theme-gold-text); }
.kd-hex-name { display: grid; text-align: center; }
.kd-hex-name b { font: 900 1.12rem/1.3 var(--boi-font-head); color: var(--theme-text-strong); }
.kd-hex-name span { font-size: .84rem; color: var(--theme-text-soft); }
.kd-tris { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 12px; }
.kd-tri { display: inline-flex; align-items: center; gap: 6px; font-size: .84rem; font-weight: 700; color: var(--theme-text-secondary); }
.kd-tri small { font-weight: 800; color: var(--theme-text-soft); }
.kd-tri-ic { width: 28px; height: 28px; border-radius: 8px; }
.kd-arrow { font-size: 1.8rem; font-weight: 900; color: var(--theme-gold-text); }
.kd-still { flex: 0 1 240px; margin: 0; text-align: center; font-weight: 700; color: var(--theme-text-secondary); }

.kd-card { margin: 0 0 14px; padding: 18px 20px; border-radius: var(--boi-r-xl, 28px); background: var(--theme-bg-elevated); border: 1px solid var(--theme-border); box-shadow: var(--boi-card-shadow); }
.kd-card p { margin: 0 0 10px; line-height: 1.7; color: var(--theme-text-secondary); }
.kd-card p:last-child { margin-bottom: 0; }
.kd-h3 { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0 0 10px; font: 900 1.15rem/1.35 var(--boi-font-head); color: var(--theme-text-strong); }
.kd-h3 small { font-size: .78rem; font-weight: 700; color: var(--theme-text-soft); }
.kd-sub { font-size: .9rem; color: var(--theme-text-soft) !important; }
.kd-img { font-style: italic; }
.kd-cd { padding: 10px 14px; border-radius: 14px; background: color-mix(in srgb, var(--boi-mint) 35%, var(--theme-bg-elevated)); color: var(--theme-text-strong) !important; }
.kd-k b, .kd-cd b { color: var(--theme-text-strong); }
.kd-chip { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 999px; font: 800 .74rem/1.3 var(--boi-font-body); color: var(--boi-sticker-ink); background: var(--boi-butter); }
.kd-chip.is-ok { background: var(--boi-mint); }
.kd-chip.is-mid { background: var(--boi-butter); }
.kd-chip.is-warn { background: var(--boi-peach); }
.kd-zh { font-size: .86rem; color: var(--theme-text-soft) !important; }
.kd-zh-lab { margin-right: 4px; padding: 1px 8px; border-radius: 999px; font-size: .7rem; font-weight: 800; background: var(--theme-surface-2); color: var(--theme-text-secondary); }
.kd-zh [lang="zh"] { font-size: 1rem; }

.kd-read { border: 2px solid color-mix(in srgb, var(--theme-gold-text) 40%, var(--theme-border)); }
.kd-why { font-weight: 700; color: var(--theme-text-strong) !important; }
.kd-read-it { padding: 12px 14px; margin: 0 0 10px; border-radius: 16px; background: var(--theme-surface-1); }
.kd-read-it.is-main { background: color-mix(in srgb, var(--boi-butter) 45%, var(--theme-bg-elevated)); }
.kd-read-t { font-weight: 900; color: var(--theme-text-strong) !important; }

.kd-topics { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px; margin: 0 0 14px; }
.kd-topics-lab { font-size: .86rem; font-weight: 800; color: var(--theme-text-secondary); }
.kd-tp { min-height: 38px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--theme-border-strong); background: var(--theme-bg-elevated); color: var(--theme-text-secondary);
    font: 800 .88rem var(--boi-font-body); cursor: pointer; }
.kd-tp.is-on { background: var(--gk-btn); color: var(--gk-btn-ink); border-color: transparent; box-shadow: var(--gk-btn-shadow); }
.kd-tp:focus-visible { outline: 3px solid var(--theme-gold-text); outline-offset: 2px; }

.kd-hao { padding: 12px 14px; margin: 0 0 10px; border-radius: 16px; background: color-mix(in srgb, var(--boi-peach) 30%, var(--theme-bg-elevated)); }
.kd-hao-t { display: flex; align-items: center; gap: 8px; font-weight: 900; color: var(--theme-text-strong) !important; }
.kd-all summary, .kd-lh summary { cursor: pointer; font-weight: 800; color: var(--theme-gold-text); }
.kd-all-list { margin: 10px 0 0; padding-left: 0; list-style: none; display: grid; gap: 8px; }
.kd-all-list li { padding: 8px 12px; border-radius: 12px; background: var(--theme-surface-1); line-height: 1.6; color: var(--theme-text-secondary); }
.kd-all-list li.is-mv { background: color-mix(in srgb, var(--boi-peach) 30%, var(--theme-bg-elevated)); }
.kd-all-list b { color: var(--theme-text-strong); }

.kd-td-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0 0 12px; }
.kd-td-b { display: grid; gap: 2px; padding: 10px; border-radius: 16px; background: var(--theme-surface-1); text-align: center; }
.kd-td-b small { font-size: .74rem; font-weight: 800; color: var(--theme-text-soft); }
.kd-td-b b { font: 900 1.1rem var(--boi-font-head); color: var(--theme-text-strong); }
.kd-td-b span { font-size: .82rem; color: var(--theme-text-secondary); }
.kd-formula { margin: 0 0 14px; padding: 10px 14px; border-radius: 14px; background: var(--theme-surface-1); font-size: .9rem; line-height: 1.6; color: var(--theme-text-secondary); }

.kd-lh summary { list-style: none; }
.kd-lh summary::-webkit-details-marker { display: none; }
.kd-lh summary .kd-h3 { margin: 0; }
.kd-lh summary .kd-h3::after { content: "Mở"; margin-left: auto; padding: 2px 10px; border-radius: 999px; font: 800 .74rem var(--boi-font-body); background: var(--theme-surface-2); color: var(--theme-text-secondary); }
.kd-lh[open] summary .kd-h3::after { content: "Thu gọn"; }
.kd-lh-meta { margin: 12px 0 !important; }
.kd-lh-tbl th, .kd-lh-tbl td { font-size: .86rem; }
.kd-lh-tbl tr.is-mv { background: color-mix(in srgb, var(--boi-peach) 22%, transparent); }
.kd-lh-tbl b { color: var(--theme-gold-text); font-size: .76rem; }
.kd-cc { display: block; font-size: .78rem; color: var(--theme-text-soft); }
.kd-lh-dl { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 6px 12px; margin: 14px 0 0; font-size: .86rem; line-height: 1.55; }
.kd-lh-dl dt { font-weight: 900; color: var(--theme-text-strong); }
.kd-lh-dl dd { margin: 0; color: var(--theme-text-secondary); }

.kd-acts { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 18px 0 10px; }
.kd-note { max-width: 680px; margin: 0 auto 10px; text-align: center; font-size: .86rem; line-height: 1.6; color: var(--theme-text-soft); }

/* ---------- Miễn phí / trả phí (chủ site chốt 18/10/2026) ---------- */
.kd-cd.is-hint { background: var(--theme-surface-1); color: var(--theme-text-secondary) !important; font-size: .92rem; }
.kd-mvlist { display: grid; gap: 6px; margin: 0 0 10px; padding: 0; list-style: none; }
.kd-mvlist li { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 14px; background: color-mix(in srgb, var(--boi-peach) 30%, var(--theme-bg-elevated)); color: var(--theme-text-strong); }
.kd-names { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; margin: 0 0 10px; padding: 0; list-style: none; }
.kd-names li { display: grid; gap: 2px; padding: 10px 14px; border-radius: 16px; background: var(--theme-surface-1); }
.kd-names span { font-size: .74rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--theme-text-soft); }
.kd-names b { font: 900 1.05rem/1.3 var(--boi-font-head); color: var(--theme-text-strong); }
.kd-names small { font-size: .82rem; color: var(--theme-text-secondary); }
.kd-shop { margin: 0 0 16px; padding: 22px 22px 18px; border-radius: var(--boi-r-xl, 28px); background: linear-gradient(135deg, color-mix(in srgb, var(--boi-butter) 60%, var(--theme-bg-elevated)), color-mix(in srgb, var(--boi-apricot) 45%, var(--theme-bg-elevated)));
    border: 2px solid color-mix(in srgb, var(--theme-gold-text) 35%, transparent); box-shadow: var(--boi-card-shadow); }
.kd-shop-k { margin: 0; font-size: .76rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--theme-gold-text); }
.kd-shop-h { margin: 4px 0 8px; font: 900 clamp(1.2rem, 2.6vw, 1.5rem)/1.3 var(--boi-font-head); color: var(--theme-text-strong); }
.kd-shop-t { margin: 0 0 10px; line-height: 1.6; color: var(--theme-text-strong); }
.kd-shop-toc { margin: 0 0 14px; padding-left: 1.3em; line-height: 1.75; color: var(--theme-text-secondary); }
.kd-shop-buy { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; padding: 12px 14px; border-radius: 18px; background: var(--theme-bg-elevated); }
.kd-shop-p { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin: 0; }
.kd-shop-p b { font: 900 1.45rem var(--boi-font-head); color: var(--theme-gold-text); }
.kd-shop-p s { color: var(--theme-text-soft); }
.kd-shop-p span { font-size: .84rem; color: var(--theme-text-secondary); }
.kd-shop-go { margin: 0; }
.kd-shop-small { margin: 10px 0 0; font-size: .82rem; line-height: 1.55; color: var(--theme-text-secondary); }
.kd-warn { max-width: 760px; margin: 0 auto 16px; padding: 10px 14px; border-radius: 16px; background: var(--theme-danger-bg); border: 1px solid var(--theme-danger-border); color: var(--theme-text-strong); text-align: center; }
.kd-report { margin: 0 0 22px; padding: 22px 22px 18px; border-radius: var(--boi-r-xl, 28px); background: var(--theme-bg-elevated); border: 2px solid var(--boi-mint); box-shadow: var(--boi-card-shadow); scroll-margin-top: 80px; }
.kd-report.is-off { border-color: var(--theme-border-strong); text-align: center; }
.kd-rep-head { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 10px; }
.kd-rep-k { margin: 0; font-size: .74rem; font-weight: 800; letter-spacing: .14em; color: var(--theme-gold-text); }
.kd-rep-h { margin: 2px 0 10px; font: 900 clamp(1.3rem, 2.8vw, 1.7rem)/1.25 var(--boi-font-head); color: var(--theme-text-strong); }
.kd-rep-act { display: flex; flex-wrap: wrap; gap: 8px; }
.kd-asked { margin: 0 0 12px; padding: 10px 14px; border-radius: 14px; background: var(--theme-surface-1); font-style: italic; color: var(--theme-text-strong); }
.kd-asked span { display: block; font-style: normal; font-size: .76rem; font-weight: 800; color: var(--theme-text-soft); }
.kd-rep-bh { margin: 6px 0 4px; font-size: .86rem; font-weight: 800; color: var(--theme-text-secondary); }
.kd-rep-li { margin: 0 0 10px; padding-left: 1.2em; font-size: .88rem; line-height: 1.6; color: var(--theme-text-soft); }
.kd-rep-sh { margin: 16px 0 6px; font: 800 1.05rem/1.35 var(--boi-font-head); color: var(--theme-gold-text); }
.kd-report p { line-height: 1.75; color: var(--theme-text-secondary); }
.kd-rep-small { margin: 14px 0 0; font-size: .82rem; color: var(--theme-text-soft) !important; }
.kd-wait { display: flex; align-items: center; gap: 8px; font-weight: 700; color: var(--theme-text-secondary); }
.kd-spin { flex: none; width: 16px; height: 16px; border-radius: 50%; border: 3px solid var(--theme-border-strong); border-top-color: var(--theme-gold-text); animation: kd-spin 1s linear infinite; }
@keyframes kd-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .kd-spin { animation: none; } }
@media (max-width: 640px) { .kd-shop, .kd-report { padding: 16px 14px; } .kd-shop-buy .ht-btn { width: 100%; } }

/* ---------- Bố cục kết quả (18/10/2026) ---------- */
.kd-hero { margin: 0 0 16px; padding: 20px 20px 16px; border-radius: var(--boi-r-xl, 28px); background: var(--theme-bg-elevated); border: 1px solid var(--theme-border); box-shadow: var(--boi-card-shadow); text-align: center; }
.kd-hero .kd-hexes { margin: 14px 0 12px; }
.kd-hero .kd-hex { box-shadow: none; background: var(--theme-surface-1); }
.kd-facts { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0; padding: 0; list-style: none; }
.kd-facts li { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px; background: var(--theme-surface-1); font-size: .86rem; }
.kd-facts span { font-weight: 700; color: var(--theme-text-soft); }
.kd-facts b { font-weight: 900; color: var(--theme-text-strong); }
.kd-msg-cd { margin: 0 0 12px; padding: 12px 14px; border-radius: 18px; background: var(--theme-surface-1); }
.kd-msg-lab { margin: 0 0 8px !important; font-size: .8rem; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; color: var(--theme-text-soft) !important; }
.kd-msg-cd .kd-topics { justify-content: flex-start; margin: 0 0 10px; }
.kd-msg-cd .kd-cd { margin: 0 !important; }
.kd-struct summary { list-style: none; cursor: pointer; }
.kd-struct summary::-webkit-details-marker { display: none; }
.kd-struct summary .kd-h3 { margin: 0; }
.kd-struct summary .kd-h3::after { content: "Mở"; margin-left: auto; padding: 2px 10px; border-radius: 999px; font: 800 .74rem var(--boi-font-body); background: var(--theme-surface-2); color: var(--theme-text-secondary); }
.kd-struct[open] summary .kd-h3::after { content: "Thu gọn"; }
.kd-struct-in { margin-top: 12px; }
.kd-h4 { margin: 16px 0 8px; font: 900 1rem/1.3 var(--boi-font-head); color: var(--theme-text-strong); }
.kd-struct-in .kd-h4:first-child { margin-top: 0; }
.kd-shop-top { margin: 0 0 12px; }
.kd-shop-q { margin: 0; padding: 10px 14px; border-radius: 14px; background: var(--theme-bg-elevated); font-style: italic; color: var(--theme-text-strong); }
.kd-shop-q span { display: block; font-style: normal; font-size: .76rem; font-weight: 800; color: var(--theme-text-soft); }
.kd-shop-q.is-empty { font-style: normal; color: var(--theme-text-secondary); }
.kd-chap { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0 0 14px; padding: 0; list-style: none; }
.kd-chap-i { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border-radius: 16px; background: color-mix(in srgb, var(--theme-bg-elevated) 80%, transparent); }
.kd-chap-l { flex: none; display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 8px; background: var(--theme-gold-text); color: var(--theme-bg-elevated); font: 900 .86rem var(--boi-font-head); }
.kd-chap-b { display: grid; gap: 2px; min-width: 0; }
.kd-chap-b b { font: 800 .94rem/1.35 var(--boi-font-head); color: var(--theme-text-strong); }
.kd-chap-b small { font-size: .82rem; line-height: 1.45; color: var(--theme-text-secondary); }
.kd-chap.is-wait .kd-chap-i { opacity: .7; }
.kd-hexes.is-sm { margin: 4px 0 14px; }
.kd-hexes.is-sm .kd-hex { flex-basis: 230px; padding: 12px; box-shadow: none; background: var(--theme-surface-1); }
.kd-hexes.is-sm .kd-hl { grid-template-columns: 14px 90px 34px; }
.kd-hexes.is-sm .kd-hl .kd-bar { width: 90px; height: 11px; }
.kd-hexes.is-sm .kd-tris { display: none; }
.kd-rep-toc ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 16px; margin: 0 0 14px; padding: 12px 14px; border-radius: 16px; background: var(--theme-surface-1); list-style: none; }
.kd-rep-toc a { display: flex; gap: 8px; align-items: baseline; font-size: .9rem; font-weight: 700; color: var(--theme-text-strong); text-decoration: none; }
.kd-rep-toc a span { font-weight: 900; color: var(--theme-gold-text); }
.kd-rep-toc a:hover { color: var(--theme-gold-text); }
.kd-rep-ch { scroll-margin-top: 90px; }
.kd-rep-sh { display: flex; align-items: center; gap: 10px; }
@media (max-width: 760px) {
    .kd-ways { grid-template-columns: 1fr; }
    .kd-cast { grid-template-columns: 1fr; padding: 12px; }
    .kd-slot { grid-template-columns: 44px 84px minmax(0, 1fr); }
    .kd-slot-e, .kd-slot.is-on .kd-bar { width: 84px; }
    .kd-chap, .kd-rep-toc ol { grid-template-columns: 1fr; }
    .kd-hero { padding: 16px 12px 14px; }
}

/* ---------- Bảng tra trong bài ---------- */
.kd-tri-cell { display: inline-flex; align-items: center; gap: 8px; }
.kd-tri-cell .kd-tri-ic { width: 32px; height: 32px; }
.kd-64-wrap { overflow-x: auto; }
.kd-64 { min-width: 640px; text-align: center; }
.kd-64 th, .kd-64 td { padding: 6px 4px; font-size: .8rem; line-height: 1.3; }
.kd-64 td b { display: block; font-size: .72rem; color: var(--theme-gold-text); }
.kd-64-h { display: block; font-weight: 900; color: var(--theme-text-strong); }
.kd-64 small { font-size: .7rem; color: var(--theme-text-soft); font-weight: 700; }

@media (max-width: 768px) {
    .kd-form { padding: 0 12px; }
    .kd-box { padding: 14px; }
    .kd-mrow { grid-template-columns: 1fr; }
    .kd-mrow legend { float: none; margin-bottom: 4px; }
    .kd-mopts label { flex: 1 1 calc(50% - 6px); }
    .kd-mopts span { width: 100%; justify-content: center; }
    .kd-card { padding: 14px 16px; }
    .kd-arrow { transform: rotate(90deg); }
    .kd-hex { flex-basis: 100%; }
    .kd-td-row { grid-template-columns: 1fr; }
    .kd-lh-dl { grid-template-columns: 1fr; }
    /* Bảng nhiều cột → mỗi dòng một thẻ có nhãn cột */
    .kd-tbl thead, .kd-lh-tbl thead { display: none; }
    .kd-tbl caption { display: block; width: auto; padding: 8px 12px; text-align: center; }
    .kd-tbl, .kd-tbl tbody, .kd-tbl tr, .kd-tbl th, .kd-tbl td,
    .kd-lh-tbl, .kd-lh-tbl tbody, .kd-lh-tbl tr, .kd-lh-tbl th, .kd-lh-tbl td { display: block; width: auto; }
    .kd-tbl tr, .kd-lh-tbl tr { padding: 10px 12px; border-bottom: 1px solid var(--theme-border); }
    .kd-tbl th[scope="row"], .kd-lh-tbl th[scope="row"] { padding: 0 0 4px; border: 0; background: none; text-align: left; }
    .kd-tbl td, .kd-lh-tbl td { padding: 2px 0; border: 0; }
    .kd-lh-tbl td:empty { display: none; }
    .kd-tbl td[data-label]::before, .kd-lh-tbl td[data-label]::before { content: attr(data-label) ': '; font-weight: 800; color: var(--theme-text-strong); }
    .kd-lh-tbl .kd-cc { display: inline; margin-left: 4px; }
    .kd-lh-dl dd { margin-bottom: 6px; }
}
@media (prefers-reduced-motion: reduce) {
    .kd-coins.is-flip .kd-coin, .kd-coins.is-flip .kd-coin.has-img, .kd-hrow.is-new { animation: none; }
}
