/* Keep measured diagrams readable. Scroll only inside their own viewport. */
.detail-svg{min-width:calc(1000px * var(--reading-scale) * var(--diagram-zoom,1));height:auto}
.detail-lab-host,.lab-grid,.controls,.control,.result,.sidebox,.lesson-side,.path-card{min-width:0}
.article,.lesson-grid{min-width:0;overflow-wrap:anywhere}
.detail-toolbar label,.phase-control{min-width:0}
.phase-control{flex-basis:300px}
.detail-heading h2{font-size:calc(25px * var(--reading-scale))}
.detail-toolbar label,.detail-toolbar select,.detail-meter label,.detail-meter select,.detail-stage-tabs button,.detail-values table,.detail-meter p,.detail-notes p{font-size:calc(15px * var(--reading-scale))}
.detail-status{font-size:calc(16px * var(--reading-scale))}
.detail-explanation{font-size:calc(17px * var(--reading-scale))}
.detail-values summary{font-size:calc(18px * var(--reading-scale))}
.detail-meter strong{font-size:calc(30px * var(--reading-scale));overflow-wrap:anywhere}
.detail-mechanism p{font-size:calc(15px * var(--reading-scale))}
.detail-mechanism{overflow-x:auto}
.detail-mechanism svg{min-width:640px;height:165px;max-height:none}
.detail-meter select{max-width:100%}
.detail-meter-controls>label{max-width:100%}
.control label{flex-wrap:wrap;gap:4px 10px}
.detail-notes,.detail-explanation,.status,.calculation,.sidebox,.path-card,.page-head,.crumb,.feature-formulas{overflow-wrap:anywhere}
.control input,.control select{min-width:0;max-width:100%}
.lesson-tabs,.section-title{flex-wrap:wrap}
.detail-scroll{scrollbar-gutter:stable;overscroll-behavior-x:contain}
.detail-scroll:after{content:none}
@media(max-width:420px){
  .controls{grid-template-columns:minmax(0,1fr)}
  .results{grid-template-columns:minmax(0,1fr)}
  .detail-stage-tabs{grid-template-columns:minmax(0,1fr)}
  .phase-control input{min-width:0;flex-basis:100%}
  .brand{font-size:14px;gap:6px}.brandmark{width:28px;height:28px}
  .topbar{padding:0 10px;gap:6px}
  .appearance-toggle{font-size:12px;padding:7px}
  .mobile-menu{padding:5px 8px}
  .detail-mechanism{padding:12px}
}
@media print{.detail-toolbar{display:none}.detail-svg{min-width:0}.detail-scroll{overflow:visible}.detail-mechanism svg{min-width:0;width:100%}}
