/* ─────────────────────────────────────────────────────────────
   Bốc Dịch — quẻ in trên giấy lịch.
   Ý: dữ kiện của một quẻ vốn là dữ kiện của TỜ LỊCH BLOC (ngày dương,
   ngày âm, can chi, tiết khí). Tờ lịch là điểm nhớ duy nhất; mọi thứ khác
   im lặng, mực đen trên giấy, son đỏ chỉ dành cho hào động.
   ───────────────────────────────────────────────────────────── */
:root{
  --giay:#F1F3EE;       /* nền trang: giấy in lịch, ngả xám lục */
  --to:#FFFFFF;         /* tờ lịch, mặt bảng */
  --muc:#1B1C1A;        /* mực */
  --muc-nhat:#5B6058;   /* chữ phụ */
  --ke:#D3D7CE;         /* đường kẻ */
  --ke-dam:#AEB3A9;
  --son:#BF2A1F;        /* son: hào động, chủ nhật, nhấn */
  --cham:#244679;       /* chàm: âm lịch, thông tin phụ trợ */
  --luc:#2D6A45;        /* thành, an toàn */
  --ho-phach:#9A6212;   /* cần luận kỹ */

  --chu-so:"Oswald","Arial Narrow",sans-serif;
  --chu-tieu-de:"Noto Serif Display","Noto Serif",Georgia,serif;
  --chu-than:"Be Vietnam Pro",system-ui,sans-serif;

  --rong:1180px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--giay);color:var(--muc);
  font-family:var(--chu-than);font-weight:400;font-size:16px;line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
:focus-visible{outline:2px solid var(--cham);outline-offset:2px}
.an{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ── Khung ── */
.dau-trang{border-bottom:1px solid var(--ke);background:var(--giay)}
.dau-trang .trong{max-width:var(--rong);margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.hieu{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--chu-so);font-size:22px;letter-spacing:.04em;text-transform:uppercase}
.hieu .dau{display:grid;gap:3px;width:22px}
.hieu .dau i{display:block;height:4px;background:var(--muc)}
.hieu .dau i.am{background:linear-gradient(90deg,var(--muc) 0 42%,transparent 42% 58%,var(--muc) 58%)}
.hieu .dau i.son{background:var(--son)}
nav.chinh{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap}
nav.chinh a{text-decoration:none;padding:8px 12px;border-radius:2px;font-size:15px;color:var(--muc-nhat)}
nav.chinh a:hover{color:var(--muc);background:var(--to)}
nav.chinh a[aria-current="page"]{color:var(--muc);box-shadow:inset 0 -2px 0 var(--son)}
main{max-width:var(--rong);margin:0 auto;padding:40px 24px 80px}
.chan-trang{border-top:1px solid var(--ke);color:var(--muc-nhat);font-size:13px}
.chan-trang .trong{max-width:var(--rong);margin:0 auto;padding:20px 24px;display:flex;gap:10px 16px;justify-content:space-between;flex-wrap:wrap;align-items:baseline}

h1,h2{font-family:var(--chu-tieu-de);font-weight:500;letter-spacing:-.01em;margin:0}
h1{font-size:clamp(34px,4.6vw,56px);line-height:1.05}
h2{font-size:26px;line-height:1.15}
.nhan-muc{font-family:var(--chu-so);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muc-nhat)}
.dan{color:var(--muc-nhat);max-width:60ch;margin:14px 0 0}

