/* AI Huyền Học — giao diện. Chàm đêm + vàng kim + giấy dó. Mobile trước (anh Thiện dùng 100% iPhone). */
:root{
  --cham:#1b1640; --cham2:#2b2160; --cham3:#3b2f7a; --vang:#e2b862; --vang2:#c99a3c; --vang-nhat:#f7ecd2;
  --giay:#fbf7ef; --giay2:#f3ecdd; --nen:#fbf7ef; --the:#ffffff; --chu:#221d33; --chu2:#5c5670; --vien:#e7dfcd;
  --do:#b23a3a; --xanh:#2f7a55; --bong:0 1px 2px rgba(27,22,64,.06),0 6px 22px rgba(27,22,64,.07);
  --r:14px; --serif:"Noto Serif",Georgia,"Times New Roman",serif; --sans:"Be Vietnam Pro",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --nen:#121026; --the:#1b1838; --chu:#ece8f6; --chu2:#aaa3c2; --vien:#2e2a52; --giay:#121026; --giay2:#1b1838; --vang-nhat:#2c2540;
}}
:root[data-theme="dark"]{ --nen:#121026; --the:#1b1838; --chu:#ece8f6; --chu2:#aaa3c2; --vien:#2e2a52; --giay:#121026; --giay2:#1b1838; --vang-nhat:#2c2540; }
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--nen);color:var(--chu);font:16px/1.65 var(--sans);overflow-x:hidden}
a{color:var(--cham3);text-decoration:none}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) a{color:var(--vang)} }
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
h1,h2,h3{font-family:var(--serif);line-height:1.3;color:var(--chu);margin:0 0 .5em}
h1{font-size:clamp(26px,5.4vw,40px)} h2{font-size:clamp(21px,3.8vw,28px)} h3{font-size:19px}
.ic{vertical-align:-4px;flex-shrink:0}
.khung{max-width:1140px;margin:0 auto;padding:0 16px}
.hep{max-width:760px;margin:0 auto;padding:0 16px}
.mute{color:var(--chu2)} .nho{font-size:14px} .giua{text-align:center}

