.bazi-modal{width:min(54rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);padding:0;border:1px solid var(--line,#d7c9a83d);background:#151e22;color:var(--ink,#f1efe5);box-shadow:0 24px 90px #000a}
.bazi-modal::backdrop{background:#020606aa;backdrop-filter:blur(6px)}
.bazi-paper{padding:clamp(1rem,3vw,2rem);max-height:calc(100dvh - 2rem);overflow:auto;overscroll-behavior:contain;scrollbar-color:#847b60 transparent;overflow-wrap:anywhere}
.bazi-head{display:flex;gap:1rem;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line,#d7c9a83d);padding-bottom:.75rem}
.bazi-head h2{font-size:1.4rem;margin:0}.bazi-head .textbtn{flex-shrink:0}
.bazi-intro{color:#dedacb;font-size:1rem;margin:1rem 0}
.bazi-input-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.bazi-field{min-width:0}
.bazi-form input,.bazi-form select,.bazi-form textarea{min-width:0;max-width:100%;font:16px/1.5 system-ui,sans-serif}
.bazi-form input:disabled{opacity:.5}.bazi-form label{font-size:.93rem}
.bazi-check{display:flex!important;align-items:flex-start;gap:.65rem;cursor:pointer;padding:.35rem 0}
.bazi-check input{width:1.1rem;height:1.1rem;min-width:1.1rem;margin:.25rem 0 0;accent-color:#dbc793}
.bazi-hint,.bazi-privacy{font-size:.84rem;color:var(--muted,#c0c5c2);line-height:1.7}
.bazi-privacy{padding:.8rem;border-left:2px solid #dbc79380;background:#dbc79308}
.bazi-submit{margin-top:.35rem}.bazi-status{font-size:.88rem;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;color:#d8cfb5}
.bazi-status:empty{display:none}.bazi-result{border-top:1px solid var(--line,#d7c9a83d);margin-top:1.1rem;padding-top:.5rem}
.bazi-result h3{font-weight:400;font-size:1.2rem;margin:1rem 0 .6rem}
.bazi-notice{font-size:.91rem;color:#e5d6ae;padding:.75rem;border:1px solid #dbc79340;background:#dbc79309}
.bazi-pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}
.bazi-pillar{min-width:0;padding:.75rem .65rem;border:1px solid var(--line,#d7c9a83d);background:#050b103b}
.bazi-pillar h4{margin:0;text-align:center;font-size:.84rem;font-weight:400;color:var(--muted,#c0c5c2)}
.bazi-ganzhi{font-size:1.5rem;line-height:1.6;text-align:center;color:var(--gold,#dbc793);margin:.4rem 0 .7rem}
.bazi-metrics{display:grid;grid-template-columns:1fr;gap:.12rem;margin:.3rem 0}
.bazi-metrics dt{font-size:.72rem;color:var(--muted,#c0c5c2)}.bazi-metrics dd{font-size:.85rem;margin:0 0 .35rem}
.bazi-hidden-label{font-size:.75rem;color:var(--muted,#c0c5c2);margin:.6rem 0 .2rem;padding-top:.5rem;border-top:1px solid #d7c9a822}
.bazi-hidden-stems{list-style:none;padding:0;margin:0;font-size:.8rem;line-height:1.8}
.bazi-candidates,.bazi-references{border-top:1px solid var(--line,#d7c9a83d);margin-top:1rem;padding:.8rem 0}
.bazi-candidates summary,.bazi-references summary{cursor:pointer;color:var(--gold,#dbc793);font-size:.9rem;min-height:2rem}
.bazi-candidate{margin:1rem 0}.bazi-candidate>h4{font-weight:400;font-size:.9rem;color:#e3d5aa}
.bazi-caveats,.bazi-source-list{font-size:.81rem;line-height:1.75;padding-left:1.25rem;color:var(--muted,#c0c5c2)}
.bazi-source-list a{color:var(--gold,#dbc793)}
.bazi-ai{border-top:1px solid var(--line,#d7c9a83d);padding:.4rem 0 1rem}
.bazi-ai-text{white-space:pre-wrap;overflow-wrap:anywhere;border-left:2px solid #dbc79390;padding:.85rem 1rem;background:#dbc79309;line-height:1.9;font-size:.96rem}
.bazi-modal button:disabled{cursor:wait;opacity:.6}
.bazi-modal :focus-visible{outline:2px solid #dbc793;outline-offset:3px}
@media(max-width:600px){.bazi-modal{width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem)}.bazi-paper{padding:1rem;max-height:calc(100dvh - 1rem)}.bazi-head h2{font-size:1.2rem}.bazi-input-grid{grid-template-columns:1fr;gap:0}.bazi-pillars{grid-template-columns:repeat(2,minmax(0,1fr))}.bazi-submit{width:100%}.bazi-ai-text{padding:.75rem}.bazi-ganzhi{font-size:1.4rem}}
@media(prefers-reduced-motion:reduce){.bazi-modal *{scroll-behavior:auto}}
