/* Shared control rhythm. Keep scientific layouts, native inputs and visible settings. */
#app button:not(.mapnode){line-height:1.35;max-width:100%;white-space:normal;overflow-wrap:break-word;vertical-align:middle}
#app :is(button.btn,button.pill,button.choice,.module-host button){min-height:40px}
#app select{min-height:40px;line-height:1.35;max-width:100%;color:var(--ink)}
#app :is(.controls,.mo-row,.cf-row,.st-tools,.rep-controls,.pc-toolbar,.pc-tools,.pi-controls,.ex-picker,.st-filter,.wp-cell-toolbar){align-items:flex-end;gap:8px 10px}
#app :is(.controls,.mo-row,.cf-row,.st-tools,.rep-controls,.pc-toolbar,.pc-tools,.pi-controls,.ex-picker,.st-filter,.wp-cell-toolbar)>label:has(select){display:grid;gap:4px;min-width:0;margin-block:0}
#app :is(.controls,.mo-row,.cf-row,.st-tools,.rep-controls,.pc-toolbar,.pc-tools)>label:has(input[type=range]){display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 8px;min-width:0}
#app :is(.controls,.mo-row,.cf-row,.st-tools,.rep-controls,.pc-toolbar,.pc-tools)>label>input[type=range]{grid-column:1/-1;min-height:32px;margin:0;width:100%}
#app :is(.choices,.mo-salc,.cf-section-tabs,.bio-tabs,.bio-actions,.bio-links,.aa-list,.aa-models,.rep-tabs,.sem-tabs,.sem-presets,.st-tabs,.st-actions,.ex-actions,.wp-actions,.wp-additions,.wp-mode,.pc-orbitals,.pg-actions,.sx-tools){align-items:stretch;gap:8px;flex-wrap:wrap}
#app :is(.choices,.mo-salc,.cf-section-tabs,.bio-tabs,.aa-list,.aa-models,.rep-tabs,.sem-tabs,.st-tabs,.wp-mode)>button{height:auto;margin:0}
#app :is(.grid,.st-cols,.cf-grid,.mo-grid,.bio-grid,.lt-pair,.pc-grid)>*{min-width:0}
#app :is(.panelbar,.wp-bar,.pg-panelhead,.bragg-toolbar){flex-wrap:wrap;align-items:center;gap:8px 12px}
#app :is(.panelbar,.wp-bar,.pg-panelhead)>:is(h2,h3){margin:0}
#app :is(.rep-controls,.pc-toolbar,.ex-picker,.st-filter,.wp-cell-toolbar)>button{flex:0 1 auto}
#app :is(.panel,.cf-card,.wp-card,.pc-editor) label:has(input[type=checkbox]){line-height:1.4}
#app button:focus-visible,#app select:focus-visible{outline:3px solid #bf7a13;outline-offset:3px}
@media(max-width:600px){
 #app :is(button.btn,button.pill,button.choice,.module-host button),#app select{min-height:44px}
 #app :is(.controls,.mo-row,.cf-row,.st-tools,.rep-controls,.pc-toolbar,.pc-tools,.pi-controls,.ex-picker,.st-filter,.wp-cell-toolbar){gap:8px;flex-wrap:wrap}
 #app :is(.controls,.mo-row,.cf-row,.st-tools,.rep-controls,.pc-toolbar,.ex-picker,.st-filter)>label:has(select){flex:1 1 150px}
 #app :is(.controls,.mo-row,.cf-row,.st-tools,.rep-controls,.pc-toolbar)>label:has(input[type=range]){flex:1 1 180px}
 #app :is(.pagehead,.wp-heading,.ex-heading,.learning-next){flex-wrap:wrap;gap:12px}
 #app :is(.panelbar,.wp-bar,.pg-panelhead)>div{max-width:100%;flex-wrap:wrap}
}
