/* Vọng Khí Đài: khung riêng, hai giao diện tối và sáng, hai cỡ chữ.
   Trang mở ra ở giao diện sáng (thuộc tính data-vkd-gd="sang" trên thẻ html); nền đêm là lựa chọn của người đọc.
   Dùng chung cho bản Việt (/vong-khi-dai) và bản Anh (/en/vong-khi-dai). */
:root:root:root{
  --co:1; --scheme:dark;
  --bg:#0a0f1c; --bg2:#101729; --ink:#efeadd; --ink-soft:#a9abb6;
  --gold:#c9a961; --gold-soft:#ecdfb8; --red:#ecdfb8; --red-2:#dcc078;
  --line:rgba(201,169,97,.2); --line-2:rgba(201,169,97,.42);
  --card:#121a30; --card-2:#172039; --shadow:0 18px 40px rgba(0,0,0,.35);
  --panel:rgba(18,26,48,.72); --field:#0d1426; --sel:#ffffff; --hover:rgba(201,169,97,.1);
  --tab-bg:linear-gradient(135deg,#e2c877,#b08d3c); --tab-ink:#171204; --so-mo:rgba(236,223,184,.32); --admin-ink:var(--admin-ink);
  --glow-1:rgba(74,110,190,.2); --glow-2:rgba(201,169,97,.06);
  --nav-nen:rgba(10,15,28,.94); --chan-nen:#070b15;
  --m-dai-cat:#f5d76e; --m-cat:#4fb286; --m-binh:#7b87a3; --m-hung:#e8915a; --m-dai-hung:#dc4a5c;
  --Kim:#d9b84a; --Moc:#4fa862; --Thuy:#4a8fd0; --Hoa:#d9584a; --Tho:#b98a45;
}
/* Giao diện sáng: giấy ngà, mực xanh đêm, nét đồng. Bật bằng nút trên thanh đầu trang. */
:root:root:root[data-vkd-gd="sang"]{
  --scheme:light;
  --bg:#f6f3ec; --bg2:#eee9dd; --ink:#171b28; --ink-soft:#565b69;
  --gold:#85651c; --gold-soft:#1c2947; --red:#1c2947; --red-2:#775812;
  --line:rgba(23,27,40,.13); --line-2:rgba(23,27,40,.28);
  --card:#ffffff; --card-2:#fffdf8; --shadow:0 14px 34px rgba(40,34,20,.09);
  --panel:rgba(255,255,255,.78); --field:#ffffff; --sel:#171b28; --hover:rgba(133,101,28,.1);
  --tab-bg:#1c2947; --tab-ink:#ffffff; --so-mo:rgba(23,27,40,.22); --admin-ink:#8a3d0c;
  --glow-1:rgba(133,101,28,.1); --glow-2:rgba(28,41,71,.06);
  --nav-nen:rgba(246,243,236,.94); --chan-nen:#131a2c;
  --m-dai-cat:#c9981a; --m-cat:#2e8b63; --m-binh:#8590a8; --m-hung:#d9742f; --m-dai-hung:#c2303f;
  --Kim:#cfa93a; --Moc:#4fa862; --Thuy:#5b9bd8; --Hoa:#dd6a5c; --Tho:#b98a45;
}
:root:root:root[data-vkd-co="lon"]{--co:1.18}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:"Be Vietnam Pro",system-ui,sans-serif;line-height:1.6}
html{color-scheme:var(--scheme)}
body{font-size:calc(16px*var(--co))}
body{background:
  radial-gradient(900px 520px at 50% -120px,var(--glow-1),transparent 70%),
  radial-gradient(700px 400px at 100% 30%,var(--glow-2),transparent 70%),
  var(--bg)}
a{color:var(--red-2)}
a:hover{color:var(--gold-soft)}
.vkd-wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.vkd-serif{font-family:"Noto Serif",serif}
.vkd-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--gold-soft);outline-offset:2px}

.vkd-crumb{font-size:calc(13px*var(--co));color:var(--ink-soft);padding:14px 0 0}
.vkd-crumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.vkd-crumb li+li::before{content:"\203A";margin-right:6px;color:var(--line-2)}

