/* Common bench ergonomics. Movement and course state remain in their controllers. */
.usability-ready{font-size:15px;line-height:1.55}
.usability-ready [hidden]{display:none!important}
.usability-ready :is(button,select,input,summary){font-size:14px}
.usability-ready :is(button,select,input[type=search],input[type=number]){min-height:40px}
.usability-ready button{white-space:normal;line-height:1.3}
.usability-ready :is(button,a,input,select,summary,[tabindex]):focus-visible{outline:3px solid #80601f;outline-offset:3px}
.usability-ready :is(input[type=search],input[type=number],select){color:#17363c;background:#fafbf5;border:1px solid #91a58c;border-radius:4px;padding:8px 10px;max-width:100%}
.usability-ready input[type=search]{width:100%}
.usability-ready :is(input[type=checkbox],input[type=radio]){min-width:18px;min-height:18px;flex-shrink:0;accent-color:#345e50}
.usability-ready input[type=range]{min-height:32px;accent-color:#345e50}
.usability-ready summary{padding-block:9px;cursor:pointer;font-weight:600}
.usability-ready :is(p,li,dd){overflow-wrap:anywhere}
.usability-ready .site-header{display:grid;grid-template-columns:minmax(210px,1fr) auto auto;gap:12px 24px;padding:16px 24px;min-height:96px;align-items:center;max-width:none}
.site-header .brand{min-width:0}.site-header .brand strong{font-size:23px}.site-header .brand span{font-size:13px}
.site-header #modes{display:flex;flex-direction:column;gap:6px;background:none;border:0;padding:0;box-shadow:none;align-items:stretch;margin:0}
#workspace-nav{display:flex;align-items:stretch;flex-wrap:wrap;gap:5px;background:none;border:0;box-shadow:none;margin:0;padding:0}
#workspace-nav :is(a,button){display:flex;align-items:center;justify-content:center;color:#24483c;background:transparent;text-decoration:none;border:1px solid transparent;border-radius:5px;min-width:70px;min-height:42px;padding:8px 12px;font:600 14px/1.25 Candara,'Segoe UI',sans-serif}
#workspace-nav :is(a,button):hover{background:#e2ead9}
#workspace-nav :is([aria-pressed=true],[aria-current=page]){color:#fff;background:#345e50;border-color:#345e50}
#workspace-nav .reference-link{border-color:#b8c7b1}
#bench-modes{display:flex;align-items:center;gap:4px;border-top:1px solid #c5d0bd;padding-top:5px}
#bench-modes>span{font-size:12px;margin:0 10px;color:#425a46}
#bench-modes button{min-width:0;min-height:34px;padding:6px 12px;font-size:13px;border:0;background:transparent;border-radius:4px}
#bench-modes button[aria-pressed=true]{background:#dce6d2;color:#173b2e;box-shadow:inset 0 -2px #345e50}
.site-header .header-actions{display:flex;flex-direction:column;gap:5px;align-items:flex-end;min-width:150px}
.site-header .header-actions>span{font-size:12px}.site-header .header-actions button{min-height:32px;font-size:12px;padding:5px 8px}
.site-header>#usability-help{min-height:36px;font-size:13px;justify-self:end}
.bench-starter{padding:0 24px;background:#eaf0df;border-bottom:1px solid #becdb3;color:#294b39}
.bench-starter summary{font-size:13px}.bench-starter>div{padding:0 0 14px;max-width:1000px}.bench-starter p{margin:4px 0 12px;font-size:14px}.bench-starter button{margin-right:7px}
#bench-jumps{display:none}
.usability-ready :is(.intro,.design-intro,.calibre p){font-size:14px;line-height:1.5}
.search-label{display:block;font-size:13px;font-weight:600;margin:12px 0 6px}
.search-tools{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:6px 0;color:#425a46;font-size:12px}
.search-tools button{font-size:12px;min-height:34px;padding:5px 8px}
.selection-nav{display:flex;gap:4px;flex-wrap:wrap;margin:2px 0 12px}
.selection-nav button{flex:1;min-height:34px;padding:5px;font-size:12px}
.selection-nav button:last-child{flex-basis:100%}
.usability-ready #workspace{grid-template-columns:245px minmax(0,1fr) 320px;grid-template-rows:minmax(740px,calc(100vh - 175px)) auto;max-width:1920px}
.usability-ready :is(.manifest,.inspector,.design-manifest,.design-inspector){scrollbar-gutter:stable;scroll-padding-block:15px}
.usability-ready .manifest{padding:22px 16px}.usability-ready .calibre{margin-bottom:20px}
.usability-ready .part-row{min-height:44px;font-size:14px;line-height:1.3;text-align:left;padding-block:10px}
.usability-ready .part-state{font-size:12px}
.usability-ready :is(.view-toolbar,.view-options,.transport,.design-camera,.design-playback,.view-controls,.operation-controls,.playback){gap:8px}
.usability-ready .view-toolbar{flex-wrap:wrap;padding:12px}
.usability-ready :is(.view-toolbar,.view-options,.transport) :is(button,label,select){font-size:13px}
.usability-ready :is(.view-options,.design-camera,.view-controls) label{min-height:36px;display:flex;align-items:center;gap:6px}
.usability-ready .view-options{flex-wrap:wrap;padding:8px 12px}
.usability-ready .view-options .explode-label{margin-left:0}
.usability-ready .transport{flex-wrap:wrap;padding:12px}
.usability-ready .timing{flex-wrap:wrap;gap:6px}.usability-ready .reserve{min-width:180px}
.usability-ready #workspace #stage{min-height:320px}
.usability-ready :is(.camera-help,.design-camera-help){font-size:12px}
.usability-ready .inspector{padding:22px 20px}
.usability-ready :is(.inspector p,.inspector dl,.inspector dd,.design-inspector p,.design-experiment p,.lesson p){font-size:14px;line-height:1.6}
.usability-ready .inspector h2{font-size:29px;margin-bottom:14px}
.usability-ready #relationships{font-size:13px;line-height:1.6}
.usability-ready #relationships button,.usability-ready #design-relationships button{padding:6px 8px;min-height:36px;line-height:1.4;font-size:13px}
.next-steps{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 14px}
.next-steps:empty{display:none}.next-steps button{width:100%;text-align:left;font-size:13px;border:1px solid #a4b797;background:#e8efdf;color:#254734;padding:9px 11px}
.usability-ready .history{position:sticky;bottom:0;z-index:2;background:#f4f7ed;border-top:1px solid #c3cfb5;padding:10px 0;display:flex;flex-wrap:wrap;gap:6px}
.usability-ready .history button{font-size:13px;min-height:40px}
.usability-ready :is(#feedback,#design-status,#status){font-size:14px;line-height:1.5;color:#234434;background:#f1f5e9}
.usability-ready #feedback{position:relative;padding:13px 24px;border-top:1px solid #b9c9aa;min-height:48px;z-index:2}
.usability-ready :is(#library-results button,#chapter-nav button,#design-modules button,#design-parts button){font-size:14px;min-height:44px;line-height:1.4}
.usability-ready :is(#library-results button small,#design-parts button>span:last-child){font-size:12px}
.usability-ready #library-results{max-height:420px;overflow:auto;scrollbar-gutter:stable}
.usability-ready :is(#learn-article p,#learn-article li,#learn-course p,#study-controls label,#study-readout){font-size:14px;line-height:1.6}
.usability-ready #learn-course :is(button,label,input,select){font-size:14px}
.usability-ready #study-controls{gap:8px;flex-wrap:wrap}
.usability-ready #study-controls :is(button,select){font-size:13px}
.usability-ready #design-workspace{grid-template-columns:245px minmax(0,1fr) 320px;grid-template-rows:minmax(780px,calc(100vh - 175px)) auto}
.usability-ready :is(.design-heading,.design-camera,#design-operations,.design-playback) :is(button,label,select){font-size:13px}
.usability-ready #design-operations{padding:12px;gap:8px}.usability-ready #design-operations>span{font-size:13px}
.usability-ready :is(#design-readout,#design-dependency,.design-small){font-size:13px;line-height:1.6}
.usability-ready .design-heading h2{min-width:160px}
.usability-ready :is(.design-challenge label,.design-challenge button,#calculation-fields label,#calculation-output dl){font-size:14px}
.usability-ready #calculation-fields label small{font-size:12px}
.usability-ready #reference{grid-template-columns:245px minmax(0,1fr) 320px;max-width:1920px;margin:auto}
body[data-workspace=eta] .site-header{grid-template-columns:auto 1fr auto}
body[data-workspace=eta] .site-header .back{font-size:13px}
body[data-workspace=eta] .site-header>nav:not(#workspace-nav){grid-column:3;grid-row:2;margin:0;flex-wrap:wrap;gap:5px}
body[data-workspace=eta] #workspace-nav{grid-column:3;grid-row:1}
body[data-workspace=eta] .site-header>#usability-help{grid-column:2;grid-row:2;justify-self:start;min-height:34px}
.usability-ready .catalogue{padding:24px 16px}.usability-ready .catalogue h1{font-size:33px}.usability-ready .catalogue>label{font-size:13px}
.usability-ready #parts{max-height:560px;margin-top:12px;scrollbar-gutter:stable}
.usability-ready .scope{padding:14px 18px}.usability-ready .scope p{font-size:13px;line-height:1.5}
.usability-ready #viewport{height:clamp(340px,46vh,560px)}
.usability-ready :is(.operation-controls,.playback) :is(button,select,label){font-size:13px}
.usability-ready #motion-note{font-size:13px}
.usability-ready #part-evidence{margin:18px 0}.usability-ready #part-evidence dt{font-size:13px;margin-top:10px}
.usability-ready #eta-results-count{font-size:12px;color:#425a46}.usability-ready #eta-clear-search{font-size:12px;min-height:34px}
.usability-ready #eta-audit-details{border-top:1px solid #b9c9aa;margin-top:18px}
.usability-ready #eta-audit-details>summary{padding:14px 0;font-size:15px}
.usability-ready .verification{padding:28px 24px}.usability-ready .verification h2{font-size:29px}
.usability-ready :is(#bench-help,#about,#source-dialog){max-width:780px;border:1px solid #a4b697;border-radius:8px;background:#f5f6ee;color:#17363c;padding:30px;max-height:88dvh;width:calc(100% - 32px);font-size:15px;line-height:1.6}
.usability-ready dialog::backdrop{background:#122e2aa6}
#bench-help h2{font:32px/1.2 Georgia,serif;margin:10px 30px 20px 0}#bench-help h3{font:23px Georgia,serif;margin-top:24px}
#bench-help ol{padding-left:24px}#bench-help li{margin-block:12px}.help-close{float:right;font-size:24px!important;min-width:44px}.help-workspaces,.shortcut-list{display:grid;grid-template-columns:125px 1fr;gap:10px 16px;font-size:14px}.help-workspaces dt,.shortcut-list dt{font-weight:600}.help-workspaces dd,.shortcut-list dd{margin:0}
.usability-ready :is(main,aside,section,[id^=jump-]){scroll-margin-top:64px}
@media(min-width:1251px){.usability-ready #workspace>.manifest,.usability-ready #workspace>.inspector,.usability-ready .design-manifest,.usability-ready .design-inspector{overflow:auto}.usability-ready .work-area{overflow:auto}}
@media(max-width:1250px){
 .usability-ready .site-header{grid-template-columns:1fr auto;gap:12px}.site-header #modes{grid-row:2;grid-column:1/-1}.site-header .header-actions{grid-column:2;grid-row:1;flex-direction:row;flex-wrap:wrap;justify-content:flex-end}.site-header .header-actions>span{flex-basis:100%;text-align:right}
 .usability-ready #workspace,.usability-ready #design-workspace,.usability-ready #reference{grid-template-columns:235px minmax(0,1fr);grid-template-rows:auto}
 .usability-ready #workspace>.inspector,.usability-ready .design-inspector,.usability-ready #reference>.inspector{grid-column:1/-1;display:block;max-height:none;border-top:1px solid #bdc9b0}
 .usability-ready .work-area{min-height:730px}.usability-ready .design-work{min-height:770px}
 .usability-ready #workspace #stage{min-height:360px}
 body[data-workspace=eta] .site-header{grid-template-columns:auto 1fr}.usability-ready #workspace-nav{flex-wrap:wrap}
 body[data-workspace=eta] #workspace-nav{grid-column:1/-1;grid-row:2}body[data-workspace=eta] .site-header>nav:not(#workspace-nav){grid-column:1/-1;grid-row:3}body[data-workspace=eta] .site-header>#usability-help{grid-column:2;grid-row:3;justify-self:end}
}
@media(max-width:760px){
 .usability-ready :is(button,select,input[type=search],input[type=number],summary){min-height:44px}
 .usability-ready .site-header{padding:14px 16px;gap:12px}.site-header .brand strong{font-size:20px}.site-header .brand svg{width:32px;min-width:32px}.site-header .brand span{display:none}.site-header .header-actions{min-width:0;max-width:155px}.site-header .header-actions>span{font-size:11px}.site-header .header-actions button{font-size:12px;min-height:38px}
 .site-header #modes{width:100%}#workspace-nav{width:100%;gap:4px}#workspace-nav :is(a,button){flex:1;min-width:0;padding:8px 6px;font-size:13px;min-height:44px}#bench-modes>span{margin:0 6px;font-size:12px}#bench-modes button{flex:1;min-height:40px;font-size:13px;padding:6px}
 .bench-starter{padding:0 16px}.bench-starter summary{font-size:13px;padding-block:11px}.bench-starter button{margin-bottom:6px}
 #bench-jumps{display:flex;position:sticky;top:0;z-index:8;gap:0;margin:0;background:#f5f7ed;border:0;border-bottom:1px solid #aabb9c;box-shadow:0 3px 8px #1d3b2710;border-radius:0;padding:0 8px}
 #bench-jumps a{flex:1;display:flex;align-items:center;justify-content:center;min-height:46px;font-size:13px;color:#264c3c;text-decoration:none;padding:8px 4px}
 #bench-jumps a:hover{background:#dfe8d5}
 .usability-ready #workspace,.usability-ready #design-workspace,.usability-ready #reference{display:flex;flex-direction:column}
 .usability-ready #workspace>.work-area,.usability-ready .design-work,.usability-ready #reference>.work{order:0;width:100%;min-height:0}
 .usability-ready #workspace>.manifest,.usability-ready .design-manifest,.usability-ready #reference>.catalogue{order:1;width:100%;border:0;border-block:1px solid #becbb3;padding:24px 16px}
 .usability-ready #workspace>.inspector,.usability-ready .design-inspector,.usability-ready #reference>.inspector{order:2;width:100%;border:0;padding:24px 16px}
 .usability-ready :is(.lesson,.design-experiment,.verification){order:3;width:100%;padding:24px 16px}
 .usability-ready #workspace #stage{height:380px;min-height:380px;flex:none}.usability-ready #viewport{height:380px}.usability-ready #design-stage{height:380px;min-height:380px;flex:none}
 .usability-ready #part-tree,.usability-ready #library-results,.usability-ready #design-parts,.usability-ready #parts{max-height:370px;overflow:auto;display:block;overscroll-behavior:contain}
 .usability-ready .part-row{width:100%;font-size:14px;min-height:48px}.usability-ready .manifest .calibre br{display:none}.usability-ready .manifest .calibre h1{font-size:30px}
 .usability-ready .view-buttons{display:flex;flex-wrap:wrap;gap:5px}.usability-ready .view-buttons button{flex:1}.usability-ready .view-toolbar{gap:8px;padding:12px}
 .usability-ready .view-options{gap:5px 12px}.usability-ready .view-options label{font-size:13px;min-height:44px}
 .usability-ready .transport{gap:14px}.usability-ready .timing{width:100%;display:flex}.usability-ready .reserve{width:100%}
 .usability-ready :is(.camera-help,.design-camera-help){font-size:11px;max-width:94%}.usability-ready .design-heading{padding:16px}.usability-ready .design-heading h2{font-size:24px}
 .usability-ready #study-view{min-height:360px;padding:8px}.usability-ready #study-view svg{max-width:100%;height:auto}
 .usability-ready .design-experiment{display:block}.usability-ready .design-challenge{border:0;border-bottom:1px solid #bccbad;padding:0 0 24px;margin-bottom:24px}
 .usability-ready #calculation-fields{grid-template-columns:1fr}
 .usability-ready .history{position:static}.selection-nav{flex-wrap:nowrap}.selection-nav button:last-child{flex-basis:auto}
 .usability-ready #feedback{padding:14px 16px}
 .usability-ready :is(.time-note,.scope>span){font-size:12px}
 body[data-workspace=eta] .site-header{grid-template-columns:1fr auto}body[data-workspace=eta] .site-header .back{grid-column:1/-1;font-size:13px}body[data-workspace=eta] .site-header>div{grid-column:1/-1}body[data-workspace=eta] #workspace-nav{grid-row:auto}body[data-workspace=eta] .site-header>nav:not(#workspace-nav){grid-row:auto;grid-column:1/-1;padding-right:0;flex-wrap:wrap}body[data-workspace=eta] .site-header>#usability-help{grid-row:auto;grid-column:1/-1;justify-self:start}
 .usability-ready .verification-heading{display:block}.usability-ready .verification-heading button{margin-block:8px}
 .help-workspaces,.shortcut-list{grid-template-columns:90px 1fr;gap:10px;font-size:14px}.usability-ready :is(#bench-help,#about,#source-dialog){padding:22px}
}
@media(prefers-reduced-motion:reduce){.usability-ready *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Keep chapter/module navigation useful without pushing search out of reach. */
.usability-ready .calibre h1{font-size:32px;line-height:1.12}
.usability-ready #chapter-nav,.usability-ready #design-modules{max-height:320px;overflow:auto;scrollbar-gutter:stable;overscroll-behavior:contain}
@media(min-width:761px){
 #bench-jumps{display:flex;align-items:center;gap:8px;padding:4px 24px;background:#f0f4e7;border:0;border-bottom:1px solid #bac8b4;border-radius:0;box-shadow:none;margin:0}
 #bench-jumps a{font-size:13px;padding:5px 12px;color:#2b503e;text-decoration:none;border-radius:4px;min-height:32px;display:flex;align-items:center}
 #bench-jumps a:hover{background:#dce6d0}
}

.learn-active .bench-search-tools{display:none}
@media(max-width:760px){
 .usability-ready .site-header{grid-template-columns:minmax(0,1fr) auto}
 .site-header .brand{grid-column:1/-1}.site-header .brand strong{font-size:21px}.site-header .brand svg{width:32px}
 .site-header .header-actions{grid-column:1/-1;grid-row:3;max-width:none;justify-content:flex-start;flex-direction:row}
 .site-header .header-actions>span{display:none}.site-header .header-actions button{min-height:44px;padding:8px 12px}
 .site-header #modes{grid-row:2}.site-header #bench-modes button{min-height:44px}
 .bench-starter{display:none}
 .usability-ready .view-toolbar{display:flex;gap:7px}
 .usability-ready .view-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));flex-basis:100%;gap:5px}
 .usability-ready .view-buttons button{min-width:0;padding:7px 3px;font-size:12px}
 .usability-ready .lighting-label{flex:1;min-width:0}.usability-ready .lighting-label select{max-width:100%;font-size:13px}
 .usability-ready .view-toolbar>#focus{max-width:130px;min-width:0}
 .usability-ready #relationships button,.usability-ready #design-relationships button,.usability-ready #eta-clear-search{min-height:44px}
 body[data-workspace=eta] .site-header{grid-template-columns:minmax(0,1fr) auto;padding:14px 16px;gap:10px}
 body[data-workspace=eta] .site-header .back{display:none}
 body[data-workspace=eta] .site-header>div{grid-column:1;grid-row:1}
 body[data-workspace=eta] .site-header>#usability-help{grid-column:2;grid-row:1;min-height:44px;max-width:118px;font-size:12px}
 body[data-workspace=eta] #workspace-nav{grid-column:1/-1;grid-row:2}
 body[data-workspace=eta] .site-header>nav:not(#workspace-nav){grid-column:1/-1;grid-row:3}
 .usability-ready .view-buttons{flex:0 0 100%;width:100%;max-width:none}
 .usability-ready .lighting-label{flex:1;min-width:0}.usability-ready .lighting-label select{min-width:0}
 .usability-ready .view-controls button{font-size:13px;padding:7px 8px}
 .usability-ready .view-controls label{font-size:12px;min-height:44px;gap:5px}
 .usability-ready .view-controls input[type=range]{width:55px}
}
