 .instrument-picker{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}
.instrument-picker label{font-size:12px;color:#b9bfaf}
.instrument-picker select{min-height:44px;max-width:100%;padding:8px 30px 8px 12px;border:1px solid #44483d;border-radius:8px;color:#ecf1e4;background:#23271e;font:inherit}
.instrument-picker small{font-size:12px;color:#b9bfaf;flex-basis:100%}
.instrument-picker :focus-visible{outline:2px solid #c8ef78;outline-offset:4px}
.instrument-picker select{width:auto;min-width:180px;flex:0 1 220px;background:#10171c;border-color:#444c52}
.instrument-picker label{display:block;width:auto;flex:0 0 auto;margin:0}
.instrument-picker small:empty{display:none}

/* Owner's device rack. Public generator controls above retain their existing styling. */
.sound-lab{--lab-line:#343e40;--lab-muted:#99a8ac;padding:20px;margin-bottom:32px;background:#151b1e!important;border:1px solid var(--lab-line);border-radius:12px}
.sound-lab *{box-sizing:border-box}
.sound-lab #labStatus{font-size:12px;min-height:20px;color:var(--lab-muted);margin:0 0 12px}
.sound-toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;padding:0 0 18px}
.sound-toolbar label{min-width:220px;flex:1;max-width:380px}
.sound-lab label{display:flex;flex-direction:column;gap:8px;color:#b8c1c3;font-size:11px;letter-spacing:.035em}
.sound-lab select,.sound-lab input[type=number]{width:100%;min-width:0;min-height:42px;border:1px solid #3c484c;border-radius:5px;background:#101619;color:#e2e8e6;padding:8px 10px;font:13px ui-monospace,monospace;letter-spacing:0}
.sound-lab button{min-height:42px;font-size:12px;border-radius:6px}
.sound-lab button:disabled{opacity:.45}
.sound-lab :focus-visible{outline:2px solid #d4ef99;outline-offset:3px}
.sound-lab fieldset{padding:0;border:0;margin:18px 0;min-width:0}
.sound-lab .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.lab-session{display:flex;gap:22px;align-items:center;flex-wrap:wrap;background:#101518;border:1px solid var(--lab-line);border-radius:6px;padding:12px 16px;font:11px ui-monospace,monospace;color:#aab8b9}
.lab-session strong{font-size:18px;color:#e1e8e4}
.lab-session small{font-size:10px;color:#95a4a7}
.session-light{width:6px;height:6px;border-radius:50%;background:#c7ee81;box-shadow:0 0 8px #c7ee8130}
.preview-badge{margin-left:auto;color:#cae898}
.sound-parameters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) 145px;gap:12px}
.lab-device{min-width:0;background:#1c2428;border:1px solid var(--lab-line);border-radius:8px;overflow:hidden}
.lab-device>header{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--lab-line);background:#252e32;flex-wrap:wrap}
.lab-device h2{font-size:12px;letter-spacing:.02em;margin:0!important;color:#e7ece9}
.lab-device header span{font:9px ui-monospace,monospace;color:#a6b1b5}
.device-controls{display:grid;gap:18px;padding:16px}
.device-controls label{position:relative}
.device-controls output{color:#d5e9ba;font:12px ui-monospace,monospace}
.device-controls input[type=range]{accent-color:#c8e88c;width:100%;min-height:26px;margin:0;cursor:ew-resize}
.eq-device{grid-column:1/-1;background:#12191c}
.eq-device>header{background:#212a2e;padding:14px 18px}
.eq-device h2{text-transform:uppercase;letter-spacing:.16em;font-size:13px}
.eq-top{display:flex;align-items:center;justify-content:space-between;padding:12px 18px 0;font:10px ui-monospace,monospace;letter-spacing:.09em;color:#b6c3c6}
.eq-device button{color:#d6e1df;background:#212a2d;border:1px solid #3d484c;padding:8px 14px}
.eq-device button[aria-pressed=true]{color:#d9edb2;border-color:#91ab64;background:#a5cf6120}
.eq-plot{position:relative;height:310px;margin:8px 12px 0;background:linear-gradient(180deg,#141c1e,#101719);border-radius:5px}
.eq-plot canvas{display:block;width:100%;height:100%}
.eq-point{position:absolute;transform:translate(-50%,-50%);touch-action:none!important;user-select:none;width:30px;height:30px;min-height:30px!important;padding:0!important;border-radius:50%!important;background:var(--band)!important;color:#0b171a!important;border:2px solid transparent!important;font-weight:800;cursor:grab;z-index:1;box-shadow:0 0 0 6px transparent}
.eq-point::after{content:'';position:absolute;inset:-7px}
.eq-point.selected{border-color:#f1fcf9!important;box-shadow:0 0 0 5px #ffffff12}
.eq-point:active{cursor:grabbing}
.eq-point.is-off{background:#172025!important;border-color:var(--band)!important;color:var(--band)!important;opacity:.6}
.eq-help{font-size:11px;color:#92a3a8;padding:5px 18px 12px;margin:0}
.eq-bands{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;padding:0 18px 14px}
.eq-bands button{color:var(--band)!important;font-weight:700;border-bottom:2px solid var(--band);position:relative}
.eq-bands button.is-off{opacity:.6}
.eq-bands button[aria-pressed=true]{background:#ffffff0b;border-color:var(--band);opacity:1}
.eq-inspector{display:grid;grid-template-columns:100px 1fr 1fr .8fr 1.3fr 90px;gap:14px;align-items:center;border-top:1px solid var(--lab-line);padding:18px;background:#1b2327}
.eq-inspector strong{font:12px ui-monospace,monospace}
.eq-inspector>button{align-self:end}
.eq-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 18px;color:#92a3a8;font-size:11px;border-top:1px solid var(--lab-line)}
#envelopeCanvas{display:block;width:100%;height:90px;background:#11191b}
.envelope-device .device-controls{grid-template-columns:1fr 1fr;gap:14px}
.master-meter{display:flex;justify-content:center;gap:5px;height:136px;margin:16px 0 8px}
.master-meter>div{height:100%;width:13px;position:relative;background:#10171a;border:1px solid #344144;overflow:hidden}
.master-meter i{position:absolute;bottom:0;width:100%;height:0;background:linear-gradient(to top,#80cda0 0%,#bfe983 65%,#edcd7a 90%,#f97878 100%)}
.master-meter span{font:9px/36px ui-monospace,monospace;color:#84989d;margin-top:-16px}
.meter-value{text-align:center;font:11px ui-monospace,monospace;color:#c8ddb3;margin:0}
.master-device .device-controls{padding-top:12px}
.sound-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;padding:8px 0}
.sound-actions+p,.sound-history+p{font-size:12px;color:var(--lab-muted);line-height:1.6;margin:12px 0}
.history-heading{font-size:16px!important;margin:28px 0 8px!important}
.sound-history{list-style:none;padding:0;margin:0}
.sound-history li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--lab-line);font-size:12px;color:#9facaf}

@media(min-width:1200px){body:has(#soundLab) main{max-width:1440px}
}
@media(max-width:1000px){.sound-parameters{grid-template-columns:repeat(2,minmax(0,1fr))}
.master-device{grid-column:1/-1;display:grid;grid-template-columns:160px 80px 100px 1fr;align-items:center}
.master-device>header{height:100%;align-content:center}
.master-device .master-meter{height:84px}
.master-meter span{line-height:23px;margin-top:-10px}
.master-device .device-controls{grid-template-columns:1fr 1fr}
.eq-inspector{grid-template-columns:80px 1fr 1fr 1fr}
.eq-inspector>label:has(select){grid-column:2/4}
.eq-inspector>button{grid-column:4}
.eq-plot{height:290px}
}

@media(max-width:600px){.sound-lab{padding:12px}
.sound-toolbar label{max-width:none;flex-basis:100%;min-width:0}
.sound-toolbar button{flex:1}
.sound-toolbar #labCompare{flex-basis:100%}
.lab-session{gap:14px;padding:10px}
.preview-badge{flex-basis:100%;margin-left:20px;font-size:9px}
.eq-plot{height:240px;margin-left:0;margin-right:0}
.eq-device>header{padding:12px}
.eq-top{padding:10px 12px 0;letter-spacing:0;font-size:9px}
.eq-help{padding:8px 12px;font-size:10px;line-height:1.5}
.eq-bands{padding:4px 10px 12px;gap:3px}
.eq-bands button{padding:6px 0}
.eq-inspector{grid-template-columns:repeat(3,minmax(0,1fr));padding:12px;gap:12px}
.eq-inspector>strong{grid-column:1/-1}
.eq-inspector>label:has(select){grid-column:1/3}
.eq-inspector>button{grid-column:3}
.eq-footer{padding:10px;font-size:10px}
.sound-parameters{gap:10px}
.source-device{grid-column:1/-1}
.source-device .device-controls{grid-template-columns:1.4fr 1fr}
.envelope-device{grid-column:1/-1}
.envelope-device .device-controls{grid-template-columns:repeat(4,1fr);padding:12px;gap:10px}
.device-controls{padding:12px;gap:14px}
.lab-device header{padding:10px}
.lab-device header span{font-size:8px}
.lab-device h2{font-size:11px}
.master-device{grid-template-columns:1fr 65px 90px}
.master-device>header{border-bottom:0}
.master-device .device-controls{grid-column:1/-1;padding:12px}
.sound-actions button{flex:1;white-space:nowrap}
.sound-actions #labPublish{flex-basis:100%}
.sound-history li{align-items:start;flex-direction:column}
.eq-point{width:26px;height:26px;min-height:26px!important;font-size:11px}
.sound-lab select,.sound-lab input[type=number]{font-size:12px;padding:8px 5px}
.sound-lab label{font-size:10px}
}


@media(max-width:600px){.eq-bands{grid-template-columns:repeat(4,1fr)}.eq-bands button{min-height:44px}}