/* Đầu trang */
.vkd-hero{padding:26px 0 8px;text-align:center}
.vkd-eyebrow{display:inline-block;border:1px solid var(--line-2);border-radius:999px;padding:5px 14px;font-size:calc(12.5px*var(--co));letter-spacing:.14em;text-transform:uppercase;color:var(--gold-soft)}
.vkd-hero h1{font-family:"Noto Serif",serif;font-size:calc(clamp(34px,6vw,58px)*var(--co));line-height:1.1;margin:14px 0 10px;color:var(--gold-soft);font-weight:700}
.vkd-hero .vkd-sub{max-width:720px;margin:0 auto;color:var(--ink-soft);font-size:calc(clamp(15px,2.2vw,18px)*var(--co))}
.vkd-clock{display:inline-flex;flex-wrap:wrap;gap:8px 18px;justify-content:center;margin:18px auto 0;padding:9px 18px;border:1px solid var(--line);border-radius:14px;background:var(--panel);font-size:calc(14px*var(--co));color:var(--ink-soft)}
.vkd-clock strong{color:var(--ink);font-weight:600}
.vkd-clock .vkd-lamp{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px;background:var(--m-cat);box-shadow:0 0 0 3px rgba(79,178,134,.2)}
.vkd-clock .vkd-lamp.khoa{background:var(--m-hung);box-shadow:0 0 0 3px rgba(232,145,90,.2)}

/* Khối câu khẳng định cho máy tìm kiếm và trợ lý đọc */
.tcbt-geo{max-width:860px;margin:22px auto 0;padding:16px 20px;border-left:3px solid var(--gold);background:var(--panel);border-radius:0 12px 12px 0;text-align:left;font-size:calc(15px*var(--co));color:var(--ink)}
.tcbt-geo p{margin:0 0 8px}
.tcbt-geo p:last-child{margin:0}

/* Chọn ngày */
.vkd-days{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;margin:30px 0 6px}
.vkd-tabs{display:inline-flex;border:1px solid var(--line-2);border-radius:999px;padding:4px;background:var(--card)}
.vkd-tabs button{appearance:none;border:0;background:transparent;color:var(--ink-soft);font:inherit;font-size:calc(14.5px*var(--co));font-weight:500;padding:8px 18px;border-radius:999px;cursor:pointer}
.vkd-tabs button[aria-pressed="true"]{background:var(--tab-bg);color:var(--tab-ink);font-weight:700}
.vkd-pick{display:inline-flex;gap:6px;align-items:center}
.vkd-pick label{font-size:calc(13px*var(--co));color:var(--ink-soft)}
.vkd-pick input,.vkd-btn-line{appearance:none;font:inherit;font-size:calc(14px*var(--co));color:var(--ink);background:var(--card);border:1px solid var(--line-2);border-radius:10px;padding:7px 12px}
.vkd-pick input{color-scheme:var(--scheme)}
.vkd-btn-line{cursor:pointer}
.vkd-btn-line:hover{border-color:var(--gold);color:var(--gold-soft)}
.vkd-status{text-align:center;color:var(--ink-soft);font-size:calc(14.5px*var(--co));margin:8px 0 0;min-height:1.6em}
.vkd-status strong{color:var(--gold-soft)}

.vkd-notice{max-width:760px;margin:26px auto;padding:22px 24px;border:1px dashed var(--line-2);border-radius:16px;background:var(--panel);text-align:center}
.vkd-notice h2{font-family:"Noto Serif",serif;color:var(--gold-soft);margin:0 0 8px;font-size:calc(22px*var(--co))}
.vkd-notice p{margin:0;color:var(--ink-soft)}
.vkd-admin{max-width:760px;margin:14px auto 0;padding:9px 16px;border:1px solid rgba(232,145,90,.5);border-radius:10px;background:rgba(232,145,90,.08);color:var(--admin-ink);font-size:calc(13.5px*var(--co));text-align:center}

