#natalDialog { width: min(1160px, calc(100vw - 24px)); font-family: var(--sans), "KyMon Source Serif", "KyMon Extension Serif", sans-serif; }
#natalDialog h3 { margin-top: 8px; }
#natalDialog a { color: var(--bronze-light); text-decoration: underline; }
#natalDialog li { line-height: 1.8; }
#natalDialog .form-grid { margin: 18px 0; }
#natalDialog .natal-offset { font-size: .8rem; }
.natal-cards, .natal-cycles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 18px 0; }
.natal-cards h3, .natal-cycles h3 { color: var(--bronze-light); }
.natal-board-scroll, .natal-table-scroll { max-width: 100%; overflow-x: auto; margin: 18px 0; }
.natal-board { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; min-width: 630px; }
.natal-palace { background: var(--plate-deep); border: 1px solid var(--bronze-dark); color: var(--ink); border-radius: 8px; text-align: left; padding: 15px; display: flex; flex-direction: column; gap: 8px; line-height: 1.6; font: inherit; cursor: pointer; }
.natal-palace strong { color: var(--bronze-light); }
.natal-palace span, .natal-palace small { font-size: .82rem; }
.natal-palace[aria-pressed="true"], .natal-active { border-color: var(--bronze-light); background: var(--surface-raised); }
.natal-badges { color: var(--bronze-light); border-top: 1px solid var(--line); padding-top: 6px; }
.natal-age-note { padding: 14px; border-left: 2px solid var(--bronze-light); line-height: 1.8; background: var(--plate-deep); }
.natal-table-scroll table { border-collapse: collapse; width: 100%; font-size: .83rem; }
.natal-table-scroll th, .natal-table-scroll td { border: 1px solid var(--line); text-align: left; padding: 10px; min-width: 90px; }
.natal-table-scroll th { color: var(--bronze-light); }
.natal-table-scroll caption { text-align: left; padding: 8px 0; }
.natal-digest { overflow-wrap: anywhere; font-size: .75rem; }
#natalResults { min-width: 0; }
#natalStatus { line-height: 1.8; }
.natal-overview, .natal-timing { margin: 26px 0; }
.natal-overview p, .natal-evidence p, .natal-timing p { line-height: 1.85; overflow-wrap: anywhere; }
.natal-verdict { color: var(--bronze-light); font-weight: 700; }
.natal-topics > details, .natal-time-layers > details { padding: 14px 16px; margin: 12px 0; border: 1px solid var(--line); border-radius: 8px; background: var(--plate-deep); }
.natal-topics > details > summary, .natal-time-layers > details > summary { color: var(--bronze-light); font-weight: 700; cursor: pointer; line-height: 1.7; }
.natal-fact { border-left: 2px solid var(--bronze-dark); padding: 10px 14px; margin: 12px 0; }
.natal-fact > p { margin: 6px 0; }
.natal-fact .muted { font-size: .8rem; }
.natal-fact .muted a { display: block; }
.natal-stem-readings { min-width: 0; }
.natal-evidence .study-more { overflow-wrap: anywhere; }
.natal-evidence .outline-button { margin: 8px 0; }
.natal-five-axes > details, .natal-interactions > details { margin: 10px 0; padding: 10px 14px; border: 1px solid var(--line); border-radius: 8px; }
.natal-five-axes summary, .natal-interactions summary { color: var(--bronze-light); cursor: pointer; line-height: 1.8; }
.natal-table-scroll td details { min-width: 200px; max-width: 620px; }
@media (max-width: 640px) {
  #natalDialog { width: calc(100vw - 12px); padding: 18px 12px; }
  .natal-cards, .natal-cycles { grid-template-columns: 1fr; }
  #natalDialog .study-card { padding: 14px; }
  #natalDialog .dialog-heading h2 { font-size: 1.25rem; }
}
