:root{--ink:#2e221b;--muted:#826e5d;--paper:#fffaf0;--paper-deep:#f5e8cc;--red:#9f201c;--red-dark:#6f1512;--gold:#b88936;--line:rgba(102,67,39,.25);--panel:rgba(255,251,241,.95);--panel-alt:#fffaf0;--border:rgba(102,67,39,.25);--text:#2e221b;--accent:#9f201c;--accent-2:#c43a34;--accent-dark:#6f1512;--accent-rgb:159,32,28;--title:#9f201c}
*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;color:var(--ink);font-family:"Noto Serif SC","Songti SC",SimSun,serif;background:radial-gradient(circle at 50% 0,rgba(255,223,147,.16),transparent 32rem),linear-gradient(145deg,#2e0a19,#641327 50%,#280916)}button,input,select{font:inherit}.stars{position:fixed;inset:0;pointer-events:none;opacity:.2;background-image:radial-gradient(circle at 16% 18%,#f6d994 0 1px,transparent 1.5px),radial-gradient(circle at 76% 14%,#f6d994 0 1px,transparent 1.5px),radial-gradient(circle at 70% 72%,#f6d994 0 1px,transparent 1.5px),radial-gradient(circle at 23% 82%,#f6d994 0 1px,transparent 1.5px);background-size:190px 190px,240px 240px,300px 300px,340px 340px}
.top-bar{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:58px;padding:max(.65rem,env(safe-area-inset-top)) 1rem .65rem;border-bottom:1px solid rgba(255,225,160,.18);background:rgba(46,6,20,.91);backdrop-filter:blur(12px)}.link-back{color:#f0d291;text-decoration:none;font-size:.88rem}.logo{text-align:center}.logo-glow{color:#ffe2a1;font-size:1.08rem;font-weight:700;letter-spacing:.15em;text-shadow:0 0 18px rgba(255,205,105,.3)}.print-button{justify-self:end;border:1px solid rgba(255,224,153,.35);border-radius:999px;padding:.32rem .75rem;color:#f6d995;background:rgba(255,255,255,.06);cursor:pointer}
.ziwei-main{position:relative;width:min(100%,1260px);margin:0 auto;padding:1.2rem 1rem 2rem}.panel{border:1px solid rgba(210,169,86,.35);border-radius:14px;background:var(--panel);box-shadow:0 16px 44px rgba(25,2,12,.24)}.form-panel{max-width:920px;margin:0 auto;padding:1.1rem 1.2rem}.panel-title{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.panel-title>div{display:flex;align-items:center;gap:.7rem}.panel-title h1{margin:0;font-size:1.22rem}.panel-title p{margin:0;color:var(--muted);font-size:.78rem}.title-seal{display:grid;place-items:center;width:42px;height:42px;border:1px solid #ae312a;border-radius:5px;color:#fff4df;background:linear-gradient(145deg,#bc312a,#7f1714);font-size:.72rem;font-weight:700;letter-spacing:.05em;box-shadow:inset 0 0 0 2px rgba(255,238,202,.18)}
.form-grid{display:grid;grid-template-columns:1fr .7fr 1.25fr 1.1fr;gap:.8rem}.field{display:flex;flex-direction:column;gap:.38rem}.field span{color:#5f4736;font-size:.78rem;font-weight:700}.field input,.field select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:8px;padding:.55rem .65rem;color:var(--ink);background:#fffdf8;outline:none}.field input:focus,.field select:focus{border-color:#a7332b;box-shadow:0 0 0 3px rgba(167,51,43,.1)}.form-actions{display:flex;gap:.7rem;margin-top:1rem}.btn{min-width:112px;min-height:42px;border:1px solid rgba(124,78,44,.28);border-radius:8px;color:#5b3b29;background:linear-gradient(#fffdf7,#f5e7cc);cursor:pointer}.btn.primary{border-color:#7d1814;color:#fff7e7;background:linear-gradient(135deg,#b52e27,#781512);box-shadow:0 5px 14px rgba(130,22,18,.18)}.btn:active{transform:translateY(1px)}.form-note{margin:.75rem 0 0;color:#907863;font-size:.72rem;line-height:1.6}
.result-shell{margin-top:1.1rem}.result-shell[hidden],.empty-state[hidden]{display:none}.result-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:0 auto .7rem;padding:0 .25rem;color:#ffe9b8}.result-heading h2{margin:.12rem 0 0;font-size:1.2rem}.eyebrow{font-family:Georgia,serif;color:#d9b66e;font-size:.65rem;letter-spacing:.22em}.result-actions{display:flex;gap:.5rem}.result-actions button{border:1px solid rgba(255,224,153,.32);border-radius:999px;padding:.38rem .75rem;color:#f6dca1;background:rgba(255,255,255,.06);font-size:.75rem;cursor:pointer}
.chart-scroll{overflow:auto;border:1px solid rgba(228,188,105,.42);border-radius:12px;background:#4b0e20;box-shadow:0 18px 48px rgba(26,2,12,.32);-webkit-overflow-scrolling:touch}.chart-fit{width:1180px;height:850px;margin:0 auto}.chart-board{position:relative;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);width:1180px;height:850px;margin:0;padding:9px;gap:2px;background:linear-gradient(135deg,#f5e5bc,#fff7df 48%,#ecd7a6);isolation:isolate;transform-origin:top left}.chart-board:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.2;background-image:linear-gradient(45deg,transparent 48%,rgba(119,77,39,.12) 49%,rgba(119,77,39,.12) 51%,transparent 52%),linear-gradient(-45deg,transparent 48%,rgba(119,77,39,.09) 49%,rgba(119,77,39,.09) 51%,transparent 52%);background-size:54px 54px}
.palace{position:relative;min-width:0;overflow:hidden;border:1px solid rgba(104,64,33,.45);background:rgba(255,250,232,.9);padding:.52rem .58rem}.palace.is-soul{box-shadow:inset 0 0 0 3px rgba(161,35,29,.5)}.palace.is-body:after{content:"身宫";position:absolute;right:3px;top:35px;padding:.15rem .25rem;border-radius:3px;color:#fff7df;background:#a02a24;font-size:.58rem}.palace-head{display:flex;align-items:center;justify-content:space-between;gap:.4rem;padding-bottom:.3rem;border-bottom:1px solid rgba(111,72,42,.2)}.palace-name{color:#8c211c;font-size:1rem;font-weight:700;letter-spacing:.06em}.palace-branch{color:#72523a;font-size:.76rem;font-weight:700}.palace-stars{display:flex;flex-wrap:wrap;align-content:flex-start;gap:.24rem .34rem;margin-top:.42rem}.star{display:inline-flex;align-items:center;gap:.1rem;line-height:1}.star.major{color:#a31f1a;font-size:.95rem;font-weight:700}.star.soft{color:#17664e;font-size:.78rem;font-weight:700}.star.tough{color:#4b3b77;font-size:.78rem;font-weight:700}.star.minor{color:#27638a;font-size:.78rem;font-weight:700}.star.adjective{color:#755f4c;font-size:.68rem}.brightness{font-size:.56rem;font-weight:400;opacity:.72}.mutagen{display:inline-grid;place-items:center;min-width:17px;height:17px;border-radius:50%;color:#fff;font-size:.58rem;font-style:normal;vertical-align:middle}.mutagen.lu{background:#2b7b45}.mutagen.quan{background:#a96318}.mutagen.ke{background:#28708a}.mutagen.ji{background:#9d221d}.palace-foot{position:absolute;left:.55rem;right:.55rem;bottom:.45rem;display:flex;align-items:end;justify-content:space-between;gap:.4rem;color:#7a624e;font-size:.62rem}.palace-foot strong{display:block;color:#6f1714;font-size:.72rem}.palace-cycle{text-align:right}.palace-cycle span{display:block}
.center-card{grid-column:2/4;grid-row:2/4;position:relative;display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;border:2px solid rgba(131,35,28,.62);background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.9),rgba(249,229,180,.96));padding:1.1rem;text-align:center}.center-card:before,.center-card:after{content:"";position:absolute;width:170px;height:170px;border:1px solid rgba(158,38,31,.1);border-radius:50%}.center-card:before{left:-70px;top:-70px;box-shadow:0 0 0 16px rgba(158,38,31,.04),0 0 0 32px rgba(178,135,45,.035)}.center-card:after{right:-70px;bottom:-70px;box-shadow:0 0 0 16px rgba(158,38,31,.04),0 0 0 32px rgba(178,135,45,.035)}.center-title{position:relative;z-index:1}.center-title h3{margin:.2rem 0;color:#8e201b;font-size:1.45rem;letter-spacing:.18em}.center-title p{margin:0;color:#82694f;font-size:.72rem}.birth-summary{position:relative;z-index:1;display:grid;place-content:center;gap:.48rem}.summary-name{color:#5d1d1a;font-size:1.15rem;font-weight:700}.summary-line{color:#584333;font-size:.8rem}.summary-line strong{color:#8e201b}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:.35rem}.summary-chip{border:1px solid rgba(128,83,42,.2);border-radius:6px;padding:.38rem .3rem;background:rgba(255,255,255,.48)}.summary-chip small{display:block;color:#8b725b;font-size:.58rem}.summary-chip b{display:block;margin-top:.12rem;color:#6e241f;font-size:.8rem}.copyright{position:relative;z-index:1;color:#9c8063;font-size:.58rem}
.chart-board.compact .star.adjective{display:none}.chart-board.compact .palace-stars{gap:.38rem .45rem}.legend{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem 1.1rem;padding:.8rem;color:#e9c989;font-size:.7rem}.dot{display:inline-block;width:8px;height:8px;margin-right:.25rem;border-radius:50%}.dot.major{background:#b82b25}.dot.soft{background:#298263}.dot.tough{background:#5d4b89}.legend .mutagen{margin-right:.12rem}
.empty-state{max-width:920px;margin:1.1rem auto 0;padding:3.5rem 1rem;text-align:center}.empty-symbol{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 1rem;border:1px solid #b6473f;border-radius:50%;color:#fff4d9;background:radial-gradient(circle,#b53b33,#751713);font-size:2rem;font-weight:700;box-shadow:0 0 0 8px rgba(169,49,43,.08),0 0 0 16px rgba(181,137,53,.05)}.empty-state h2{margin:0;color:#6e261f;font-size:1.05rem}.empty-state p{margin:.5rem 0 0;color:var(--muted);font-size:.78rem}.page-footer{padding:0 1rem calc(1.25rem + env(safe-area-inset-bottom));color:rgba(246,217,155,.65);font-size:.68rem;text-align:center}
@media(max-width:860px){.form-grid{grid-template-columns:repeat(2,1fr)}.panel-title{align-items:flex-start}.panel-title p{max-width:250px;text-align:right}.chart-scroll{margin-inline:-.45rem;overflow:hidden}.chart-fit{margin:0}.result-actions #scrollChartButton{display:none}}
@media(max-width:520px){.top-bar{grid-template-columns:auto minmax(0,1fr) auto;column-gap:.35rem;padding-inline:.65rem}.logo{min-width:0;overflow:hidden}.logo-glow{font-size:.82rem;letter-spacing:.04em;padding:0 .55rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-back,.print-button{font-size:.72rem}.link-back{height:1.85rem;padding:0 .5rem 0 .38rem;gap:.15rem}.link-back-arrow{font-size:.88rem}.interpret-button{padding:.28rem .48rem;font-size:.72rem}.print-button{padding:.28rem .5rem}.ziwei-main{padding:1rem .55rem 1.5rem}.form-panel{padding:.9rem}.panel-title{display:block}.panel-title>div{margin-bottom:.45rem}.panel-title p{max-width:none;text-align:left}.form-grid{grid-template-columns:1fr 1fr}.field-date{grid-column:1/3}.form-actions .btn,.form-actions .interpret-button-ai{flex:1;min-width:0}.result-heading{align-items:center}.result-actions button{padding:.34rem .58rem}.chart-scroll{border-radius:8px}.empty-state{padding-block:2.8rem}}
/* 文墨式浅色命盘主题 */
body{background:#edf0f6;color:#202124}.stars{display:none}.top-bar{border-bottom:1px solid #c9cbd0;background:rgba(255,255,255,.96);box-shadow:0 1px 3px rgba(0,0,0,.06)}.link-back,.print-button{color:#3977cf}.logo-glow{color:#1f1f1f;text-shadow:none}.print-button{border-color:#3977cf;background:#fff}.ziwei-main{max-width:1320px}.panel,.form-panel{border-color:#c8c8c8;border-radius:0;background:#fff;box-shadow:none}.title-seal{border-radius:2px;background:#a62b25;box-shadow:none}.panel-title h1{color:#202124}.panel-title p,.form-note{color:#70757a}.field span{color:#404247}.field input,.field select{border-color:#bfc2c8;border-radius:3px;background:#fff}.btn{border-color:#aeb2b9;border-radius:3px;color:#356fc0;background:#fff}.btn.primary{border-color:#a7201d;background:#a7201d;box-shadow:none}.result-heading{color:#202124}.result-heading h2{color:#202124}.eyebrow{color:#5b6470}.result-actions button{border-color:#9ca3ad;border-radius:3px;color:#356fc0;background:#fff}.chart-scroll{border:1px solid #777;border-radius:0;background:#fff;box-shadow:none}.chart-fit{background:#fff}.chart-board{background:#fff;gap:0;padding:0;isolation:auto}.chart-board:before{opacity:.08}.palace{border:1px solid #8e8e8e;background:#fffdf9;padding:.7rem}.palace.is-soul{box-shadow:inset 0 0 0 2px #b7302b}.palace.is-body:after{background:#fff;border:1px solid #a62b25;color:#a62b25}.palace-head{border-color:#c8c8c8}.palace-name{color:#b32723}.palace-branch{color:#202124}.star.major{color:#b32621}.star.soft{color:#258b8a}.star.tough{color:#6e4a9a}.star.minor{color:#286598}.star.adjective{color:#30343a}.palace-foot{color:#45484d}.palace-foot strong{color:#202124}.center-card{border-color:#8e8e8e;background:#fff;padding:1.3rem}.center-card:before,.center-card:after{border-color:rgba(35,35,35,.13)}.center-title h3,.summary-name,.summary-line strong,.summary-chip b{color:#a7231e}.center-title p,.summary-line,.summary-chip small,.copyright{color:#53565c}.summary-chip{border-color:#c9c9c9;border-radius:3px;background:#fff}.palace-detail{margin-top:.8rem;border:1px solid #b8bbc0;background:#fff;padding:.8rem 1rem;color:#31343a}.palace-detail>p{margin:0;color:#62666d;font-size:.8rem}.detail-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-bottom:.5rem;border-bottom:1px solid #d0d2d5}.detail-head h3{margin:0;color:#b32621;font-size:1.1rem}.detail-head span{color:#44474d;font-size:.78rem}.detail-stars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-top:.7rem}.detail-stars h4{margin:0 0 .3rem;color:#5f6368;font-size:.72rem}.detail-stars p{margin:0;line-height:1.8}.detail-meta{margin:.7rem 0 0;padding-top:.6rem;border-top:1px solid #e0e1e3;color:#55595f;font-size:.75rem}.legend{color:#4c5056}.page-footer{color:#686d75}
@media(max-width:860px){.ziwei-main{padding:.65rem .45rem 1.2rem}.form-panel{padding:.85rem}.result-heading{margin-top:.95rem}.chart-scroll{margin:0;overflow:hidden}.chart-fit{width:100%;height:auto;margin:0}.chart-board{width:100%;height:auto;aspect-ratio:.67;transform:none!important}.palace{padding:4px}.palace-head{padding-bottom:2px}.palace-name{font-size:.7rem}.palace-branch{font-size:.62rem}.palace-stars{gap:1px 2px;margin-top:3px;line-height:1.1}.star.major{font-size:.68rem}.star.soft,.star.tough,.star.minor{font-size:.56rem}.star.adjective{display:none}.star .brightness{font-size:.44rem}.mutagen{min-width:11px;height:11px;font-size:.42rem}.palace-stars .star:nth-child(n+9){display:none}.palace-foot{left:4px;right:4px;bottom:3px;display:block;font-size:.45rem;line-height:1.15}.palace-foot strong{font-size:.6rem}.palace-cycle{display:none}.center-card{padding:.45rem;border-width:1px}.center-card:before,.center-card:after{width:115px;height:115px}.center-title h3{font-size:.93rem;letter-spacing:.1em}.center-title p{font-size:.48rem}.birth-summary{gap:.18rem}.summary-name{font-size:.68rem}.summary-line{font-size:.53rem}.summary-grid{gap:2px;margin-top:.15rem}.summary-chip{padding:.17rem .08rem}.summary-chip small{font-size:.4rem}.summary-chip b{font-size:.53rem}.copyright{font-size:.38rem}.palace-detail{padding:.75rem;margin-top:.65rem}.detail-stars{grid-template-columns:1fr;gap:.45rem}.detail-stars p .star{margin-right:.3rem}.legend{padding:.65rem .2rem;font-size:.64rem}.empty-state{background:#fff}}
.center-card .chart-legend{position:relative;z-index:1;align-self:end;justify-content:center;gap:.2rem .42rem;padding:.25rem 0 0;color:#50535a;font-size:.58rem}.center-card .chart-legend .dot{width:6px;height:6px;margin-right:.12rem}.center-card .chart-legend .mutagen{min-width:12px;height:12px;margin-right:1px;font-size:.44rem}
.fortune-panel{margin-top:.85rem;border:1px solid #9fa2a7;background:#fff}.fortune-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid #c7c9cd}.fortune-head span{color:#68707a;font-size:.68rem;letter-spacing:.12em}.fortune-head h3{margin:.15rem 0 0;color:#22252a;font-size:1.05rem}.fortune-head p{margin:0;color:#697079;font-size:.73rem}.decade-strip{display:grid;grid-template-columns:repeat(12,minmax(90px,1fr));overflow-x:auto;border-bottom:1px solid #c7c9cd;background:#f4f5f7}.decade-strip button{min-height:67px;border:0;border-right:1px solid #c7c9cd;padding:.35rem .25rem;color:#2e3339;background:transparent;text-align:center;cursor:pointer}.decade-strip button:last-child{border-right:0}.decade-strip button strong{display:block;color:#9f201c;font-family:Georgia,"Noto Serif SC",serif;font-size:1rem}.decade-strip button span{display:block;margin-top:.15rem;color:#5c626a;font-size:.66rem}.decade-strip button.is-active{background:#fff}.decade-strip button.is-active strong{color:#fff;background:#aa2822}.decade-strip button.is-active strong{display:inline-block;padding:.04rem .24rem}.flow-grid{display:grid;grid-template-columns:repeat(10,minmax(84px,1fr));overflow-x:auto;background:#fff}.flow-year{min-height:88px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.18rem;border-right:1px solid #d0d2d5;padding:.35rem;color:#444950;text-align:center}.flow-year:last-child{border-right:0}.flow-year span{color:#70757d;font-size:.6rem}.flow-year strong{color:#202124;font-family:Georgia,"Noto Serif SC",serif;font-size:.95rem}.flow-year b{color:#a32520;font-size:.7rem}.flow-year em{color:#5f666e;font-size:.58rem;font-style:normal}.flow-year.is-current{background:#fff7df;box-shadow:inset 0 -3px 0 #b52620}.flow-year.is-current:before{content:"当前";color:#fff;background:#a6231f;padding:.05rem .22rem;font-size:.52rem}
@media(max-width:860px){.center-card .chart-legend{gap:.1rem .22rem;padding-top:.12rem;font-size:.38rem}.center-card .chart-legend .dot{width:4px;height:4px}.center-card .chart-legend .mutagen{min-width:8px;height:8px;font-size:.32rem}}
@media(max-width:860px){.fortune-panel{margin-top:.65rem}.fortune-head{align-items:center;padding:.65rem .75rem}.fortune-head h3{font-size:.92rem}.fortune-head p{display:none}.decade-strip{grid-template-columns:repeat(12,92px);overflow-x:auto}.decade-strip button{min-height:58px}.decade-strip button strong{font-size:.84rem}.decade-strip button span{font-size:.57rem}.flow-grid{grid-template-columns:repeat(10,76px);overflow-x:auto}.flow-year{min-height:79px;padding:.28rem .2rem}.flow-year strong{font-size:.82rem}.flow-year b{font-size:.62rem}.flow-year em{font-size:.52rem}}
:root{--accent:#3977cf;--accent-2:#4f8ee0;--accent-dark:#285fae;--accent-rgb:57,119,207;--title:#214f8e;--border:#c6cbd2;--panel:#fff;--panel-alt:#f5f7fa;--text:#202124;--muted:#6b7280;--chart-muted:#6b7280;--thinking-text:#4e5e72;--thinking-muted:#8a97a8;--thinking-panel-from:#f8fbff;--thinking-panel-to:#edf5ff;--thinking-result-bg:rgba(57,119,207,.06);--dock-bg-from:#ffffff;--dock-bg-to:#edf5ff}.title-seal,.empty-symbol{border-color:#3977cf;background:#3977cf}.btn.primary{border-color:#3977cf;background:#3977cf}.btn.primary,.title-seal{box-shadow:none}.link-back,.print-button{color:#3977cf}.print-button{border-color:#3977cf}.panel-title h1,.result-heading h2,.fortune-head h3{color:#202124}.palace-name,.summary-name,.summary-line strong,.summary-chip b,.center-title h3{color:#2864b4}.palace.is-soul{box-shadow:inset 0 0 0 2px #3977cf}.palace.is-body:after{border-color:#3977cf;color:#3977cf}.star.major{color:#2864b4}.star.soft{color:#258b8a}.star.tough{color:#7359a6}.star.minor{color:#3977cf}.mutagen.lu{background:#258b8a}.mutagen.quan{background:#3977cf}.mutagen.ke{background:#7359a6}.mutagen.ji{background:#52647b}.dot.major{background:#3977cf}.dot.soft{background:#258b8a}.dot.tough{background:#7359a6}.decade-strip button strong,.flow-year b{color:#2864b4}.decade-strip button.is-active strong{color:#fff;background:#3977cf}.flow-year.is-current{box-shadow:inset 0 -3px 0 #3977cf;background:#edf4ff}.flow-year.is-current:before{background:#3977cf}.birth-pick-btn{width:100%;min-height:42px;border:1px solid #bfc6d0;border-radius:3px;padding:.55rem .65rem;color:#202124;background:#fff;text-align:left;cursor:pointer}.birth-pick-btn.placeholder{color:#777f8b}.field-date-head{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.calendar-toggle-row{display:flex;gap:.55rem}.radio-label{display:inline-flex;align-items:center;gap:.22rem;color:#4f5660;font-size:.76rem;cursor:pointer}.radio-label input{accent-color:#3977cf}.birth-picker-modal{--accent:#3977cf;--accent-dark:#285fae;--border:#c6cbd2;--panel:#fff;--panel-alt:#f5f7fa;--text:#202124;--muted:#6b7280}
@media(max-width:520px){.field-date-head{align-items:flex-start;flex-direction:column;gap:.3rem}.calendar-toggle-row{gap:.75rem}.birth-pick-btn{min-height:40px}}
@media print{body{background:#fff}.stars,.top-bar,.form-panel,.result-heading,.legend,.empty-state,.page-footer,.palace-detail{display:none!important}.ziwei-main{width:100%;padding:0}.result-shell{margin:0}.chart-scroll{overflow:visible;border:0;box-shadow:none}.chart-fit{width:100%!important;height:auto!important}.chart-board{width:100%;height:720px;transform:none!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.palace{padding:.35rem}.star.adjective{display:none}.center-card{padding:.6rem}}
.interpret-button{justify-self:end;border:1px solid #3977cf;border-radius:999px;padding:.32rem .7rem;color:#3977cf;background:#fff;font-size:.78rem;cursor:pointer}.interpret-button-ai.btn-realtime{position:relative;overflow:hidden;isolation:isolate;min-width:112px;min-height:42px;border:1px solid #2f6bc0;border-radius:3px;color:#fff;background:linear-gradient(135deg,#4f8ee0 0%,#3977cf 45%,#285fae 100%);box-shadow:0 2px 8px rgba(57,119,207,.32),0 0 0 0 rgba(79,142,224,.4);animation:realtime-breathe 2.4s ease-in-out infinite;transition:background .18s ease,transform .18s ease,box-shadow .18s ease;cursor:pointer;font:inherit}.interpret-button-ai .btn-realtime-glow{position:absolute;inset:-40%;z-index:0;background:conic-gradient(from 180deg,transparent 0deg,rgba(255,255,255,.35) 40deg,transparent 80deg);opacity:.5;animation:realtime-spin 3.6s linear infinite;pointer-events:none}.interpret-button-ai .btn-realtime-text{position:relative;z-index:1;display:inline-block;letter-spacing:.02em}.interpret-button-ai.btn-realtime:after{content:"";position:absolute;top:0;left:-120%;z-index:2;width:55%;height:100%;background:linear-gradient(105deg,transparent 20%,rgba(255,255,255,.5) 50%,transparent 80%);transform:skewX(-18deg);animation:realtime-shine 2.8s ease-in-out infinite;pointer-events:none}.interpret-button-ai.btn-realtime:hover:not(:disabled){background:linear-gradient(135deg,#5a98e8 0%,#4585d8 45%,#2f6bc0 100%);transform:translateY(-1px) scale(1.03);box-shadow:0 6px 18px rgba(57,119,207,.4),0 0 20px rgba(79,142,224,.3);animation:none}.interpret-button-ai.btn-realtime:disabled{animation:none;opacity:.72}.interpret-button-ai.btn-realtime:disabled .btn-realtime-glow,.interpret-button-ai.btn-realtime:disabled:after{animation:none;opacity:.2}@keyframes realtime-breathe{0%,100%{box-shadow:0 2px 8px rgba(57,119,207,.28),0 0 0 0 rgba(79,142,224,.32);transform:scale(1)}50%{box-shadow:0 4px 16px rgba(57,119,207,.42),0 0 16px 2px rgba(79,142,224,.26);transform:scale(1.03)}}@keyframes realtime-shine{0%,55%{left:-120%}80%,100%{left:140%}}@keyframes realtime-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.interpret-button-ai.btn-realtime,.interpret-button-ai .btn-realtime-glow,.interpret-button-ai.btn-realtime:after{animation:none}.interpret-button-ai.btn-realtime:hover:not(:disabled){transform:none}}.decade-strip,.flow-grid{scrollbar-width:thin;scrollbar-color:#79a7e5 #e9eef7;scroll-snap-type:x mandatory;scroll-padding-inline:.6rem;overscroll-behavior-inline:contain}.decade-strip{padding-bottom:7px;background:linear-gradient(180deg,#f8fbff,#eef4fc)}.flow-grid{padding-bottom:7px;background:#fff}.decade-strip::-webkit-scrollbar,.flow-grid::-webkit-scrollbar{height:8px}.decade-strip::-webkit-scrollbar-track,.flow-grid::-webkit-scrollbar-track{margin:0 .55rem;border-radius:999px;background:#e9eef7}.decade-strip::-webkit-scrollbar-thumb,.flow-grid::-webkit-scrollbar-thumb{border:2px solid #e9eef7;border-radius:999px;background:#79a7e5}.decade-strip::-webkit-scrollbar-thumb:hover,.flow-grid::-webkit-scrollbar-thumb:hover{background:#3977cf}.decade-strip button,.flow-year{scroll-snap-align:start}.fortune-scroll-hint{display:block!important;color:#3977cf!important;font-size:.68rem!important;white-space:nowrap}
.interpret-modal{position:fixed;z-index:10040;inset:0;display:flex;align-items:stretch;justify-content:center;padding:0}.interpret-modal.hidden{display:none}.interpret-backdrop{position:absolute;inset:0;z-index:0;background:#0c121c;-webkit-backdrop-filter:none;backdrop-filter:none}.interpret-panel{position:relative;z-index:1;display:flex;flex-direction:column;width:100%;max-width:100%;height:100%;max-height:100%;overflow:hidden;border:0;border-radius:0;background:#f8fbff;box-shadow:none}.interpret-header{position:relative;z-index:1;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:max(.85rem,env(safe-area-inset-top)) 1rem .85rem;border-bottom:1px solid #c9d6e7;background:rgba(255,255,255,.96)}.interpret-header-text{min-width:0;display:flex;flex-direction:column;gap:.14rem}.interpret-header span{color:#6d87a8;font-family:Georgia,serif;font-size:.62rem;letter-spacing:.15em}.interpret-header h2{margin:0;color:#214f8e;font-size:1.2rem;line-height:1.25}.interpret-disclaimer{margin:0;color:#7a8aa0;font-size:.66rem;font-weight:400;line-height:1.35;letter-spacing:.02em}.interpret-close{width:34px;height:34px;flex:0 0 auto;border:1px solid #aac0dc;border-radius:50%;color:#3977cf;background:#fff;font-size:1.35rem;cursor:pointer}.interpret-body-shell{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.interpret-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:1rem;overscroll-behavior:contain}.interpret-loading{flex:1 1 auto;align-self:stretch;width:100%;min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.85rem;padding:2rem 1rem;box-sizing:border-box;text-align:center;color:#526276}.interpret-loader{width:36px;height:36px;border:3px solid #d7e6f8;border-top-color:#3977cf;border-radius:50%;animation:interpret-spin .78s linear infinite}.interpret-loading strong{color:#214f8e;font-size:.98rem;font-weight:600}.interpret-loading p{margin:0;color:#6a7b90;font-size:.72rem;line-height:1.6}.interpret-loading.is-error .interpret-loader{display:none}.interpret-loading.is-error strong{color:#a14d4d}@keyframes interpret-spin{to{transform:rotate(360deg)}}.interpret-overview{padding:1rem;border:1px solid #c7d8ee;border-radius:8px;background:#fff}.interpret-badge{display:inline-block;padding:.18rem .45rem;border-radius:999px;color:#3977cf;background:#edf5ff;font-size:.68rem}.interpret-overview h3,.interpret-section-title{margin:.55rem 0;color:#243c5b;font-size:1rem}.interpret-overview p{margin:.45rem 0;color:#4e5e72;font-size:.82rem;line-height:1.75}.interpret-key{padding:.55rem .65rem;border-left:3px solid #5791de;background:#f2f7ff}.interpret-decade-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.interpret-decade{overflow:hidden;border:1px solid #cbd7e6;border-radius:8px;background:#fff}.interpret-decade header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.52rem .65rem;border-bottom:1px solid #dce5f0;background:#f2f7ff}.interpret-decade header strong{color:#2864b4;font-family:Georgia,"Noto Serif SC",serif;font-size:1rem}.interpret-decade header span{color:#4f6075;font-size:.7rem}.interpret-stars{margin:.55rem .65rem;color:#627185;font-size:.7rem;line-height:1.55}.interpret-domains{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #e4eaf2}.interpret-domains section{min-width:0;padding:.55rem;border-right:1px solid #e4eaf2}.interpret-domains section:last-child{border-right:0}.interpret-domains b{display:flex;align-items:center;justify-content:space-between;color:#354355;font-size:.72rem}.interpret-domains i{padding:.08rem .24rem;border-radius:3px;font-size:.56rem;font-style:normal}.score-顺势{color:#14766e;background:#e4f5f1}.score-平稳{color:#3977cf;background:#ebf3ff}.score-留意{color:#6d5b9d;background:#f0ecfb}.interpret-domains p{margin:.42rem 0 0;color:#5c6979;font-size:.68rem;line-height:1.55}.interpret-note{margin:.85rem 0 0;color:#6a7582;font-size:.7rem;line-height:1.65}
.ai-scroll-latest{position:absolute;right:1rem;bottom:1.05rem;z-index:5;width:2.75rem;height:2.75rem;border:0;border-radius:50%;background:linear-gradient(145deg,#fffdf9 0%,#fff 45%,#edf5ff 100%);color:#285fae;box-shadow:0 6px 18px rgba(57,119,207,.28),0 0 0 1px rgba(57,119,207,.18),inset 0 1px 0 rgba(255,255,255,.9);cursor:pointer;display:grid;place-items:center;padding:0;animation:ai-scroll-pulse 1.8s ease-in-out infinite}.ai-scroll-latest-icon{width:1.2rem;height:1.2rem;display:block}.ai-scroll-latest.hidden{display:none}.ai-scroll-latest:hover{color:#fff;background:linear-gradient(145deg,#3977cf,#285fae);box-shadow:0 8px 20px rgba(57,119,207,.38)}.ai-scroll-latest:active{transform:scale(.94)}@keyframes ai-scroll-pulse{0%,100%{transform:translateY(0)}50%{transform:translateY(3px)}}@media(prefers-reduced-motion:reduce){.ai-scroll-latest{animation:none}}
.interpret-modal.is-ai-mode .interpret-panel{width:100%;max-width:100%;height:100%;max-height:100%;background:linear-gradient(180deg,#f4f8ff 0%,#eef4fc 100%);border:0;border-radius:0;box-shadow:none}.interpret-modal.is-ai-mode .interpret-header{background:linear-gradient(180deg,#fff,#f3f8ff);border-bottom-color:#c5d6ea}.interpret-modal.is-ai-mode .interpret-header h2{letter-spacing:.06em}.interpret-modal.is-ai-mode .interpret-body{padding:1.05rem 1.15rem 1.35rem;background:radial-gradient(circle at top right,rgba(57,119,207,.08),transparent 28%),linear-gradient(180deg,#f7faff,#eef3fa)}.interpret-loading.ai-loading{min-height:100%;border:0;border-radius:0;background:transparent}.ai-interpret-output{color:#2a3545;line-height:1.78;font-size:.95rem}.ai-interpret-output.is-streaming .ai-interpret-content:after{content:"";display:inline-block;width:.52rem;height:1em;margin-left:.18rem;vertical-align:-.1em;border-radius:1px;background:#3977cf;animation:ai-caret .9s steps(1) infinite}@keyframes ai-caret{50%{opacity:0}}.ai-interpret-hero{margin:0 0 1rem;padding:1rem 1.05rem;border:1px solid #b9cef0;border-radius:14px;background:linear-gradient(135deg,rgba(57,119,207,.14),#fff 55%,#f4f8ff);box-shadow:0 8px 22px rgba(57,119,207,.08)}.ai-interpret-eyebrow{display:inline-block;color:#3977cf;font-family:Georgia,"Noto Serif SC",serif;font-size:.66rem;font-weight:700;letter-spacing:.16em}.ai-interpret-hero strong{display:block;margin:.28rem 0 .35rem;color:#1d3f72;font-size:1.18rem;letter-spacing:.04em}.ai-interpret-hero p{margin:0;color:#5b6b80;font-size:.78rem;line-height:1.6}.ai-interpret-content{display:grid;gap:.85rem}.ai-section-card{overflow:hidden;border:1px solid #c5d5ea;border-radius:12px;background:#fff;box-shadow:0 6px 18px rgba(40,70,110,.05)}.ai-section-head{display:flex;align-items:center;gap:.65rem;padding:.72rem .85rem;border-bottom:1px solid #e2ebf6;background:linear-gradient(180deg,#f7faff,#eef4fc)}.ai-section-index{display:grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;color:#fff;background:linear-gradient(145deg,#4f8ee0,#285fae);font-family:Georgia,serif;font-size:.68rem;font-weight:700;box-shadow:0 2px 8px rgba(57,119,207,.28)}.ai-section-title{margin:0;color:#1f467c;font-size:1.02rem;letter-spacing:.03em}.ai-section-body{padding:.75rem .85rem .9rem;display:grid;gap:.42rem}.ai-dayun-title{margin:.35rem 0 .15rem;padding:.28rem 0 .28rem .15rem;color:#285fae;font-size:.96rem;border-bottom:1px dashed rgba(57,119,207,.28)}.ai-detail-line{display:flex;gap:.55rem;align-items:flex-start;margin:0;padding:.55rem .65rem;border:1px solid rgba(57,119,207,.14);border-radius:8px;background:linear-gradient(180deg,#fbfdff,#f5f9ff);color:#445466;font-size:.88rem;line-height:1.72}.ai-detail-line b{flex:0 0 auto;min-width:4.6em;color:#3977cf;font-weight:700}.ai-detail-line span{flex:1;min-width:0;color:#3f4c5d}.ai-bullet{margin:0;padding:.35rem .2rem .35rem .75rem;border-left:3px solid rgba(57,119,207,.35);color:#445466;font-size:.88rem;line-height:1.72}.ai-paragraph{margin:0;color:#3f4c5d;font-size:.9rem;line-height:1.78}.ai-spacer{height:.2rem}.ai-hr{border:0;border-top:1px solid #d5e0ee;margin:.35rem 0}.ai-interpret-output strong{color:#214f8e}.ai-interpret-output code{padding:.05rem .28rem;border-radius:4px;background:#edf4ff;color:#285fae;font-size:.86em}@media(max-width:860px){.interpret-modal.is-ai-mode .interpret-body{padding:.8rem .75rem 1.1rem}.ai-interpret-hero{padding:.85rem .9rem;border-radius:12px}.ai-interpret-hero strong{font-size:1.05rem}.ai-section-head{padding:.62rem .72rem}.ai-section-body{padding:.65rem .72rem .8rem}.ai-detail-line{flex-direction:column;gap:.18rem}.ai-detail-line b{min-width:0}}
@media(max-width:860px){.interpret-button{padding:.28rem .5rem;font-size:.72rem}.fortune-head .fortune-scroll-hint{display:block!important;font-size:.56rem!important}.decade-strip,.flow-grid{padding-bottom:6px}.interpret-modal{align-items:stretch;padding:0}.interpret-panel{width:100%;height:100%;max-height:100%;border-radius:0}.interpret-body{padding:.75rem}.interpret-decade-grid{grid-template-columns:1fr;gap:.55rem}.interpret-domains p{font-size:.67rem}.interpret-overview p{font-size:.78rem}.interpret-header{padding:max(.72rem,env(safe-area-inset-top)) .85rem .72rem}}

/* Birth date and time follow the compact Bazi form rhythm. */
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.form-grid .field-date{grid-column:1 / -1;gap:.55rem;padding:.75rem .85rem;border:1px solid #c9d6e7;border-radius:9px;background:#f8fbff}.field-date-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.field-date-head>span{color:#354355;font-size:.8rem;font-weight:700}.field-date .birth-pick-btn{width:100%;min-height:42px;border:1px solid #b9cbe1;border-radius:7px;padding:.55rem .7rem;color:#354355;background:#fff;text-align:left;cursor:pointer}.field-date .birth-pick-btn:focus{outline:0;border-color:#3977cf;box-shadow:0 0 0 3px rgba(57,119,207,.12)}.field-date:after{content:"\u519c\u5386\u6309\u519c\u5386\u6708\u65e5\u9009\u62e9\uff0c\u6392\u76d8\u65f6\u81ea\u52a8\u6362\u7b97\u3002";color:#6d7d91;font-size:.68rem;line-height:1.45}.form-grid .field:nth-child(4){grid-column:span 1}.form-grid .field select{min-height:42px}

/* Palace and decade selection linkage. */
.palace{z-index:1;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.palace:focus-visible{z-index:3;outline:3px solid rgba(57,119,207,.38);outline-offset:-3px}.palace.is-active{z-index:3;border-color:#3977cf;box-shadow:inset 0 0 0 2px #3977cf,0 6px 18px rgba(57,119,207,.18);transform:translateY(-1px)}.palace.is-triad{z-index:2;border-color:#79a7e5;box-shadow:inset 0 0 0 1px rgba(121,167,229,.85);background:#f4f9ff}.triad-arrow-layer{position:absolute;inset:0;z-index:0;width:100%;height:100%;pointer-events:none;overflow:visible}.triad-arrow-line{fill:none;stroke:#5aa77a;stroke-width:1.4;stroke-linecap:round;opacity:.78;filter:drop-shadow(0 1px 1px rgba(55,91,72,.18))}.triad-arrow-head{fill:#5aa77a}.decade-strip button.is-active{box-shadow:inset 0 -3px 0 #3977cf}.decade-strip button.is-active strong{background:#3977cf}
@keyframes triad-flow{to{stroke-dashoffset:-14}}
@media(max-width:860px){.form-grid{grid-template-columns:1fr}.form-grid .field-date,.form-grid .field:nth-child(4){grid-column:1}.field-date-head{align-items:flex-start;flex-direction:column}.calendar-toggle-row{align-self:stretch}.palace.is-active{box-shadow:inset 0 0 0 1px #3977cf}.triad-arrow-line{stroke-width:1.4;stroke-dasharray:4 4}}
.calendar-toggle-row{flex-wrap:nowrap;white-space:nowrap}.calendar-toggle-row .radio-label{flex:0 0 auto;white-space:nowrap}@media(max-width:860px){.field-date-head{flex-direction:row;align-items:center;flex-wrap:nowrap}.calendar-toggle-row{align-self:auto;gap:.45rem}.field-date-head>span{flex:0 0 auto}.field-date:after{font-size:.64rem}}.palace.is-opposite{z-index:2;border-color:#5c75c5;box-shadow:inset 0 0 0 1px rgba(92,117,197,.8);background:#f3f6ff}.triad-arrow-line{fill:none;stroke-linejoin:round}.triad-arrow-line.is-opposite{stroke:#d56565;stroke-dasharray:none;opacity:.84}.triad-arrow-line.is-triad{stroke:#5aa77a;stroke-dasharray:none}.triad-arrow-head{fill:#5aa77a}.field-date:after{display:none}.triad-origin{fill:#3977cf;stroke:#fff;stroke-width:1px}
.pattern-analysis{margin:0 0 .85rem;border:1px solid #c7d8ee;border-radius:9px;background:#fff}.pattern-analysis-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding:.8rem .9rem;border-bottom:1px solid #dce5f0;background:#f2f7ff}.pattern-analysis-head span{color:#3977cf;font-size:.62rem;letter-spacing:.12em}.pattern-analysis-head h3{margin:.18rem 0 0;color:#243c5b;font-size:1rem}.pattern-analysis-head p{max-width:52%;margin:0;color:#5c6979;font-size:.72rem;line-height:1.55}.pattern-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;padding:.75rem}.pattern-card{min-width:0;border:1px solid #d9e2ee;border-left:3px solid #79a7e5;border-radius:6px;padding:.6rem .65rem;background:#fff}.pattern-card header{display:flex;align-items:center;justify-content:space-between;gap:.45rem}.pattern-card strong{color:#2d4f7d;font-size:.84rem}.pattern-card header span{padding:.08rem .3rem;border-radius:999px;color:#3977cf;background:#edf5ff;font-size:.58rem}.pattern-card p{margin:.38rem 0;color:#4f5e70;font-size:.7rem;line-height:1.6}.pattern-card small{display:block;color:#7a8797;font-size:.62rem;line-height:1.45}.pattern-慎{border-left-color:#a66a6a}.pattern-慎 header span{color:#a24d4d;background:#fff1f1}.pattern-动{border-left-color:#6f83b8}.pattern-empty{margin:0;padding:.8rem .9rem;color:#6a7582;font-size:.75rem;line-height:1.6}@media(max-width:860px){.pattern-analysis-head{display:block}.pattern-analysis-head p{max-width:none;margin-top:.35rem}.pattern-grid{grid-template-columns:1fr;gap:.5rem;padding:.6rem}.pattern-card{padding:.52rem .58rem}}
.star.is-decadal-mutagen{position:relative;z-index:4;box-shadow:0 0 0 1px rgba(57,119,207,.35);border-radius:3px;background:#edf5ff}.decadal-mutagen{display:inline-grid;place-items:center;min-width:14px;height:14px;margin-left:2px;border-radius:50%;color:#fff;font-size:.5rem;font-style:normal;font-weight:700;line-height:1;vertical-align:1px}.decadal-mutagen.lu{background:#258b8a}.decadal-mutagen.quan{background:#3977cf}.decadal-mutagen.ke{background:#7359a6}.decadal-mutagen.ji{background:#b45959}.decade-strip button.is-mutagen-marked{position:relative;background:#edf5ff}.decade-strip button.is-mutagen-marked:after{content:"四化已标";position:absolute;top:3px;right:4px;color:#3977cf;font-size:.5rem;font-weight:700}.decade-strip button.is-mutagen-marked strong{color:#fff;background:#3977cf}@media(max-width:860px){.decadal-mutagen{min-width:11px;height:11px;margin-left:1px;font-size:.42rem}.star.is-decadal-mutagen{box-shadow:0 0 0 1px rgba(57,119,207,.3)}.decade-strip button.is-mutagen-marked:after{font-size:.42rem;right:2px}}
.star.is-decadal-mutagen.has-decadal-lu{box-shadow:0 0 0 1px #258b8a;background:#e4f5f1}.star.is-decadal-mutagen.has-decadal-quan{box-shadow:0 0 0 1px #3977cf;background:#eaf3ff}.star.is-decadal-mutagen.has-decadal-ke{box-shadow:0 0 0 1px #7359a6;background:#f0ecfb}.star.is-decadal-mutagen.has-decadal-ji{box-shadow:0 0 0 1px #b45959;background:#fff0f0}.decadal-mutagen.lu{background:#16806f}.decadal-mutagen.quan{background:#2768bd}.decadal-mutagen.ke{background:#67469d}.decadal-mutagen.ji{background:#b13f45}
.chart-board .palace-stars{display:flex;flex-flow:row wrap;align-content:flex-start;gap:.18rem .24rem}.chart-board .palace-stars .star{display:inline-flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:2.25em;line-height:1.05;writing-mode:vertical-rl;text-orientation:upright}.chart-board .palace-stars .star>span:first-child{writing-mode:vertical-rl;text-orientation:upright}.chart-board .palace-stars .star .brightness{margin:1px 0 0;writing-mode:vertical-rl;text-orientation:upright}.chart-board .palace-stars .star .mutagen,.chart-board .palace-stars .star .decadal-mutagen{writing-mode:horizontal-tb;text-orientation:mixed}@media(max-width:860px){.chart-board .palace-stars{gap:2px 3px}.chart-board .palace-stars .star{min-height:1.9em;line-height:1}.chart-board .palace-stars .star .brightness{display:none}}
.chart-board .palace-name,.chart-board .star.major{color:#b32621}.chart-board .palace-name{font-weight:700}.chart-board .star.major{font-weight:700}
.summary-pillars{display:flex;align-items:center;justify-content:center;gap:.38rem}.summary-pillars>span{color:#53565c;font-size:.58rem}.pillar-list{display:flex;align-items:flex-start;justify-content:center;gap:.34rem}.pillar-column{display:inline-flex;flex-direction:column;align-items:center;min-width:1.05rem;line-height:1.03}.pillar-column small{margin-bottom:.08rem;color:#7a818c;font-size:.42rem}.pillar-column b{color:#a7231e;font-size:.72rem;line-height:1.08}.chart-board .brightness{display:inline-grid;place-items:center;min-width:12px;height:12px;margin:1px 0 0;border:1px solid #bac5d4;border-radius:2px;color:#4f5d70;background:#f7faff;font-size:.44rem;font-weight:700;line-height:1;vertical-align:1px}.chart-board .brightness[title="庙"],.chart-board .brightness[title="旺"]{color:#14766e;border-color:#8ec8bd;background:#e7f5f1}.chart-board .brightness[title="得"],.chart-board .brightness[title="利"]{color:#3977cf;border-color:#a9c5e7;background:#edf5ff}.chart-board .brightness[title="平"]{color:#6d5b9d;border-color:#c7bddf;background:#f2eff9}.chart-board .brightness[title="陷"]{color:#a14d4d;border-color:#dfb3b3;background:#fff0f0}@media(max-width:860px){.summary-pillars{gap:.22rem}.pillar-list{gap:.2rem}.pillar-column b{font-size:.58rem}.pillar-column small{font-size:.36rem}.chart-board .palace-stars .star .brightness{display:inline-grid!important;min-width:9px;height:9px;margin:1px 0 0;font-size:.36rem}}
.chart-board .palace-stars .star{writing-mode:horizontal-tb;text-orientation:mixed;flex-direction:column}.chart-board .palace-stars .star>span:first-child{display:block;writing-mode:vertical-rl;text-orientation:upright}.chart-board .palace-stars .star .brightness{display:inline-flex!important;align-items:center;justify-content:center;align-self:center;writing-mode:vertical-rl;text-orientation:upright;vertical-align:initial}.chart-board .palace-stars .star .mutagen,.chart-board .palace-stars .star .decadal-mutagen{align-self:center}@media(max-width:860px){.chart-board .palace-stars .star .brightness{display:inline-flex!important}}
.chart-board .palace.is-body .palace-head{padding-right:2rem}.chart-board .palace.is-body:after{top:.3rem;right:.3rem;z-index:5;min-width:1.65rem;padding:.1rem .18rem;font-size:.46rem;line-height:1.15;text-align:center;pointer-events:none}@media(max-width:860px){.chart-board .palace.is-body .palace-head{padding-right:1.5rem}.chart-board .palace.is-body:after{top:2px;right:2px;min-width:1.35rem;padding:.05rem .1rem;font-size:.38rem}}
.interpret-decade-grid.detailed-grid{grid-template-columns:1fr;gap:.8rem}.interpret-decade.detailed{border-color:#bdcce0}.interpret-decade.detailed>header{align-items:flex-start;padding:.68rem .8rem}.interpret-decade.detailed>header>div:first-child{display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap}.interpret-decade.detailed>header strong{font-size:1.05rem}.decade-mutagens{display:flex;justify-content:flex-end;gap:.25rem;flex-wrap:wrap}.decade-mutagen{padding:.12rem .32rem;border:1px solid transparent;border-radius:999px;font-size:.58rem;font-weight:700}.decade-mutagen.mutagen-lu{color:#14766e;border-color:#9accc3;background:#e7f5f1}.decade-mutagen.mutagen-quan{color:#2864b4;border-color:#aec8e8;background:#edf5ff}.decade-mutagen.mutagen-ke{color:#6d5b9d;border-color:#c7bddf;background:#f2eff9}.decade-mutagen.mutagen-ji{color:#a14d4d;border-color:#dfb3b3;background:#fff0f0}.decade-life{margin:0;padding:.55rem .8rem;border-bottom:1px solid #e1e8f1;color:#4f6075;background:#fbfdff;font-size:.72rem;line-height:1.6}.decade-domain-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.decade-domain{min-width:0;padding:.72rem .75rem;border-right:1px solid #e1e8f1}.decade-domain:last-child{border-right:0}.decade-domain-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.decade-domain-head b{color:#2e4058;font-size:.82rem}.decade-domain-head i{padding:.1rem .32rem;border-radius:999px;font-size:.56rem;font-style:normal}.trend-顺势{color:#14766e;background:#e7f5f1}.trend-稳中有进{color:#2864b4;background:#edf5ff}.trend-需要经营{color:#765d29;background:#fff7df}.trend-重点留意{color:#a14d4d;background:#fff0f0}.decade-domain>p{margin:.5rem 0;color:#4f5e70;font-size:.7rem;line-height:1.72}.decade-evidence{border-top:1px dashed #d7e0eb;padding-top:.42rem}.decade-evidence summary{color:#3977cf;font-size:.64rem;cursor:pointer;user-select:none}.decade-evidence ul{margin:.42rem 0 0;padding-left:1rem;color:#6a7583;font-size:.62rem;line-height:1.65}.decadal-method p{max-width:850px}@media(max-width:860px){.interpret-decade.detailed>header{display:block}.decade-mutagens{justify-content:flex-start;margin-top:.4rem}.decade-domain-list{grid-template-columns:1fr}.decade-domain{border-right:0;border-bottom:1px solid #e1e8f1;padding:.62rem .68rem}.decade-domain:last-child{border-bottom:0}.decade-domain>p{font-size:.68rem}.decade-life{padding:.5rem .68rem;font-size:.67rem}}
/* 大限对应宫位标签：显示在大限区间上方 */
.decadal-palace-label{display:block;margin:0 0 1px;color:#2864b4;font-size:.58rem;font-style:normal;font-weight:700;line-height:1.1;letter-spacing:.02em}
.decadal-palace-label[hidden]{display:none!important}
.decadal-palace-label.is-decadal-ming{color:#a6231f}
.palace-foot>div:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:0}
@media(max-width:860px){.decadal-palace-label{font-size:.42rem;margin-bottom:0}}

.ai-confirm-modal{position:fixed;inset:0;z-index:10050;display:flex;align-items:stretch;justify-content:center;padding:0}.ai-confirm-modal.hidden{display:none}.ai-confirm-backdrop{position:absolute;inset:0;z-index:0;background:#0c121c;-webkit-backdrop-filter:none;backdrop-filter:none}.ai-confirm-panel{position:relative;z-index:1;display:flex;flex-direction:column;width:100%;max-width:100%;height:100%;max-height:100%;background:#fff;border:0;border-radius:0;box-shadow:none;overflow:hidden}.ai-confirm-header{display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;padding:max(.85rem,env(safe-area-inset-top)) 1rem .85rem;border-bottom:1px solid #d9e5f4;background:linear-gradient(180deg,#fff,#f3f8ff)}.ai-confirm-header h3{margin:0;color:#214f8e;font-size:1.08rem;letter-spacing:.04em}.ai-confirm-close{width:32px;height:32px;border:1px solid #aac0dc;border-radius:50%;color:#3977cf;background:#fff;font-size:1.25rem;cursor:pointer;line-height:1}.ai-confirm-body{flex:1 1 auto;overflow:auto;display:flex;align-items:center;justify-content:center;padding:1.25rem 1.1rem 1.4rem;background:
    radial-gradient(ellipse 80% 42% at 50% 0%,rgba(57,119,207,.14),transparent 70%),
    radial-gradient(circle at 12% 88%,rgba(40,95,174,.08),transparent 32%),
    radial-gradient(circle at 88% 78%,rgba(79,142,224,.1),transparent 30%),
    linear-gradient(180deg,#f7faff 0%,#eef4fc 48%,#e8f0fa 100%);-webkit-overflow-scrolling:touch}.ai-confirm-stage{width:min(420px,100%);margin:0 auto}.ai-confirm-hero{position:relative;width:4.6rem;height:4.6rem;margin:0 auto 1rem;display:grid;place-items:center}.ai-confirm-hero-ring{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(57,119,207,.28);background:radial-gradient(circle at 35% 30%,#fff 0%,#e8f1fc 55%,#d6e6f8 100%);box-shadow:0 10px 28px rgba(57,119,207,.18)}.ai-confirm-hero-mark{position:relative;z-index:1;color:#285fae;font-size:1.45rem;font-weight:700;letter-spacing:.08em;line-height:1}.ai-confirm-lead{margin:0 0 1rem;color:#3d4d63;font-size:.92rem;line-height:1.65;text-align:center}.ai-confirm-list{margin:0;padding:0;border:1px solid #c9daf0;border-radius:14px;background:rgba(255,255,255,.92);box-shadow:0 10px 28px rgba(40,95,174,.08);overflow:hidden}.ai-confirm-list>div{display:grid;grid-template-columns:5.6em 1fr;gap:.4rem .85rem;align-items:center;padding:.78rem .95rem;border-top:1px solid #e6eef8}.ai-confirm-list>div:first-child{border-top:0}.ai-confirm-list dt{margin:0;color:#6b7f98;font-size:.78rem}.ai-confirm-list dd{margin:0;color:#1d2a3d;font-size:.98rem;font-weight:600;line-height:1.45;word-break:break-word}.ai-confirm-hint{margin:.85rem 0 0;color:#7a8aa0;font-size:.76rem;line-height:1.55;text-align:center}.ai-confirm-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;margin:1.35rem 0 0;padding:0;list-style:none}.ai-confirm-steps li{display:flex;flex-direction:column;align-items:center;gap:.35rem;margin:0;padding:.7rem .35rem .75rem;border:1px solid #d4e2f2;border-radius:12px;background:rgba(255,255,255,.72);color:#6b7f98;font-size:.72rem;line-height:1.3;text-align:center}.ai-confirm-steps li span{display:grid;place-items:center;width:1.55rem;height:1.55rem;border-radius:50%;border:1px solid #b7cce8;background:#fff;color:#3977cf;font-size:.72rem;font-weight:700}.ai-confirm-steps li.is-active{border-color:#9cbce6;background:linear-gradient(180deg,#fff,#edf4ff);color:#285fae;box-shadow:0 6px 16px rgba(57,119,207,.1)}.ai-confirm-steps li.is-active span{border-color:#3977cf;background:#3977cf;color:#fff}.ai-confirm-actions{display:flex;justify-content:stretch;gap:.55rem;flex:0 0 auto;padding:.9rem 1rem max(.95rem,env(safe-area-inset-bottom));border-top:1px solid #d9e5f4;background:linear-gradient(180deg,#fff,#f7faff)}.ai-confirm-actions .btn{flex:1;min-width:0;min-height:44px;padding:.45rem .9rem;font-size:.92rem}.ai-confirm-cancel{border:1px solid #aeb2b9;border-radius:8px;color:#356fc0;background:#fff;cursor:pointer}.ai-confirm-ok{border:1px solid #3977cf;border-radius:8px;color:#fff;background:linear-gradient(135deg,#4f8ee0,#3977cf 55%,#285fae);box-shadow:0 6px 16px rgba(57,119,207,.28);cursor:pointer}body.modal-open,body.ziwei-confirm-open{overflow:hidden}.ai-confirm-modal:not(.hidden){pointer-events:auto}@media(max-width:720px){.ai-confirm-body{min-height:0;align-items:center}.ai-confirm-stage{padding-bottom:.25rem}.ai-confirm-hero{width:5rem;height:5rem;margin-bottom:1.15rem}.ai-confirm-lead{font-size:.95rem}.ai-confirm-list>div{padding:.88rem 1rem}.ai-confirm-list dd{font-size:1.02rem}.ai-confirm-steps{margin-top:1.55rem}}@media(min-width:721px){.ai-confirm-modal{align-items:center;justify-content:center;padding:1.25rem}.ai-confirm-backdrop{background:rgba(12,18,28,.55)}.ai-confirm-panel{width:min(440px,100%);height:auto;max-height:min(88vh,720px);border:1px solid #c6cbd2;border-radius:14px;box-shadow:0 18px 48px rgba(12,18,28,.28)}.ai-confirm-header{padding:.85rem 1rem}.ai-confirm-body{padding:1.15rem 1.15rem 1.25rem;align-items:stretch}.ai-confirm-hero{width:3.8rem;height:3.8rem;margin-bottom:.85rem}.ai-confirm-hero-mark{font-size:1.2rem}.ai-confirm-steps{margin-top:1.1rem}.ai-confirm-actions{justify-content:flex-end}.ai-confirm-actions .btn{flex:0 0 auto;min-width:7.5rem}}

/* 高峰提示条：跟随紫微蓝主题 */
.notice-bar.is-quiet{display:none}
.notice-bar{display:flex;align-items:center;gap:.5rem;padding:.45rem .85rem .45rem .7rem;min-height:2.2rem;overflow:hidden;position:relative;background:linear-gradient(90deg,rgba(57,119,207,.12),rgba(248,251,255,.96) 28%,rgba(238,244,252,.92));border-bottom:1px solid rgba(57,119,207,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.notice-bar::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#4f8ee0,#3977cf 55%,#285fae)}
.notice-horn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;margin:0;padding:0;border-radius:50%;color:#fff;background:linear-gradient(145deg,#4f8ee0,#3977cf);box-shadow:0 1px 4px rgba(57,119,207,.28);line-height:0}
.notice-horn svg{display:block;width:12px;height:12px}
.notice-marquee{flex:1 1 auto;min-width:0;overflow:hidden;position:relative;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.notice-track{display:flex;flex-wrap:nowrap;align-items:center;width:max-content;will-change:transform}
.notice-text{flex:0 0 auto;padding-right:2.8rem;font-size:.8rem;color:#3d5570;font-weight:600;letter-spacing:.03em;white-space:nowrap;line-height:1.35}
.notice-text em{font-style:normal;color:#285fae;font-weight:800;padding:.05rem .28rem;margin:0 .05rem;border-radius:4px;background:rgba(57,119,207,.14)}
/* 返回主页：胶囊按钮 */
.link-back{display:inline-flex;align-items:center;justify-self:start;gap:.2rem;height:2rem;padding:0 .62rem 0 .42rem;border-radius:999px;border:1px solid rgba(57,119,207,.35);background:#fff;color:#3977cf;text-decoration:none;font-size:.78rem;font-weight:600;line-height:1.1;white-space:nowrap;box-sizing:border-box}
.link-back-arrow{flex:0 0 auto;font-size:.92rem;line-height:1}
.link-back-text{flex:0 1 auto;line-height:1.1}
.link-back:hover{border-color:rgba(57,119,207,.55);background:#f5f8fd}
/* 功能名：胶囊圈 */
.logo-glow{display:inline-flex;align-items:center;height:2rem;padding:0 .85rem;border-radius:999px;border:1px solid rgba(57,119,207,.28);background:#fff;color:#1f1f1f;font-size:.88rem;font-weight:700;letter-spacing:.06em;text-shadow:none}

/* —— 出生资料卡片（设计稿 v35）—— */
body{
  font-family:"Microsoft YaHei","PingFang SC",sans-serif;
  background:#eef1f5;
  color:#202124;
}
.ziwei-main{
  max-width:1320px;
  padding:1rem .85rem 2rem;
}
.form-panel.panel{
  max-width:440px;
  margin:0 auto;
  padding:1.15rem 1.05rem 1rem;
  border:0;
  border-radius:14px;
  background:#fff;
  box-shadow:0 2px 18px rgba(26,35,50,.07);
}
.form-panel .panel-title{
  display:flex;
  align-items:center;
  gap:.65rem;
  margin:0 0 1.05rem;
}
.form-panel .panel-title h1{
  margin:0;
  font-size:1.05rem;
  font-weight:700;
  color:#202124;
  letter-spacing:.02em;
}
.form-panel .title-seal{
  flex:0 0 auto;
  width:2.15rem;
  height:2.15rem;
  border:0;
  border-radius:8px;
  color:#fff;
  background:#3b71e8;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.04em;
  box-shadow:none;
}
.form-panel .form-stack{
  display:flex;
  flex-direction:column;
  gap:.85rem;
}
.form-panel .field{
  display:flex;
  flex-direction:column;
  gap:.38rem;
  margin:0;
}
.form-panel .field-label{
  color:#202124;
  font-size:.82rem;
  font-weight:700;
  line-height:1.3;
}
.form-panel .field input,
.form-panel .field select,
.form-panel .field-date .birth-pick-btn{
  width:100%;
  min-height:44px;
  border:1px solid #e3e6ec;
  border-radius:10px;
  padding:.58rem .75rem;
  color:#202124;
  background:#f5f6f8;
  font-size:.92rem;
  outline:none;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.form-panel .field input::placeholder{
  color:#9aa3af;
}
.form-panel .field select{
  appearance:none;
  padding-right:2rem;
  background-image:
    linear-gradient(45deg,transparent 50%,#8b95a5 50%),
    linear-gradient(135deg,#8b95a5 50%,transparent 50%);
  background-position:
    calc(100% - 18px) calc(50% + 2px),
    calc(100% - 12px) calc(50% + 2px);
  background-size:6px 6px,6px 6px;
  background-repeat:no-repeat;
  cursor:pointer;
}
.form-panel .field input:focus,
.form-panel .field select:focus,
.form-panel .field-date .birth-pick-btn:focus{
  border-color:#3b71e8;
  background:#fff;
  box-shadow:0 0 0 3px rgba(59,113,232,.14);
}
.form-panel .field-date{
  gap:.45rem;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.form-panel .field-date-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
}
.form-panel .field-date .birth-pick-btn{
  text-align:left;
  cursor:pointer;
  font-family:inherit;
}
.form-panel .field-date .birth-pick-btn.placeholder{
  color:#9aa3af;
}
.form-panel .field-hint{
  margin:0;
  color:#9aa3af;
  font-size:.72rem;
  line-height:1.45;
}
.form-panel .calendar-segment{
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  gap:0;
  padding:2px;
  border-radius:8px;
  background:#eef0f4;
}
.form-panel .calendar-segment-item{
  position:relative;
  display:inline-flex;
  margin:0;
  cursor:pointer;
}
.form-panel .calendar-segment-item input{
  position:absolute;
  opacity:0;
  width:0;
  height:0;
  pointer-events:none;
}
.form-panel .calendar-segment-item span{
  display:block;
  min-width:2.8rem;
  padding:.28rem .62rem;
  border-radius:6px;
  color:#6b7280;
  font-size:.74rem;
  font-weight:600;
  line-height:1.35;
  text-align:center;
  transition:background .15s ease,color .15s ease,box-shadow .15s ease;
}
.form-panel .calendar-segment-item:has(input:checked) span{
  color:#202124;
  background:#fff;
  box-shadow:0 1px 3px rgba(26,35,50,.1);
}
.form-panel .form-actions{
  display:flex;
  gap:.65rem;
  margin-top:1.05rem;
}
.form-panel .form-actions .btn{
  flex:1;
  min-width:0;
  min-height:44px;
  margin:0;
  padding:.55rem .75rem;
  border-radius:10px;
  font-size:.92rem;
  font-weight:600;
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease,transform .12s ease;
}
.form-panel .btn-chart.primary{
  border:1px solid #3b71e8;
  color:#fff;
  background:#3b71e8;
  box-shadow:none;
}
.form-panel .btn-chart.primary:hover{
  background:#2f63d8;
  border-color:#2f63d8;
}
.form-panel .btn-interpret-outline{
  border:1px solid #3b71e8;
  color:#3b71e8;
  background:#fff;
}
.form-panel .btn-interpret-outline:hover{
  background:#f0f5ff;
}
.form-panel .form-actions .btn:active{
  transform:translateY(1px);
}
.form-panel .form-note{
  margin:.85rem 0 0;
  color:#9aa3af;
  font-size:.68rem;
  line-height:1.55;
  text-align:left;
}
@media(max-width:520px){
  .ziwei-main{
    padding:.85rem .65rem 1.5rem;
  }
  .form-panel.panel{
    padding:1rem .9rem .95rem;
  }
  .form-panel .field-date-head{
    align-items:center;
  }
  .form-panel .calendar-segment-item span{
    min-width:2.5rem;
    padding:.26rem .5rem;
    font-size:.72rem;
  }
}
/* ===== 顶栏布局对齐测名起名/八字排盘页 v36 ===== */
.top-bar {
  position: static;
  min-height: 0;
  padding: 16px 16px 10px;
  border-bottom: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.link-back {
  height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  gap: 5px;
  color: rgba(44, 62, 93, 0.8);
  font-size: 15px;
  font-weight: 400;
}
.link-back:hover {
  border: 0;
  background: transparent;
  color: #2456d6;
}
.logo-title {
  margin: 0;
  text-align: center;
  font-size: 21px;
  font-weight: 700;
  color: #2c3e5d;
  letter-spacing: 2px;
  text-shadow: 0 2px 10px rgba(47, 124, 232, 0.3);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (max-width: 520px) {
  .top-bar {
    padding: 12px 12px 8px;
  }
  .logo-title {
    font-size: 18px;
    letter-spacing: 1px;
  }
}