/* Tiêu đề từng tầng */
.vkd-sec{padding:44px 0 6px}
.vkd-sec-head{text-align:center;margin-bottom:22px}
.vkd-tag{font-size:calc(12px*var(--co));letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.vkd-sec-head h2{font-family:"Noto Serif",serif;font-size:calc(clamp(24px,3.6vw,34px)*var(--co));color:var(--gold-soft);margin:6px 0 8px;line-height:1.2}
.vkd-sec-head p{max-width:700px;margin:0 auto;color:var(--ink-soft);font-size:calc(15.5px*var(--co))}
.vkd-rule{width:120px;height:1px;margin:14px auto 0;background:linear-gradient(90deg,transparent,var(--gold),transparent)}

/* Tầng A: vòng hoa giáp */
.vkd-a{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:28px;align-items:center}
.vkd-dial{position:relative;max-width:560px;width:100%;margin:0 auto}
.vkd-dial svg{display:block;width:100%;height:auto}
.vkd-dial .guide{fill:none;stroke:var(--line);stroke-width:1}
.vkd-dial .guide.base{stroke:var(--line-2)}
.vkd-dial .w{cursor:pointer}
.vkd-dial .w .bar{transition:opacity .15s}
.vkd-dial .w .hit{fill:transparent}
.vkd-dial .w:hover .bar{opacity:.75}
.vkd-dial .w.sel .bar{stroke:var(--sel);stroke-width:2}
.vkd-dial .needle{stroke:var(--sel);stroke-width:1.5;stroke-dasharray:3 4;opacity:.8}
.vkd-dial .lab{fill:var(--ink-soft);font-size:12px;font-family:"Be Vietnam Pro",system-ui,sans-serif}
.vkd-dial .c-ring{fill:var(--field);stroke:var(--line-2);stroke-width:1.5}
.vkd-dial .c-1{fill:var(--gold);font-size:11px;letter-spacing:.2em;font-family:"Be Vietnam Pro",system-ui,sans-serif}
.vkd-dial .c-2{fill:var(--gold-soft);font-size:30px;font-weight:700;font-family:"Noto Serif",serif}
.vkd-dial .c-3{fill:var(--ink-soft);font-size:13px;font-family:"Be Vietnam Pro",system-ui,sans-serif}
.m-dai-cat{fill:var(--m-dai-cat)} .m-cat{fill:var(--m-cat)} .m-binh{fill:var(--m-binh)} .m-hung{fill:var(--m-hung)} .m-dai-hung{fill:var(--m-dai-hung)} .m-trong{fill:rgba(123,135,163,.3)}
.vkd-legend{list-style:none;display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:center;margin:10px 0 0;padding:0;font-size:calc(13.5px*var(--co));color:var(--ink-soft)}
.vkd-legend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.vkd-legend b{color:var(--ink);font-weight:600}
.vkd-dial-note{text-align:center;font-size:calc(13px*var(--co));color:var(--ink-soft);margin:8px 0 0}

.vkd-card{background:linear-gradient(180deg,var(--card-2),var(--card));border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--shadow)}
.vkd-card h3{font-family:"Noto Serif",serif;color:var(--gold-soft);font-size:calc(19px*var(--co));margin:0 0 10px}
.vkd-tongquan{margin:0 0 16px;font-size:calc(15.5px*var(--co))}
.vkd-form{display:grid;grid-template-columns:130px 1fr;gap:10px;margin:0 0 6px}
.vkd-form label{display:block;font-size:calc(12.5px*var(--co));color:var(--ink-soft);margin-bottom:4px}
.vkd-form input,.vkd-form select{width:100%;font:inherit;font-size:calc(15px*var(--co));color:var(--ink);background:var(--field);border:1px solid var(--line-2);border-radius:10px;padding:9px 11px;color-scheme:var(--scheme)}
.vkd-hint{font-size:calc(12.5px*var(--co));color:var(--ink-soft);margin:0 0 14px}
.vkd-age{border-top:1px solid var(--line);padding-top:14px;min-height:120px}
.vkd-age .ten{font-family:"Noto Serif",serif;font-size:calc(21px*var(--co));color:var(--ink);margin:0 0 6px}
.vkd-muc{display:inline-block;border-radius:999px;padding:3px 12px;font-size:calc(13px*var(--co));font-weight:700;color:#12151f;margin-left:8px;vertical-align:3px}
.vkd-muc.dai-cat{background:var(--m-dai-cat)} .vkd-muc.cat{background:var(--m-cat)} .vkd-muc.binh{background:var(--m-binh)} .vkd-muc.hung{background:var(--m-hung)} .vkd-muc.dai-hung{background:var(--m-dai-hung);color:#fff}
.vkd-age .loi{margin:0 0 12px;color:var(--ink)}
.vkd-vote{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.vkd-vote button{appearance:none;font:inherit;font-size:calc(14px*var(--co));font-weight:600;border-radius:10px;padding:8px 16px;cursor:pointer;border:1px solid var(--line-2);background:var(--field);color:var(--ink)}
.vkd-vote button:hover{border-color:var(--gold)}
.vkd-vote button[aria-pressed="true"]{background:var(--tab-bg);color:var(--tab-ink);border-color:transparent}
.vkd-vote button:disabled{opacity:.5;cursor:default}
.vkd-vote-note{font-size:calc(12.5px*var(--co));color:var(--ink-soft);margin:8px 0 0}

/* Tầng B: bàn chín cung */
.vkd-b{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:28px;align-items:start}
.vkd-grid9{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;position:sticky;top:90px}
.vkd-cung{aspect-ratio:1;border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:8px;display:flex;flex-direction:column;justify-content:space-between;min-width:0}
.vkd-cung.co{border-color:var(--line-2);background:linear-gradient(180deg,var(--card-2),var(--card))}
.vkd-cung .so{font-family:"Noto Serif",serif;font-size:calc(20px*var(--co));color:var(--so-mo);line-height:1}
.vkd-cung.co .so{color:var(--gold)}
.vkd-cung .huong{font-size:calc(11px*var(--co));color:var(--ink-soft);line-height:1.25}
.vkd-cung .nuoc{display:flex;flex-wrap:wrap;gap:4px}
.vkd-cung .nuoc a{font-size:calc(12px*var(--co));font-weight:700;text-decoration:none;color:var(--tab-ink);background:var(--tab-bg);border-radius:6px;padding:2px 7px}
.vkd-cung .cua{font-size:calc(11.5px*var(--co));color:var(--ink);line-height:1.25}
.vkd-grid-note{grid-column:1/-1;font-size:calc(12.5px*var(--co));color:var(--ink-soft);margin:6px 0 0;text-align:center}

.vkd-countries{display:grid;gap:16px}
.vkd-nuoc{scroll-margin-top:100px}
.vkd-nuoc h3{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;margin:0 0 4px}
.vkd-nuoc h3 small{font-family:"Be Vietnam Pro",system-ui,sans-serif;font-size:calc(12.5px*var(--co));font-weight:500;color:var(--ink-soft)}
.vkd-ban{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px;padding:0;list-style:none;font-size:calc(12.5px*var(--co))}
.vkd-ban li{border:1px solid var(--line);border-radius:8px;padding:3px 9px;color:var(--ink-soft)}
.vkd-ban li b{color:var(--ink);font-weight:600}
.vkd-cau{border-top:1px solid var(--line);padding:12px 0}
.vkd-cau:last-child{padding-bottom:0}
.vkd-cau-top{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:5px}
.vkd-loai{font-size:calc(11.5px*var(--co));letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.vkd-dau{margin-left:auto;font-size:calc(12.5px*var(--co));font-weight:700;border-radius:999px;padding:2px 11px;border:1px solid var(--line-2);color:var(--ink-soft)}
.vkd-dau.ung{background:var(--m-cat);border-color:var(--m-cat);color:#0c1a13}
.vkd-dau.khong{background:var(--m-dai-hung);border-color:var(--m-dai-hung);color:#fff}
.vkd-dau.bo{background:var(--m-binh);border-color:var(--m-binh);color:#10131c}
.vkd-cau .loi{margin:0;font-size:calc(15.5px*var(--co))}
.vkd-hanh{display:inline-block;border-radius:6px;padding:0 7px;font-size:calc(12.5px*var(--co));font-weight:700;color:#10131c;margin-left:6px}
.vkd-cau .moc{font-size:calc(13px*var(--co));color:var(--ink-soft);margin:4px 0 0}
.vkd-cau details{margin-top:6px;font-size:calc(13.5px*var(--co));color:var(--ink-soft)}
.vkd-cau summary{cursor:pointer;color:var(--red-2)}
.vkd-cau details p{margin:6px 0 0}
.vkd-bangchung{margin:8px 0 0;padding:8px 12px;border-left:2px solid var(--gold);background:var(--panel);font-size:calc(13.5px*var(--co));border-radius:0 8px 8px 0}
.vkd-skip{margin:10px 0 0;font-size:calc(13px*var(--co));color:var(--ink-soft)}

/* Sổ ứng nghiệm */
.vkd-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.vkd-tile{border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:var(--card)}
.vkd-tile .n{font-family:"Noto Serif",serif;font-size:calc(26px*var(--co));color:var(--gold-soft);line-height:1.15}
.vkd-tile .t{font-size:calc(12.5px*var(--co));color:var(--ink-soft)}
.vkd-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--card)}
.vkd-table{width:100%;border-collapse:collapse;font-size:calc(14px*var(--co));min-width:640px}
.vkd-table caption{caption-side:top;text-align:left;padding:12px 16px;color:var(--ink-soft);font-size:calc(13.5px*var(--co))}
.vkd-table th,.vkd-table td{padding:9px 14px;text-align:left;border-top:1px solid var(--line)}
.vkd-table thead th{font-size:calc(12px*var(--co));letter-spacing:.08em;text-transform:uppercase;color:var(--gold);font-weight:600;white-space:nowrap}
.vkd-table td.num,.vkd-table th.num{text-align:right;font-variant-numeric:tabular-nums}
.vkd-table tbody th{font-weight:600;color:var(--ink)}
.vkd-chua{color:var(--ink-soft);font-size:calc(13px*var(--co))}
.vkd-ledger-note{font-size:calc(13.5px*var(--co));color:var(--ink-soft);margin:12px 0 0}

/* Dấu niêm */
.vkd-seal{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center}
.vkd-seal-mark{width:104px;height:104px;border-radius:50%;border:2px solid var(--gold);display:grid;place-items:center;text-align:center;font-family:"Noto Serif",serif;color:var(--gold-soft);font-size:calc(12px*var(--co));letter-spacing:.14em;line-height:1.35;transform:rotate(-8deg);box-shadow:inset 0 0 0 5px rgba(212,175,55,.12)}
.vkd-seal dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;font-size:calc(14px*var(--co))}
.vkd-seal dt{color:var(--ink-soft)}
.vkd-seal dd{margin:0;min-width:0}
.vkd-hash{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:calc(12.5px*var(--co));word-break:break-all;color:var(--gold-soft)}
.vkd-kiem{margin-top:12px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.vkd-kiem-kq{font-size:calc(14px*var(--co))}
.vkd-ok{color:var(--m-cat);font-weight:600}
.vkd-sai{color:var(--m-dai-hung);font-weight:600}

/* Phần chữ tĩnh */
.vkd-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;counter-reset:b}
.vkd-steps li{position:relative;border:1px solid var(--line);border-radius:14px;padding:18px 16px 16px;background:var(--card)}
.vkd-steps .gio{font-family:"Noto Serif",serif;font-size:calc(22px*var(--co));color:var(--gold-soft);display:block;margin-bottom:4px}
.vkd-steps strong{display:block;color:var(--ink);margin-bottom:4px}
.vkd-steps p{margin:0;font-size:calc(14px*var(--co));color:var(--ink-soft)}
.vkd-laws{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:12px;counter-reset:l}
.vkd-laws li{counter-increment:l;border:1px solid var(--line);border-radius:14px;padding:14px 16px 14px 56px;position:relative;background:var(--card);font-size:calc(14.5px*var(--co));color:var(--ink-soft)}
.vkd-laws li::before{content:counter(l);position:absolute;left:16px;top:14px;width:28px;height:28px;border-radius:50%;border:1px solid var(--gold);color:var(--gold-soft);display:grid;place-items:center;font-family:"Noto Serif",serif;font-size:calc(14px*var(--co))}
.vkd-laws strong{display:block;color:var(--ink)}
.vkd-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.vkd-two ul{margin:8px 0 0;padding-left:20px;color:var(--ink-soft);font-size:calc(14.5px*var(--co))}
.vkd-faq details{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:0 18px;margin-bottom:10px}
.vkd-faq summary{cursor:pointer;padding:14px 0;font-weight:600;color:var(--ink)}
.vkd-faq details p{margin:0 0 14px;color:var(--ink-soft);font-size:calc(15px*var(--co))}
.vkd-links{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0;padding:0;list-style:none}
.vkd-links a{display:inline-block;border:1px solid var(--line-2);border-radius:999px;padding:8px 16px;text-decoration:none;font-size:calc(14.5px*var(--co))}
.vkd-links a:hover{background:var(--hover)}
.vkd-disclaimer{max-width:820px;margin:40px auto 56px;padding:16px 20px;border:1px solid var(--line);border-radius:12px;font-size:calc(13.5px*var(--co));color:var(--ink-soft);text-align:center}
.vkd-author{text-align:center;font-size:calc(13.5px*var(--co));color:var(--ink-soft);margin:26px 0 0}

@media(max-width:980px){
  .vkd-a,.vkd-b{grid-template-columns:1fr}
  .vkd-grid9{position:static;max-width:380px;margin:0 auto}
  .vkd-tiles{grid-template-columns:repeat(2,1fr)}
  .vkd-steps{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:639px){
  .vkd-wrap{padding:0 14px}
  .vkd-sec{padding:34px 0 4px}
  .vkd-card{padding:16px}
  .vkd-laws,.vkd-two,.vkd-steps{grid-template-columns:1fr}
  .vkd-seal{grid-template-columns:1fr;justify-items:center}
  .vkd-seal dl{grid-template-columns:1fr;gap:2px}
  .vkd-seal dd{margin-bottom:8px}
  .vkd-form{grid-template-columns:1fr}
  .vkd-tabs button{padding:8px 13px;font-size:calc(13.5px*var(--co))}
  .vkd-dial .lab{font-size:14px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.vkd-dial .w .bar{transition:none}}

/* ════════ KHUNG RIÊNG CỦA VỌNG KHÍ ĐÀI ════════
   Trang này không dùng nav, footer hay components.js của trang chính.
   Có đúng một lối quay về trang Thầy Ưng Khiêm ở thanh trên và một lối ở chân trang.
   Chữ trên thanh đầu không phóng theo --co để thanh giữ nguyên chiều cao. */
.vkd-sec,#vkd-days{scroll-margin-top:96px}
.vkd-nhay{position:absolute;left:-9999px;top:0;z-index:100;background:var(--card);color:var(--ink);padding:10px 16px;border-radius:0 0 10px 0}
.vkd-nhay:focus{left:0}
.vkd-nav{position:sticky;top:0;z-index:60;background:var(--nav-nen);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.vkd-nav-in{max-width:1240px;margin:0 auto;padding:9px 20px;display:flex;align-items:center;gap:18px}
.vkd-hieu{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);flex:none}
/* Logo địa cầu: ảnh tĩnh nằm dưới, vong-khi-dai.js vẽ bản xoay đè lên trong hộp .vkd-k5 */
.vkd-logo,.vkd-k5{width:36px;height:36px;flex:none;display:block;border-radius:50%}
.vkd-k5{position:relative}
.vkd-k5 canvas,.vkd-k5 svg,.vkd-k5 .vkd-logo{position:absolute;left:0;top:0;width:100%;height:100%}
.vkd-k5 canvas{border-radius:50%}
.vkd-k5 svg{overflow:visible}
.vkd-hieu-t{display:flex;flex-direction:column;line-height:1.15}
.vkd-hieu-t b{font-family:"Noto Serif",serif;font-size:15.5px;letter-spacing:.14em;color:var(--gold-soft);white-space:nowrap}
.vkd-hieu-t i{font-style:normal;font-size:9.5px;letter-spacing:.3em;color:var(--ink-soft);white-space:nowrap}
.vkd-menu{display:flex;gap:2px;flex:1;min-width:0;justify-content:center}
.vkd-menu a{color:var(--ink-soft);text-decoration:none;font-size:14px;font-weight:500;padding:7px 11px;border-radius:8px;white-space:nowrap}
.vkd-menu a:hover{color:var(--gold-soft);background:var(--hover)}
.vkd-tools{display:flex;align-items:center;gap:8px;flex:none;margin-left:auto}
/* Nút gạt hai nấc, theo chuẩn nút gạt giao diện của La Bàn Pro */
.vkd-sw{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;flex:none;width:64px;height:34px;padding:2px;border-radius:17px;background:var(--bg2);border:1.5px solid var(--line-2);box-shadow:inset 0 1px 2px rgba(0,0,0,.14)}
.vkd-sw::before{content:"";position:absolute;top:2px;bottom:2px;left:2px;width:calc(50% - 2px);border-radius:15px;background:var(--card-2);box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .22s ease}
html[data-vkd-gd="sang"] .vkd-sw-gd::before,html[data-vkd-co="lon"] .vkd-sw-co::before{transform:translateX(100%)}
.vkd-sw button{position:relative;z-index:1;appearance:none;border:0;background:transparent;padding:0;border-radius:15px;line-height:1;color:var(--ink-soft);display:flex;align-items:center;justify-content:center;cursor:pointer}
.vkd-sw button[aria-pressed="true"]{color:var(--gold)}
.vkd-sw svg{width:16px;height:16px}
.vkd-sw-co button[data-vkd-co="thuong"]{font:600 13px/1 "Noto Serif",serif}
.vkd-sw-co button[data-vkd-co="lon"]{font:700 18px/1 "Noto Serif",serif}
.vkd-ngu,.vkd-ve{display:inline-flex;align-items:center;gap:7px;height:34px;text-decoration:none;font-size:13px;font-weight:600;border-radius:17px;white-space:nowrap}
.vkd-ngu{padding:0 11px;color:var(--ink-soft);border:1.5px solid var(--line-2);letter-spacing:.06em}
.vkd-ngu:hover{color:var(--gold-soft);border-color:var(--gold)}
.vkd-ve{padding:0 14px;color:var(--tab-ink);background:var(--tab-bg)}
.vkd-ve:hover{color:var(--tab-ink);filter:brightness(1.08)}
.vkd-ve svg{width:15px;height:15px;flex:none}
.vkd-ve .n{display:none}

.vkd-chan{margin-top:20px;background:var(--chan-nen);color:#b9bcc8;border-top:1px solid rgba(201,169,97,.25);font-size:14px}
.vkd-chan-in{max-width:1120px;margin:0 auto;padding:40px 20px 22px}
.vkd-chan-luoi{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:30px}
.vkd-chan-hieu{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.vkd-chan-hieu .vkd-logo,.vkd-chan-hieu .vkd-k5{width:40px;height:40px}
.vkd-chan-hieu b{font-family:"Noto Serif",serif;letter-spacing:.14em;color:#ecdfb8;font-size:16px}
.vkd-cot p{margin:0 0 14px;line-height:1.6}
.vkd-cot-h{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#c9a961;margin:4px 0 12px;font-weight:600}
.vkd-cot ul{list-style:none;margin:0;padding:0}
.vkd-cot li{margin:0 0 8px}
.vkd-chan a{color:#dfe1e8;text-decoration:none}
.vkd-chan a:hover{color:#ecdfb8;text-decoration:underline}
.vkd-chan-ve{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(201,169,97,.5);border-radius:999px;padding:8px 16px;font-weight:600}
.vkd-chan-ve svg{width:15px;height:15px}
.vkd-chan-duoi{margin-top:28px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;font-size:12.5px;color:#8d91a0}
.vkd-chan-duoi p{margin:0}

@media(max-width:1080px){
  .vkd-nav-in{flex-wrap:wrap;gap:8px 12px;padding:8px 14px}
  .vkd-menu{order:3;flex:0 0 100%;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;margin:0 -4px}
  .vkd-menu::-webkit-scrollbar{display:none}
  .vkd-menu a{padding:5px 10px;font-size:13.5px}
  .vkd-sec,#vkd-days{scroll-margin-top:120px}
}
@media(max-width:760px){
  .vkd-ve .d{display:none}.vkd-ve .n{display:inline}
  .vkd-chan-luoi{grid-template-columns:1fr 1fr}
  .vkd-cot-hieu{grid-column:1/-1}
}
@media(max-width:520px){
  .vkd-hieu-t i{display:none}
  .vkd-hieu-t b{font-size:13.5px;letter-spacing:.08em}
  .vkd-nav .vkd-logo,.vkd-nav .vkd-k5{width:32px;height:32px}
  .vkd-tools{gap:6px}
  .vkd-sw{width:56px;height:32px}
  .vkd-ngu,.vkd-ve{height:32px}
  .vkd-ngu{padding:0 8px}
  .vkd-ve{padding:0 10px}.vkd-ve .n{display:none}
}
@media(max-width:400px){.vkd-hieu-t{display:none}}
@media(prefers-reduced-motion:reduce){.vkd-sw::before{transition:none}}
@media print{.vkd-nav,.vkd-chan,.vkd-nhay{display:none}}

/* ════════ BỐ CỤC DỰ BÁO LÊN ĐẦU (11/11/2026) ════════
   Vào trang là thấy bộ chọn ngày và dự báo. Giải nghĩa, ghi chú, đồng hồ khóa sổ nằm ở mục Giải nghĩa cuối trang.
   Mặc định là giao diện sáng; giao diện tối bật bằng nút gạt. */
.vkd-hero{padding:14px 0 0}
.vkd-hero h1{font-size:calc(clamp(25px,4.2vw,38px)*var(--co));margin:0 0 2px}
.vkd-hero .vkd-sub{font-size:calc(clamp(13.5px,1.9vw,15.5px)*var(--co))}
.vkd-days{margin:12px 0 2px}
.vkd-status{margin:6px 0 0}
#vkd-noi-dung .vkd-sec{padding-top:24px}
#vkd-noi-dung .vkd-sec-head{margin-bottom:14px}
#vkd-noi-dung .vkd-sec-head h2{font-size:calc(clamp(21px,3vw,28px)*var(--co));margin:4px 0 0}
#vkd-noi-dung .vkd-rule{margin-top:10px}
.vkd-a{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start}
#giai-nghia{text-align:center}
#giai-nghia .vkd-clock{margin:0 auto 18px}
.vkd-giai{list-style:none;margin:0 0 18px;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px;text-align:left}
.vkd-giai li{border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:var(--card);font-size:calc(14.5px*var(--co));color:var(--ink-soft)}
.vkd-giai strong{display:block;color:var(--ink);margin-bottom:2px}
#giai-nghia .tcbt-geo{margin-top:0}
.vkd-crumb{padding:0;margin:30px 0 0}
.vkd-crumb ol{justify-content:center}
.vkd-disclaimer{margin-top:14px}
@media(max-width:980px){
  .vkd-a{grid-template-columns:1fr}
}
@media(max-width:639px){
  .vkd-wrap{padding:0 8px}
  .vkd-nav-in{padding:6px 8px}
  .vkd-menu{display:none}
  .vkd-sec,#vkd-days{scroll-margin-top:58px}
  .vkd-hero{padding-top:10px}
  .vkd-days{gap:8px;margin-top:10px}
  .vkd-tabs{display:flex;width:100%}
  .vkd-tabs button{flex:1;padding:9px 4px;font-size:calc(14.5px*var(--co))}
  .vkd-pick{width:100%;justify-content:center}
  .vkd-sec{padding:26px 0 2px}
  #vkd-noi-dung .vkd-sec{padding-top:18px}
  .vkd-card{padding:14px 12px;border-radius:14px}
  .vkd-a{gap:14px}
  .vkd-b{gap:16px}
  .vkd-dial,.vkd-grid9{max-width:none}
  .vkd-countries{gap:10px}
  .vkd-notice{margin:14px 0;padding:16px 14px;border-radius:14px}
  .vkd-giai{grid-template-columns:1fr;gap:8px}
  .vkd-giai li,.vkd-steps li{padding:12px}
  .vkd-laws li{padding:12px 12px 12px 50px}
  .vkd-laws li::before{left:12px;top:12px}
  .vkd-faq details{padding:0 12px}
  .tcbt-geo{padding:12px 14px}
  .vkd-table th,.vkd-table td{padding:8px 10px}
  .vkd-table caption{padding:10px 12px}
  .vkd-tile{padding:12px}
  .vkd-clock{padding:8px 12px;gap:4px 14px}
  .vkd-chan-in{padding:28px 12px 18px}
  .vkd-disclaimer{padding:12px 14px;margin-bottom:36px}
}
