:root{font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;color:#e9f1e8;background:#091c15;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 0,#214434,#0b2018 60%,#091c15);min-height:100vh}a{color:#f2d79c;text-decoration:none}a:hover{text-decoration:underline}.site{max-width:1480px;margin:auto;padding:22px 22px 56px}.site-head{display:flex;align-items:center;gap:17px;border-bottom:1px solid #466351;padding-bottom:20px;margin-bottom:20px}.logo-symbol{width:65px;height:65px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(135deg,#ead198,#aa843f);font-size:34px;color:#223b2b}.overline,.eyebrow,.stage-label{font-size:11px;letter-spacing:.14em;font-weight:850;color:#d6b775}.site-head h1{font-size:clamp(26px,3vw,38px);color:#f4d999;margin:2px 0 3px}.site-head p{font-size:14px;color:#c2d8c8;margin:0}.birth-form{background:#15372a;border:1px solid #4e705b;border-radius:17px;padding:19px 22px;margin-bottom:22px}.form-intro{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;margin-bottom:10px}.form-intro h2{font-size:19px;color:#f5d69a;margin:0}.form-intro p{color:#b5cebe;margin:0;font-size:13px}.fields{display:grid;grid-template-columns:1.25fr 1fr 1fr .8fr 1fr;gap:12px;align-items:end}.fields label{display:flex;flex-direction:column;gap:6px;font-weight:650;font-size:12px;color:#f0dbb0}.fields label small{font-weight:400;color:#bed3bf}.fields input:not([type=checkbox]),.fields select{height:43px;width:100%;border:1px solid #628575;border-radius:9px;background:#0f2a21;color:#fafbf4;padding:9px;font:500 14px system-ui}.fields input:focus,.fields select:focus{outline:2px solid #e3c684;outline-offset:1px}.fields .leap-label{font-weight:400;display:flex;align-items:center;flex-direction:row;gap:8px;padding:0 4px;min-height:44px}.leap-label input{accent-color:#d1ac62}.fields button{background:linear-gradient(135deg,#f3db9f,#caaa62);border:0;border-radius:9px;padding:11px 15px;font-weight:800;color:#1c3023;cursor:pointer;min-height:43px;grid-column:span 2}.fields button:hover{filter:brightness(1.08)}.stage{background:#123125;border:1px solid #416650;border-radius:18px;padding:23px 23px 27px;margin:22px 0}.stage-title{display:flex;justify-content:space-between;gap:15px;align-items:center}.stage h2{font-size:clamp(25px,3vw,34px);color:#f4d89b;margin:9px 0}.stage h3{color:#f2dba5;margin:8px 0 11px;font-size:19px}.stage p{line-height:1.72;font-size:14px}.stage-title p{margin:0;color:#c4dacb}.skip-link{background:#234c39;border:1px solid #b99955;border-radius:999px;padding:10px 16px;font-size:13px;white-space:nowrap}.loading,.notice,.disclaimer,.err{padding:16px 18px;border-radius:11px;background:#29422f;border:1px solid #8d7c52;line-height:1.7}.err{background:#4b2b21;border-color:#b8735c;color:#ffe0d0}.notice{color:#e9e1c2}.calc-title,.block-title{padding-top:21px;margin-top:20px;border-top:1px solid #3f624e}.calc-title p,.block-title p{color:#c5dacb;margin:0 0 15px}.fact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.fact{padding:17px;background:#1c4533;border:1px solid #517458;border-radius:12px;min-width:0}.fact span,.fact small{display:block;font-size:12px;color:#c1d5c4;line-height:1.45}.fact strong{display:block;color:#f1d69d;font-size:19px;margin:6px 0;overflow-wrap:anywhere}.pillars{margin-top:19px;padding:17px;border-radius:13px;background:#193c2e;border:1px solid #4e7158}.pillars-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.pillars-grid>div{padding:12px;border:1px solid #657c57;border-radius:10px;background:#254735;text-align:center}.pillars-grid small{font-size:11px;display:block;color:#c4dac5}.pillars-grid b{display:block;margin-top:5px;font-size:18px;color:#f9dc9f}.pillars p,.small{font-size:12px!important;color:#c6d7c7!important}.facts-deep{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:15px}.facts-deep article{border:1px solid #4b7056;background:#1b4130;border-radius:12px;padding:17px}.facts-deep p{margin:8px 0}.reading-stage{border-color:#a28b54;background:linear-gradient(180deg,#173d2d,#112b23 36%);padding-top:27px}.stage-label.light{color:#fae0a7}.reading-stage>h2{font-size:clamp(29px,4vw,43px);margin:10px 0}.reading-lead{font-size:16px!important;color:#e5f0dd;max-width:1040px}.section-links{display:flex;gap:10px;flex-wrap:wrap;margin:19px 0 25px}.section-links a{font-size:13px;border-radius:999px;padding:10px 15px;background:#27523a;border:1px solid #8e8d5f}.overview-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:15px 0 24px}.overview{display:flex;flex-direction:column;gap:9px;background:#214634;border-radius:12px;border:1px solid #54745b;padding:17px;min-width:0}.overview b{color:#f2d69c}.overview span{line-height:1.62;color:#d2dfd2;font-size:13px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.overview small{font-weight:700;color:#e9c684;align-self:flex-end}.reading-article{border:1px solid #54765c;border-radius:15px;padding:24px;margin:15px 0;background:#1a3c2e;scroll-margin-top:18px}.article-head{display:flex;align-items:start;gap:14px;border-bottom:1px solid #466851;padding-bottom:14px}.article-head>span{display:grid;place-items:center;width:42px;flex:0 0 42px;height:42px;color:#f6dfab;border:1px solid #bc9f60;background:#30513b;border-radius:11px;font-weight:900}.article-head h3{font-size:21px;color:#f5dba7;margin:0 0 4px}.article-head p{margin:0;font-size:13px;color:#bed6c4}.article-body p{font-size:15px;line-height:1.92;color:#e3f1e7;margin:13px 0}.actions{background:#294636;border:1px solid #63734e;border-left:4px solid #d9b46b;padding:14px 16px;margin:17px 0 11px;border-radius:9px}.actions b{color:#f7dba3}.actions ul{margin:6px 0 0;padding-left:20px;line-height:1.83;font-size:14px}.reading-article details,.palace-article details{border-top:1px solid #536f5b;padding-top:11px;color:#c0d6c6;font-size:13px}.reading-article summary,.palace-article summary{cursor:pointer;color:#d7c390;font-weight:700}.reading-article details li{margin:7px 0}.markers{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:11px;margin:18px 0}.markers>div{border:1px solid #5d775c;background:#204434;border-radius:10px;padding:13px}.markers strong{color:#f5d89b}.markers small{display:block;color:#c1d4c3;margin-top:4px}.disclaimer{margin-top:24px;color:#e5dcc3}.welcome{margin-top:20px;padding:35px;background:#16382a;border:1px solid #597258;border-radius:16px}.welcome h2{font-size:28px;color:#eecd89}.welcome p{line-height:1.85;color:#d1e1d4;max-width:930px}footer{text-align:center;color:#aac8b5;font-size:12px;padding:25px 0}.palace-index{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 20px}.palace-index a{border-radius:10px;border:1px solid #567c62;background:#244a38;padding:11px;font-weight:720;color:#f5d9a1}.palace-index small{display:block;color:#c7dccb;margin-top:5px;font-size:12px;font-weight:400}.palace-article{background:#204332;border-radius:15px;border:1px solid #5a7d61;padding:24px;margin:16px 0;scroll-margin-top:20px}.palace-head{display:flex;justify-content:space-between;align-items:start;gap:13px;border-bottom:1px solid #4b6b56;padding-bottom:11px;margin-bottom:14px}.palace-head h4{font-size:24px;color:#f3d898;margin:5px 0}.palace-head p{font-size:13px;color:#c5d9ca;margin:0}.palace-grade{padding:6px 11px;font-size:12px;border:1px solid;border-radius:999px;white-space:nowrap}.palace-grade.mix{background:#4d432a;color:#f8d894;border-color:#987b43}.palace-grade.good{background:#21593b;color:#c2f3d1;border-color:#60a17a}.palace-grade.care{background:#553228;color:#ffd5bf;border-color:#af7964}.palace-grade.neutral{background:#31423a;color:#dce6dc;border-color:#718a7b}.palace-body{font-size:15px;line-height:1.85;color:#e8f0e8}.palace-body p{font-size:15px;line-height:1.9}.palace-signals{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:18px}.palace-signals>div{padding:15px;border-radius:12px;background:#1a392d;border:1px solid #4d7054}.palace-signals b{color:#e9d49a}.palace-signals ul{margin:9px 0 0;padding-left:19px;line-height:1.75;font-size:13px}.palace-tips{border-left:4px solid #d4b578;background:#2a4434;border-radius:7px;padding:14px 18px;margin:15px 0}.palace-tips b{color:#f0d69c}.palace-tips p{margin:8px 0 0;line-height:1.75}.palace-rules{line-height:1.7;font-size:13px;color:#bad3c3}.palace-rules code{color:#ead194}#nam-can-chu-y{scroll-margin-top:20px}.mobile-palace-cards{display:none}.pl-view{min-width:0!important;width:100%;max-width:100%}.pl-view svg{width:100%!important;height:auto!important;max-width:100%!important}.pl-view-outer{overflow:hidden!important;width:100%;max-width:100%}.pl-toolbar{margin-top:13px!important}.pl-toolbar label{min-width:100px}.pl-detail{line-height:1.75}
@media(max-width:900px){.site{padding:16px 11px 36px}.stage{padding:16px}.fields{grid-template-columns:repeat(3,minmax(0,1fr))}.fields button{grid-column:span 2}.fact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.palace-index{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.site{padding:12px 8px 35px}.site-head h1{font-size:27px}.site-head p{font-size:12px}.birth-form{padding:15px}.fields{grid-template-columns:repeat(2,minmax(0,1fr))}.fields button{grid-column:1/-1}.fields .leap-label{grid-column:1/-1}.stage{padding:15px 11px}.stage-title{flex-direction:column;align-items:start}.fact-grid{gap:7px}.fact{padding:11px}.fact strong{font-size:16px}.pillars-grid{gap:6px}.pillars-grid>div{padding:7px 4px}.pillars-grid b{font-size:15px}.facts-deep{grid-template-columns:1fr}.overview-cards{grid-template-columns:1fr}.reading-article,.palace-article{padding:15px}.article-head h3{font-size:19px}.palace-index{grid-template-columns:repeat(2,minmax(0,1fr))}.palace-signals{grid-template-columns:1fr}.palace-head{flex-direction:column}.pl-view svg{width:100%!important}.pl-view{width:100%}.pl-detail{display:none}.mobile-palace-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}.mobile-palace-cards button{background:#27513c;color:#efddb5;border:1px solid #4a765b;border-radius:9px;padding:11px;font-weight:800;text-align:left}.mobile-palace-cards button span{font-size:11px;font-weight:500;color:#cedbcd;display:block;margin-top:3px}.mobile-palace-cards button.active{border-color:#e4ba6a;background:#376247}.pl-mobile-detail{display:block!important;background:#214332;border:1px solid #608463;border-radius:10px;padding:12px;margin:10px 0;font-size:13px;line-height:1.75}.pl-toolbar button.pl-btn{flex-grow:1}}
/* Diễn giải mới: ngắn phần căn cứ, cụ thể phần thuận/khó và vận trình. */
.palace-article.refined{padding:clamp(18px,2.5vw,28px);background:linear-gradient(160deg,#224735,#17382c);border-color:#67876a;box-shadow:0 12px 25px #00160d35}
.palace-conclusion{border:1px solid #a69161;border-left:5px solid #dec482;background:#2f4939;padding:16px 19px;border-radius:10px;margin:15px 0}
.palace-conclusion small{display:block;letter-spacing:.12em;color:#f8df9a;font-size:11px;font-weight:850}
.palace-conclusion p{margin:7px 0 0;color:#f5f4e8;line-height:1.78;font-size:16px;font-weight:540}
.palace-signals>div{border-width:1px;padding:17px}
.palace-signals .positive{border-color:#5d9477;background:#1a4936}
.palace-signals .caution{border-color:#a28863;background:#4a3629}
.palace-signals b{font-size:15px;color:#f7dc9d}
.palace-signals ul{font-size:14px;line-height:1.78}
.palace-signals li{margin-bottom:8px;color:#ecf2e9}
.palace-signals strong{color:#fff0bc}
.palace-time{background:#253f37;border:1px solid #537b73;padding:15px 17px;border-radius:11px;margin-top:16px}
.palace-time b{color:#dfd5a1}
.palace-time p{margin:6px 0 0;line-height:1.72;font-size:14px}
.palace-tips{border-color:#dfc47d;background:#324d38;margin-top:15px}
.compat-inline{margin:16px 0;padding:15px 16px;border:1px solid #667c58;background:#2a4637;border-radius:10px;font-size:14px;line-height:1.72}
.compat-inline>b{color:#ffde9f}.compat-inline p{margin:8px 0 0}
.life-timeline{margin:24px 0 5px}.life-timeline h3{font-size:26px;color:#f1d498;margin:7px 0 8px}.life-timeline h4.time-section-title{color:#f4dea6;font-size:21px;margin:28px 0 12px}.life-cycles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.cycle-card{display:flex;flex-direction:column;gap:7px;background:#244a37;border:1px solid #69856a;border-radius:13px;padding:16px;min-width:0}
.cycle-card .cycle-age{font-weight:900;color:#f2d08a;font-size:20px;font-variant-numeric:tabular-nums}
.cycle-card h5{font-size:18px;margin:0;color:#fff1c7}.cycle-card p{font-size:13px;line-height:1.65;margin:0;color:#e3efe0}.cycle-card .cycle-context{font-weight:600;color:#e4e2bb}
.cycle-card .palace-grade{align-self:flex-start;margin-top:auto;white-space:normal}.cycle-card small{font-size:12px;color:#b9d1c5;margin-top:4px}
.yearly-timeline{margin-top:26px;background:#193c2e;border:1px solid #628469;border-radius:15px;padding:19px}
.time-select-head{display:flex;gap:22px;align-items:flex-end;justify-content:space-between}.time-select-head h4.time-section-title{margin:0 0 5px}.time-select-head p{max-width:750px;font-size:14px;line-height:1.7;color:#d8e7dd;margin:0 0 14px}.time-select-head label{display:flex;flex-direction:column;gap:6px;color:#f4d9a1;font-weight:720;font-size:13px;min-width:245px}.time-select-head select{padding:11px;background:#294d39;border:1px solid #9f9a63;border-radius:9px;color:white;font:inherit;width:100%}
.year-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:16px 0}.year-tile{text-align:left;border:1px solid #5b8067;background:#204432;color:#e7f2e8;cursor:pointer;border-radius:10px;padding:11px 10px;display:flex;flex-direction:column;gap:7px;font-family:inherit;min-width:0;min-height:100px}
.year-tile b{font-size:14px;color:#f4d398}.year-tile small{font-size:12px;color:#e3f0e2}.year-tile span{color:#c9dccf;font-size:11px;line-height:1.45}.year-tile.active,.year-tile:hover{border-color:#f2d391;background:#376347;box-shadow:inset 0 0 0 1px #e6c67a}.year-tile:focus-visible{outline:2px solid #f6d392;outline-offset:2px}
.time-detail{background:linear-gradient(135deg,#30503a,#254434);border:1px solid #b4a073;border-radius:13px;padding:20px}.time-detail-title h4{font-size:22px;color:#ffe0a3;margin:7px 0 14px}.time-detail p{line-height:1.7;font-size:14px;color:#f0f3e9}
.year-contrast{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.year-contrast>div{background:#1e5039;border:1px solid #5d9977;padding:15px;border-radius:10px}.year-contrast>div+div{background:#513e2e;border-color:#b18b6f}.year-contrast b{color:#ffe1a4}.year-contrast p{margin:8px 0 0}
.year-contacts{margin-top:14px}.year-contacts b{color:#ffdd9c}.year-contacts p{display:flex;gap:6px;flex-wrap:wrap}.contact{font-size:12px;border:1px solid #7e9780;border-radius:7px;padding:6px 9px;background:#2f5941}.contact.xung,.contact.hai{background:#664735;border-color:#c39277}.contact.hop{background:#305e43;border-color:#78ad83}
.time-advice{border-left:4px solid #e1bd6e;padding:12px 16px;background:#415039;border-radius:7px}.time-disclaimer{font-size:12px;color:#d6dfc9;line-height:1.7;margin-top:16px;background:#394636;border-radius:10px;padding:12px}
@media(max-width:1040px){.life-cycles{grid-template-columns:repeat(2,minmax(0,1fr))}.year-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.life-cycles{grid-template-columns:1fr 1fr;gap:8px}.cycle-card{padding:13px}.cycle-card h5{font-size:16px}.cycle-card .cycle-age{font-size:17px}.time-select-head{flex-direction:column;align-items:stretch}.time-select-head label{min-width:0}.year-list{grid-template-columns:repeat(2,minmax(0,1fr))}.yearly-timeline{padding:12px}.time-detail{padding:14px}.year-contrast{grid-template-columns:1fr}.palace-conclusion p{font-size:15px}}
@media(max-width:410px){.life-cycles{grid-template-columns:1fr}.year-list{gap:6px}.year-tile{padding:9px 8px}.year-tile b{font-size:12px}.year-tile small{font-size:11px}}

/* Tầng diễn giải tình huống: nổi bật nhận định và so sánh thời gian */
.palace-conclusion h5{color:#f6d69a;font-size:clamp(17px,2vw,22px);line-height:1.38;margin:8px 0}.palace-conclusion p,.palace-signals p,.real-scene p{line-height:1.75}.real-scene{margin:14px 0;padding:15px 18px;border:1px solid #6b8270;border-left:4px solid #d4ac5b;border-radius:11px;background:#203b32}.real-scene b{color:#ffe0a3}.real-scene p{margin:8px 0 0}.rule-ref,.rule-boundary{font-size:12px;color:#b5ccbc}.year-key-message,.year-key-change{padding:15px 17px;background:#23483a;border:1px solid #618575;border-radius:12px;margin:12px 0}.year-key-message b,.year-key-change b{color:#f5d599}.year-key-message p,.year-key-change p{margin:6px 0;line-height:1.7}.year-key-change{background:#273e39}.updated-time .year-contrast p{line-height:1.7}.year-evidence{margin-top:10px}.year-evidence summary{cursor:pointer;color:#d8c28d}

/* Chuẩn font biểu mẫu và nút bấm: khớp Segoe UI của Windows, tránh font mặc định trình duyệt. */
html,body,button,input,select,textarea{font-family:"Segoe UI",Arial,system-ui,sans-serif;}
.fields button.submit{font-family:"Segoe UI",Arial,system-ui,sans-serif!important;font-size:15px!important;font-weight:750!important;line-height:1.4!important;letter-spacing:0!important;text-transform:none!important;font-synthesis:none;text-rendering:optimizeLegibility;white-space:normal;display:flex;justify-content:center;align-items:center;gap:8px;text-align:center;min-height:48px;}
.fields button.submit span{font:inherit;line-height:1;display:inline-block;}
.fields input[name="time"]{font-family:"Segoe UI",Arial,system-ui,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.04em;}

/* Chỉ hiện dấu nguồn khi có quy tắc đã đối chiếu và thật sự kích hoạt */
.source-citation{font-family:inherit;color:#d9c68e;background:rgba(96,74,29,.22);border:1px solid rgba(205,174,99,.27);border-radius:10px;font-size:12px;line-height:1.5;padding:8px 11px;margin:10px 0}
.source-citation span{opacity:.85}
@media (max-width:640px){.source-citation{font-size:11.5px;overflow-wrap:anywhere}}

/* V3: Một bài luận trôi chảy thay cho phiếu thuận/khó và lời khuyên phổ thông */
.palace-article.v3-prose{background:#17382b;border-color:#6c8369;padding:clamp(18px,2vw,29px)}
.v3-prose .palace-conclusion{background:transparent;border:none;border-left:4px solid #d2b676;border-radius:0;padding:0 0 0 19px;margin:20px 0}
.v3-prose .palace-conclusion h5{font-size:clamp(19px,2.2vw,26px);line-height:1.45;color:#f1d392}
.v3-prose .palace-conclusion p{font-weight:450;color:#eff3e9;line-height:1.9;font-size:16px;max-width:1100px}
.v3-reading-body{max-width:1150px;padding:2px 0}
.v3-reading-body p{font-size:15px;line-height:1.85;color:#e7eee4;margin:15px 0}
.v3-reading-body b{color:#f5d69b}
.v3-reading-body .v3-reading-scene{border-top:1px solid #486351;margin:20px 0 14px;padding-top:17px}
.v3-reading-advice{font-size:14px;line-height:1.75;color:#d6e4d8}
.v3-prose details{margin-top:16px;border-top:1px solid #466851;padding-top:13px}
@media(max-width:680px){.v3-prose .palace-conclusion p{font-size:15px}.v3-reading-body p{font-size:14.5px}}

/* V4: canh giờ và luận sơ bộ */
.ty-half-field[hidden]{display:none!important}
.fields label.ty-half-field{grid-column:span 1;color:#f7dfad}
.nohour-lead{border-left:4px solid #e6c57e;background:#254435;padding:18px 20px;border-radius:9px;font-size:15px;line-height:1.8;margin:16px 0 22px}
.nohour-article{border:1px solid #59775e;border-radius:14px;padding:clamp(16px,2vw,25px);margin:15px 0;background:#173a2c}
.nohour-article h4{font-size:clamp(20px,2vw,25px);color:#f4d99c;margin:8px 0 14px}
.nohour-article p{line-height:1.85;font-size:15px;color:#eaf2e8}
.nohour-article .nhr-num{letter-spacing:.12em;color:#d4b779;font-size:11px;font-weight:850}
.nohour-article .nhr-em{font-size:17px;color:#fff1cc;border-left:3px solid #d5b56f;padding-left:16px;margin:16px 0}
.nohour-article details{border-top:1px solid #4b6a54;margin-top:15px;padding-top:13px}
.nohour-article summary{color:#e9cf90;font-size:13px;cursor:pointer}
.nohour-year-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:15px 0}
.nohour-year{background:#244c38;border:1px solid #638367;border-radius:11px;padding:15px}
.nohour-year strong{color:#f8dda1;font-size:16px}
.nohour-year p{font-size:13px;line-height:1.7;margin:8px 0}
@media(max-width:690px){.nohour-year-grid{grid-template-columns:1fr}.fields label.ty-half-field{grid-column:1/-1}}
