.bazi-page { min-height:100vh; }
.bazi-page [hidden] { display:none!important; }
.bazi-main { padding-top:48px; padding-bottom:64px; }
.bazi-intro { max-width:660px; margin-bottom:30px; }
.bazi-intro h1 { font-size:clamp(36px,6vw,64px); line-height:1.05; margin:12px 0 20px; }
.bazi-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr); gap:40px; align-items:start; }
.bazi-page .formcard { width:100%; }
.bazi-page .field { min-width:0; }
.bazi-page input,.bazi-page select { min-width:0; }
.bazi-profile { padding-bottom:20px; border-bottom:1px solid var(--line,#303030); margin-bottom:24px; }
.bazi-second-person { min-width:0; margin:28px 0; padding:24px 0 0; border:0; border-top:1px solid var(--line,#303030); }
.bazi-second-person legend { padding:0 12px 0 0; font-size:22px; font-weight:600; }
.bazi-note { padding:24px; border:1px solid var(--line,#303030); border-radius:16px; }
.bazi-note h2 { font-size:24px; margin:0 0 18px; }
.bazi-note p { margin:14px 0; }
.bazi-page .micro { overflow-wrap:anywhere; }
.bazi-status:empty,.bazi-page .errors:empty { display:none; }
.bazi-status { margin-top:12px; }
.bazi-result h1 { font-size:clamp(32px,5vw,54px); margin:12px 0; overflow-wrap:anywhere; }
.bazi-result-top { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; margin-bottom:28px; }
.bazi-pillars { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.bazi-pillar { border:1px solid var(--line,#303030); border-radius:14px; padding:20px; min-width:0; }
.bazi-pillar h3 { margin:0 0 18px; font-size:18px; }
.bazi-symbol { font-size:38px; line-height:1.2; }
.bazi-pillar p { margin:8px 0 16px; overflow-wrap:anywhere; }
.bazi-pillar hr { border:0; border-top:1px solid var(--line,#303030); margin:18px 0; }
.bazi-alternatives { padding-left:18px; font-size:14px; }
.bazi-section { margin-top:36px; }
.bazi-section h2 { font-size:26px; margin:0 0 18px; }
.bazi-elements { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.bazi-element { border:1px solid var(--line,#303030); border-radius:12px; padding:16px; }
.bazi-element strong { display:block; font-size:26px; margin-top:10px; }
.bazi-table-wrap { overflow-x:auto; }
.bazi-table { width:100%; border-collapse:collapse; font-size:14px; }
.bazi-table th,.bazi-table td { text-align:left; padding:12px; border-bottom:1px solid var(--line,#303030); overflow-wrap:anywhere; }
.bazi-page .report-loading { min-height:420px; padding:48px 16px; }
.bazi-page .loading-orbits { margin-left:auto; margin-right:auto; }
.bazi-page .btns { flex-wrap:wrap; }
.bazi-footer { padding-top:24px; padding-bottom:32px; }
.bazi-entry { margin-top:24px; margin-bottom:24px; }
.bazi-entry h2 { font-size:26px; }
@media(max-width:760px) {
 .bazi-main { padding-top:28px; }
 .bazi-grid { grid-template-columns:1fr; gap:24px; }
 .bazi-pillars { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .bazi-result-top { flex-direction:column; gap:14px; }
 .bazi-elements { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .bazi-page .nav { gap:16px; }
 .bazi-page .cabinet-page-links { gap:12px; flex-wrap:wrap; }
 .bazi-page button,.bazi-page .secondary { min-height:42px; }
}
@media(max-width:420px) { .bazi-page .formrow { grid-template-columns:1fr; } .bazi-pillar { padding:14px; } }
@media print {
 .bazi-page main.bazi-main { display:block!important; }
 .bazi-page { background:white; color:#111; }
 .bazi-page .top,.bazi-page .bazi-footer,.bazi-page #bazi-form-view,.bazi-page #bazi-loading,.bazi-page .bazi-actions { display:none!important; }
 .bazi-main { padding:0; }
 .bazi-result,.bazi-result[hidden] { display:block!important; color:#111; }
 .bazi-pillar,.bazi-element { break-inside:avoid; border-color:#bbb; }
 .bazi-pillars { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .bazi-elements { grid-template-columns:repeat(5,minmax(0,1fr)); }
 .bazi-symbol,.bazi-page h1,.bazi-page h2,.bazi-page h3,.bazi-page p { color:#111; }
 .bazi-table th,.bazi-table td { border-color:#bbb; }
}
.bazi-save-panel { border:1px solid var(--line,#303030); border-radius:16px; padding:24px; margin-top:36px; }
.bazi-save-panel h2 { margin-top:0; font-size:24px; }
.bazi-save-panel form { max-width:520px; margin-top:24px; }
.bazi-full-print { display:none; }
.bazi-screen-reading .report-section { max-width:900px; }
.bazi-screen-reading .report-section h2 { font-size:28px; }
.bazi-screen-reading .report-tabs { margin-bottom:24px; }
@media print {
 .bazi-screen-reading,.bazi-save-panel { display:none!important; }
 .bazi-full-print { display:block!important; }
 .bazi-full-print .report-section { break-inside:auto; }
 .bazi-full-print .interpretation { break-inside:avoid; }
 .bazi-full-print h2,.bazi-full-print h3 { break-after:avoid; }
}
