#bazi97 .bazi-panel{max-width:65rem;margin:1.3rem 0;padding:1.25rem;background:#fff;border:1px solid #dbe3ed;border-radius:1rem}
#bazi97 fieldset{border:1px solid #dbe3ed;border-radius:.7rem;padding:.75rem 1rem;margin:0 0 1rem}
#bazi97 .bazi-row{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;margin:.5rem 0}
#bazi97 input[type=text],#bazi97 select{min-height:44px;font:inherit;padding:.4rem .6rem;border:2px solid #465a79;border-radius:.5rem;background:#fff;color:#182e4f}
#bazi97 select:disabled{opacity:.5}
#bazi97 .bazi-time label{display:inline-flex;gap:.4rem;align-items:center;min-height:44px;margin-right:1rem}
#bazi97 button{min-height:48px;padding:.75rem 1rem;font:inherit;border:2px solid #465a79;border-radius:.7rem;background:#fff;color:#182e4f;cursor:pointer}
#bazi97 #bazi-calc{background:#182e4f;color:#fff}
#bazi97 button:focus-visible,#bazi97 input:focus-visible,#bazi97 select:focus-visible{outline:3px solid #a34500;outline-offset:3px}
#bazi97 .bazi-actions{display:flex;flex-wrap:wrap;gap:.75rem}
#bazi97 .bazi-hint{font-size:.9rem;color:#5b6678;margin:.25rem 0}
#bazi97 .bazi-pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1rem 0}
#bazi97 .bazi-pillar{border:1px solid #dbe3ed;border-radius:.7rem;padding:.75rem;text-align:center}
#bazi97 .bazi-pillar h3{font-size:1rem;margin:0 0 .5rem}
#bazi97 .bazi-ganzhi{font-size:2.2rem;margin:.25rem 0;letter-spacing:.1em}
#bazi97 .bazi-none{font-size:1.1rem;font-weight:700;margin:.5rem 0}
#bazi97 .bazi-pillar[data-status=undetermined]{background:#fff6ec}
#bazi97 .bazi-error,#bazi97 .bazi-stale{color:#8a2400;font-weight:700}
#bazi97 p,#bazi97 li,#bazi97 h2,#bazi97 h3{overflow-wrap:anywhere}
@media(max-width:620px){#bazi97 .bazi-pillars{grid-template-columns:repeat(2,minmax(0,1fr))}#bazi97 .bazi-panel{padding:.85rem}#bazi97 .bazi-actions button{flex:1 1 100%}}