/* đầu trang */
.dau{position:sticky;top:0;z-index:30;background:rgba(27,22,64,.97);color:#fff;backdrop-filter:blur(8px);border-bottom:1px solid rgba(226,184,98,.25)}
.dau .khung{display:flex;align-items:center;gap:12px;height:58px}
.logo{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;font-family:var(--serif);font-size:19px;white-space:nowrap}
.logo:hover{text-decoration:none}.logo small{display:block;font:500 11px var(--sans);color:var(--vang);letter-spacing:.04em}
.dau nav.chinh{display:none;gap:4px;margin-left:12px;flex:1}
.dau nav.chinh a{color:#e9e5f5;padding:8px 10px;border-radius:9px;font-size:15px}
.dau nav.chinh a:hover,.dau nav.chinh a.on{background:rgba(255,255,255,.08);text-decoration:none;color:var(--vang)}
.dau .phai{margin-left:auto;display:flex;gap:8px;align-items:center}
.nut-dau{white-space:nowrap;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:7px 12px;font-size:14px;display:inline-flex;gap:6px;align-items:center;background:none;cursor:pointer;font-family:inherit}
.nut-dau:hover{text-decoration:none;border-color:var(--vang);color:var(--vang)}
.nut-dau.vang{background:var(--vang);color:var(--cham);border-color:var(--vang);font-weight:700}
.nut-menu{background:none;border:0;color:#fff;padding:8px;cursor:pointer}
@media (min-width:1180px){ .dau nav.chinh{display:flex} }   /* NAV_TABLET_v1: giữ nút menu ở máy lớn — ngăn kéo có lưới công cụ + cây kiến thức, menu ngang không chứa hết */
@media (max-width:420px){ .logo small{display:none} .logo{font-size:17px} .dau .khung{gap:8px} }
.ngan-keo{position:fixed;inset:0;z-index:50;display:none}
.ngan-keo.mo{display:block}
.ngan-keo .mo-den{position:absolute;inset:0;background:rgba(10,8,25,.55)}
.ngan-keo .ngan{position:absolute;right:0;top:0;bottom:0;width:min(330px,88vw);background:var(--the);overflow:auto;padding:16px 16px 40px;box-shadow:var(--bong)}
.ngan h4{font:700 12px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--chu2);margin:18px 0 6px}
.ngan a{display:flex;gap:10px;align-items:center;padding:10px 8px;border-radius:10px;color:var(--chu)}
.ngan a:hover{background:var(--giay2);text-decoration:none}

/* nút */
.nut{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--vien);background:var(--the);color:var(--chu);border-radius:12px;padding:11px 18px;font:600 15px var(--sans);cursor:pointer;text-decoration:none;line-height:1.2}
.nut:hover{text-decoration:none;border-color:var(--cham3)}
.nut-chinh{background:var(--cham2);border-color:var(--cham2);color:#fff}
.nut-chinh:hover{background:var(--cham3);color:#fff}
.nut-vang{background:linear-gradient(180deg,#ecc677,#d9a849);border-color:#c99a3c;color:#231a05}
.nut-vang:hover{color:#231a05;filter:brightness(1.04)}
.nut-vien{background:transparent}
.nut-rong{width:100%} .nut-lon{padding:14px 22px;font-size:16px} .nut-nho{padding:7px 12px;font-size:14px;border-radius:10px}
.nut[disabled]{opacity:.55;cursor:not-allowed}

/* form */
.o-nhap{display:grid;gap:12px}
label.n{display:grid;gap:5px;font-weight:600;font-size:14px}
label.n small{font-weight:400;color:var(--chu2)}
input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],input[type=date],input[type=time],select,textarea{
  width:100%;padding:11px 12px;border:1px solid var(--vien);border-radius:11px;background:var(--the);color:var(--chu);font:16px var(--sans)}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(59,47,122,.25);border-color:var(--cham3)}
.hang2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hang3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.chon-nhom{display:flex;gap:8px;flex-wrap:wrap}
.chon-nhom label{flex:1;min-width:90px}
.chon-nhom input{position:absolute;opacity:0}
.chon-nhom span{display:block;text-align:center;padding:10px;border:1px solid var(--vien);border-radius:11px;cursor:pointer;font-weight:600;background:var(--the)}
.chon-nhom input:checked + span{border-color:var(--cham3);background:var(--cham2);color:#fff}

.thong-diep{padding:11px 14px;border-radius:11px;margin:10px 0;font-size:15px}
.thong-diep.ok{background:#e6f4ec;color:#1d5a3b} .thong-diep.loi{background:#fbe9e9;color:#8a2626} .thong-diep.tin{background:var(--vang-nhat);color:#5b4612}

/* thẻ */
.the{background:var(--the);border:1px solid var(--vien);border-radius:var(--r);padding:18px;box-shadow:var(--bong)}
.luoi{display:grid;gap:14px}
@media (min-width:640px){ .luoi-2{grid-template-columns:1fr 1fr} .luoi-3{grid-template-columns:repeat(3,1fr)} .luoi-4{grid-template-columns:repeat(2,1fr)} }
@media (min-width:980px){ .luoi-4{grid-template-columns:repeat(4,1fr)} }
.muc{padding:42px 0} .muc-xam{background:var(--giay2)}
.muc-dau{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:16px}
.muc-dau h2{margin:0} .muc-dau a{font-weight:600;font-size:15px;white-space:nowrap}
.nhan{display:inline-block;font:700 11px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--vang2)}

/* hero */
.hero{background:radial-gradient(1200px 500px at 80% -10%,#4a3a9a 0,transparent 60%),linear-gradient(160deg,#1b1640,#2b2160 70%);color:#fff;padding:34px 0 40px;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(1px 1px at 20% 30%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 70% 20%,rgba(255,255,255,.35),transparent),radial-gradient(1.5px 1.5px at 85% 60%,rgba(226,184,98,.6),transparent),radial-gradient(1px 1px at 40% 80%,rgba(255,255,255,.3),transparent);pointer-events:none}
.hero .khung{position:relative;display:grid;gap:26px}
@media (min-width:980px){ .hero .khung{grid-template-columns:1.05fr .95fr;align-items:center} .hero{padding:56px 0 64px} }
.hero h1{color:#fff} .hero p.mo{color:#d9d4ee;font-size:17px;max-width:560px}
.hero .the{color:var(--chu)}
.hero-diem{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px;color:#d9d4ee;font-size:14px}
.hero-diem span{display:flex;gap:6px;align-items:center}
.hero-diem .ic{color:var(--vang)}

/* 5 trụ */
.tru{display:flex;flex-direction:column;gap:8px;padding:18px;border-radius:var(--r);background:var(--the);border:1px solid var(--vien);color:var(--chu);box-shadow:var(--bong);transition:transform .15s}
.tru:hover{text-decoration:none;transform:translateY(-2px);border-color:var(--vang)}
.tru .bieu{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--cham2);color:var(--vang)}
.tru b{font-family:var(--serif);font-size:19px} .tru span{color:var(--chu2);font-size:14px}

/* bài */
.bai-the{display:flex;flex-direction:column;background:var(--the);border:1px solid var(--vien);border-radius:var(--r);overflow:hidden;color:var(--chu)}
.bai-the:hover{text-decoration:none;border-color:var(--vang)}
.bai-the .anh{aspect-ratio:16/9;background:var(--giay2) center/cover}
.bai-the .than{padding:14px 16px 16px;display:grid;gap:6px}
.bai-the b{font-family:var(--serif);font-size:17px;line-height:1.4}
.bai-the span{font-size:14px;color:var(--chu2)}
.van{font-family:var(--serif);font-size:18px;line-height:1.85}
.van p{margin:0 0 1.05em} .van h2{margin:1.6em 0 .6em;font-size:24px} .van h3{margin:1.3em 0 .5em}
.van blockquote{margin:1.2em 0;padding:12px 18px;border-left:4px solid var(--vang);background:var(--vang-nhat);border-radius:0 10px 10px 0;font-style:italic}
.van ul,.van ol{padding-left:1.3em} .van li{margin:.3em 0}
.van table{border-collapse:collapse;width:100%;font:15px var(--sans);margin:1em 0;display:block;overflow-x:auto}
.van th,.van td{border:1px solid var(--vien);padding:8px 10px;text-align:left}
.van th{background:var(--giay2)}
.duong-dan{font-size:14px;color:var(--chu2);margin:16px 0 10px} .duong-dan a{color:var(--chu2)}

/* chân */
.chan{background:var(--cham);color:#cfc9e6;padding:36px 0 90px;margin-top:40px;font-size:15px}
.chan a{color:#e9e5f5} .chan h4{color:var(--vang);font:700 13px var(--sans);letter-spacing:.06em;text-transform:uppercase;margin:0 0 10px}
.chan .luoi{gap:22px} .chan ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
@media (min-width:1180px){ .chan{padding-bottom:36px} }

/* thanh đáy (điện thoại) */
.thanh-day{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--the);border-top:1px solid var(--vien);display:grid;grid-template-columns:repeat(5,1fr);padding-bottom:env(safe-area-inset-bottom)}
.thanh-day a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px 7px;font-size:11.5px;color:var(--chu2)}
.thanh-day a.on{color:var(--cham3);font-weight:700}
.thanh-day a:hover{text-decoration:none}
.thanh-day a.giua-noi .ic{background:var(--cham2);color:var(--vang);border-radius:12px;padding:6px;width:36px;height:36px;margin-top:-16px;box-shadow:0 4px 12px rgba(27,22,64,.3)}
@media (min-width:1180px){ .thanh-day{display:none} }
/* NAV_TABLET_v1 (22/10): 980–1179px không có menu ngang ⇒ giữ thanh dưới, gom giữa cho khỏi loãng */
@media (min-width:700px) and (max-width:1179px){ .thanh-day{grid-template-columns:repeat(5,minmax(0,150px));justify-content:center} .thanh-day a{font-size:12.5px} }

/* bảng / quản trị */
.bang{width:100%;border-collapse:collapse;font-size:14px;background:var(--the)}
.bang th,.bang td{padding:9px 10px;border-bottom:1px solid var(--vien);text-align:left;vertical-align:top}
.bang th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--chu2);background:var(--giay2)}
.bang-cuon{overflow-x:auto;border:1px solid var(--vien);border-radius:12px}
.so-bam{font-weight:700} .phan-trang{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0;align-items:center}
.phan-trang a,.phan-trang b{padding:5px 10px;border:1px solid var(--vien);border-radius:8px}.phan-trang b{background:var(--cham2);color:#fff}
.pt-tong{margin-left:8px;color:var(--chu2);font-size:13px}
.o-so{display:grid;grid-template-columns:repeat(2,1fr);gap:10px} @media (min-width:760px){ .o-so{grid-template-columns:repeat(4,1fr)} }
.o-so > div{background:var(--the);border:1px solid var(--vien);border-radius:12px;padding:12px}
.o-so b{display:block;font-size:24px;font-family:var(--serif)} .o-so span{font-size:13px;color:var(--chu2)}

/* cửa vào (đăng ký, đăng nhập) */
.trang-tron{background:linear-gradient(160deg,#1b1640,#2b2160);min-height:100vh}
.tron{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px}
.tron .hop{width:100%;max-width:440px;background:var(--the);border-radius:18px;padding:24px 20px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.tron-logo{color:var(--chu);margin-bottom:14px} .tron-logo small{color:var(--vang2)}
.tron-h1{font-size:26px;margin:4px 0 4px} .tron-phu{color:var(--chu2);margin:0 0 16px}
.tron-cuoi{margin-top:14px} .tron-chan{color:#bdb6db;font-size:14px;margin-top:16px} .tron-chan a{color:#e9e5f5}
.gach{display:flex;align-items:center;gap:10px;color:var(--chu2);font-size:13px;margin:16px 0}
.gach:before,.gach:after{content:"";flex:1;height:1px;background:var(--vien)}

/* lá số */
.la-so{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,auto);gap:2px;background:var(--cham2);border:2px solid var(--cham2);border-radius:10px;overflow:hidden;font-size:11px;line-height:1.35}
.ls-cung{background:var(--the);padding:5px 5px 6px;min-height:150px;position:relative;cursor:pointer;display:flex;flex-direction:column}
.ls-cung:hover,.ls-cung.chon{background:var(--vang-nhat)}
.ls-cung .dau-c{display:flex;justify-content:space-between;gap:4px;font-weight:700;font-size:10.5px;color:var(--chu2)}
.ls-cung .ten-c{font:700 11.5px var(--sans);color:var(--cham3);text-transform:uppercase;letter-spacing:.03em;text-align:center;margin:2px 0}
.ls-cung .ten-c.menh{color:var(--do)}
.ls-cung .chinh{font-weight:800;font-size:12px;text-align:center;color:var(--chu)}
.ls-cung .chinh i{font-style:normal;font-weight:600;font-size:10px;color:var(--chu2)}
.ls-cung .phu{display:grid;grid-template-columns:1fr 1fr;gap:0 4px;margin-top:4px;font-size:10.5px}
.ls-cung .phu .cat{color:var(--xanh)} .ls-cung .phu .sat{color:var(--do)}
.ls-cung .hoa{font-weight:800;color:#b5651d}
.ls-cung .chan-c{margin-top:auto;display:flex;justify-content:space-between;font-size:10px;color:var(--chu2);padding-top:4px}
.ls-cung .diem{font-weight:800;border-radius:6px;padding:0 5px;color:#fff;background:var(--cham3)}
.ls-giua{grid-column:2/4;grid-row:2/4;background:linear-gradient(160deg,#1b1640,#2b2160);color:#e9e5f5;padding:10px;display:flex;flex-direction:column;justify-content:center;text-align:center;font-size:12.5px;gap:3px}
.ls-giua b{color:var(--vang);font-family:var(--serif);font-size:16px}
.ls-giua .dong{display:flex;justify-content:space-between;gap:6px;border-bottom:1px dashed rgba(255,255,255,.12);padding:2px 0;text-align:left}
.ls-giua .dong span:last-child{color:#fff;font-weight:600;text-align:right}
@media (max-width:560px){ .la-so{font-size:9.5px} .ls-cung{min-height:118px;padding:3px} .ls-cung .chinh{font-size:10.5px} .ls-cung .phu{grid-template-columns:1fr;font-size:9.5px} .ls-giua{font-size:10.5px;padding:6px} .ls-giua b{font-size:13px} }
.diem-thanh{height:8px;border-radius:5px;background:var(--giay2);overflow:hidden} .diem-thanh i{display:block;height:100%;background:linear-gradient(90deg,var(--vang2),var(--vang))}
.khoa-mo{position:relative}
.khoa-mo .mo-mo{filter:blur(5px);user-select:none;pointer-events:none;max-height:220px;overflow:hidden}
.khoa-mo .phu-khoa{position:absolute;inset:auto 0 0 0;padding:20px;background:linear-gradient(transparent,var(--the) 40%);text-align:center}

/* vật phẩm hợp */
.vat-pham{border:1px solid var(--vang);background:var(--vang-nhat);border-radius:var(--r);padding:16px}
.vat-pham .ds{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:10px}
@media (min-width:760px){ .vat-pham .ds{grid-template-columns:repeat(4,1fr)} }
.vat-pham a.sp{background:var(--the);border-radius:12px;padding:8px;color:var(--chu);font-size:13px;display:grid;gap:6px}
.vat-pham a.sp img{aspect-ratio:1;object-fit:cover;border-radius:8px;width:100%}

.an{display:none!important}

/* bài viết: hộp trích dẫn (> …), bảng */
.van .bai-luu-y{margin:1.2em 0;padding:12px 18px;border-left:4px solid var(--vang);background:var(--vang-nhat);border-radius:0 10px 10px 0}
.van .bai-luu-y p:last-child{margin-bottom:0}
.van .bai-bang{overflow-x:auto;margin:1em 0}
.van .bai-bang table{display:table;margin:0}

/* ===== GIAO_DIEN_v2 (21/10/2026): menu kéo ô vuông + số bài, chân trang, công cụ, trang chủ đậm AI ===== */
.dau nav.chinh a.nav-ai{background:linear-gradient(135deg,#e2b862,#c99a3c);color:#1b1640;font-weight:700}
.dau nav.chinh a.nav-ai:hover{color:#1b1640;filter:brightness(1.05)}
.thanh-day .td-em{font-size:20px;line-height:22px}
/* menu kéo */
.ngan-keo .ngan{width:min(380px,92vw);padding:12px 14px 40px}
.ngan-dau{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.ngan-dau .logo span{color:var(--chu);font-weight:800}
.ngan-dong{border:0;background:var(--giay2);color:var(--chu);width:38px;height:38px;border-radius:12px;font-size:18px;cursor:pointer}
.ngan-tk{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.ngan .ngan-tk a{flex:1;justify-content:center;padding:9px 8px;background:var(--giay2);font-size:14px;font-weight:600;white-space:nowrap}
.ngan .ngan-tk a.nut{color:#fff} .ngan .ngan-tk a.nut-vien{color:var(--cham3);background:transparent}
.ngan a.ngan-ai{display:flex;gap:12px;align-items:center;padding:14px;border-radius:16px;background:linear-gradient(135deg,#2b2160,#4a3a9a);color:#fff;margin-bottom:6px}
.ngan a.ngan-ai span{font-size:28px} .ngan a.ngan-ai b{display:block;font-size:16px} .ngan a.ngan-ai small{color:#d9d4ee;font-size:12.5px;line-height:1.4;display:block}
.ngan h4{display:flex;justify-content:space-between;align-items:center}
.ngan h4 a{display:inline;padding:0;font:600 12px var(--sans);text-transform:none;letter-spacing:0;color:var(--cham3)}
.ngan-dem{font:600 11px var(--sans);background:var(--vang-nhat);color:var(--vang2);padding:2px 8px;border-radius:99px;letter-spacing:0;text-transform:none}
.ngan-cc{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.ngan .ngan-cc a{flex-direction:column;gap:4px;padding:10px 2px 8px;border:1px solid var(--vien);border-radius:14px;background:var(--the);font-size:11.5px;font-weight:600;text-align:center;line-height:1.25}
.ngan .ngan-cc a span{font-size:24px;line-height:1}
.ngan .ngan-cc a:hover{border-color:var(--vang);background:var(--vang-nhat)}
.ngan-tru{border:1px solid var(--vien);border-radius:14px;margin-bottom:8px;overflow:hidden}
.ngan-tru summary{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;list-style:none}
.ngan-tru summary::-webkit-details-marker{display:none}
.ngan-tru summary:after{content:"›";margin-left:4px;color:var(--chu2);transition:transform .15s;font-size:18px}
.ngan-tru[open] summary:after{transform:rotate(90deg)}
.ngan-em{width:34px;height:34px;border-radius:10px;background:var(--cham2);display:grid;place-items:center;font-size:18px;flex-shrink:0}
.ngan-tru summary b{flex:1;font-size:14.5px}
.ngan i,.chan-dem{font-style:normal;font-size:11.5px;font-weight:700;color:var(--vang2);background:var(--vang-nhat);border-radius:99px;padding:1px 8px;margin-left:auto}
.ngan-tru a{padding:8px 12px 8px 56px;font-size:14px;border-radius:0}
.ngan-tru a:first-of-type{font-weight:600;color:var(--cham3)}
/* chân trang */
.chan{padding-top:0}
.chan-ai{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:linear-gradient(135deg,#3b2f7a,#4a3a9a);border-radius:18px;padding:18px 20px;margin:0 0 30px;transform:translateY(-26px);box-shadow:0 10px 30px rgba(27,22,64,.35)}
.chan-ai b{display:block;color:#fff;font-size:18px} .chan-ai span{color:#d9d4ee;font-size:14px}
.chan-luoi{display:grid;gap:26px}
@media (min-width:760px){ .chan-luoi{grid-template-columns:1.4fr 1.2fr 1fr 1fr} }
.chan-hieu p{color:#bdb6da;font-size:14px;margin:12px 0}
.chan .logo span{color:#fff;font-weight:800} .chan .logo small{display:block;font-size:10px;letter-spacing:.12em;color:var(--vang);font-weight:600}
.chan-so{display:flex;gap:10px;flex-wrap:wrap}
.chan-so span,.chan-so a{flex:1;min-width:84px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:8px 10px;font-size:12px;color:#bdb6da}
.chan-so b{display:block;color:var(--vang);font-size:20px;font-family:var(--serif)}
.chan ul.chan-2cot{grid-template-columns:1fr 1fr;column-gap:10px}
.chan li{font-size:14px}
.chan-cuoi{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:space-between;border-top:1px solid rgba(255,255,255,.1);margin-top:26px;padding-top:16px;font-size:13px;color:#9d96bd}
/* công cụ */
.cc-luoi{display:grid;grid-template-columns:repeat(auto-fill,minmax(98px,1fr));gap:10px}
.cc-o{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;aspect-ratio:1;padding:10px 6px;border-radius:18px;background:var(--the);border:1px solid var(--vien);color:var(--chu);text-align:center;box-shadow:var(--bong);transition:transform .15s,border-color .15s}
.cc-o:hover{text-decoration:none;transform:translateY(-2px);border-color:var(--vang)}
.cc-o b{font-size:13.5px;line-height:1.25}
.cc-bieu{font-size:32px;line-height:1;width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,var(--vang-nhat),var(--giay2))}
.cc-luoi-lon{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.cc-o.lon{aspect-ratio:auto;flex-direction:row;justify-content:flex-start;align-items:flex-start;text-align:left;padding:16px;gap:14px;flex-wrap:wrap}
.cc-o.lon b{font-size:16.5px;font-family:var(--serif);flex:1;min-width:150px;align-self:center}
.cc-o.lon .nho{flex-basis:100%;line-height:1.5}
.cc-nhan-ai{position:absolute;top:10px;right:10px;font:700 10.5px var(--sans);font-style:normal;color:#1b1640;background:linear-gradient(135deg,#e2b862,#f3d38d);padding:2px 7px;border-radius:99px}
.cc-dau{background:linear-gradient(160deg,#1b1640,#2b2160 70%);color:#fff;padding:22px 0 26px}
.cc-dau h1{color:#fff;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.cc-dau p{color:#d9d4ee;max-width:720px;margin:0}
.cc-dau .duong-dan,.cc-dau .duong-dan a{color:#bdb6da}
.cc-bieu-lon{font-size:40px}
.cc-than{display:grid;gap:16px}
.cc-form{display:grid;gap:12px}
.cc-form label{display:grid;gap:4px;font-size:14px;font-weight:600}
.cc-ai{border:1px solid var(--vang);background:linear-gradient(180deg,var(--vang-nhat),var(--the) 70%)}
.cc-ai-dau{display:flex;gap:12px;align-items:center;margin-bottom:10px}
.cc-ai-dau b{display:block;font-family:var(--serif);font-size:18px}
.cc-ai-bieu{font-size:30px}
.cc-ai-tl p{margin:0 0 .7em}
.cc-ai-form{display:flex;gap:8px;flex-wrap:wrap}
.cc-ai-form .o-nhap{flex:1;min-width:200px}
/* trang chủ v2 */
.tc-hero{background:radial-gradient(900px 420px at 85% -10%,#5b48b8 0,transparent 60%),radial-gradient(700px 380px at 0% 110%,#3b2f7a 0,transparent 60%),linear-gradient(160deg,#17123a,#2b2160 75%);color:#fff;padding:30px 0 34px;position:relative;overflow:hidden}
.tc-hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(1px 1px at 12% 22%,rgba(255,255,255,.55),transparent),radial-gradient(1px 1px at 64% 14%,rgba(255,255,255,.4),transparent),radial-gradient(1.5px 1.5px at 88% 58%,rgba(226,184,98,.7),transparent),radial-gradient(1px 1px at 36% 78%,rgba(255,255,255,.35),transparent),radial-gradient(1px 1px at 52% 44%,rgba(255,255,255,.3),transparent);pointer-events:none}
.tc-hero .khung{position:relative}
.tc-nhan{display:inline-flex;gap:8px;align-items:center;font-size:13px;font-weight:600;color:var(--vang);background:rgba(226,184,98,.12);border:1px solid rgba(226,184,98,.3);padding:5px 12px;border-radius:99px}
.tc-hero h1{color:#fff;margin:14px 0 8px;font-size:clamp(28px,6vw,46px)}
.tc-hero h1 em{font-style:normal;background:linear-gradient(90deg,#e2b862,#f7dfa3);-webkit-background-clip:text;background-clip:text;color:transparent}
.tc-hero p.mo{color:#d9d4ee;font-size:16.5px;max-width:640px;margin:0 0 18px}
.tc-hoi{display:flex;gap:8px;background:#fff;border-radius:18px;padding:6px;box-shadow:0 12px 40px rgba(0,0,0,.35);max-width:720px}
.tc-hoi input{flex:1;min-width:0;border:0;outline:0;font:16px var(--sans);padding:12px 10px;color:var(--chu);background:transparent}
.tc-hoi button{border:0;border-radius:13px;padding:0 18px;font:700 15px var(--sans);color:#1b1640;background:linear-gradient(135deg,#e2b862,#f3d38d);cursor:pointer;white-space:nowrap}
.tc-goi-y{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 22px;max-width:760px}
.tc-goi-y a{font-size:13px;color:#e9e5f5;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);padding:6px 11px;border-radius:99px}
.tc-goi-y a:hover{background:rgba(255,255,255,.16);text-decoration:none}
.tc-hero .cc-luoi{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));max-width:1000px}
.tc-hero .cc-o{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14);color:#fff;box-shadow:none;backdrop-filter:blur(4px)}
.tc-hero .cc-o:hover{border-color:var(--vang);background:rgba(255,255,255,.12)}
.tc-hero .cc-bieu{background:rgba(255,255,255,.1)}
.tc-so{display:flex;gap:18px;flex-wrap:wrap;margin-top:20px;color:#bdb6da;font-size:13.5px}
.tc-so b{color:var(--vang);font-size:18px;font-family:var(--serif);margin-right:4px}
.tc-ls{display:grid;gap:22px;align-items:center}
@media (min-width:900px){ .tc-ls{grid-template-columns:1fr 1fr} }
.tc-ls ul{list-style:none;padding:0;margin:14px 0;display:grid;gap:10px}
.tc-ls li{display:flex;gap:10px;align-items:flex-start}
.tc-ls li>span{font-size:20px;line-height:1.3}
.tru-dem{font-size:12.5px;font-weight:700;color:var(--vang2)}
.tru .bieu-em{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--cham2);font-size:24px}
.tc-ai-the{display:grid;gap:14px;background:linear-gradient(135deg,#1b1640,#3b2f7a);color:#fff;border-radius:22px;padding:22px}
@media (min-width:900px){ .tc-ai-the{grid-template-columns:1.2fr 1fr;align-items:center;padding:30px} }
.tc-ai-the h2{color:#fff} .tc-ai-the p{color:#d9d4ee}
.tc-chat{display:grid;gap:8px}
.tc-chat div{padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.5;max-width:92%}
.tc-chat .k{background:rgba(255,255,255,.12);justify-self:end;border-bottom-right-radius:4px}
.tc-chat .a{background:#fff;color:var(--chu);border-bottom-left-radius:4px}
.cc-sc{display:flex;gap:14px;align-items:center;margin:22px 0;color:var(--chu);border-color:var(--vang)} .cc-sc:hover{text-decoration:none;background:var(--vang-nhat)} .cc-sc .nut{margin-left:auto;white-space:nowrap}
.ngan .ngan-tk a.nut-chinh{background:var(--cham2);color:#fff;border-color:var(--cham2)}
.ngan .ngan-tk a.nut-vien{background:transparent;color:var(--cham3);border:1px solid var(--cham3)}
@media (max-width:760px){ .tc-goi-y{flex-wrap:nowrap;overflow-x:auto;margin-right:-16px;padding-right:16px;scrollbar-width:none} .tc-goi-y::-webkit-scrollbar{display:none} .tc-goi-y a{white-space:nowrap;flex-shrink:0} }
.ts-luoi{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:16px}
.ts-o{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid var(--vien);border-radius:14px;background:var(--the);color:var(--chu)}
.ts-o:hover{text-decoration:none;border-color:var(--vang)}
.ts-o i{font-style:normal;font-weight:800;color:var(--vang2);min-width:26px}
.ts-que{display:flex;gap:18px;align-items:center;margin:8px 0 18px}
.ts-dieu{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0 0}
.ts-dieu a{color:var(--chu);font-weight:600;font-size:14.5px}
/* TU_SINH_v3: ô máy tính trang hợp tuổi / 60 tuổi */
.ts-may{margin:8px 0 18px;border-color:var(--vang)}
.ts-may-t{display:block;margin-bottom:8px}
.ts-may dl{display:grid;grid-template-columns:minmax(110px,30%) 1fr;gap:6px 12px;margin:0;font-size:14.5px}
.ts-may dt{color:var(--chu2,#777);font-weight:600}.ts-may dd{margin:0}
.ts-may .cuon-ngang{overflow-x:auto;margin-top:10px}
/* TIM_KIEM_v1 (21/10/2026): nút tìm + nút tài khoản tròn ở đầu trang, avatar khách, lớp phủ tìm, trang /tim */
.nut-tron{width:40px;height:40px;display:inline-grid;place-items:center;border-radius:50%;border:0;background:none;color:#fff;cursor:pointer;padding:0}
.nut-tron:hover{background:rgba(255,255,255,.1);color:var(--vang);text-decoration:none}
.khach-hinh{display:inline-grid;place-items:center;border-radius:50%;color:#fff;font-weight:800;line-height:1;flex-shrink:0;object-fit:cover;font-family:var(--sans)}
.tk-dau{position:relative}
.tk-dau summary{list-style:none;display:flex;align-items:center;gap:8px;cursor:pointer;color:#fff;padding:4px 10px 4px 4px;border-radius:999px;border:1px solid rgba(255,255,255,.18);font-size:14px;font-weight:600}
.tk-dau summary::-webkit-details-marker{display:none}
.tk-dau summary:hover,.tk-dau[open] summary{border-color:var(--vang);color:var(--vang)}
.tk-dau summary .khach-hinh{box-shadow:0 0 0 2px rgba(226,184,98,.6)}
.tk-xo{position:absolute;right:0;top:calc(100% + 8px);width:240px;background:var(--the);color:var(--chu);border:1px solid var(--vien);border-radius:14px;box-shadow:0 12px 32px rgba(27,22,64,.25);padding:8px;z-index:60}
.tk-xo-dau{display:flex;gap:10px;align-items:center;padding:6px 8px 10px;border-bottom:1px solid var(--vien);margin-bottom:6px}
.tk-xo-dau b{display:block;font-size:15px}.tk-xo-dau small{display:block;color:var(--chu2);font-size:12px;word-break:break-all}
.tk-xo a{display:flex;gap:10px;align-items:center;padding:9px 8px;border-radius:9px;color:var(--chu);font-size:14.5px}
.tk-xo a:hover{background:var(--vang-nhat);text-decoration:none}
@media (max-width:1179px){ .dau .tk-dau{display:none} }
.thanh-day a.td-tk .khach-hinh{margin-bottom:0;box-shadow:0 0 0 2px var(--the),0 0 0 3px var(--vien)}
.thanh-day a.td-tk.on .khach-hinh{box-shadow:0 0 0 2px var(--the),0 0 0 3.5px var(--vang2)}
.thanh-day a.td-tk{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
/* lớp phủ tìm: điện thoại toàn màn, máy lớn là hộp nổi */
html.tim-mo,html.tim-mo body{overflow:hidden}
.tim-phu{position:fixed;inset:0;z-index:90}
.tim-phu[hidden]{display:none}
.tim-nen{position:absolute;inset:0;background:rgba(18,16,38,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.tim-hop{position:absolute;inset:0;background:var(--nen);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top)}
.tim-o{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--cham);color:#cfc8ea}
.tim-o input{flex:1;min-width:0;height:44px;border:1px solid rgba(226,184,98,.45);border-radius:12px;background:rgba(255,255,255,.08);color:#fff;font:500 16px var(--sans);padding:0 12px;outline:none;-webkit-appearance:none;appearance:none}
.tim-o input::placeholder{color:#a9a2c8}
.tim-o input:focus{border-color:var(--vang);background:rgba(255,255,255,.12)}
.tim-o .ic{flex-shrink:0;color:var(--vang)}
.tim-dong{background:none;border:0;color:#fff;font:600 15px var(--sans);padding:8px 4px 8px 6px;cursor:pointer}
.tim-kq{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 14px calc(24px + env(safe-area-inset-bottom));overscroll-behavior:contain}
.tim-kq.dang{opacity:.6;transition:opacity .2s}
.tim-n{margin:4px 0 14px}
.tim-n h3{font:700 12px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--vang2);margin:10px 4px 8px;display:flex;gap:6px;align-items:center}
.tim-n h3 i{font-style:normal;background:var(--vang-nhat);color:var(--vang2);border-radius:99px;padding:3px 7px;letter-spacing:0}
.tim-d{display:block;padding:10px 12px;border-radius:12px;background:var(--the);border:1px solid var(--vien);margin-bottom:6px;color:var(--chu)}
.tim-d b{display:block;font-size:15px;line-height:1.35;font-weight:600}
.tim-d span{display:block;font-size:12.5px;color:var(--chu2);margin-top:2px}
.tim-d:hover,.tim-d.chon{text-decoration:none;border-color:var(--vang);background:var(--vang-nhat)}
.tim-tat{display:block;text-align:center;padding:12px;border-radius:12px;background:var(--cham2);color:#fff;font-weight:700;margin-top:6px}
.tim-tat:hover,.tim-tat.chon{text-decoration:none;color:var(--vang)}
.tim-goi{font:700 12px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--vang2);margin:8px 4px}
.tim-chip{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.tim-chip a{padding:8px 13px;border-radius:99px;border:1px solid var(--vien);background:var(--the);color:var(--chu);font-size:14px}
.tim-chip a:hover{text-decoration:none;border-color:var(--vang)}
.tim-meo{color:var(--chu2);font-size:13px;margin:14px 4px}
.tim-rong{display:grid;gap:8px;padding:18px 6px;justify-items:start}.tim-rong span{color:var(--chu2);font-size:14px}
@media (min-width:760px){
  .tim-hop{inset:72px auto auto 50%;transform:translateX(-50%);width:min(640px,calc(100% - 32px));max-height:calc(100vh - 110px);border-radius:18px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.35);padding-top:0}
  .tim-o{padding:12px 14px}
}
/* trang /tim */
.tim-trang .tim-o-trang{border-radius:16px;margin:10px 0 14px;padding:10px 12px}
.tim-trang .tim-o-trang .nut{flex-shrink:0}
.tim-dem{margin:4px 0 6px}
.tim-nhom{margin:18px 0}
.tim-nhom h2{font-size:20px;display:flex;align-items:center;gap:8px}
.tim-nhom h2 i{font-style:normal;font-size:13px;background:var(--vang-nhat);color:var(--vang2);border-radius:99px;padding:3px 9px;font-family:var(--sans)}
.tim-ds{display:grid;gap:8px}
@media (min-width:760px){ .tim-ds{grid-template-columns:repeat(3,1fr)} }
.tim-ds a{display:block;padding:11px 13px;border-radius:12px;background:var(--the);border:1px solid var(--vien);color:var(--chu)}
.tim-ds a b{display:block;font-weight:600;font-size:15px;line-height:1.35}.tim-ds a span{display:block;font-size:12.5px;color:var(--chu2);margin-top:2px}
.tim-ds a:hover{text-decoration:none;border-color:var(--vang)}
.tim-them{margin-top:8px}.tim-them summary{cursor:pointer;color:var(--cham3);font-weight:600;padding:6px 0}
.tim-them .tim-ds{margin-top:8px}
.tim-trong{padding:18px;display:grid;gap:10px;justify-items:start;margin:14px 0}
.tim-o input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;display:none}
/* NAV_TABLET_v1: menu ngang máy lớn không bẻ dòng; lưới công cụ hero 10 cột cho khỏi lẻ ô */
.dau nav.chinh a{white-space:nowrap}
@media (min-width:1180px) and (max-width:1365px){ .dau nav.chinh a{padding:8px 8px;font-size:14.5px} .dau .logo small{display:none} }
@media (min-width:1100px){ .tc-hero .cc-luoi{grid-template-columns:repeat(10,1fr);max-width:none} }
.tc-so a{color:inherit} .tc-so a:hover{color:#fff;text-decoration:none}
/* HERO_LUOI_v1: cột cố định để iPhone 13 (390) và 15 Pro Max (430) ra giống nhau — auto-fill đổi 3↔4 cột theo vài px */
.tc-hero .tc-luoi{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-width:none}
.tc-hero .tc-luoi .cc-o{padding:8px 4px}
.tc-hero .tc-luoi .cc-o b{font-size:12.5px}
.tc-hero .tc-luoi .cc-phu{display:none}
@media (min-width:600px){ .tc-hero .tc-luoi{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px} .tc-hero .tc-luoi .cc-o b{font-size:13.5px} }
@media (min-width:1100px){ .tc-hero .tc-luoi{grid-template-columns:repeat(10,minmax(0,1fr))} .tc-hero .tc-luoi .cc-phu{display:flex} }
.tc-so{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}
@media (min-width:600px){ .tc-so{display:flex;gap:24px} }
/* CAI_APP_v1 — dải mời cài app (cai-app.js dựng). Nằm trên thanh dưới ở điện thoại, góc dưới ở máy lớn. */
.cai-app{position:fixed;left:10px;right:10px;bottom:calc(68px + env(safe-area-inset-bottom));z-index:45;display:flex;align-items:center;gap:10px;padding:10px 10px 10px 12px;background:var(--cham);color:#f3eefc;border:1px solid rgba(226,184,98,.35);border-radius:16px;box-shadow:0 10px 30px rgba(10,8,30,.35);font-size:13.5px;line-height:1.4;animation:cai-vao .35s ease-out}
.cai-app img{width:40px;height:40px;border-radius:10px;flex:none}
.cai-app .cai-chu{flex:1;min-width:0;display:flex;flex-direction:column}
.cai-app .cai-chu>b{font-size:14.5px;color:#fff}
.cai-app .cai-chu span b{color:var(--vang)}
.cai-app .cai-chia-se{vertical-align:-3px;color:var(--vang)}
.cai-app .cai-nut{flex:none;background:var(--vang);color:var(--cham);border:0;border-radius:10px;padding:9px 14px;font:700 14px var(--sans);cursor:pointer}
.cai-app .cai-x{flex:none;background:transparent;color:#cfc9e6;border:0;font-size:18px;width:34px;height:34px;cursor:pointer;border-radius:8px}
@media (min-width:1180px){ .cai-app{left:auto;right:20px;bottom:20px;max-width:420px} }
@keyframes cai-vao{from{transform:translateY(20px);opacity:0}to{transform:none;opacity:1}}
/* CAI_APP_v1 — mở từ biểu tượng (status bar black-translucent): đẩy đầu trang xuống dưới tai thỏ */
@media (display-mode: standalone){ .dau{padding-top:env(safe-area-inset-top)} .tron{padding-top:calc(24px + env(safe-area-inset-top))} .cai-app{display:none} }
/* GIAO_DIEN_v2 (23/10, rà iPhone): nút vàng chân trang mất chữ · nút đang chọn trắng trơn · nút viền vô hình trên nền tối · chạm ≥44px */
.chan a.nut-vang,.chan a.nut-vang:hover{color:#231a05}
.chon-nhom span.nut-chinh{background:var(--cham2);border-color:var(--cham2);color:#fff;display:inline-flex}
.chon-nhom{display:flex;flex-wrap:wrap;gap:8px}
.cc-dau .nut-vien{color:#fff;border-color:rgba(255,255,255,.45)} .cc-dau .nut-vien:hover{background:rgba(255,255,255,.12);color:#fff}
.nut-nho{min-height:44px}
.chan ul a{display:inline-block;padding:6px 0}
/* THU_VIEN_v1 */
.tv-ds{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.tv-ds a{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:48px;padding:10px 14px;border:1px solid var(--vien);border-radius:12px;background:var(--the);color:var(--chu)}
.tv-ds a b{color:var(--cham3);font-variant-numeric:tabular-nums;white-space:nowrap}
.tv-ds a:hover{border-color:var(--cham3)}
.chan-so a:hover{border-color:var(--vang);text-decoration:none}
/* TAM_TRUOT_CUNG_v1: tấm trượt chi tiết cung trên điện thoại */
.tt-cung{position:fixed;inset:0;z-index:70}
.tt-nen{position:absolute;inset:0;background:rgba(15,12,35,.5);opacity:0;transition:opacity .2s}
.tt-hop{position:absolute;left:0;right:0;bottom:0;max-height:82vh;display:flex;flex-direction:column;background:var(--the);color:var(--chu);border-radius:18px 18px 0 0;box-shadow:0 -8px 30px rgba(10,8,30,.3);transform:translateY(100%);transition:transform .22s ease-out;padding-bottom:env(safe-area-inset-bottom)}
.tt-cung.mo .tt-nen{opacity:1} .tt-cung.mo .tt-hop{transform:translateY(0)}
.tt-keo{width:44px;height:5px;border-radius:3px;background:var(--vien);margin:8px auto 2px}
.tt-dau{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:6px 16px 10px;border-bottom:1px solid var(--vien)}
.tt-dau h3{margin:0;font-size:21px} .tt-dau small{color:var(--chu2);font-size:14px} .tt-dau .nut{min-height:44px}
.tt-than{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:4px 16px 20px;font-size:16px}
.tt-than h4{font:700 13px var(--sans);text-transform:uppercase;letter-spacing:.05em;color:var(--chu2);margin:16px 0 6px}
.tt-chinh{list-style:none;margin:0;padding:0} .tt-chinh li{padding:6px 0;font-size:18px;border-bottom:1px dashed var(--vien)}
.tt-ds{font-size:14px;color:var(--chu2)} .tt-hoa{font-size:14px;font-weight:800;color:#b5651d;white-space:nowrap}
.tt-phu{display:flex;flex-wrap:wrap;gap:6px} .tt-phu span{font-size:15px;padding:5px 10px;border-radius:999px;background:var(--giay2)}
.tt-phu .cat,.tt-mo .cat{color:var(--xanh)} .tt-phu .sat,.tt-mo .sat{color:var(--do)}
.tt-mo{font-size:14px;color:var(--chu2);margin:6px 0 0}
.tt-ds-dong{margin:0;padding-left:18px} .tt-diem{margin-top:16px} .tt-diem summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center}
html.tt-khoa,html.tt-khoa body{overflow:hidden}
@media (min-width:761px){ .tt-cung{display:none} }
/* TC_GIA_GON_v1 + mép mờ dải gợi ý */
.tc-gia{display:grid;gap:10px} .tc-gia .the{display:flex;flex-direction:column;gap:2px;color:var(--chu);margin:0;padding:14px 16px}
.tc-gia .the:hover{text-decoration:none;border-color:var(--cham3)} .tc-gia-so{font:800 18px var(--sans);color:var(--cham3);margin-top:4px}
:root[data-theme="dark"] .tc-gia-so{color:var(--vang)}
.tc-goi-y-bo{position:relative;max-width:760px}
@media (max-width:760px){
  .tc-goi-y-bo{margin-right:-16px}
  .tc-goi-y-bo .tc-goi-y{margin-right:0;padding-right:28px}
  .tc-goi-y-bo .tc-goi-y{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 44px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 44px),transparent)}
  .tc-goi-y-bo.het .tc-goi-y{-webkit-mask-image:none;mask-image:none}
  .tc-hoi input{font-size:16px;padding:12px 6px;text-overflow:ellipsis}
  .tc-hoi button{padding:0 14px}
}
/* CHAN_GAP_v1: chân trang gập trên điện thoại */
.chan-mo summary{list-style:none;cursor:pointer} .chan-mo summary::-webkit-details-marker{display:none}
@media (min-width:760px){ .chan-mo summary{pointer-events:none;cursor:default} }
@media (max-width:759px){
  .chan-luoi{gap:0} .chan-hieu{margin-bottom:14px}
  .chan-mo{border-top:1px solid rgba(255,255,255,.1)}
  .chan-mo summary{display:flex;align-items:center;justify-content:space-between;min-height:50px}
  .chan-mo summary h4{margin:0;font-size:14px}
  .chan-mo summary::after{content:"+";color:var(--vang);font-size:22px;line-height:1}
  .chan-mo[open] summary::after{content:"−"}
  .chan-mo > ul{padding-bottom:14px}
  .chan-ve{border-top:1px solid rgba(255,255,255,.1);padding-top:12px}
  .chan-ve h4{display:none}
  .chan-ve ul{display:flex;flex-wrap:wrap;gap:0}
  .chan-ve li+li::before{content:"·";color:#9d96bd;margin:0 10px}
}
/* CC_HUB_LUOI_v1: /cong-cu dạng lưới ô theo nhóm */
.cc-hub-ai{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;background:linear-gradient(135deg,#3b2f7a,#4a3a9a);color:#fff;margin-bottom:14px}
.cc-hub-ai:hover{text-decoration:none} .cc-hub-ai>span{font-size:28px} .cc-hub-ai div{flex:1;min-width:0}
.cc-hub-ai b{display:block;font-size:17px} .cc-hub-ai small{display:block;color:#d9d4ee;font-size:13.5px;line-height:1.4}
.cc-hub-ai i{font-style:normal;font-weight:800;color:#1b1640;background:var(--vang);border-radius:12px;padding:10px 14px;white-space:nowrap}
.cc-hub-nhay{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 -16px 6px;padding:2px 16px 6px}
.cc-hub-nhay::-webkit-scrollbar{display:none}
.cc-hub-nhay a{flex:0 0 auto;white-space:nowrap;font-size:14px;font-weight:600;padding:9px 14px;border-radius:999px;border:1px solid var(--vien);background:var(--the);color:var(--chu)}
.cc-hub-nhom{scroll-margin-top:70px;margin-top:18px}
.cc-hub-nhom h2{font-size:19px;margin:0 0 10px} .cc-hub-nhom h2 .mute{font:600 14px var(--sans)}
.cc-hub-luoi{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.cc-hub-luoi .cc-o{padding:8px 4px;gap:5px} .cc-hub-luoi .cc-o b{font-size:12.5px}
.cc-hub-luoi .cc-bieu{width:48px;height:48px;font-size:28px;border-radius:14px}
@media (min-width:600px){ .cc-hub-luoi{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px} .cc-hub-luoi .cc-o b{font-size:13.5px} }
@media (min-width:1000px){ .cc-hub-luoi{grid-template-columns:repeat(8,minmax(0,1fr))} }
@media (max-width:359px){ .cc-hub-luoi{grid-template-columns:repeat(3,minmax(0,1fr))} }
/* TIM_GON_v1: trang /tim dạng dòng gọn */
.tim-ds-dong{gap:6px}
.tim-ds.tim-ds-dong a.tim-d{padding:10px 12px;margin:0}
@media (min-width:760px){ .tim-ds.tim-ds-dong{grid-template-columns:repeat(2,1fr)} }
.tim-them summary{min-height:44px;display:flex;align-items:center}
/* TV27_THE_v1: hub tử vi 2027 dạng thẻ */
.tv27-tim{display:grid;gap:6px;margin:14px 0 4px;max-width:460px}
.tv27-tim label{font-weight:700} .tv27-tim div{display:flex;gap:8px} .tv27-tim input{flex:1;min-width:0;font-size:17px;min-height:46px}
.tv27-tim small{font-size:13px} .tv27-loi{color:var(--do);font-size:13px}
.tv27-ds{display:grid;gap:10px}
@media (min-width:760px){ .tv27-ds{grid-template-columns:repeat(2,1fr)} }
.tv27-the{background:var(--the);border:1px solid var(--vien);border-radius:14px;padding:12px;scroll-margin-top:80px;transition:box-shadow .3s,border-color .3s}
.tv27-the.sang{border-color:var(--vang);box-shadow:0 0 0 3px rgba(226,184,98,.35)}
.tv27-dau{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-bottom:8px} .tv27-dau b{font-size:17px} .tv27-dau span{font-size:13.5px}
.tv27-nut{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tv27-g{display:flex;flex-direction:column;justify-content:center;min-height:56px;padding:8px 10px;border-radius:12px;border:1px solid var(--cham3);background:var(--vang-nhat);color:var(--chu);line-height:1.3}
.tv27-g:hover{text-decoration:none;border-color:var(--vang)} .tv27-g b{font-size:15px;color:var(--cham3)} .tv27-g span{font-size:13px;color:var(--chu2)}
:root[data-theme="dark"] .tv27-g b{color:var(--vang)}
.tv27-chua{border-style:dashed;border-color:var(--vien);background:transparent} .tv27-chua b{color:var(--chu2)} .tv27-chua small{font-size:11.5px;color:var(--chu2)}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .tv27-g b,:root:not([data-theme="light"]) .tc-gia-so{color:var(--vang)} }
/* LG_TAB_v1: luận giải — tab 12 cung dính + tên sao là tiêu đề */
.lg-tab{position:sticky;top:58px;z-index:20;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:12px -16px 0;padding:8px 16px;background:var(--nen);border-bottom:1px solid var(--vien);-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 30px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 30px),transparent)}
.lg-tab::-webkit-scrollbar{display:none}
.lg-tab a{flex:0 0 auto;white-space:nowrap;font-size:14px;font-weight:600;padding:8px 13px;border-radius:999px;border:1px solid var(--vien);background:var(--the);color:var(--chu)}
.lg-tab a:last-child{margin-right:24px}
.lg-tab a:hover{text-decoration:none} .lg-tab a.on{background:var(--cham2);border-color:var(--cham2);color:#fff}
.lg-cung{scroll-margin-top:120px}
.lg-sao{font-size:21px;margin:18px 0 6px;padding-bottom:6px;border-bottom:2px solid var(--vang);display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.lg-sao small{font:600 13px var(--sans);color:var(--chu2)}
.lg-van h2,.lg-van h3,.lg-van h4{font:700 16.5px/1.4 var(--sans);margin:14px 0 4px;color:var(--chu)}
/* CC_SC_GON_v1: thẻ công cụ chèn trong bài — mô tả sans cỡ nhỏ, nút xuống dòng trên điện thoại */
.cc-sc{flex-wrap:wrap;font-family:var(--sans)} .cc-sc > span:nth-child(2){flex:1;min-width:0;line-height:1.35}
.cc-sc b{font:700 16px/1.35 var(--sans)} .cc-sc .nho{font:400 13.5px/1.45 var(--sans);display:inline-block;margin-top:2px}
.cc-sc .cc-bieu{width:48px;height:48px;font-size:28px;flex-shrink:0}
@media (max-width:560px){ .cc-sc{gap:10px 12px;padding:14px} .cc-sc .nut{margin-left:0;flex-basis:100%;justify-content:center;min-height:44px} }
/* CC_HUB_LUOI_v1 bổ sung: ô cùng hàng cao bằng nhau khi nhãn 2 dòng */
.cc-hub-luoi .cc-o{aspect-ratio:auto;min-height:96px}
.tt-diem summary::before{content:"▸";margin-right:8px;color:var(--vang2)} .tt-diem[open] summary::before{content:"▾"}
/* VP_TEN_GON_v1 */
.vat-pham a.sp{align-content:start}
.vat-pham .sp-ten{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;line-height:1.35;min-height:2.7em;font-size:13.5px}
.vat-pham a.sp b{font-size:14px}
/* TK_SO_BAM_v1: ô số cả ô bấm được cảm giác — số có gạch chân nhẹ */
.o-so b a{color:inherit;text-decoration:underline;text-decoration-color:var(--vang);text-underline-offset:4px;text-decoration-thickness:2px}
.cc-404{grid-template-columns:repeat(3,minmax(0,1fr))} @media (min-width:600px){ .cc-404{grid-template-columns:repeat(6,minmax(0,1fr))} }
/* XN_NUT_v1: nút chuyển ngày ≥44px */
.cc-xem-ngay-dieu .nut{min-height:44px;padding:10px 16px;font-size:15px}
/* GIA_TAB_MEP_v1: dải tab /gia có lề phải + mép mờ báo còn cuộn được */
.bg-tabs .khung::after{content:"";flex:0 0 18px}
@media (max-width:899px){ .bg-tabs .khung{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent)} }
/* DRAWER_TK_v1 — lưới ô tài khoản/quản trị trong menu kéo + trang /quan-tri. Nhãn → trang, huy hiệu số → danh sách làm nên số */
.dr-luoi{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.dr-o{position:relative;border-radius:14px;background:var(--giay2);border:1px solid var(--vien)}
.dr-o.on{box-shadow:inset 0 0 0 2px var(--cham3)}
.ngan .dr-o .dr-o-phu,.dr-o .dr-o-phu{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:6px;min-height:72px;height:100%;padding:10px 11px;color:var(--chu);font-weight:700;font-size:14px;line-height:1.25;border-radius:14px;text-decoration:none}
.dr-o-bt{font-size:22px;line-height:1}
.ngan .dr-o .dr-o-so,.dr-o .dr-o-so{position:absolute;top:7px;right:7px;display:inline-flex;align-items:baseline;gap:3px;padding:1px 8px;border-radius:999px;background:#c2410c;color:#fff;font-size:12.5px;font-weight:800;line-height:1.6;text-decoration:none;max-width:72%;white-space:nowrap}
.dr-o-so small{font-size:10.5px;font-weight:600;opacity:.92;overflow:hidden;text-overflow:ellipsis}
.ngan a.ngan-nguoi{background:var(--giay2);color:var(--chu);padding:10px 12px}
.ngan a.ngan-nguoi small{color:var(--chu2);word-break:break-all}
.ngan a.ngan-nguoi img,.ngan a.ngan-nguoi span:first-child{flex:none}
.qt-luoi .dr-luoi{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
