.rack-shell{display:grid;gap:12px}.rack-toolbar{position:sticky;top:76px;z-index:8;display:flex;align-items:center;gap:10px;padding:10px 12px;background:#11130ff2;border:1px solid #41463a;border-radius:6px;box-shadow:0 8px 30px #0008}.rack-toolbar strong{font-size:.78rem;letter-spacing:.12em}.rack-toolbar small{color:var(--muted);margin-right:auto}.rack-toolbar select,.rack-toolbar button,.rack-unit select,.rack-unit input[type=text]{height:34px;border:1px solid #454b3d;background:#171a15;padding:0 10px;font-family:"DM Mono",monospace;font-size:.7rem}.rack-toolbar button{background:var(--acid);color:#111;border-color:var(--acid);font-weight:700}.rack-stage{display:grid;gap:12px}.rack-unit{border:1px solid #454a3e;border-radius:7px;background:#11130f;box-shadow:0 12px 34px #0006;overflow:hidden}.rack-unit.dragging{opacity:.5;border-color:var(--acid)}.rack-unit.drop-before{box-shadow:0 -4px 0 var(--acid)}.rack-unit-head{height:48px;display:flex;align-items:center;gap:10px;padding:0 12px;background:linear-gradient(90deg,#24281f,#161814);border-bottom:1px solid var(--line)}.rack-grip{cursor:grab;color:var(--muted);letter-spacing:-.08em;font-size:1.1rem}.rack-unit-head .unit-kind{font:500 .64rem "DM Mono",monospace;color:var(--acid);letter-spacing:.1em}.rack-unit-head .unit-label{width:min(260px,30vw);background:#0d0f0c;border-color:#373c31;font-weight:600}.rack-io{margin-left:auto;display:flex;align-items:center;gap:7px}.rack-io label{font:500 .6rem "DM Mono",monospace;color:var(--muted);display:flex;align-items:center;gap:6px}.rack-io select{min-width:150px}.rack-collapse,.rack-remove,.rack-duplicate{width:34px;padding:0!important;background:#1c1f19!important;color:var(--cream)!important;border-color:#42473b!important}.rack-remove{color:var(--orange)!important}.rack-unit-body{padding:12px}.rack-unit.collapsed .rack-unit-body{display:none}.rack-unit .synth-panel,.rack-unit .bass-panel,.rack-unit .arp-lab{margin:0}.rack-unit .synth-panel{grid-template-columns:minmax(460px,1.5fr) minmax(300px,1fr)}.rack-unit .operator-bank,.rack-unit .routing-card{grid-column:1/-1}.rack-unit .tone-bank,.rack-unit .motion-bank{grid-column:auto}.rack-unit .bass-panel{display:grid}.rack-unit .bass-panel.hidden,.rack-unit .synth-panel.hidden{display:grid!important}.rack-unit .arp-lab{margin:0}.instrument-head,.rack-rail{display:none!important}main{grid-template-columns:1fr!important}.workspace{max-width:1700px}.module-compact{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px;padding:4px}.module-section{border:1px solid #30352b;background:#171a15;padding:12px;border-radius:4px}.module-section strong{display:block;color:var(--acid);font:500 .68rem "DM Mono";margin-bottom:10px}.module-section label{display:grid;gap:5px;color:var(--muted);font-size:.7rem;margin-top:8px}.module-section input,.module-section select{width:100%;accent-color:var(--acid)}.cv-status{display:flex;align-items:center;gap:8px;font:500 .68rem "DM Mono";color:var(--muted)}.cv-led{width:9px;height:9px;border-radius:50%;background:#34382f}.cv-led.pulse{background:var(--acid);box-shadow:0 0 10px var(--acid)}.step-sequencer{display:grid;gap:13px}.seq-toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.seq-toolbar label{display:grid;gap:5px;color:var(--muted);font:500 .65rem "DM Mono"}.seq-toolbar select,.seq-toolbar input{height:34px;background:#0d0f0c;border:1px solid var(--line);padding:0 8px}.seq-run{height:34px;padding:0 18px;border:1px solid var(--orange);background:var(--orange);color:#111;font-weight:700}.seq-run.active{background:var(--acid);border-color:var(--acid)}.seq-grid{display:grid;grid-template-columns:repeat(16,minmax(58px,1fr));gap:5px;overflow-x:auto;padding-bottom:5px}.seq-step{min-width:58px;padding:7px 5px;background:#171a15;border:1px solid #34382d;display:grid;gap:6px}.seq-step.playing{border-color:var(--acid);box-shadow:inset 0 0 0 1px var(--acid)}.seq-step>button{height:24px;background:#292d25;border:1px solid #3f4538;font:500 .65rem "DM Mono"}.seq-step>button.on{background:var(--acid);color:#111}.seq-step select{width:100%;height:27px;background:#0d0f0c;border:1px solid #393e34;font:500 .65rem "DM Mono"}.seq-flags{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}.seq-flags button{height:22px;padding:0;border:1px solid #3b4035;background:#20231d;font-size:.58rem;color:var(--muted)}.seq-flags button.on{color:#111;background:var(--orange);border-color:var(--orange)}.mixer{display:grid;gap:12px}.mixer-channels{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px}.channel-strip{min-width:140px;flex:1;max-width:190px;background:#171a15;border:1px solid #34392f;padding:10px;display:grid;gap:9px}.channel-strip strong{font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.channel-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px}.channel-actions button{height:28px;border:1px solid #42483b;background:#20231d;font:600 .62rem "DM Mono"}.channel-actions .active{background:var(--orange);color:#111;border-color:var(--orange)}.channel-strip label{display:grid;gap:4px;color:var(--muted);font:500 .62rem "DM Mono"}.channel-strip input{width:100%;accent-color:var(--acid)}.effects-rack{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.effect-unit{min-width:0;border:1px solid #3b4035;background:#151814;padding:10px}.effect-unit strong{display:block;color:var(--orange);font:600 .66rem "DM Mono"}.effect-unit label{display:grid;gap:4px;margin-top:8px;color:var(--muted);font-size:.62rem}.effect-unit select,.effect-unit input{width:100%}.audio-patchbay{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.patch-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:8px;border:1px solid #30352b;background:#121410;font:500 .66rem "DM Mono"}.patch-row select{min-width:0}.patch-arrow{color:var(--orange)}
@media(max-width:1000px){.module-compact{grid-template-columns:1fr 1fr}.effects-rack{grid-template-columns:1fr 1fr}.audio-patchbay{grid-template-columns:1fr}.rack-io label span{display:none}.rack-unit .synth-panel{display:block}.rack-unit-head .unit-label{width:160px}.seq-grid{grid-template-columns:repeat(16,58px)}}
@media(max-width:650px){.rack-toolbar{top:104px;flex-wrap:wrap}.rack-toolbar small{display:none}.rack-io{width:100%;margin:0}.rack-unit-head{height:auto;min-height:48px;flex-wrap:wrap;padding:7px}.rack-io label{flex:1}.rack-io select{min-width:0;width:100%}.module-compact,.effects-rack{grid-template-columns:1fr}.performance-panel{position:relative}.rack-unit-body{padding:7px}}

/* Rack interaction, console mixer, paired effects, and silver stepper */
.rack-stage{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.rack-unit{grid-column:1/-1}.rack-unit.half-rack-unit{grid-column:span 1}.rack-grip{align-self:stretch;min-width:64px;margin-left:-12px;padding:0 10px;display:flex;align-items:center;justify-content:center;gap:6px;border-right:1px solid #454b3d;background:#11140f;cursor:grab;user-select:none}.rack-grip:active{cursor:grabbing;background:#2a3023}.rack-grip small{font:600 .52rem "DM Mono";letter-spacing:.1em;color:var(--acid)}.rack-unit:not(.dragging){cursor:default}.rack-unit.located{animation:rackLocate 1.4s ease}@keyframes rackLocate{0%,100%{box-shadow:0 12px 34px #0006}35%{box-shadow:0 0 0 3px var(--orange),0 0 35px #ff683866}}
.half-rack-unit .rack-unit-head .unit-kind{font-size:.56rem}.half-rack-unit .rack-unit-head .unit-label{width:180px}.effect-editor{min-height:180px;background:linear-gradient(145deg,#222620,#11130f);display:grid;grid-template-columns:180px 1fr;gap:18px;padding:14px}.effect-face{border:1px solid #505648;background:#151814;padding:13px;display:flex;flex-direction:column;gap:9px}.effect-model{font:500 .56rem "DM Mono";color:var(--muted)}.effect-face strong{font-size:1rem;color:var(--orange)}.effect-bypass{margin-top:auto;height:34px;border:1px solid #454b3d;background:#242820}.effect-bypass.on{color:#111;background:var(--acid);border-color:var(--acid)}.effect-controls{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;align-items:center}.effect-controls label{display:grid;gap:8px;color:var(--muted);font:600 .61rem "DM Mono"}.effect-controls input{width:100%;accent-color:var(--orange)}.effect-controls output{color:var(--cream)}.effect-editor p{grid-column:2;margin:0;color:var(--muted);font-size:.68rem}
.mixer{background:linear-gradient(180deg,#2a2e28,#171a16);border:1px solid #555b50;padding:12px}.mixer-top{display:flex;align-items:end;gap:10px;padding:4px 4px 14px;border-bottom:1px solid #4a5046}.mixer-top>div{margin-right:auto}.mixer-top strong{display:block;font-size:.9rem}.mixer-top small{font:500 .58rem "DM Mono";color:var(--muted)}.mixer-top label{display:grid;gap:4px;color:var(--muted);font:600 .58rem "DM Mono"}.mixer-add-button{height:34px;border:1px solid var(--orange);background:var(--orange);color:#111;font-weight:700}.mixer-channels{align-items:stretch;gap:6px;padding:12px 0 2px;min-height:560px}.channel-strip{position:relative;min-width:190px;max-width:230px;padding:0;background:#171a17;border-color:#555b50;overflow:hidden}.channel-front,.channel-back{height:100%;min-height:535px;padding:10px;display:flex;flex-direction:column;gap:10px}.channel-name{min-height:38px;padding-bottom:8px;border-bottom:1px solid #3b4038;font:600 .72rem "DM Mono"!important;color:var(--acid)}.channel-actions{grid-template-columns:1fr 1fr 1fr}.channel-actions button{padding:0;font-size:.56rem}.channel-actions .route-flip{color:var(--blue)}.channel-effects{display:grid;gap:7px;min-height:148px;max-height:210px;overflow:auto}.no-effects{color:var(--muted);font:500 .56rem "DM Mono";padding:14px 4px}.channel-fx{border:1px solid #41473d;background:#10120f;padding:6px;display:grid;gap:5px}.channel-fx>div{display:grid;grid-template-columns:32px 1fr 25px;gap:4px;align-items:center}.channel-fx strong{font:600 .58rem "DM Mono";overflow:hidden;text-overflow:ellipsis}.channel-fx button{height:23px;padding:0;border:1px solid #444a40;background:#242820;font-size:.54rem}.channel-fx .fx-toggle.on{background:var(--acid);border-color:var(--acid);color:#111}.channel-fx .fx-edit{color:var(--orange);font-size:.8rem}.channel-fx label{display:grid;grid-template-columns:43px 1fr;align-items:center;font-size:.52rem!important}.channel-fx input{height:3px}.pan-control{margin-top:auto}.vertical-fader{height:190px!important;display:grid!important;grid-template-rows:auto 1fr auto;justify-items:center}.vertical-fader input{writing-mode:vertical-lr;direction:rtl;width:28px!important;height:145px;accent-color:var(--acid)}.vertical-fader output{font:600 .65rem "DM Mono";color:var(--cream)}.channel-back{display:none;background:linear-gradient(145deg,#111,#252922);background-image:radial-gradient(#3a4037 1px,transparent 1px);background-size:10px 10px}.channel-strip.show-back .channel-front{display:none}.channel-strip.show-back .channel-back{display:flex}.channel-back>span{font:600 .58rem "DM Mono";color:var(--orange)}.channel-back>strong{min-height:42px}.channel-back label{display:grid;gap:7px;font:600 .57rem "DM Mono";color:var(--muted)}.channel-back select{width:100%;min-width:0}.channel-back p{color:var(--muted);font-size:.67rem;line-height:1.5}.channel-back .route-flip{margin-top:auto;height:34px;border:1px solid var(--blue);background:#17212a;color:var(--blue)}.jack-row{display:grid;grid-template-columns:auto 28px auto 28px;align-items:center;gap:8px;margin-top:18px;font:600 .56rem "DM Mono"}.jack-row b{width:25px;height:25px;border:5px solid #555;border-radius:50%;background:#080908;box-shadow:inset 0 0 0 2px #222}
.silver-sequencer{border-color:#a8aaa5;background:#bbbdb8;color:#181a18}.silver-sequencer .rack-unit-head{background:linear-gradient(#d4d5d1,#979a95);border-color:#737771;color:#151715}.silver-sequencer .rack-grip{background:#8e918c;border-color:#70736f;color:#20221f}.silver-sequencer .unit-kind,.silver-sequencer .rack-grip small{color:#151715}.silver-sequencer .unit-label,.silver-sequencer select{background:#e1e2de;color:#171916;border-color:#777b75}.silver-sequencer .rack-unit-body{background:linear-gradient(145deg,#cfd0cb,#9da09b)}.silver-sequencer .seq-toolbar label,.silver-sequencer .cv-status{color:#30332f}.silver-sequencer .seq-run{background:#c54427;border-color:#792715;color:#fff}.silver-sequencer .seq-step{background:linear-gradient(#e0e1dc,#aaaDA8);border-color:#777b75;box-shadow:inset 0 1px #fff9}.silver-sequencer .seq-step:nth-child(4n+1){border-left:3px solid #4b4e49}.silver-sequencer .seq-step>button{background:#565a55;border-color:#393c38;color:#fff}.silver-sequencer .seq-step>button.on{background:#d9e84b;color:#111}.silver-sequencer .seq-step select{background:#eff0ec}.silver-sequencer .seq-flags button{background:#8c8f89;border-color:#666963;color:#171917}.silver-sequencer .seq-flags button.on{background:#cf4f2c;color:#fff}.silver-sequencer .seq-step.playing{border-color:#111;box-shadow:inset 0 0 0 2px #111,0 0 12px #d9e84b}
@media(max-width:1050px){.rack-unit.half-rack-unit{grid-column:1/-1}.effect-controls{grid-template-columns:repeat(3,1fr)}.mixer-channels{min-height:500px}.channel-strip{min-width:176px}.effect-editor{grid-template-columns:150px 1fr}}
@media(max-width:650px){.rack-stage{grid-template-columns:1fr}.rack-unit.half-rack-unit{grid-column:1}.effect-editor{grid-template-columns:1fr}.effect-controls{grid-template-columns:1fr 1fr}.effect-editor p{grid-column:1}.mixer-top{align-items:stretch;flex-wrap:wrap}.mixer-top>div{width:100%}.rack-grip{min-width:54px}.rack-grip small{display:none}}

/* Console accuracy, instrument identity, larger movement display, refined FM color */
.brand-plate{padding:5px 7px;border:1px solid #52584b;background:#0c0e0b;color:var(--cream);font:600 .54rem "DM Mono";letter-spacing:.08em;white-space:nowrap}.silver-sequencer .brand-plate{background:#222;color:#e8e9e5;border-color:#555}.mixer-top .panic-button{margin-left:auto;height:34px;padding:0 14px;border:1px solid #bc442d;background:#351a15;color:#ff7459;font:700 .62rem "DM Mono"}.channel-brand{font:600 .51rem "DM Mono";color:#8e9489;letter-spacing:.1em}.channel-effect-add{display:grid;grid-template-columns:1fr 30px;gap:4px}.channel-effect-add select{width:100%;min-width:0;font-size:.58rem}.channel-effect-add button{border:1px solid var(--orange);background:#2c1914;color:var(--orange)}.mixer-channels{min-height:730px}.channel-strip{min-width:216px;max-width:246px}.channel-front,.channel-back{min-height:700px}.channel-effects{max-height:190px}.console-fader{height:365px;display:grid;grid-template-columns:34px 1fr 22px;justify-content:center;align-items:stretch;margin-top:auto;padding:8px 0;border-top:1px solid #3b4038;background:linear-gradient(90deg,#111411,#20231e,#111411)}.vertical-fader{height:345px!important}.vertical-fader input{height:292px!important;width:34px!important}.fader-scale{height:300px;margin-top:19px;display:flex;flex-direction:column;justify-content:space-between;text-align:right;font:500 .52rem "DM Mono";color:#777d73}.fader-scale .unity{color:var(--acid);font-weight:700;border-right:8px solid var(--acid);padding-right:3px}.strip-meter{height:318px;margin-top:4px;display:flex;flex-direction:column;gap:5px;align-items:center}.strip-meter button{width:22px;height:23px;padding:0;border:1px solid #57302a;background:#261714;color:#6d4942;font:700 .48rem "DM Mono"}.strip-meter button.lit,.master-peak-light.lit{background:#ff4e2c;color:#fff;border-color:#ff4e2c;box-shadow:0 0 10px #ff4e2c}.strip-meter i{--meter:0%;display:block;width:10px;flex:1;background:linear-gradient(to top,var(--acid) 0 80%,#ffb238 80% 95%,#ff4e2c 95% 100%);-webkit-mask:linear-gradient(to top,#000 0 var(--meter),transparent var(--meter) 100%);mask:linear-gradient(to top,#000 0 var(--meter),transparent var(--meter) 100%);border:1px solid #3c4138}.master-strip{border-color:#777d70;background:#20241e}.master-strip .channel-name{color:var(--orange);font-size:.9rem!important}.master-inserts{min-height:220px;display:flex;flex-direction:column;gap:5px;padding:8px;border:1px solid #41473d;background:#11130f}.master-inserts span{font:500 .55rem "DM Mono";color:var(--orange);padding:5px;border-bottom:1px solid #33382f}.master-console{margin-top:auto}.master-strip .channel-actions{grid-template-columns:1fr 1fr}
.rack-unit .arp-lab .lab-body{grid-template-columns:210px minmax(680px,2.4fr) minmax(220px,.75fr) minmax(270px,.9fr)}.rack-unit .arp-lab .movement-map{height:220px;grid-template-columns:repeat(16,minmax(44px,1fr));padding:10px;gap:4px}.rack-unit .arp-lab .movement-block{min-height:310px}.rack-unit .arp-lab .step-number{font-size:.62rem}.rack-unit .arp-lab .pitch-point{width:15px;height:15px;bottom:calc(40px + var(--pitch)*125px)}.rack-unit .arp-lab .pitch-point b{font-size:.62rem;bottom:15px;color:#eef0e5}.rack-unit .arp-lab .velocity-bar{width:7px;height:calc(var(--velocity)*34px)}.rack-unit .arp-lab .gate-bar{bottom:11px;height:4px}.rack-unit .arp-lab .event-badge{font-size:.56rem;bottom:20px}.rack-unit .arp-lab .pattern-legend{font-size:.62rem}.rack-unit .arp-lab .lab-controls label,.rack-unit .arp-lab .lab-label,.rack-unit .arp-lab select{font-size:.72rem}
#fmPanel .tone-bank{grid-template-columns:minmax(330px,1fr) minmax(430px,1.15fr);min-height:390px}#fmPanel .tone-bank .knob-row{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;margin:0;align-items:center;justify-items:center;padding:6px 26px 16px}#fmPanel .tone-bank .knob-control:first-child{grid-column:1/-1}#fmPanel .tone-bank .knob-control:nth-child(2){grid-column:1}#fmPanel .tone-bank .knob-control:nth-child(3){grid-column:2}#fmPanel .tone-bank .knob{width:74px;height:74px}#fmPanel .tone-bank .knob:after{left:35px;top:8px;height:20px;transform-origin:50% 29px}.knob-scale{width:118px;display:grid;grid-template-columns:1fr auto 1fr;gap:4px;align-items:center;font:500 .49rem "DM Mono";color:#73796f}.knob-scale i{font-style:normal}.knob-scale i:last-child{text-align:right}.knob-scale b{color:var(--acid);font-weight:500}#fmPanel .tone-bank .env-strip{padding-top:28px;align-items:center}#fmPanel .tone-bank .env-strip>span{align-self:center}#fmPanel .tone-bank .env-strip input{height:205px}
@media(max-width:1200px){.rack-unit .arp-lab .lab-body{grid-template-columns:210px 1fr}.rack-unit .arp-lab .movement-map{grid-template-columns:repeat(16,48px)}#fmPanel .tone-bank{grid-template-columns:1fr 1fr}}

/* Keep the chord controls inside Anchor and give Movement its own row on compact racks. */
.rack-unit .arp-lab .anchor-block,.rack-unit .arp-lab .anchor-options,.rack-unit .arp-lab .anchor-options label,.rack-unit .arp-lab .chord-picker,.rack-unit .arp-lab .chord-picker label{min-width:0}
.rack-unit .arp-lab .anchor-options select,.rack-unit .arp-lab .chord-picker select{width:100%;max-width:100%;min-width:0}
@media(max-width:900px){.rack-unit .arp-lab .lab-body{grid-template-columns:1fr}.rack-unit .arp-lab .lab-block{border-right:0}.rack-unit .arp-lab .anchor-block{grid-template-columns:110px minmax(0,1fr)}.rack-unit .arp-lab .movement-block{grid-column:1}.rack-unit .arp-lab .movement-map{max-width:100%}}
