/* 1.35.52: full-width keyboards, stable 44px range grips, inline wood controls. */
#panel-keys .keyboardScroll{width:100%;max-width:100%;padding-left:0!important;padding-right:0!important;overflow-x:hidden;box-sizing:border-box}
#panel-keys .keybed{width:100%!important;min-width:0!important;max-width:none!important;box-sizing:border-box}
#panel-keys .whitekey>span{font-size:clamp(6px,.7vw,9px);overflow:hidden}
#panel-fx .labMixerSection .zoneWorkbench{width:100%;min-width:0;padding:8px 0!important;box-sizing:border-box}
#panel-fx .labMixerSection .zoneVisualizer{width:100%;min-width:0;grid-template-rows:44px 44px minmax(32px,76px) 14px;gap:8px;min-height:158px}
#panel-fx .labMixerSection .zoneKeyboard,.zonePianoSvg{width:100%!important;max-width:none!important;margin-left:0;margin-right:0;box-sizing:border-box}
#panel-fx .labMixerSection .zoneTrack{height:44px!important;min-height:44px;overflow:visible!important;contain:none!important}
#panel-fx .labMixerSection .zoneBar{height:100%;overflow:visible!important}
#panel-fx .labMixerSection .zoneBarName{padding-left:46px;padding-right:46px;max-width:100%;min-width:0;box-sizing:border-box}
#panel-fx .labMixerSection .zoneGrip{position:absolute;top:0;bottom:auto;width:44px!important;min-width:44px!important;max-width:none;height:44px!important;min-height:44px!important;margin:0!important;padding:0!important;border:0!important;border-radius:6px;background:transparent!important;box-shadow:none!important;opacity:1!important;transform:none!important;touch-action:none;cursor:ew-resize;z-index:4;box-sizing:border-box;pointer-events:auto!important}
#panel-fx .labMixerSection .zoneGrip:before{content:'';position:absolute;left:50%;top:50%;width:16px;height:28px;transform:translate(-50%,-50%);border:1px solid #142c3b80;border-radius:4px;background:repeating-linear-gradient(90deg,#17354566 0 2px,transparent 2px 5px);pointer-events:none;box-sizing:border-box}
#panel-fx .labMixerSection .zoneGrip.end:before{border-color:#442f1780}
#panel-fx .labMixerSection .zoneGrip:hover,#panel-fx .labMixerSection .zoneGrip:active{background:#ffffff18!important}
#panel-fx .labMixerSection .zoneGrip:focus-visible{outline:2px solid #fff4cb;outline-offset:-3px}

.sessionBar .themeCalibration,.screenApp .sessionBar .themeCalibration{display:grid!important;grid-template-columns:124px minmax(0,1fr);align-items:center!important;gap:10px!important;flex:0 1 330px;min-width:310px;max-width:350px;margin:0}
.sessionBar .themeSoundPicker .compactSoundButton{min-height:36px!important;height:36px!important;padding:6px 9px!important;font-size:12px!important}
.sessionBar .themeCalibration .themeCalibrateRow{display:grid!important;grid-template-columns:auto minmax(60px,1fr) 34px;align-items:center;gap:6px;width:100%;height:auto!important;min-height:44px;margin:0}
.sessionBar .themeCalibration .shadeLabel{font-size:10px;line-height:1.2;color:#dfcda9;white-space:nowrap;cursor:pointer}
.sessionBar .themeCalibration #woodTone{display:block;appearance:none;-webkit-appearance:none;width:100%;min-width:0;min-height:44px!important;height:44px!important;padding:0!important;margin:0!important;background:transparent;touch-action:pan-y;cursor:ew-resize;box-sizing:border-box}
#woodTone::-webkit-slider-runnable-track{height:5px;background:#31251b;border:1px solid #ad946e;border-radius:5px}
#woodTone::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:17px;height:17px;margin-top:-7px;border-radius:50%;background:#e9c58b;border:1px solid #f0d6a7;box-shadow:0 1px 3px #0005}
#woodTone::-moz-range-track{height:4px;background:#31251b;border:1px solid #ad946e;border-radius:5px}
#woodTone::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#e9c58b;border:1px solid #f0d6a7}
.sessionBar #woodToneValue{display:block;float:none;margin:0;width:34px;font-size:11px;line-height:1.2;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;color:#f1d296}
.sessionBar .utilityLeft{flex:1 1 auto;min-width:0}
@media(max-width:1100px){
 .sessionBar,.screenApp .sessionBar{flex-wrap:wrap;flex-basis:auto;gap:7px;padding:6px 8px}
 .sessionBar .utilityLeft{flex-basis:100%}
 .sessionBar .themeCalibration,.screenApp .sessionBar .themeCalibration{flex:1 1 310px;max-width:none;min-width:280px;grid-template-columns:124px minmax(0,1fr);margin-right:auto}
}
@media(max-width:680px){
 .sessionBar .themeCalibration,.screenApp .sessionBar .themeCalibration{flex-basis:100%;width:100%;min-width:0;max-width:none;grid-template-columns:120px minmax(0,1fr)}
 .sessionBar #pageHelp,.sessionBar #playMode{flex:1 1 auto}
}

/* 1.35.52: explicit full-width grid column; do not shrink-wrap the SVG's aspect ratio. */
#panel-fx .labMixerSection .zoneWorkbench{
 grid-template-columns:minmax(0,1fr)!important;
 justify-content:stretch!important;
 justify-items:stretch!important;
 padding:10px 12px!important;
}
#panel-fx .labMixerSection .zoneVisualizer{
 grid-template-columns:minmax(0,1fr)!important;
 justify-content:stretch!important;
 justify-items:stretch!important;
 justify-self:stretch!important;
 width:100%!important;
 max-width:none!important;
 min-width:0;
}
#panel-fx .labMixerSection .zoneTrack,
#panel-fx .labMixerSection .zoneKeyboard,
#panel-fx .labMixerSection .zoneLegend{
 grid-column:1;
 justify-self:stretch;
 width:100%!important;
 min-width:0;
 max-width:none!important;
 box-sizing:border-box;
}
@media(max-width:680px){
 #panel-fx .labMixerSection .zoneWorkbench{padding:8px!important}
}

/* Shade changes only the cabinet background. Direct-on-wood text stays legible. */
:root:is([data-theme=white],[data-theme=pine]):not(.deep-shade) :is(header h1,header h1 span,header p,.eyebrow,main>p:last-child){color:#17130f!important;text-shadow:0 1px 1px #fff5}
:root:is([data-theme=white],[data-theme=pine]).deep-shade :is(header h1,header h1 span,header p,.eyebrow,main>p:last-child){color:#fff9ee!important;text-shadow:0 1px 2px #000,0 0 3px #000}
.sessionBar .themeCalibration:after{content:none!important}
@media(max-width:380px){.sessionBar .themeCalibration,.screenApp .sessionBar .themeCalibration{grid-template-columns:minmax(0,1fr)}.sessionBar .themeSoundPicker{width:124px}}
