/* Contain intrinsic chart/table widths within the results grid. */
.workspace,.workspace>*,.results-area,.results-area>*,.card,.summary-grid>*{min-width:0;max-width:100%}
.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.stat strong,.result-heading h2,.reading p,.period-box p{overflow-wrap:anywhere}
.table-scroll{min-width:0;max-width:100%;overflow-x:auto}
.bala-graph,.metric-graph,.av-graph,.mountain-chart-scroll,.south-scroll,.kala-scroll{min-width:0;width:100%;max-width:100%}
.bala-graph svg,.metric-graph svg,.av-graph svg,.mountain-svg,.degree-svg,.nested-south-chart,.kala-scroll svg{display:block;width:100%;max-width:100%;min-width:0;height:auto}
.mountain-chart-scroll,.bala-graph,.metric-graph,.av-graph{overflow-x:visible}
.tabs{flex-wrap:wrap;white-space:normal;overflow:visible}
.tabs button{min-width:0}
@media(max-width:780px){
  main{padding-inline:16px}.workspace{grid-template-columns:minmax(0,1fr)}
  .graph-card,.table-card,.timing-card,.mountain-card,.reading{padding:18px}
  .result-heading{flex-wrap:wrap;gap:10px}
  .summary-grid{gap:8px}.stat{padding:12px 10px}
  .tabs{gap:6px 14px}.tabs button{font-size:14px;padding:10px 0}
  .metric-controls>div,.mountain-controls>*{min-width:0;max-width:100%}
  .dasha-controls{flex-wrap:wrap}.dasha-controls select{max-width:100%}
  .life-values{grid-template-columns:repeat(2,minmax(0,1fr))}
  .planet-buttons{grid-template-columns:repeat(4,minmax(0,1fr))}
  .age-heading{flex-wrap:wrap;gap:8px}.age-heading output{max-width:100%;white-space:normal}
  .precise-age{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:6px}
  .precise-age label{min-width:0;max-width:none}.precise-age button{min-width:0;padding:8px 4px;white-space:normal;font-size:12px}
  .dasha-date-range{grid-template-columns:minmax(0,1fr);padding:12px}
  .dasha-date-range>div,.dasha-date-range button{min-width:0;width:100%}
  .mountain-controls{flex-wrap:wrap;gap:10px}.mountain-controls select{min-width:0;max-width:100%}
  .av-south .south-center span{font-size:14px}.av-score{font-size:26px}
  .birth-fields{grid-template-columns:minmax(0,1fr)}
  .theme-switch{max-width:100%}.topbar{padding-inline:16px}
}
@media(max-width:480px){
  main{padding-inline:12px}.graph-card,.table-card,.timing-card,.mountain-card,.reading{padding:14px}
  .summary-grid .stat span{font-size:10px}.summary-grid .stat strong{font-size:15px}
  .life-legend{gap:6px}.life-legend-button{font-size:12px;padding:7px 8px}
  .metric-values{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .life-value{padding:10px}.life-value strong{font-size:22px}
  .bala-graph text,.metric-graph text{font-size:24px}.av-graph text{font-size:28px}
  .mountain-svg text{font-size:27px}.degree-svg text{font-size:21px}
  .nested-sign{font-size:27px}.nested-caption{font-size:33px}.nested-note{font-size:28px}
  .south-cell{padding:5px;min-height:90px}.south-sign{font-size:12px}.south-sign small{font-size:10px}
  .south-planet{font-size:12px}.south-center strong{font-size:17px}.south-center span{font-size:11px}
  .av-south .south-center strong{font-size:19px}.av-south .south-center span{font-size:12px}
  .south-chart{border-radius:8px}.av-score{font-size:24px;margin:10px 0}
  .transit-navigation{gap:7px}.transit-navigation button{font-size:12px;padding:9px 5px}
  .reading-top{gap:12px}.reading-symbol{width:44px;height:44px;font-size:26px}
}