/* ── TỜ LỊCH (điểm nhớ) ── */
.to-lich{
  position:relative;background:var(--to);width:100%;max-width:320px;
  border:1px solid var(--ke);box-shadow:0 1px 0 var(--ke),0 2px 0 var(--giay),0 3px 0 var(--ke),0 18px 30px -24px rgba(27,28,26,.35);
  font-variant-numeric:tabular-nums;
}
.to-lich::before,.to-lich::after{ /* hai lỗ ghim của lịch bloc */
  content:"";position:absolute;top:9px;width:9px;height:9px;border-radius:50%;
  background:var(--giay);box-shadow:inset 0 1px 2px rgba(0,0,0,.35);
}
.to-lich::before{left:30%}.to-lich::after{right:30%}
.to-lich .dai{
  padding:26px 16px 8px;display:flex;justify-content:space-between;align-items:baseline;
  font-family:var(--chu-so);text-transform:uppercase;letter-spacing:.12em;font-size:14px;
  border-bottom:2px solid var(--muc);
}
.to-lich .so{
  font-family:var(--chu-so);font-weight:600;font-size:132px;line-height:.95;text-align:center;
  letter-spacing:-.02em;padding:10px 0 0;
}
.to-lich.chu-nhat .so,.to-lich.chu-nhat .thu{color:var(--son)}
.to-lich .thu{text-align:center;font-family:var(--chu-so);text-transform:uppercase;letter-spacing:.18em;font-size:15px;padding:2px 0 12px}
.to-lich .duoi{display:grid;grid-template-columns:auto 1fr;border-top:1px solid var(--ke)}
.to-lich .am{padding:10px 14px;border-right:1px solid var(--ke);color:var(--cham);text-align:center;min-width:104px}
.to-lich .am b{display:block;font-family:var(--chu-so);font-weight:500;font-size:40px;line-height:1}
.to-lich .am span{font-size:12px;display:block;margin-top:4px}
.to-lich .can-chi{padding:10px 14px;font-size:13px;line-height:1.6}
.to-lich .can-chi b{font-weight:600}
.to-lich .gio{border-top:1px solid var(--ke);padding:8px 14px;font-size:12.5px;color:var(--muc-nhat);display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.to-lich .gio b{color:var(--muc);font-weight:600}

/* ── Trang chủ ── */
.chu-dau{display:grid;grid-template-columns:1fr 320px;gap:56px;align-items:start}
.chu-dau .ghi{font-size:12.5px;color:var(--muc-nhat);margin-top:10px;max-width:320px}
.cach{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:48px;border-top:2px solid var(--muc)}
.cach a{display:grid;grid-template-columns:auto 1fr;gap:22px;padding:28px 28px 30px 0;text-decoration:none;border-bottom:1px solid var(--ke)}
.cach a+a{padding-left:28px;border-left:1px solid var(--ke)}
.cach a:hover h2{text-decoration:underline;text-decoration-color:var(--son);text-underline-offset:5px}
.cach p{margin:8px 0 14px;color:var(--muc-nhat)}
.cach .di{font-weight:600;font-size:15px}
.cach .di::after{content:" →"}

/* ── Hình quẻ vẽ bằng vạch ── */
.hinh-que{display:grid;gap:7px;width:84px}
.hinh-que i{display:block;height:9px;background:var(--muc)}
.hinh-que i.am{background:linear-gradient(90deg,var(--muc) 0 42%,transparent 42% 58%,var(--muc) 58%)}
.hinh-que i.dong{background:var(--son)}
.hinh-que i.am.dong{background:linear-gradient(90deg,var(--son) 0 42%,transparent 42% 58%,var(--son) 58%)}
.hinh-que.nho{width:44px;gap:4px}.hinh-que.nho i{height:5px}

/* ── Biểu mẫu ── */
.bieu-mau{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;margin-top:32px;align-items:start}
fieldset{border:0;margin:0 0 28px;padding:0}
legend{padding:0;margin-bottom:12px;width:100%;border-bottom:1px solid var(--ke);padding-bottom:6px}
label{display:block;font-size:14px;font-weight:500;margin-bottom:6px}
.goi-y{font-size:13px;color:var(--muc-nhat);font-weight:400}
input[type=text],input[type=tel],input[type=email],input[type=password],input[type=date],input[type=time],select,textarea{
  width:100%;font:inherit;font-size:16px;color:var(--muc);background:var(--to);
  border:1px solid var(--ke-dam);border-radius:2px;padding:10px 12px;min-height:44px;
}
textarea{resize:vertical;min-height:72px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--cham);outline-offset:0;border-color:var(--cham)}
.hang{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.hang-gio{display:grid;gap:14px;grid-template-columns:1fr 1fr auto;align-items:end}
button,.nut{
  font:inherit;font-size:15px;font-weight:600;cursor:pointer;border-radius:2px;min-height:44px;
  padding:10px 18px;border:1px solid var(--muc);background:var(--to);color:var(--muc);text-decoration:none;display:inline-flex;align-items:center;gap:8px;
}
button:hover,.nut:hover{background:var(--giay)}
.nut-chinh{background:var(--muc);color:var(--to)}
.nut-chinh:hover{background:#000}
.nut-lon{font-size:17px;padding:14px 28px}

/* sáu hào */
.sau-hao{border-top:2px solid var(--muc)}
.dong-hao{display:grid;grid-template-columns:120px 1fr auto;gap:16px;align-items:center;padding:10px 0;border-bottom:1px solid var(--ke)}
.dong-hao .ten{font-size:14px;line-height:1.3}
.dong-hao .ten small{display:block;color:var(--muc-nhat);font-size:12px}
.chon-van{display:flex;gap:8px}
.chon-van label,.chon-dong{
  margin:0;display:flex;align-items:center;justify-content:center;cursor:pointer;
  border:1px solid var(--ke-dam);background:var(--to);min-height:44px;border-radius:2px;
}
.chon-van label{width:96px}
.chon-van input,.chon-dong input{position:absolute;opacity:0;pointer-events:none}
.chon-van .van{display:block;width:60px;height:8px;background:var(--muc-nhat)}
.chon-van .van.am{background:linear-gradient(90deg,var(--muc-nhat) 0 40%,transparent 40% 60%,var(--muc-nhat) 60%)}
.chon-van label:has(input:checked){border-color:var(--muc);box-shadow:inset 0 0 0 1px var(--muc)}
.chon-van label:has(input:checked) .van{background:var(--muc)}
.chon-van label:has(input:checked) .van.am{background:linear-gradient(90deg,var(--muc) 0 40%,transparent 40% 60%,var(--muc) 60%)}
.chon-van label:has(input:focus-visible),.chon-dong:has(input:focus-visible){outline:2px solid var(--cham);outline-offset:2px}
.chon-dong{padding:0 14px;gap:8px;font-size:14px;font-weight:500;color:var(--muc-nhat)}
.chon-dong .cham{width:12px;height:12px;border-radius:50%;border:1.5px solid var(--muc-nhat)}
.chon-dong:has(input:checked){border-color:var(--son);color:var(--son)}
.chon-dong:has(input:checked) .cham{background:var(--son);border-color:var(--son)}

.xem-truoc{position:sticky;top:20px;background:var(--to);border:1px solid var(--ke);padding:20px}
.xem-truoc .cap{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:12px}
.xem-truoc .ten-que{font-family:var(--chu-tieu-de);font-size:19px;line-height:1.2;margin-top:10px}
.xem-truoc .phu{font-size:12.5px;color:var(--muc-nhat)}
.xem-truoc .cong-thuc{font-size:13px;color:var(--cham);margin-top:14px;line-height:1.5}
.gui{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.loi-bao{border-left:3px solid var(--son);padding:10px 14px;background:var(--to);margin:0 0 24px}

/* ── LÁ QUẺ ── */
.la-dau{display:grid;grid-template-columns:320px 1fr;gap:48px;align-items:start}
.viec{font-family:var(--chu-tieu-de);font-size:clamp(26px,3.2vw,38px);line-height:1.15;margin:6px 0 20px;overflow-wrap:anywhere}
.viec.trong{color:var(--muc-nhat);font-style:italic}
dl.du-kien{display:grid;grid-template-columns:max-content 1fr;gap:8px 20px;margin:0;font-size:15px}
dl.du-kien dt{color:var(--muc-nhat)}
dl.du-kien dd{margin:0;font-weight:500}
dl.du-kien dd.cong-thuc{font-weight:400;color:var(--cham)}

.khoi{margin-top:56px}
.khoi>header{display:flex;justify-content:space-between;align-items:baseline;gap:16px;border-bottom:2px solid var(--muc);padding-bottom:8px;margin-bottom:0;flex-wrap:wrap}
.cuon{overflow-x:auto;-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}
th,td{text-align:left;padding:10px 10px;border-bottom:1px solid var(--ke);vertical-align:middle;white-space:nowrap}
th{font-family:var(--chu-so);font-weight:400;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muc-nhat)}

.bang-que{min-width:860px}
.bang-que thead .ten-cot th{padding-top:18px;padding-bottom:4px;border-bottom:0}
.bang-que .ten-que{font-family:var(--chu-tieu-de);font-size:24px;text-transform:none;letter-spacing:0;color:var(--muc);font-weight:500}
.bang-que .ho{display:block;font-family:var(--chu-than);font-size:13px;text-transform:none;letter-spacing:0;color:var(--muc-nhat);margin-top:2px}
.nhan-que{display:inline-block;font-family:var(--chu-than);font-size:11.5px;letter-spacing:.02em;text-transform:none;border:1px solid var(--ke-dam);color:var(--muc);padding:1px 6px;margin-left:6px;vertical-align:2px;border-radius:2px}
.bang-que td.van-o{width:112px;padding-top:12px;padding-bottom:12px}
.van{display:block;width:92px;height:11px;background:var(--muc)}
.van.am{background:linear-gradient(90deg,var(--muc) 0 42%,transparent 42% 58%,var(--muc) 58%)}
.van.dong{background:var(--son)}
.van.am.dong{background:linear-gradient(90deg,var(--son) 0 42%,transparent 42% 58%,var(--son) 58%)}
.van.nhat{background:var(--ke-dam)}
.van.am.nhat{background:linear-gradient(90deg,var(--ke-dam) 0 42%,transparent 42% 58%,var(--ke-dam) 58%)}
.dau-dong{font-family:var(--chu-so);color:var(--son);font-size:18px;width:28px;text-align:center}
.mui{color:var(--ke-dam);width:24px;text-align:center}
.the-ung{font-weight:700;width:44px}
.the-ung.the{color:var(--son)}
.chi-o b{font-weight:600}
.luc-thu{color:var(--muc-nhat)}
.phuc{color:var(--cham);font-size:14px}
.the-nho{display:inline-block;font-size:10.5px;font-weight:600;letter-spacing:.04em;padding:1px 5px;margin-left:6px;border-radius:2px;vertical-align:1px;white-space:nowrap}
.the-nho.khong{color:var(--cham);border:1px solid var(--cham)}
.the-nho.pha{color:var(--son);border:1px solid var(--son)}
tr.dong-row td{background:rgba(191,42,31,.045)}
.bien-o{border-left:1px solid var(--ke)}

.bang-xet{min-width:900px}
.bang-xet td{white-space:normal}
.bang-xet td:first-child,.bang-xet th:first-child{white-space:nowrap;font-weight:600;position:sticky;left:0;background:var(--giay);z-index:1}
.vs-vuong{color:var(--luc);font-weight:600}
.vs-suy,.vs-vocan{color:var(--son);font-weight:600}
.vs-huu{color:var(--muc-nhat);font-weight:600}
.lang{color:var(--ke-dam)}
.ghi-bang{font-size:13px;color:var(--muc-nhat);margin:10px 0 0;max-width:80ch}

/* luận nhanh */
.luan{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;padding-top:24px}
.hai-o{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--ke);background:var(--to)}
.o-luan{padding:22px 24px}
.o-luan+.o-luan{border-left:1px solid var(--ke)}
.hai-o.mot{grid-template-columns:1fr}
.hai-o.mot .vi-sao{margin-top:10px}
.o-luan .tri{font-family:var(--chu-so);font-weight:600;font-size:clamp(34px,4.4vw,52px);line-height:1.05;letter-spacing:.01em;margin-top:6px}
.tri.tot{color:var(--luc)}.tri.xau{color:var(--son)}.tri.vua{color:var(--muc)}.tri.cho{color:var(--ho-phach)}
.vi-sao{margin:14px 0 0;color:var(--muc-nhat)}
.vi-sao b{color:var(--ho-phach);font-weight:600}
.chon-luan{background:var(--to);border:1px solid var(--ke);padding:18px}
.chon-luan .hang{grid-template-columns:1fr}
.chon-luan button{width:100%;justify-content:center}
/* nhường sang bản luận AI */
.luan-ai{background:var(--to);border:1px solid var(--ke);padding:22px 24px}
.dan-ai{margin:0;font-size:17px;line-height:1.5}
.di-ai{margin:12px 0 0}
a.link-ai{color:var(--cham);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
a.link-ai:hover{text-decoration-thickness:2px}
.di-ai a.link-ai::after{content:" →"}
.nhuong span{color:var(--muc-nhat)}
.chua-chon{border:1px dashed var(--ke-dam);background:var(--to);padding:22px 24px}
.chua-chon p{margin:0}

/* nhân dạng nhanh */
.nhan-dang{margin-top:28px;border-top:1px solid var(--ke)}
.nd-muc{padding:18px 0 4px;border-bottom:1px solid var(--ke)}
.nd-muc h3{margin:0 0 10px;font-family:var(--chu-so);font-weight:500;font-size:14px;letter-spacing:.12em;text-transform:uppercase}
.nd-muc h3 span{font-family:var(--chu-than);font-weight:400;letter-spacing:0;text-transform:none;color:var(--muc-nhat);margin-left:8px;font-size:13.5px}
.nd-muc h4{margin:0 0 6px;font-size:13px;font-weight:600;color:var(--cham)}
.nd-muc ul{margin:0 0 14px;padding-left:18px}
.nd-muc li{margin:0 0 6px}
.nd-muc p{margin:0 0 12px}
.nd-cot{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.nd-cot>div:only-child{grid-column:1/-1}
.canh-bao .canh{border-left:3px solid var(--son);padding-left:12px;margin-bottom:14px}
.canh-bao .canh p{margin:0 0 4px}
.canh-bao .nguoi-hanh{color:var(--muc-nhat)}
.canh-bao .nguoi-hanh b{color:var(--muc);font-weight:600}
.nhuong{color:var(--muc)}
@media (max-width:560px){.nd-cot{grid-template-columns:1fr;gap:4px}}
.chia-se{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.chia-se input{flex:1;min-width:240px;font-size:13px;color:var(--muc-nhat)}

/* bản gọn của quẻ */
.la-gon{display:none}
.la-gon .ten-gon{margin:16px 0 0;font-family:var(--chu-tieu-de);font-size:22px;line-height:1.2}
.la-gon .ten-gon.bien{margin-top:6px;font-size:18px;color:var(--muc-nhat)}
.la-gon .ten-gon small{display:block;font-family:var(--chu-than);font-size:12.5px;color:var(--muc-nhat)}
.la-gon ol{list-style:none;margin:14px 0 0;padding:0;border-top:1px solid var(--ke)}
.la-gon li{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;padding:10px 4px;border-bottom:1px solid var(--ke)}
.la-gon li.dong-row{background:rgba(191,42,31,.045)}
.vach-gon{display:flex;align-items:center;gap:4px}
.vach-gon .van{width:52px;height:9px}
.vach-gon .dau-dong{width:16px;font-size:15px}
.chu-gon{font-size:14px;line-height:1.35}
.chu-gon b{font-weight:600}
.chu-gon .the-ung{display:inline;width:auto;margin-left:6px}
.chu-gon .bien-gon{display:block;color:var(--son)}
.chu-gon small{display:block;color:var(--muc-nhat);font-size:12px}

/* ── Nhỏ ── */
@media (max-width:900px){
  .chu-dau,.la-dau,.bieu-mau,.luan{grid-template-columns:1fr;gap:32px}
  .cach{grid-template-columns:1fr}
  .cach a+a{padding-left:0;border-left:0}
  .xem-truoc{position:static}
  .to-lich{max-width:360px}
}
@media (max-width:560px){
  main{padding:28px 16px 64px}
  .dau-trang .trong{padding:12px 16px;gap:10px}
  nav.chinh{margin-left:0;width:100%}
  nav.chinh a{padding:6px 8px;font-size:14px}
  .dong-hao{grid-template-columns:1fr auto;row-gap:8px}
  .dong-hao .ten{grid-column:1/-1}
  .chon-van label{width:78px}.chon-van .van{width:48px}
  .hang-gio{grid-template-columns:1fr 1fr}
  .hang-gio button{grid-column:1/-1}
  .hai-o{grid-template-columns:1fr}
  .o-luan+.o-luan{border-left:0;border-top:1px solid var(--ke)}
  .to-lich .so{font-size:112px}
  .la-rong{display:none}
  .la-gon{display:block}
}
@media (prefers-reduced-motion:no-preference){
  .to-lich{animation:lat .5s cubic-bezier(.2,.7,.2,1) both;transform-origin:top center}
  @keyframes lat{from{transform:perspective(700px) rotateX(-14deg);opacity:0}to{transform:none;opacity:1}}
}
@media print{
  .dau-trang,.chan-trang,.chon-luan,.chia-se,.khong-in{display:none!important}
  body{background:#fff}
  main{padding:0}
}

/* ── Quẻ mẫu ── */
.ds-que-mau{list-style:none;margin:32px 0 0;padding:0;border-top:2px solid var(--muc)}
.ds-que-mau li{border-bottom:1px solid var(--ke)}
.ds-que-mau a{display:grid;grid-template-columns:1fr auto;gap:4px 24px;padding:20px 0;text-decoration:none}
.ds-que-mau h2{font-size:24px;grid-column:1}
.ds-que-mau p{margin:0;color:var(--muc-nhat);grid-column:1}
.ds-que-mau .ngay{grid-column:2;grid-row:1;font-family:var(--chu-so);color:var(--muc-nhat);font-size:14px;letter-spacing:.06em}
.ds-que-mau a:hover h2{text-decoration:underline;text-decoration-color:var(--son);text-underline-offset:5px}
.trong-rong{margin-top:32px;padding:28px;border:1px dashed var(--ke-dam);background:var(--to);color:var(--muc-nhat)}
.nhan-muc a{color:inherit}
.tieu-de-mau{font-size:clamp(28px,3.4vw,42px)}
.khoi-tep{margin-top:28px;background:var(--to);border:1px solid var(--ke)}
.khung-tep{display:block;width:100%;height:70vh;border:0;background:#fff}

/* ── Quản trị ── */
.dau-quan-tri{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.thong-bao{min-height:1.5em;margin:16px 0 0;color:var(--luc);font-weight:500}
.thong-bao.loi{color:var(--son)}
.dang-nhap{max-width:360px;margin-top:24px}
.lenh{background:var(--to);border:1px solid var(--ke);padding:12px 14px;overflow-x:auto;font-size:14px}
code{font-size:.92em;background:var(--to);border:1px solid var(--ke);padding:0 4px;border-radius:2px}
.tai-len{padding-top:20px;display:grid;gap:16px;max-width:820px}
.o-tep{position:relative;border:1.5px dashed var(--ke-dam);background:var(--to);padding:26px;text-align:center;border-radius:2px}
.o-tep.dang-keo{border-color:var(--cham);background:#EEF2F8}
.o-tep input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.o-tep label{margin:0;font-weight:400}
.o-tep label b{color:var(--cham)}
.o-tep span{display:block;margin-top:6px;font-size:13px;color:var(--muc-nhat)}
.bat-tat{display:inline-flex;align-items:center;gap:8px;margin:0;font-weight:500;cursor:pointer}
.bat-tat input{width:18px;height:18px;accent-color:var(--muc)}
.bang-quan-tri{min-width:820px}
.bang-quan-tri td{vertical-align:top;white-space:normal}
.bang-quan-tri .thu-tu{width:70px;white-space:nowrap}
.bang-quan-tri .thu-tu button{min-height:36px;padding:4px 10px}
.bang-quan-tri .o-sua{min-width:320px}
.bang-quan-tri .o-sua input,.bang-quan-tri .o-sua textarea{margin-bottom:6px;min-height:40px}
.bang-quan-tri .o-sua textarea{min-height:56px;font-size:14px}
.bang-quan-tri small{color:var(--muc-nhat)}
.lenh-hang{display:flex;gap:8px;flex-wrap:wrap;max-width:300px}
.lenh-hang .nut,.lenh-hang button,.hang-hd .nut,.hang-hd button{min-height:40px;padding:8px 14px;font-size:14px}
label.nut{margin:0;cursor:pointer;position:relative}
label.nut:focus-within{outline:2px solid var(--cham);outline-offset:2px}
.nut-xoa{border-color:var(--son);color:var(--son)}
.nut-xoa:hover{background:#FBEDEC}
button:disabled{opacity:.45;cursor:default}
.hang-hd{display:flex;gap:10px;flex-wrap:wrap;padding-top:20px}

/* ── Nút nổi góc phải dưới: trang Facebook học viện (trang chủ) ── */
.nut-noi{
  position:fixed;right:20px;bottom:20px;z-index:20;
  display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:12px 18px;
  background:var(--muc);color:var(--to);text-decoration:none;font-weight:600;font-size:15px;
  border-radius:999px;box-shadow:0 8px 24px -10px rgba(27,28,26,.55);
}
.nut-noi:hover{background:#000}
.nut-noi:focus-visible{outline:2px solid var(--son);outline-offset:3px}
body[data-trang="chu"] main{padding-bottom:110px}
@media (max-width:560px){
  .nut-noi{right:14px;bottom:14px;padding:10px 14px;font-size:14px}
}

/* ── Xem số điện thoại ── */
.xem-so{margin-top:28px;max-width:560px}
.hang-so{display:flex;gap:10px}
.hang-so input{flex:1;font-family:var(--chu-so);font-size:26px;letter-spacing:.08em;min-height:56px;padding:8px 14px}
.hang-so button{min-height:56px;padding:0 26px;font-size:16px;justify-content:center}
input[aria-invalid="true"]{border-color:var(--son);outline-color:var(--son)}
.loi-chu{color:var(--son)}
.ket-qua-so{margin-top:48px}
.ghi-tong-quat{margin-top:20px;background:var(--to);border:1px solid var(--ke);border-left:3px solid var(--cham);padding:14px 18px}
.ghi-tong-quat p{margin:0}
@media (max-width:560px){
  .hang-so{flex-direction:column}
  .hang-so input{font-size:22px}
}

/* ── Quản trị: tab, lưới 00–99 ── */
.tab-qt{display:flex;gap:4px;margin-top:8px;flex-wrap:wrap}
.tab-qt a{text-decoration:none;font-family:var(--chu-tieu-de);font-size:clamp(22px,2.6vw,30px);padding:2px 12px 6px 0;margin-right:14px;color:var(--muc-nhat)}
.tab-qt a[aria-current="page"]{color:var(--muc);box-shadow:inset 0 -3px 0 var(--son)}
.tai-nhieu{margin-top:18px}
.luoi-so{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px}
.o-so{background:var(--to);border:1px solid var(--ke);display:flex;flex-direction:column}
.o-so.co{border-color:var(--luc);box-shadow:inset 0 3px 0 var(--luc)}
.chon-so{position:relative;margin:0;padding:10px 4px 8px;text-align:center;cursor:pointer;font-weight:400}
.chon-so:hover{background:var(--giay)}
.chon-so:focus-within{outline:2px solid var(--cham)}
.chon-so b{display:block;font-family:var(--chu-so);font-size:22px;font-weight:500;line-height:1.1}
.chon-so span{display:block;font-size:11.5px;color:var(--muc-nhat)}
.o-so.co .chon-so span{color:var(--luc)}
.lenh-so{display:flex;border-top:1px solid var(--ke);margin-top:auto}
.lenh-so a,.lenh-so button{flex:1;font-size:12px;min-height:30px;padding:2px;border:0;border-radius:0;background:none;text-align:center;display:flex;align-items:center;justify-content:center;font-weight:500}
.lenh-so a{color:var(--cham)}
.lenh-so button{color:var(--son);border-left:1px solid var(--ke)}
@media (max-width:900px){.luoi-so{grid-template-columns:repeat(5,minmax(0,1fr))}}

/* ── Số điện thoại: tab con, dịch vụ chọn số ── */
.tab-so{display:flex;gap:4px;margin:4px 0 18px;border-bottom:1px solid var(--ke);flex-wrap:wrap}
.tab-so a{text-decoration:none;padding:8px 14px 10px 0;margin-right:16px;color:var(--muc-nhat);font-weight:500}
.tab-so a[aria-current="page"]{color:var(--muc);box-shadow:inset 0 -2px 0 var(--son)}
.goi-y-chon-so{margin:18px 0 0}
.cach-chon{margin-top:28px;background:var(--to);border:1px solid var(--ke);padding:20px 24px;max-width:820px}
.cach-chon ol{margin:0;padding-left:20px}
.cach-chon li{margin:0 0 6px}
.gia-chon-so{margin:14px 0 4px;font-size:17px}
.gia-chon-so b{font-family:var(--chu-so);font-weight:500;font-size:22px;letter-spacing:.02em}
.don-chon-so{margin-top:36px;max-width:820px}
.luoi-pd{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.o-pd,.o-huong{margin:0;display:flex;gap:10px;align-items:flex-start;background:var(--to);border:1px solid var(--ke-dam);border-radius:2px;padding:12px 14px;cursor:pointer;font-weight:400;min-height:48px}
.o-pd input,.o-huong input{margin-top:3px;width:18px;height:18px;accent-color:var(--muc);flex:none}
.o-pd:has(input:checked),.o-huong:has(input:checked){border-color:var(--muc);box-shadow:inset 0 0 0 1px var(--muc)}
.o-pd:has(input:disabled){opacity:.45;cursor:not-allowed}
.luoi-huong{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.o-huong{flex-wrap:wrap}
.o-huong b{font-weight:600}
.o-huong span{flex-basis:100%;padding-left:28px;color:var(--muc-nhat);font-size:14px}
fieldset[aria-invalid="true"] .luoi-pd,fieldset[aria-invalid="true"] .luoi-huong{outline:1px solid var(--son);outline-offset:4px}
.loi-truong{margin:6px 0 0;font-size:14px}
.dong-y{margin-top:16px;align-items:flex-start;font-weight:400}
.dong-y span{font-size:14px}
.ma-yeu-cau{margin-top:24px;display:inline-flex;flex-direction:column;gap:4px;background:var(--to);border:1px solid var(--ke);border-left:3px solid var(--luc);padding:14px 20px}
.ma-yeu-cau b{font-family:var(--chu-so);font-size:30px;font-weight:500;letter-spacing:.06em}
@media (max-width:560px){.luoi-huong{grid-template-columns:1fr}}

/* quản trị: yêu cầu chọn số */
.ds-yeu-cau{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:12px}
.the-yc{background:var(--to);border:1px solid var(--ke);padding:16px 18px}
.the-yc.moi{border-left:3px solid var(--son)}
.the-yc header{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:baseline}
.the-yc h3{margin:0;font-size:18px}
.the-yc h3 small{font-family:var(--chu-so);font-weight:400;color:var(--muc-nhat);margin-left:8px;letter-spacing:.04em}
.the-yc dl{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;margin:12px 0}
.the-yc dt{color:var(--muc-nhat)}
.the-yc dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.lenh-yc{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}
.lenh-yc select{width:auto;min-height:40px}
.lenh-yc textarea{min-height:40px;flex:1;min-width:220px;font-size:14px}
.loc-yc{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.loc-yc a{text-decoration:none;padding:4px 10px;border:1px solid var(--ke-dam);border-radius:999px;font-size:13px}
.loc-yc a[aria-current="page"]{background:var(--muc);color:var(--to);border-color:var(--muc)}
.dem-moi{display:inline-block;min-width:22px;padding:0 6px;border-radius:999px;background:var(--son);color:#fff;font-family:var(--chu-than);font-size:13px;font-weight:600;text-align:center;vertical-align:4px}

/* ── Luận quẻ bằng AI ── */
.gia-ai{margin:18px 0 0;font-size:17px}
.gia-ai b{font-family:var(--chu-so);font-weight:500;font-size:26px;letter-spacing:.02em}
.tin-nhan{padding-top:18px;max-width:820px}
.tin-nhan textarea{font-size:15px;line-height:1.55;background:var(--to)}
.ba-buoc{margin:18px 0 0;padding-left:22px;max-width:820px}
.ba-buoc li{margin:0 0 10px}
.hai-cot-ai{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding-top:18px}
.goi-y-hoi{margin:0;padding-left:20px}
.goi-y-hoi li{margin:0 0 8px}
.vi-du-hoi{margin:0;background:var(--to);border:1px solid var(--ke);border-left:3px solid var(--cham);padding:14px 18px}
.vi-du-hoi p{margin:6px 0 0;font-style:italic}
.luoi-ban-luan{counter-reset:bl;list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ke);border:1px solid var(--ke)}
.luoi-ban-luan li{background:var(--to);padding:16px 18px;counter-increment:bl}
.luoi-ban-luan li::before{content:counter(bl);font-family:var(--chu-so);color:var(--son);font-size:20px;display:block;line-height:1}
.luoi-ban-luan b{display:block;margin-top:6px}
.luoi-ban-luan span{display:block;color:var(--muc-nhat);font-size:14px;margin-top:2px}
.khoi>header a.nhan-muc{text-decoration:none;color:var(--cham)}
@media (max-width:900px){.hai-cot-ai{grid-template-columns:1fr}.luoi-ban-luan{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.luoi-ban-luan{grid-template-columns:1fr}}
.hoac-anh{margin:10px 0 0;padding:10px 14px;background:var(--to);border:1px dashed var(--ke-dam);font-weight:500;max-width:820px}

/* ── Số điện thoại: bản cá nhân hóa ── */
.ca-nhan-hoa{margin-top:32px;background:var(--to);border:1px solid var(--ke);border-top:3px solid var(--cham);padding:20px 22px}
.ca-nhan-hoa h3{margin:0 0 14px;font-family:var(--chu-tieu-de);font-weight:500;font-size:24px}
.so-sanh-ban{min-width:560px}
.so-sanh-ban th,.so-sanh-ban td{white-space:normal;vertical-align:top}
.so-sanh-ban tbody th{font-family:var(--chu-than);text-transform:none;letter-spacing:0;font-size:14px;color:var(--muc);font-weight:500;width:34%}
.so-sanh-ban thead th{color:var(--muc);font-size:13px}
.so-sanh-ban thead th span{display:block;font-family:var(--chu-than);text-transform:none;letter-spacing:0;color:var(--muc-nhat);font-size:13px}
.so-sanh-ban td:last-child{background:#EEF2F8}
.hang-ngay-dung{margin:18px 0 10px;max-width:420px}
.ca-nhan-hoa textarea{font-size:15px;line-height:1.55;max-width:820px}
@media (max-width:560px){
  .so-sanh-ban{min-width:0;table-layout:fixed}
  .so-sanh-ban th,.so-sanh-ban td{padding:8px 6px;font-size:13px}
  .so-sanh-ban thead th{font-size:11px;letter-spacing:.04em}
  .ca-nhan-hoa{padding:16px 14px}
}
.dan-cnh{margin:-6px 0 16px;color:var(--muc-nhat);max-width:65ch}
.gia-chon-so a.lien-he{font-family:var(--chu-so);font-weight:500;font-size:22px;letter-spacing:.02em;color:var(--cham);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.gia-chon-so a.lien-he:hover{text-decoration-thickness:2px}
.gia-chon-so a.lien-he::after{content:" ↗";font-size:16px}

/* ── Chân trang: liên kết thông tin ── */
.lien-ket-chan{flex-basis:100%;display:flex;flex-wrap:wrap;gap:6px 18px;padding-bottom:10px;border-bottom:1px solid var(--ke);margin-bottom:4px}
.lien-ket-chan a{color:var(--muc);text-decoration:none;font-size:14px}
.lien-ket-chan a:hover{text-decoration:underline}

/* ── Trang văn bản (pháp lý, giới thiệu, hỏi đáp) ── */
.van-ban{max-width:820px}
.van-ban h1{margin-bottom:10px}
.van-ban h2{font-size:24px;margin:36px 0 12px;padding-bottom:6px;border-bottom:1px solid var(--ke)}
.van-ban h3{font-size:17px;margin:20px 0 8px}
.van-ban p,.van-ban li{max-width:72ch}
.van-ban li{margin:0 0 6px}
.van-ban a{color:var(--cham)}
.van-ban .nut{color:inherit}
.van-ban .nut-chinh{color:var(--to)}
.thong-tin-vb{color:var(--muc-nhat);font-size:14px;margin:0 0 20px}
.dan-vb{font-size:18px;color:var(--muc-nhat)}
.tom-tat{background:var(--to);border:1px solid var(--ke);border-left:3px solid var(--luc);padding:6px 20px 12px;margin:20px 0}
.tom-tat h2{border:0;margin:12px 0 6px;font-size:20px}
.muc-luc{background:var(--to);border:1px solid var(--ke);padding:6px 20px 12px}
.muc-luc h2{border:0;margin:12px 0 6px;font-size:20px}
.muc-luc ol{columns:2;column-gap:28px;margin:0;padding-left:22px}
.muc-luc li{break-inside:avoid;margin:0 0 4px}
.bang-vb{min-width:620px;background:var(--to)}
.bang-vb th,.bang-vb td{white-space:normal;vertical-align:top;font-size:14.5px}
.bang-vb thead th{font-size:12px}
.bang-ttin{display:grid;grid-template-columns:max-content 1fr;gap:8px 20px;margin:16px 0;background:var(--to);border:1px solid var(--ke);padding:16px 20px}
.bang-ttin dt{color:var(--muc-nhat)}
.bang-ttin dd{margin:0;font-weight:500;overflow-wrap:anywhere}
.ghi-chu-vb{font-size:14px;color:var(--muc-nhat)}
mark.can-dien{background:#FFF1B8;color:#6B4E00;padding:0 4px;border-radius:2px;font-weight:500}
.the-lien-he{background:var(--to);border:1px solid var(--ke);border-top:3px solid var(--cham);padding:6px 22px 14px;margin:20px 0}
.the-lien-he h2{border:0;margin:14px 0 6px}
.hoi-dap details{border-bottom:1px solid var(--ke);padding:12px 0}
.hoi-dap summary{cursor:pointer;font-weight:600;list-style-position:outside}
.hoi-dap details p{margin:8px 0 0}
a.lien-he-dong{font-weight:600}
a.lien-he-dong::after{content:" ↗"}
.ttin-ai{margin:6px 0 0;color:var(--muc-nhat)}
@media (max-width:560px){.muc-luc ol{columns:1}.bang-ttin{grid-template-columns:1fr}.bang-ttin dt{margin-top:6px}}
/* thanh đầu trang: tên dài + 6 mục vẫn nằm một hàng trên màn rộng */
.hieu{font-size:20px;letter-spacing:.02em;white-space:nowrap}
.dau-trang .trong{gap:16px}
nav.chinh{gap:0}
nav.chinh a{padding:8px 9px;font-size:14.5px}
.vi-du-hoi .que-vi-du{font-style:normal;font-size:14px;color:var(--muc-nhat);margin-top:8px}

/* ── Quẻ seri tiền ── */
.o-seri{font-family:var(--chu-so);font-size:28px !important;letter-spacing:.12em;min-height:60px !important}
/* trang chủ: ba cách lập quẻ */
.cach{grid-template-columns:repeat(3,minmax(0,1fr))}
.cach a+a{padding-left:22px;border-left:1px solid var(--ke)}
.cach a{padding-right:22px;grid-template-columns:1fr;gap:14px}
@media (max-width:900px){.cach{grid-template-columns:1fr}.cach a+a{padding-left:0;border-left:0}.cach a{grid-template-columns:auto 1fr}}
/* lá quẻ: gọn hơn để nhãn TUẦN KHÔNG ở cột biến không bị cắt */
.bang-que th,.bang-que td{padding-left:8px;padding-right:8px}
.bang-que td.van-o{width:96px}
.bang-que .van{width:80px}
.bang-que .the-nho{margin-left:4px;padding:1px 4px;letter-spacing:.02em}

/* ── Chuyển ngôn ngữ ── */
.doi-ngu{display:flex;border:1px solid var(--ke-dam);border-radius:2px;overflow:hidden;flex:none}
.doi-ngu a{text-decoration:none;font-family:var(--chu-so);font-size:13px;letter-spacing:.08em;padding:5px 9px;color:var(--muc-nhat)}
.doi-ngu a[aria-current="true"]{background:var(--muc);color:var(--to)}
.doi-ngu a:hover:not([aria-current]){background:var(--to);color:var(--muc)}
nav.chinh{margin-left:auto}
@media (max-width:560px){.doi-ngu{position:absolute;top:12px;right:16px}.dau-trang .trong{position:relative}}
/* tiêu đề hai quẻ được xuống dòng, không đẩy bảng tràn ngang (bản Anh chữ dài hơn) */
.bang-que .ten-cot th{white-space:normal;vertical-align:bottom}
.bang-que .nhan-que{white-space:nowrap}

/* ── Quản trị: hai bản Việt/Anh ── */
.luoi-so.hai-ban .o-so{border-color:var(--ke);box-shadow:none;padding:6px 6px 0}
.luoi-so.hai-ban .ma-so{display:block;text-align:center;font-family:var(--chu-so);font-size:20px;font-weight:500;line-height:1.2;margin-bottom:4px}
.ban-so{border:1px solid var(--ke);margin-bottom:6px;background:var(--giay)}
.ban-so.co{border-color:var(--luc);background:var(--to)}
.ban-so .chon-so{padding:4px 2px;display:flex;justify-content:space-between;align-items:baseline;gap:4px}
.ban-so .chon-so em{font-style:normal;font-family:var(--chu-so);font-size:12px;letter-spacing:.06em;color:var(--muc-nhat)}
.ban-so.co .chon-so em{color:var(--luc);font-weight:600}
.ban-so .chon-so span{font-size:11px}
.ban-so .lenh-so a,.ban-so .lenh-so button{min-height:24px;font-size:11px}
.chon-ngu-tai{display:flex;gap:18px;justify-content:center;margin-top:10px}
.chon-ngu-tai label{margin:0;font-weight:500;display:flex;gap:6px;align-items:center}
.ban-anh-qm{display:grid;grid-template-columns:auto 1fr;gap:6px 8px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--ke)}
.ban-anh-qm textarea{grid-column:2}
.nhan-ngu{font-family:var(--chu-so);font-size:12px;padding:2px 6px;border:1px solid var(--ke-dam);align-self:center;color:var(--muc-nhat)}
.nhan-ngu.co{border-color:var(--luc);color:var(--luc);font-weight:600}
.ban-anh-moi{margin:14px 0;border:1px solid var(--ke);padding:8px 14px;background:var(--giay)}
.ban-anh-moi summary{cursor:pointer;font-weight:600}
.ban-anh-moi .o-tep{margin-top:10px}
/* thanh đầu trang: 7 mục + nút ngôn ngữ nằm một hàng từ 1280px */
.hieu{font-size:19px;letter-spacing:.01em}
.dau-trang .trong{gap:14px}
nav.chinh a{padding:8px 6px;font-size:14px}
.doi-ngu a{padding:4px 7px;font-size:12px}
@media (max-width:1279px){nav.chinh{order:3;width:100%;margin-left:0}.doi-ngu{margin-left:auto}}
/* chọn bản khi tải nhiều tệp: radio phải hiện (khác ô tệp) */
.chon-ngu-tai input{position:static;opacity:1;width:18px;height:18px;inset:auto;accent-color:var(--muc)}
.chon-ngu-tai{position:relative;z-index:1}
.hai-hd{display:grid;gap:10px;margin-top:12px}
.hai-hd .hang-hd{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

/* ── Hỏi dẫn dắt ── */
.dan-dat{display:grid;gap:14px}
.doc-cau{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.doc-cau .goi-y{flex:1;min-width:220px;margin:0}
.buoc{border-left:2px solid var(--ke);padding:2px 0 2px 12px}
.buoc.can-chon{border-left-color:var(--son);background:linear-gradient(90deg,rgba(191,42,31,.05),transparent 60%)}
.nhan-buoc{margin:0 0 8px;font-weight:600;font-size:14.5px}
.nhom-nut{display:flex;flex-wrap:wrap;gap:6px}
.nut-buoc{min-height:36px;padding:6px 12px;font-size:14px;font-weight:500;background:var(--to);border:1px solid var(--ke-dam);border-radius:999px;color:var(--muc)}
.nut-buoc:hover{border-color:var(--muc)}
.nut-buoc[aria-pressed="true"]{background:var(--muc);color:var(--to);border-color:var(--muc)}
.ket-chon{margin:0;padding:10px 12px;background:var(--to);border:1px dashed var(--ke-dam);font-size:14px}
.chon-tay summary{cursor:pointer;font-size:14px;color:var(--muc-nhat);margin-bottom:8px}
.the-goi-y{padding:12px 14px;border:1px solid var(--ke);border-left:3px solid var(--cham);background:var(--to)}
.the-goi-y.cao{border-left-color:var(--luc)}
.the-goi-y.vua{border-left-color:#B7791F}
.the-goi-y.thap,.the-goi-y.loi{border-left-color:var(--son)}
.the-goi-y .tieu-goi-y{margin:0 0 6px;font-weight:600}
.the-goi-y ul{margin:0;padding-left:18px;font-size:14px;color:var(--muc-nhat)}
.chon-luan .dan-dat .hang{grid-template-columns:1fr}
.chon-luan .nut-buoc{font-size:13px;padding:5px 10px;min-height:32px}
.o-nuoc{margin-bottom:14px;max-width:560px}
.xac-minh form{display:grid;gap:14px;justify-items:start;margin-top:14px}

/* ── Thanh đầu trang hai hàng: tên web / các mục + nút ngôn ngữ ── */
.dau-trang .trong{flex-wrap:wrap;row-gap:4px;padding-top:12px;padding-bottom:8px}
.hang-dh{flex-basis:100%;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.hang-dh nav.chinh{margin-left:-6px;order:0;width:auto;flex:0 1 auto}
.hang-dh .doi-ngu{margin-left:4px;position:static}
@media (max-width:1279px){.hang-dh nav.chinh{order:0;width:auto}}
@media (max-width:560px){.hang-dh .doi-ngu{position:absolute;top:12px;right:16px}}

/* ── Từ điển Bốc Dịch ── */
.tim-td{margin-top:24px;display:grid;gap:10px;max-width:820px}
.tim-td input{font-size:17px;min-height:48px}
.chu-cai{display:flex;flex-wrap:wrap;gap:4px}
.chu-cai button{min-height:32px;min-width:34px;padding:2px 8px;font-family:var(--chu-so);font-size:14px;background:var(--to);border:1px solid var(--ke-dam)}
.chu-cai button[aria-pressed="true"]{background:var(--muc);color:var(--to);border-color:var(--muc)}
.nhom-td{margin-top:32px}
.nhom-td h2{font-size:24px;padding-bottom:6px;border-bottom:1px solid var(--ke)}
.ds-td{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.ds-td li{background:var(--to);border:1px solid var(--ke);padding:12px 14px}
.ds-td a{text-decoration:none;color:var(--muc)}
.ds-td a b{font-size:17px}
.ds-td a:hover b{text-decoration:underline}
.ds-td p{margin:4px 0 0;font-size:14px;color:var(--muc-nhat);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ten-phu{font-size:13px;color:var(--muc-nhat)}
.vet{font-size:14px;color:var(--muc-nhat);margin-bottom:18px}
.vet a{color:var(--cham)}
.bai-td{max-width:820px}
.bai-td h1{margin-bottom:6px}
.ten-goc{margin:0 0 10px;color:var(--muc-nhat);font-size:18px}
.tom-tat-td{font-size:18px;background:var(--to);border-left:3px solid var(--son);padding:12px 16px}
.muc-luc-td{margin:18px 0}
.noi-dung-td{margin-top:12px}
.noi-dung-td img{max-width:100%;height:auto}
.noi-dung-td table{border-collapse:collapse;display:block;overflow-x:auto;background:var(--to)}
.noi-dung-td th,.noi-dung-td td{border:1px solid var(--ke);padding:6px 10px;text-align:left}
.noi-dung-td blockquote{margin:14px 0;padding:8px 16px;border-left:3px solid var(--ke-dam);color:var(--muc-nhat)}
.ngay-td{font-size:13px;color:var(--muc-nhat);margin-top:28px}
.ds-td.gon{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.cta-td p{display:flex;flex-wrap:wrap;gap:8px;align-items:center}

/* quản trị từ điển */
.bang-td td{vertical-align:top}
.bang-td input,.bang-td textarea{margin-bottom:6px;font-size:14px}
.bang-td textarea{min-height:52px}
.o-ten-td{min-width:220px}
.slug-td{display:flex;align-items:center;gap:2px;font-family:var(--chu-so);font-size:12px;color:var(--muc-nhat)}
.slug-td input{font-family:var(--chu-so);font-size:13px;margin:0}
.o-trang-thai{display:grid;gap:6px;justify-items:start}
.dem-ky-tu{font-size:12px;color:var(--muc-nhat)}
.loc-td{max-width:280px;min-height:36px;font-size:14px}
.noi-dung-td table{background:transparent;width:max-content;max-width:100%}
.noi-dung-td th,.noi-dung-td td{background:var(--to)}

.ds-the-td{display:grid;gap:14px}
.the-td{display:grid;grid-template-columns:minmax(220px,1fr) minmax(200px,1fr) minmax(280px,1.4fr);gap:10px 18px;background:var(--to);border:1px solid var(--ke);padding:14px 16px}
.the-td[hidden]{display:none}
.cot-td{display:grid;gap:8px;align-content:start}
.cot-td label{margin:0;font-size:12px;color:var(--muc-nhat);font-weight:500;display:grid;gap:3px}
.cot-td input,.cot-td textarea{font-size:14px;color:var(--muc)}
.cot-td textarea{min-height:64px}
.slug-td{display:flex;align-items:center;gap:2px}
.lenh-td{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;border-top:1px dashed var(--ke);padding-top:10px}
@media (max-width:900px){.the-td{grid-template-columns:1fr}}
.slug-td > span{white-space:nowrap}
/* đồ hình quẻ dạng chữ trong bài từ điển */
.noi-dung-td pre{font-family:ui-monospace,Consolas,monospace;font-size:14px;line-height:1.55;background:var(--to);border:1px solid var(--ke);border-left:3px solid var(--muc);padding:10px 14px;overflow-x:auto;white-space:pre}

/* ══════════ Hình minh họa (site/minh-hoa.js) ══════════ */
:root{--h-kim:#A27B2C;--h-moc:#3B7A4B;--h-thuy:#2E5A8A;--h-hoa:#B8352B;--h-tho:#8A6534;--vach:#1F2322;--vach-dong:#B8352B}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--h-kim:#D1A94F;--h-moc:#6BB07C;--h-thuy:#6E9BD0;--h-hoa:#E0685E;--h-tho:#C49A62;--vach:#E6E8E4;--vach-dong:#E0685E}}
:root[data-theme="dark"]{--h-kim:#D1A94F;--h-moc:#6BB07C;--h-thuy:#6E9BD0;--h-hoa:#E0685E;--h-tho:#C49A62;--vach:#E6E8E4;--vach-dong:#E0685E}
.minh-hoa{margin:22px 0 26px;padding:18px;background:var(--to);border:1px solid var(--ke);border-radius:4px}
.minh-hoa figcaption{margin-top:12px;font-size:13.5px;color:var(--muc-nhat);border-top:1px dashed var(--ke);padding-top:10px}
.hinh-mh{display:block;flex:none}
.hinh-mh .vach{fill:var(--vach)}
.hinh-mh .vach.dong{fill:var(--vach-dong)}
.h-kim{--mau:var(--h-kim)}.h-moc{--mau:var(--h-moc)}.h-thuy{--mau:var(--h-thuy)}.h-hoa{--mau:var(--h-hoa)}.h-tho{--mau:var(--h-tho)}
th.h-kim,th.h-moc,th.h-thuy,th.h-hoa,th.h-tho,td.h-kim,td.h-moc,td.h-thuy,td.h-hoa,td.h-tho{color:var(--mau)}
.nhan-hanh{display:inline-block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:1px 7px;border-radius:999px;background:var(--mau);color:#fff;vertical-align:middle}
.hai-cot-mh{display:grid;grid-template-columns:minmax(260px,1fr) minmax(240px,1fr);gap:22px;align-items:center}
@media (max-width:720px){.hai-cot-mh{grid-template-columns:1fr}}
.nhan-mh{margin:0 0 8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muc-nhat);font-weight:600}
.bang-mh{border-collapse:collapse;width:100%;font-size:14px;background:transparent}
.bang-mh th,.bang-mh td{border:1px solid var(--ke);padding:7px 10px;text-align:left;vertical-align:middle;background:var(--giay)}
.bang-mh thead th{background:var(--muc);color:var(--to);font-size:12px;letter-spacing:.04em;font-weight:600;border-color:var(--muc)}
.bang-mh tbody th{font-weight:600}
.bang-gon{width:auto;min-width:260px}

/* bát quái */
.luoi-quai{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media (max-width:620px){.luoi-quai{grid-template-columns:repeat(2,1fr)}}
.the-quai{position:relative;display:grid;justify-items:center;gap:6px;padding:16px 10px 12px;background:var(--giay);border:1px solid var(--ke);border-top:3px solid var(--mau);text-align:center}
.the-quai b{font-size:20px;font-family:var(--chu-tieu-de, inherit)}
.the-quai span{font-size:13px;color:var(--muc-nhat)}
.the-quai .nhan-hanh{color:#fff}
.so-quai{position:absolute;top:6px;left:8px;font-family:var(--chu-so);font-size:13px;color:var(--muc-nhat)}

/* bảng 64 quẻ */
.bang-64{border-collapse:collapse;min-width:720px;width:100%}
.bang-64 th,.bang-64 td{border:1px solid var(--ke);padding:6px 4px;text-align:center;vertical-align:top;background:var(--giay)}
.bang-64 thead th,.bang-64 tbody th{background:var(--to);position:relative}
.bang-64 th .so-quai{position:static;display:block}
.bang-64 th .hinh-mh{margin:3px auto}
.bang-64 th b{font-size:13px}
.bang-64 td .hinh-mh{margin:0 auto 4px}
.bang-64 .ten-o{display:block;font-weight:600;font-size:12.5px;line-height:1.25}
.bang-64 .ten-day{display:block;font-size:10.5px;color:var(--muc-nhat);line-height:1.2}
.bang-64 .ma-o{display:block;font-family:var(--chu-so);font-size:11px;color:var(--muc-nhat);margin-top:2px}
.bang-64 td.thuan{background:color-mix(in srgb,var(--son) 9%,var(--giay))}
.bang-64 td.thuan .ten-o{color:var(--son)}
.bang-64 .goc{font-size:11px;line-height:1.6;color:var(--muc-nhat)}
.bang-64 .goc span{display:block}

/* tám cung */
.cung-mh{margin-bottom:22px}
.dau-cung{display:flex;align-items:center;gap:10px;font-size:20px;margin:6px 0 10px;padding-bottom:6px;border-bottom:2px solid var(--mau)}
.luoi-que-cung{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.the-que{background:var(--giay);border:1px solid var(--ke);padding:8px 10px}
.the-que .vt{margin:0;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muc-nhat)}
.the-que .tq{margin:2px 0 6px;font-size:15px;line-height:1.3}
.the-que .tq span{font-size:12px;color:var(--muc-nhat)}
.do-hinh-mh{border-collapse:collapse;width:100%;font-size:12.5px}
.do-hinh-mh td{padding:2px 3px;border-bottom:1px dotted var(--ke);white-space:nowrap}
.do-hinh-mh .lt{color:var(--muc-nhat)}
.do-hinh-mh .ch{font-weight:600}
.do-hinh-mh .tu{font-weight:700;color:var(--son);font-size:11px;width:34px}
.do-hinh-mh .vg{width:40px}
.do-hinh-mh tr.la-the{background:color-mix(in srgb,var(--son) 7%,transparent)}

/* lá quẻ ví dụ */
.mh-la-que{display:inline-block;min-width:min(100%,420px)}
.la-que-mh{border-collapse:collapse;font-size:14px}
.la-que-mh caption{text-align:left;padding-bottom:8px;font-size:16px}
.la-que-mh caption small{display:block;font-size:12px;color:var(--muc-nhat)}
.la-que-mh td{padding:4px 8px;border-bottom:1px solid var(--ke);white-space:nowrap}
.la-que-mh .lt{color:var(--muc-nhat)}
.la-que-mh .ch{font-weight:600}
.la-que-mh .tu{font-weight:700;color:var(--son);font-size:12px}
.la-que-mh .dd{color:var(--son);font-weight:700;text-align:center;width:20px}
.la-que-mh .bien{color:var(--muc-nhat)}
.la-que-mh .vg.bien .vach{fill:var(--muc-nhat)}
.la-que-mh tr.dong{background:color-mix(in srgb,var(--son) 6%,transparent)}

/* đồng xu, các bước */
.dong-xu{display:inline-flex;gap:4px}
.xu{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;font-style:normal;font-size:11px;font-weight:700;font-family:var(--chu-so);border:2px solid var(--h-kim)}
.xu-c{background:var(--h-kim);color:#fff}
.xu-h{background:transparent;color:var(--h-kim)}
.bang-xu .ky{font-family:var(--chu-so);font-weight:700;color:var(--son);text-align:center}
.lan-gieo{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:4px}
.lan-gieo li{display:flex;align-items:center;gap:10px;font-size:13px}
.lan-gieo li span:first-child{width:52px;color:var(--muc-nhat)}
.dong-buoc{list-style:none;counter-reset:b;margin:0;padding:0;display:grid;gap:6px}
.dong-buoc li{counter-increment:b;display:grid;grid-template-columns:30px 1.4fr 1fr .8fr;gap:10px;align-items:center;background:var(--giay);border:1px solid var(--ke);padding:8px 10px}
.dong-buoc li::before{content:counter(b);display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--muc);color:var(--to);font-family:var(--chu-so);font-size:13px}
.b-tinh{font-family:var(--chu-so);color:var(--muc-nhat)}
.b-ra{font-weight:700}
@media (max-width:620px){.dong-buoc li{grid-template-columns:30px 1fr}.b-tinh,.b-ra{grid-column:2}}
.so-chi{list-style:none;margin:12px 0;padding:0;display:flex;flex-wrap:wrap;gap:4px}
.so-chi li{font-size:12.5px;border:1px solid var(--ke);padding:2px 8px;background:var(--giay)}
.so-chi b{font-family:var(--chu-so);margin-right:4px;color:var(--son)}

/* SVG chung */
.svg-mh{display:block;width:100%;height:auto;max-width:340px;margin:0 auto;font-family:inherit}
.svg-mh .nut circle,.svg-mh .nut rect{fill:var(--giay);stroke:var(--mau,var(--muc));stroke-width:2.5}
.svg-mh .nut text{fill:var(--mau,var(--muc));font-size:14px;font-weight:700}
.svg-mh .nut text.phu{font-size:10.5px;font-weight:500;fill:var(--muc-nhat)}
.svg-mh .noi-sinh{stroke:var(--h-moc);stroke-width:2.2}
.svg-mh .noi-khac{stroke:var(--h-hoa);stroke-width:1.8;stroke-dasharray:5 4}
.svg-mh .mui-sinh{fill:var(--h-moc)}
.svg-mh .mui-khac{fill:var(--h-hoa)}
.svg-mh .nhan-noi{font-size:11.5px;fill:var(--muc-nhat)}
.svg-mh .vanh{fill:none;stroke:var(--ke);stroke-width:1.5}
.svg-mh .noi-hop{stroke:var(--h-moc);stroke-width:2.4}
.svg-mh .noi-xung{stroke:var(--h-hoa);stroke-width:2.4}
.svg-mh .noi-hinh{stroke:var(--h-tho);stroke-width:2.4}
.svg-mh .tam-giac{fill:var(--mau);fill-opacity:.12;stroke:var(--mau);stroke-width:2.2}
.svg-mh .nut.mo-nhat{opacity:.35}
.svg-mh.ngu-than{max-width:520px}
.nt-dung{--mau:var(--son)}.nt-nguyen{--mau:var(--h-moc)}.nt-tiet{--mau:var(--h-thuy)}.nt-ky{--mau:var(--h-hoa)}.nt-cuu{--mau:var(--h-tho)}
.lt-hd{--mau:var(--h-tho)}.lt-tt{--mau:var(--h-moc)}.lt-tai{--mau:var(--h-kim)}.lt-qq{--mau:var(--h-hoa)}.lt-pm{--mau:var(--h-thuy)}
.chu-giai{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin:8px 0 0;font-size:12.5px;color:var(--muc-nhat)}
.chu-giai span::before{content:"";display:inline-block;width:22px;height:0;border-top:2.4px solid;margin-right:6px;vertical-align:middle}
.cg-sinh::before{border-color:var(--h-moc)!important}
.cg-khac::before{border-top-style:dashed!important;border-color:var(--h-hoa)!important}
.hai-vong{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media (max-width:620px){.hai-vong{grid-template-columns:1fr}}
.ds-cap{text-align:center;font-size:13px;color:var(--muc-nhat);margin:6px 0 0}
.ds-nhom-mh{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ds-nhom-mh li{background:var(--giay);border:1px solid var(--ke);border-left:3px solid var(--h-tho);padding:6px 10px}
.bon-vong{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}
@media (max-width:720px){.bon-vong{grid-template-columns:repeat(2,1fr)}}
.vong-nho .nhan-mh{text-align:center;color:var(--mau)}
.svg-mh .nut.ts-sinh circle{fill:var(--h-moc);stroke:var(--h-moc)}.svg-mh .nut.ts-vuong circle{fill:var(--son);stroke:var(--son)}
.svg-mh .nut.ts-mo circle{fill:var(--h-tho);stroke:var(--h-tho)}.svg-mh .nut.ts-tuyet circle{fill:var(--muc);stroke:var(--muc)}
.svg-mh .nut.ts-sinh text,.svg-mh .nut.ts-vuong text,.svg-mh .nut.ts-mo text,.svg-mh .nut.ts-tuyet text{fill:#fff}
.cg-ts::before{border:0!important;width:12px!important;height:12px!important;border-radius:50%;margin-right:5px}
.cg-ts.ts-sinh::before{background:var(--h-moc)}.cg-ts.ts-vuong::before{background:var(--son)}.cg-ts.ts-mo::before{background:var(--h-tho)}.cg-ts.ts-tuyet::before{background:var(--muc)}

/* tuần không, tiến thoái, lục thú */
.ngay-tuan{font-size:12.5px;color:var(--muc-nhat)}
td.khong{font-weight:700;color:var(--cham);white-space:nowrap}
td.tien{color:var(--h-moc);font-weight:600}
td.thoai{color:var(--h-hoa);font-weight:600}
.bang-luc-thu td{text-align:center;font-weight:600;font-size:13px}
.lt-thanh-long{background:color-mix(in srgb,var(--h-moc) 14%,var(--giay))!important}
.lt-chu-tuoc{background:color-mix(in srgb,var(--h-hoa) 14%,var(--giay))!important}
.lt-cau-tran{background:color-mix(in srgb,var(--h-tho) 14%,var(--giay))!important}
.lt-phi-xa{background:color-mix(in srgb,var(--h-tho) 24%,var(--giay))!important}
.lt-bach-ho{background:color-mix(in srgb,var(--h-kim) 16%,var(--giay))!important}
.lt-huyen-vu{background:color-mix(in srgb,var(--h-thuy) 16%,var(--giay))!important}

/* bảng trạng thái */
.bang-trang-thai{min-width:760px}
.bang-trang-thai td .rong{color:var(--ke-dam)}
.bang-trang-thai tr.dau-nhom td,.bang-trang-thai tr.dau-nhom th{border-top:2px solid var(--muc-nhat)}
.nhan-tt{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12.5px;color:#fff;background:var(--c,var(--muc));white-space:nowrap}
.tt-qua-vuong{--c:#7A1F1A}.tt-vuong{--c:var(--h-moc)}.tt-huu{--c:#6F7B74}.tt-suy{--c:var(--h-tho)}.tt-vo-can{--c:var(--muc)}
.tt-chan-khong{--c:var(--cham)}.tt-mo{--c:var(--h-tho)}.tt-ts{--c:var(--h-thuy)}.tt-am-dong{--c:#9A5B00}.tt-pha{--c:var(--son)}.tt-ngam{--c:#5B4A8A}

/* danh sách quẻ */
.ds-que-mh{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.ds-que-mh li{display:grid;justify-items:center;text-align:center;gap:4px;background:var(--giay);border:1px solid var(--ke);padding:12px 8px}
.ds-que-mh b{font-size:14px;line-height:1.25}
.ds-que-mh span{font-size:12px;color:var(--muc-nhat)}
.mau-mh header{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:baseline}
.mau-mh code{font-size:12px}
.bai-td{max-width:1000px}
.bang-mh tbody th{text-transform:none;letter-spacing:0;font-size:14px}
/* bảng trong hình minh họa không nhận kiểu bảng chung của bài */
.noi-dung-td .minh-hoa table{display:table;width:100%;max-width:none;background:transparent}
.noi-dung-td .minh-hoa .cuon{overflow-x:auto}
.noi-dung-td .minh-hoa .do-hinh-mh td,.noi-dung-td .minh-hoa .la-que-mh td{border:0;border-bottom:1px dotted var(--ke);background:transparent;padding:3px 4px}
.noi-dung-td .minh-hoa .do-hinh-mh tr.la-the td{background:color-mix(in srgb,var(--son) 8%,transparent)}
.noi-dung-td .minh-hoa .la-que-mh tr.dong td{background:color-mix(in srgb,var(--son) 7%,transparent)}
.noi-dung-td .minh-hoa .la-que-mh td{padding:5px 8px}
.noi-dung-td .minh-hoa .la-que-mh{width:auto}
.noi-dung-td .minh-hoa .bang-64{min-width:760px}
.noi-dung-td .minh-hoa .bang-gon{width:auto}
.noi-dung-td .minh-hoa .bang-mh th,.noi-dung-td .minh-hoa .bang-mh td{background:var(--giay)}
.noi-dung-td .minh-hoa .bang-mh thead th{background:var(--muc)}
.noi-dung-td .minh-hoa .bang-luc-thu td{background:inherit}
.noi-dung-td .minh-hoa .bang-64 td.thuan{background:color-mix(in srgb,var(--son) 9%,var(--giay))}
.noi-dung-td .minh-hoa .bang-64 th{background:var(--to)}
.noi-dung-td .minh-hoa .bang-64 thead th{background:var(--to);color:var(--muc)}
.luoi-que-cung{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.svg-mh .nut text.nho{font-size:10.5px}
.svg-mh .nut.noi-bat circle{fill:var(--mau);stroke:var(--mau)}
.svg-mh .nut.noi-bat text{fill:#fff}
.vong-nho .svg-mh .tam-giac{fill-opacity:.16}
.tac-gia-td{margin:0 0 10px;font-size:14px;color:var(--muc-nhat)}
.tac-gia-td a{color:var(--muc);font-weight:600}
.bang-64 .ten-o{font-size:14px}
.bang-64 .ten-day{font-size:11.5px}
.noi-dung-td .minh-hoa .bang-64{min-width:820px}
.noi-dung-td .minh-hoa .la-que-mh tr.phuc-mh td{border-bottom:1px dotted var(--ke);padding:1px 8px 5px 22px;font-size:13px;color:var(--muc-nhat);background:transparent}
.la-que-mh tr.phuc-mh b{color:var(--cham)}
.la-que-mh tr.phuc-mh span{font-weight:600;color:var(--mau)}

/* từ điển A–Z */
.chu-cai{position:sticky;top:0;z-index:5;background:var(--giay);padding:6px 0}
.chu-cai a,.chu-cai span{display:inline-grid;place-items:center;min-width:32px;min-height:32px;padding:0 6px;font-family:var(--chu-so);font-size:14px;border:1px solid var(--ke-dam);background:var(--to);text-decoration:none;color:var(--muc);margin:0 2px 4px 0}
.chu-cai a:hover{background:var(--muc);color:var(--to)}
.chu-cai span{opacity:.35;border-style:dashed}
.chu-td{font-family:var(--chu-so);font-size:28px;scroll-margin-top:70px}
.nhom-nho{display:inline-block;margin-top:4px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muc-nhat)}
.hien-hang-loat{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 14px;padding:10px 12px;background:var(--to);border:1px solid var(--ke)}
.khoi-nhom{border-left:3px solid var(--son,#B8352B)}
.khoi-nhom p{margin:8px 0}
