/* Readable form text and easy-to-tap controls across the calculator. */
body{font-size:1rem}
header{height:auto;min-height:84px;padding-top:12px;padding-bottom:12px}
.brand{min-width:0}
.brand span{min-width:0;overflow-wrap:anywhere}
input,select,textarea,.settings select{font-size:1rem;min-height:44px;height:auto;line-height:1.4}
button{min-height:44px;line-height:1.4}
summary{min-height:44px;display:list-item;align-content:center;line-height:1.5;padding-top:10px;padding-bottom:10px}
label{font-size:1rem;line-height:1.5}
.help-trigger{width:44px;height:44px;min-width:44px;flex-basis:44px;font-size:1rem;line-height:1}
.help-field>.help-trigger{top:0;right:0}
.help-label-text{min-height:44px;padding-right:52px;display:flex;align-items:center;line-height:1.5}
.help-title{gap:10px;align-items:center}
.help-title h2,.help-title p{min-width:0;overflow-wrap:anywhere}
.help-tooltip{font-size:1rem;line-height:1.6;max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain}
.help-tooltip p,.help-tooltip strong{font-size:1rem}
.segmented button,.starting-options button,.location-options strong,.add-button,.suggestion-actions button{font-size:1rem}
.page-links a,.suggestion-actions a,.hardware-links a,.tip-back{display:inline-flex;align-items:center;min-height:44px;padding:8px 4px;line-height:1.5}
.check-control{min-height:44px;align-items:center;font-size:1rem}
.check-control input{width:24px;height:24px;min-height:24px;margin:0 4px 0 0}
.check-control small{font-size:.875rem;line-height:1.5}
.settings,.results,.panel,.metrics>article,.branch-metrics>div,.suggestion,.tip-body,.principle-example{min-width:0}
.calculation,.area-note,.warning,.muted,.suggestion-note,.suggestion-evidence,.location-note,.face-description,.hardware-match,.catalog-gaps{overflow-wrap:anywhere}
.metric,.branch-metrics strong{overflow-wrap:anywhere;letter-spacing:-.03em}
.branch-metrics span,.hardware-match,.hardware-match p,.suggestion-evidence,.suggestion-note,.location-note,.face-description .muted,.metric-note,.chart-key{font-size:.875rem;line-height:1.6}
.installation-guide li,.practice-grid p,.evidence-guide p,.methodology p{font-size:1rem;line-height:1.65}
.hardware-match summary{font-size:.875rem}
.source-table th,.source-table td{white-space:normal}
.tip-diagram{max-width:100%;min-width:0}
.tip-diagram svg{min-width:0}
.tip-flow-mobile{display:none}
.tip-sources a{display:inline-block;line-height:1.8;padding:7px 0}
.principle-math>div,.tip-paths>div{min-width:0;overflow-wrap:anywhere}
@media(max-width:1100px){
  .workspace{grid-template-columns:1fr}
  .settings{max-width:none}
  .recommendation-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  main{padding:20px 12px}
  .panel{padding:18px}
  .page-heading{gap:16px}
  .page-links{gap:8px;flex-wrap:wrap}
  .page-links a{font-size:.875rem}
  .section-title{gap:10px}
  .section-title .help-title{flex:1}
  .section-title h2{font-size:1.125rem;line-height:1.4}
  .recommendation-controls,.suggestion-list{grid-template-columns:1fr}
  .tip-body{padding:22px 16px}
  .tip-body p,.tip-step p,.first-principles p,.principle-grid p,.principle-example>p{font-size:1rem;line-height:1.65}
  .tip-photos img{height:175px;max-width:100%}
  .tip-paths strong,.tip-colors strong,.tip-colors span{font-size:1rem}
  .tip-diagram{padding:16px;overflow:visible}
  .tip-diagram svg{display:none}
  .tip-flow-mobile{display:grid;gap:12px;text-align:center;color:#1d1d1b}
  .tip-flow-mobile>div{padding:14px;border:1px solid #b0b7bd;border-radius:8px;background:#ffffff}
  .tip-flow-mobile strong,.tip-flow-mobile span{display:block;font-size:1rem;line-height:1.5}
  .tip-flow-mobile .flow-join{border:0;padding:0}
  .tip-flow-mobile .flow-join strong{font-size:1.5rem}
  .tip-flow-mobile small{font-size:.875rem;line-height:1.5}
  .branch-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .branch-metrics>div{display:block}
  .branch-metrics>div:last-child{grid-column:1/-1}
  .branch-metrics strong{font-size:1.5rem}
  .hardware-links{display:grid;gap:4px}
  .hardware-links a{width:100%}
  .suggestion-actions{display:grid;gap:8px}
  .suggestion-actions button{width:100%;padding:12px}
  .curve-heading{align-items:flex-start;flex-wrap:wrap}
  .curve-heading>.help-title{flex:1;min-width:180px}
  .curve-heading select{max-width:none;width:100%}
  .branch-result>.product-photo{width:100%;float:none;margin:0 0 16px}
  .result-banner>span{font-size:1rem;line-height:1.5}
  .result-banner h2{font-size:1.5rem;line-height:1.3}
  .brief p{font-size:1rem;line-height:1.6}
  .table-scroll{max-width:100%;overscroll-behavior-x:contain}
}
@media(max-width:430px){
  .metrics{grid-template-columns:1fr}
  .metric{font-size:2.25rem}
  .metrics .panel{padding:18px}
  .field-pair{grid-template-columns:1fr;gap:0}
  .location-options,.starting-options{grid-template-columns:1fr}
  .starting-options button{width:100%}
  .tech-tip>summary{padding:16px 12px;gap:10px}
  .tech-tip summary strong{font-size:1rem;line-height:1.5}
  .tech-tip summary small{font-size:.875rem;line-height:1.5}
  .tip-icon{flex-shrink:0}
  .tip-expand{flex-shrink:0}
  .brand img{width:112px;max-width:38vw}
  .brand span{font-size:.875rem;padding-left:10px}
  header{min-height:68px;padding:12px}
  .legend{font-size:.875rem}
}
@media print{.help-trigger,.tip-flow-mobile{display:none!important}.tip-diagram svg{display:block}.workspace{display:block}.page-links{display:none}}

.tip-airflow>div{flex:1 1 8rem;min-width:0}
.tip-airflow strong,.tip-airflow span{font-size:1rem;white-space:normal;overflow-wrap:anywhere}
.suggestion-actions button,.suggestion-actions a{font-size:1rem!important}
.curve-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.curve-scroll svg{min-width:720px}
.curve-scroll-hint{font-size:.875rem;line-height:1.5}
@media(min-width:1101px){.curve-scroll-hint{display:none}}
@media(max-width:430px){.branch-metrics{grid-template-columns:1fr}}
