:root{
  color-scheme:dark;--bg:#0b0d0e;--panel:#15191a;--panel2:#1c2122;--line:#303839;--text:#eef2ef;--muted:#9aa6a1;
  --lime:#c9f56d;--orange:#ff9a52;--red:#ff5d65;--cyan:#72d9d0;--ink:#0b0d0e;--shadow:0 12px 30px rgba(0,0,0,.25)
}
*{box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:var(--bg)}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:radial-gradient(circle at 20% 0,#1a201e 0,transparent 30rem),var(--bg)}button,input,select{font:inherit}button,.file-button{border:1px solid var(--line);background:#222829;color:var(--text);border-radius:7px;padding:7px 9px;cursor:pointer;font-weight:800;font-size:.70rem;letter-spacing:.04em;transition:.12s ease}button:hover,.file-button:hover{border-color:#687573}button:disabled{opacity:.34;cursor:not-allowed}.primary{background:var(--lime);color:var(--ink);border-color:var(--lime)}
.app-shell{height:100%;max-width:1540px;margin:0 auto;padding:8px 12px;display:grid;grid-template-rows:54px 42px minmax(0,1fr) 30px;gap:7px}.topbar{display:grid;grid-template-columns:minmax(210px,.75fr) minmax(470px,1.55fr) auto;align-items:center;gap:10px}.brand{display:flex;align-items:center;gap:9px;min-width:0}.brand-mark{width:42px;height:42px;border:2px solid var(--lime);border-radius:11px;display:grid;place-items:center;color:var(--lime);font-weight:900;letter-spacing:-2px;flex:0 0 auto}.brand h1{margin:0;font-size:1.28rem;letter-spacing:.1em;line-height:1}.brand p{margin:3px 0 0;color:var(--muted);font-size:.60rem;letter-spacing:.15em;white-space:nowrap}.master-strip{display:grid;grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) auto auto;gap:7px;align-items:center}.master-strip label,.drum-master-controls label,.mini-control{display:grid;grid-template-columns:auto 1fr auto;gap:6px;align-items:center;background:#111516;border:1px solid #252c2d;border-radius:8px;padding:6px 8px;font-size:.62rem;color:var(--muted);font-weight:900}.master-strip output,.drum-master-controls output,.mini-control output{color:var(--lime);min-width:32px;text-align:right}.top-status{display:flex;align-items:center;gap:6px;justify-content:flex-end}.status-led{width:9px;height:9px;border-radius:50%;background:#353d3b;box-shadow:inset 0 0 0 1px #000}.status-led.on{background:var(--lime);box-shadow:0 0 11px rgba(201,245,109,.5)}.mode-badge{font-size:.60rem;letter-spacing:.11em;border:1px solid var(--line);padding:6px 8px;border-radius:999px;color:var(--cyan)}.utility-btn{background:#111516;padding:7px 8px}.utility-btn.is-on{border-color:var(--lime);color:var(--lime)}
.instrument-tabs{display:grid;grid-template-columns:130px 130px auto 1fr;align-items:stretch;gap:6px;min-height:0}.instrument-tab{display:flex;align-items:baseline;justify-content:center;gap:7px;background:#111516;border-color:#262f30}.instrument-tab span{font-size:.58rem;color:var(--muted);letter-spacing:.12em}.instrument-tab strong{font-size:.92rem}.instrument-tab.active{background:var(--lime);border-color:var(--lime);color:var(--ink)}.instrument-tab.active span{color:#28310f}.link-patterns{display:flex;align-items:center;gap:6px;padding:0 10px;border:1px solid #252c2d;border-radius:7px;background:#111516;color:var(--muted);font-size:.64rem;font-weight:800}.link-patterns input{accent-color:var(--lime)}.tab-hint{align-self:center;justify-self:end;color:#74807d;font-size:.62rem;padding-right:4px}
.workspace{min-height:0;overflow:hidden}.instrument-page{height:100%;min-height:0;display:grid;gap:7px}.instrument-page[hidden]{display:none!important}#acidPage{grid-template-rows:minmax(118px,22%) minmax(0,78%)}#drumPage{grid-template-rows:minmax(102px,19%) minmax(0,81%)}.panel{min-height:0;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.018),transparent 28%),var(--panel);border:1px solid #262d2e;border-radius:13px;padding:9px 11px;box-shadow:var(--shadow)}.compact-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:7px}.compact-head h2{margin:1px 0 0;font-size:1rem}.eyebrow{font-size:.56rem;letter-spacing:.18em;color:var(--lime);font-weight:900}.wave-switch{display:flex;gap:5px}.wave-switch button{padding:6px 10px}.wave-switch button.active{background:var(--lime);color:var(--ink);border-color:var(--lime)}
.controls-grid{display:grid;gap:6px}.acid-controls{grid-template-columns:repeat(12,minmax(66px,1fr))}.control{min-width:0;background:#111516;border:1px solid #252c2d;border-radius:9px;padding:6px 7px;display:grid;grid-template-rows:auto auto auto;gap:4px}.control span{font-size:.56rem;letter-spacing:.09em;color:var(--muted);font-weight:900;white-space:nowrap}.control output{font-size:.60rem;color:var(--lime)}.control.hero{border-color:#47534f}.control input[type=range],.master-strip input[type=range],.mini-control input[type=range],.drum-master-controls input[type=range],.length-control input[type=range],.threshold input[type=range]{width:100%;min-width:0;accent-color:var(--lime);height:14px;margin:0}
.acid-sequencer-panel,.drum-sequencer-panel{display:grid;grid-template-rows:32px minmax(0,1fr) 38px 34px;gap:6px}.seq-toolbar{display:flex;align-items:center;gap:8px;min-width:0}.pattern-bank{display:flex;gap:4px}.pattern-btn{width:31px;height:29px;padding:0}.pattern-btn.active{background:var(--lime);color:var(--ink);border-color:var(--lime)}.length-control{display:grid;grid-template-columns:auto 88px 22px;align-items:center;gap:5px;font-size:.58rem;color:var(--muted);font-weight:900}.length-control strong{color:var(--lime)}.mini-control{margin-left:auto;width:190px}.steps{display:grid;grid-template-columns:repeat(8,minmax(64px,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:5px;min-height:0}.step{position:relative;height:100%;min-height:42px;padding:4px 2px;background:#111516;border:1px solid #2b3334;display:grid;grid-template-rows:auto 1fr auto;align-items:center;justify-items:center;gap:2px}.step-num{font-size:.53rem;color:#6f7b77}.step strong{font-size:.76rem;color:#66716e}.step.active{border-color:#5e775f;background:#17251d}.step.active.accented{border-color:#a86535;background:#2d2118}.step.active strong{color:var(--text)}.step.selected{outline:2px solid var(--cyan);outline-offset:0}.step.playing{background:var(--lime);color:var(--ink);border-color:var(--lime);box-shadow:0 0 12px rgba(201,245,109,.2)}.step.playing strong,.step.playing .step-num{color:var(--ink)}.step.outside{opacity:.18;pointer-events:none}.step-flags{display:flex;gap:2px}.step-flags i{font-style:normal;font-size:.47rem;font-weight:900;width:14px;height:14px;border:1px solid #37403e;border-radius:3px;display:grid;place-items:center;color:#56605e}.step-flags i.accent.on{background:var(--orange);color:#1a0d05;border-color:var(--orange)}.step-flags i.slide.on{background:var(--cyan);color:#041312;border-color:var(--cyan)}.step-flags i.gate{width:22px}.step-flags i.gate.on{border-color:#7f8c88;color:var(--text);background:#28302e}.step-flags i.double{width:18px}.step-flags i.double.on{background:var(--red);border-color:var(--red);color:#fff}.step.doubled{box-shadow:inset 0 0 0 1px rgba(255,93,101,.12)}.step-editor{display:flex;align-items:center;gap:5px;padding:4px 6px;background:#101415;border:1px solid #262e2f;border-radius:8px;min-width:0}.step-editor-label{display:flex;align-items:baseline;gap:7px;min-width:108px}.step-editor-label span{font-size:.56rem;letter-spacing:.10em;color:var(--muted)}.step-editor-label strong{color:var(--lime);font-size:.76rem}.step-editor button{padding:6px 8px}.step-editor button.active{background:var(--orange);color:#1a0d05;border-color:var(--orange)}#stepSlide.active{background:var(--cyan);border-color:var(--cyan);color:#041312}#stepDouble.active{background:var(--red);border-color:var(--red);color:#fff}#stepActive.active{background:var(--lime);border-color:var(--lime);color:var(--ink)}.step-gate-control{margin-left:auto;display:grid;grid-template-columns:auto minmax(70px,110px) 72px;gap:5px;align-items:center;font-size:.53rem;color:var(--muted);font-weight:900;white-space:nowrap}.step-gate-control input{width:100%;accent-color:var(--lime)}.step-gate-control output{color:var(--lime);font-size:.54rem}.gate-reset{padding:5px 6px!important;font-size:.55rem!important}.tool-row{display:flex;align-items:center;gap:5px;min-width:0}.tool-row button{padding:6px 8px}.transport.play.active{background:var(--lime);color:var(--ink);border-color:var(--lime)}.transport.record.recording{background:var(--red);color:#fff;border-color:var(--red)}
.drum-head{margin-bottom:5px}.drum-master-controls{display:grid;grid-template-columns:minmax(165px,1fr) minmax(150px,1fr) auto;gap:6px;width:min(600px,58vw)}.drum-voice-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.drum-controls-panel .control{grid-template-columns:auto 1fr auto;grid-template-rows:1fr;align-items:center}.drum-controls-panel .control span{min-width:72px}.drum-toolbar{justify-content:space-between}.drum-key{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:.56rem;font-weight:800}.drum-cell-demo{width:13px;height:13px;border-radius:3px;background:#34403d;border:1px solid #53615d}.drum-cell-demo.accent{background:var(--orange);border-color:var(--orange)}.selected-drum-label{font-size:.58rem;color:var(--muted);font-weight:800}.selected-drum-label strong{color:var(--lime)}
.drum-sequencer-panel{grid-template-rows:32px minmax(0,1fr) 34px}.drum-grid{min-height:0;display:grid;grid-template-columns:minmax(190px,24%) minmax(0,1fr);gap:8px}.drum-voice-list{display:grid;grid-template-rows:repeat(10,minmax(22px,1fr));gap:3px;min-height:0}.drum-row-label{display:grid;grid-template-columns:1fr 23px 23px;align-items:center;gap:3px;min-width:0;background:#101415;border:1px solid #293031;border-radius:6px;padding:2px 3px}.drum-row-label.selected{border-color:var(--cyan);background:#142223}.drum-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;padding:3px 5px;background:transparent;border:0;font-size:.58rem;color:var(--text)}.drum-mini{padding:2px 0;font-size:.50rem;width:23px;height:20px}.drum-pad-area{min-width:0;min-height:0;display:grid;grid-template-rows:27px minmax(0,1fr);gap:5px}.drum-pad-header{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:.55rem;letter-spacing:.08em}.drum-pad-header strong{color:var(--lime);font-size:.68rem}.drum-pad-header small{margin-left:auto;color:#71807b}.drum-pad-grid{min-height:0;display:grid;grid-template-columns:repeat(8,minmax(48px,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:5px}.drum-mini.active.mute{background:var(--red);border-color:var(--red);color:#fff}.drum-mini.active.solo{background:var(--cyan);border-color:var(--cyan);color:var(--ink)}.drum-cell{padding:5px;min-width:0;height:100%;border-radius:8px;background:#111516;border-color:#2b3334;position:relative;display:grid;grid-template-rows:auto 1fr;align-items:center;justify-items:center}.drum-cell span{font-size:.55rem;color:#6f7b77}.drum-cell strong{font-size:.72rem;color:#56605d}.drum-cell.normal{background:#17301f;border-color:#4f805e}.drum-cell.normal strong{color:var(--lime)}.drum-cell.accent{background:#3a281c;border-color:#a86535}.drum-cell.accent strong{color:var(--orange)}.drum-cell.playing{outline:2px solid var(--lime);outline-offset:-1px}.drum-cell.bar-start{border-left-color:#687573}.drum-tools{justify-content:flex-start}.tool-note{margin-left:auto;color:var(--muted);font-size:.58rem}
.app-footer{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;border-top:1px solid #252d2d;color:var(--muted);font-size:.64rem;min-width:0}.session-actions{display:flex;gap:4px;align-items:center}.session-actions button,.file-button{padding:4px 7px;font-size:.60rem}.file-button input{display:none}#statusText{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#statusText[data-tone=good]{color:var(--lime)}#statusText[data-tone=bad]{color:var(--red)}#statusText[data-tone=warn]{color:var(--orange)}.version-control{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#889590;white-space:nowrap;font-size:.59rem}
.modal{width:min(940px,calc(100vw - 28px));max-height:88vh;padding:0;border:1px solid #36403e;border-radius:16px;background:var(--panel);color:var(--text);box-shadow:0 30px 100px rgba(0,0,0,.65)}.modal::backdrop{background:rgba(2,4,4,.78);backdrop-filter:blur(5px)}.modal-head{position:sticky;top:0;z-index:3;display:flex;justify-content:space-between;align-items:flex-start;padding:14px 16px;background:#171b1c;border-bottom:1px solid var(--line)}.modal-head h2{margin:2px 0 0}.modal-head>button{font-size:1.1rem;padding:3px 9px}.modal-scroll{padding:15px;overflow:auto;max-height:calc(88vh - 58px)}.notice{background:#101415;border:1px solid #293132;border-radius:10px;padding:10px}.notice p{margin:4px 0 0;color:var(--muted)}.good{color:var(--lime)}.bad{color:var(--red)}.midi-connect-row{display:flex;align-items:center;gap:10px;margin:11px 0}.form-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px}.form-grid label{display:grid;gap:4px;font-size:.62rem;color:var(--muted);font-weight:800}.form-grid select{width:100%;background:#0f1314;color:var(--text);border:1px solid var(--line);padding:8px;border-radius:7px}.toggle-grid{display:grid;grid-template-columns:1fr 1fr 2fr 2fr;gap:8px;margin-top:9px}.toggle-grid label{background:#111516;border:1px solid #293031;border-radius:8px;padding:8px;font-size:.70rem;color:var(--muted)}.threshold{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:7px}.midi-section{margin-top:14px;border-top:1px solid var(--line);padding-top:13px}.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.section-title h3{margin:2px 0 0}.section-title>span{font-size:.68rem;color:var(--muted)}#learnStatus.listening{color:var(--orange)}.mapping-rows{margin-top:8px;display:grid;gap:4px}.mapping-row{display:grid;grid-template-columns:1fr 150px 145px 76px 68px 34px;align-items:center;gap:6px;background:#111516;padding:5px 7px;border-radius:7px}.mapping-row code{color:var(--cyan);font-size:.67rem}.mapping-row button{padding:5px}.mapping-group{margin-top:8px;color:var(--lime);font-size:.57rem;letter-spacing:.13em;font-weight:900}.pad-capture-actions{display:flex;gap:7px}.pad-map-preview{display:grid;grid-template-columns:repeat(8,1fr);gap:5px;margin-top:8px}.pad-map-cell{white-space:pre-line;text-align:center;padding:6px 3px;border:1px solid #2b3334;border-radius:6px;font-size:.59rem;color:#65716d}.pad-map-cell.mapped{color:var(--lime);border-color:#4d5c56}.mode-help{display:grid;gap:6px}.mode-help>div{display:grid;grid-template-columns:72px 1fr;align-items:start;gap:7px}.mode-help p{margin:0;color:var(--muted)}.help-copy h3{margin:16px 0 3px;color:var(--lime)}.help-copy p{margin:0;color:#c2cac6;line-height:1.48}.legal-note{margin-top:20px!important;font-size:.70rem!important;color:#75807d!important;border-top:1px solid var(--line);padding-top:10px}
@media(max-width:1180px){.app-shell{padding:6px 8px}.topbar{grid-template-columns:180px 1fr auto}.brand p{display:none}.acid-controls{grid-template-columns:repeat(6,1fr)}#acidPage{grid-template-rows:minmax(164px,38%) minmax(0,62%)}.drum-grid{grid-template-columns:minmax(170px,24%) minmax(0,1fr)}.tab-hint{display:none}.instrument-tabs{grid-template-columns:110px 110px auto 1fr}}
@media(max-height:780px){.app-shell{grid-template-rows:48px 36px minmax(0,1fr) 27px;gap:5px}.brand-mark{width:36px;height:36px}.brand h1{font-size:1.05rem}.master-strip label{padding:4px 6px}.instrument-tab{padding:4px}.panel{padding:6px 8px}.compact-head{margin-bottom:4px}.acid-controls{gap:4px}.control{padding:4px 5px}.acid-sequencer-panel{grid-template-rows:29px minmax(0,1fr) 34px 30px;gap:4px}.drum-sequencer-panel{grid-template-rows:29px minmax(0,1fr) 30px;gap:4px}.step-editor button,.tool-row button{padding:4px 6px}.drum-grid{gap:5px}.drum-row-label{padding:1px 2px}.app-footer{font-size:.58rem}}
@media(max-width:820px){.topbar{grid-template-columns:1fr auto}.master-strip{grid-row:2;grid-column:1/-1}.app-shell{grid-template-rows:48px 42px 36px minmax(0,1fr) 27px}.instrument-tabs{grid-row:3}.workspace{grid-row:4}.app-footer{grid-row:5}.brand p,.mode-badge{display:none}.acid-controls{grid-template-columns:repeat(4,1fr)}#acidPage{grid-template-rows:minmax(210px,44%) minmax(0,56%)}.drum-master-controls{width:100%;grid-template-columns:1fr 1fr auto}.drum-grid{grid-template-columns:125px minmax(0,1fr)}.drum-name{font-size:.52rem}.drum-mini{display:none}.drum-row-label{grid-template-columns:1fr}.tool-note{display:none}}

/* v1.2.0 — independent pattern control + performance scenes */
.instrument-tabs{grid-template-columns:130px 130px 165px 1fr}
#patternsPage{grid-template-rows:minmax(150px,30%) minmax(0,70%)}
.pattern-live-panel,.scenes-panel{display:grid;min-height:0}
.pattern-live-panel{grid-template-rows:auto minmax(0,1fr)}
.pattern-now{display:flex;align-items:baseline;gap:8px;background:#101415;border:1px solid #2b3334;border-radius:8px;padding:6px 10px}.pattern-now span{font-size:.55rem;color:var(--muted);font-weight:900;letter-spacing:.12em}.pattern-now strong{color:var(--lime);font-size:.78rem}
.live-pattern-rows{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-height:0}.live-pattern-row{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:10px;background:#101415;border:1px solid #293031;border-radius:10px;padding:8px 10px;min-width:0}.pattern-row-title{display:grid;grid-template-columns:auto auto;column-gap:6px;align-items:baseline}.pattern-row-title span{font-size:.55rem;letter-spacing:.12em;color:var(--muted);font-weight:900}.pattern-row-title strong{font-size:.92rem}.pattern-row-title small{grid-column:1/-1;color:#687572;font-size:.52rem;margin-top:2px}.pattern-bank.large{display:grid;grid-template-columns:repeat(8,minmax(34px,1fr));gap:5px}.pattern-bank.large .pattern-btn{width:auto;height:44px;font-size:.82rem}
.scenes-panel{grid-template-rows:auto minmax(0,1fr)}.scene-head p{margin:0;max-width:600px;color:var(--muted);font-size:.62rem;line-height:1.35;text-align:right}.scene-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:7px;min-height:0}.scene-card{min-width:0;background:#101415;border:1px solid #2b3334;border-radius:10px;padding:7px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr auto;gap:6px}.scene-card.active{border-color:var(--lime);box-shadow:inset 0 0 0 1px rgba(201,245,109,.14)}.scene-title{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:7px}.scene-title span{font-size:.52rem;color:#687572}.scene-title strong{font-size:.70rem;color:var(--lime)}.scene-card label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:5px;color:var(--muted);font-size:.58rem;font-weight:900}.scene-card select{min-width:0;background:#171d1c;color:var(--text);border:1px solid #37403e;border-radius:6px;padding:5px}.scene-card>button{grid-column:1/-1;padding:5px 7px}

/* Instrument-specific 808-style control surface */
.drum-voice-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.drum-voice-controls[data-controls="2"]{grid-template-columns:repeat(2,minmax(180px,1fr)) 2fr}.drum-voice-controls[data-controls="3"]{grid-template-columns:repeat(3,minmax(150px,1fr)) 1fr}.drum-controls-panel .control{grid-template-columns:auto 1fr auto;grid-template-rows:1fr;align-items:center}.drum-controls-panel .control span{min-width:64px}

@media(max-width:1180px){.instrument-tabs{grid-template-columns:105px 105px 135px 1fr}.live-pattern-row{grid-template-columns:92px 1fr}.pattern-bank.large .pattern-btn{height:38px}.scene-grid{gap:5px}.scene-card{padding:5px}.scene-head p{max-width:440px}}
@media(max-height:780px){#patternsPage{grid-template-rows:minmax(132px,28%) minmax(0,72%)}.pattern-live-panel .compact-head,.scenes-panel .compact-head{margin-bottom:3px}.live-pattern-row{padding:5px 7px}.pattern-bank.large .pattern-btn{height:34px}.scene-card{padding:4px 5px;gap:3px}.scene-card select{padding:3px}.scene-card>button{padding:3px 5px}.scene-head p{font-size:.55rem}.drum-voice-controls{gap:4px}}
@media(max-width:820px){.instrument-tabs{grid-template-columns:1fr 1fr 1.25fr}.instrument-tabs .tab-hint{display:none}.live-pattern-rows{grid-template-columns:1fr}.live-pattern-row{grid-template-columns:80px 1fr}.scene-grid{grid-template-columns:repeat(4,minmax(105px,1fr));overflow-x:auto}.scene-head p{display:none}}

/* v1.2.1 keyboard-first step editing hint */
.acid-key-hint{white-space:nowrap;font-size:.54rem}
@media(max-width:1180px){.acid-key-hint{display:none}}

/* v1.4.0 — gate articulation, stronger distortion, reverb sends + expanded MIDI */
.acid-head{display:grid;grid-template-columns:auto minmax(250px,430px) auto;align-items:center;gap:10px}
.acid-title{min-width:112px}.acid-scope{min-width:0;height:48px;display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:6px;background:#0d1112;border:1px solid #2a3232;border-radius:8px;padding:3px 6px;overflow:hidden}.acid-scope-label{display:grid;gap:2px;min-width:0}.acid-scope-label span{font-size:.50rem;letter-spacing:.13em;color:var(--cyan);font-weight:900}.acid-scope-label strong{font-size:.50rem;line-height:1.25;color:#8d9a96;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#acidScope{display:block;width:100%;height:40px;border-left:1px solid #252d2d;background:#0a0d0e}
@media(max-width:1180px){.acid-head{grid-template-columns:auto minmax(200px,1fr) auto}.acid-scope{grid-template-columns:70px minmax(0,1fr)}.acid-scope-label strong{display:none}}
@media(max-width:820px){.acid-scope{display:none}.acid-head{display:flex}}

/* v1.5 Launchkey-aligned pad layouts */
.pad-map-preview{grid-template-columns:repeat(8,1fr)!important;grid-template-rows:repeat(2,1fr)!important}

/* v1.5.1 — controller profiles, explicit MIDI OUT and tab-scoped mappings */
.midi-device-grid{grid-template-columns:minmax(180px,1.4fr) minmax(180px,1.4fr) minmax(90px,.6fr) minmax(110px,.7fr)}
.led-config-grid{grid-template-columns:minmax(230px,1.35fr) minmax(180px,.9fr) minmax(250px,1.35fr);margin-top:8px}
.led-playhead-toggle>span:last-child{display:flex;align-items:center;gap:7px;min-height:34px;background:#0f1314;border:1px solid var(--line);padding:7px 8px;border-radius:7px;color:var(--text);font-size:.68rem}.led-playhead-toggle input{accent-color:var(--lime)}
.led-test-cell{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;align-items:end}.led-test-actions{display:flex;gap:5px;flex-wrap:wrap}.led-test-cell button{height:34px;padding-inline:8px}.led-test-cell small{min-width:0;color:var(--muted);font-size:.58rem;line-height:1.25;padding-bottom:2px}.midi-led-diagnostics{margin-top:8px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:7px;align-items:center;background:#0e1213;border:1px solid #293132;border-radius:8px;padding:7px 9px}.midi-led-diagnostics strong{font-size:.58rem;letter-spacing:.09em;color:var(--lime)}.midi-led-diagnostics span{font-size:.65rem;color:var(--text)}.midi-led-diagnostics code{font-size:.59rem;color:var(--cyan);white-space:nowrap}#midiInputStatus,#midiInputTrace,#ledTraceStatus{grid-column:1/-1;white-space:normal;overflow-wrap:anywhere;color:var(--muted)}.midi-led-diagnostics small{grid-column:1/-1;color:var(--muted);font-size:.58rem;line-height:1.3}
.mapping-channel{display:flex;gap:4px;min-width:0}.mapping-channel select{height:28px;min-width:0;background:#151a1a;color:var(--text);border:1px solid #394342;border-radius:5px;font-size:.52rem;font-weight:900;padding:0 3px}.mapping-channel .mapping-override{width:46px}.mapping-gesture{height:28px;background:#151a1a;color:var(--text);border:1px solid #394342;border-radius:5px;font-size:.55rem;font-weight:900;padding:0 4px}.mapping-gesture:disabled{opacity:.45}.mapping-gesture-cont{display:grid;place-items:center;height:28px;border:1px solid #293132;border-radius:5px;color:#68736f;font-size:.50rem;font-weight:900}.hold-threshold output{min-width:48px;text-align:right}#midiGestureStatus{grid-column:1/-1;color:var(--cyan)!important}#midiGestureStatus[data-phase="hold"]{color:var(--orange)!important}#midiGestureStatus[data-phase="press"]{color:var(--lime)!important}.mapping-row>span{display:flex;align-items:center;gap:7px;min-width:0}.mapping-row>span small{font-size:.48rem;letter-spacing:.08em;border:1px solid #35403d;border-radius:999px;padding:2px 5px;color:#7f8b87;white-space:nowrap}.mapping-row[data-scope="acid"]>span small{color:var(--cyan);border-color:#345352}.mapping-row[data-scope="drums"]>span small{color:var(--orange);border-color:#5d4736}.mapping-row[data-scope="global"]>span small{color:var(--lime);border-color:#4a5735}
@media(max-width:820px){.midi-device-grid,.led-config-grid{grid-template-columns:1fr 1fr}.toggle-grid{grid-template-columns:1fr 1fr}.mapping-row{grid-template-columns:minmax(0,1fr) 110px 120px 70px 58px 32px}.led-test-cell{grid-column:1/-1}.midi-led-diagnostics{grid-template-columns:1fr}.midi-led-diagnostics small{grid-column:auto}.midi-led-diagnostics code{white-space:normal}}


/* v1.5.4 — switchable 808 layouts: 2×8 pads or full 10×16 rack */
.drum-layout-switch{display:flex;gap:3px;align-items:center}.drum-layout-switch button{height:27px;padding:3px 7px;font-size:.53rem;white-space:nowrap}.drum-layout-switch button.active{background:var(--cyan);border-color:var(--cyan);color:var(--ink)}
.drum-grid--rack{display:block;overflow:hidden}.drum-rack-grid{height:100%;min-height:0;display:grid;grid-template-rows:19px repeat(10,minmax(0,1fr));gap:2px}.drum-rack-row{display:grid;grid-template-columns:minmax(126px,155px) repeat(16,minmax(23px,1fr));gap:2px;min-height:0;align-items:stretch}.drum-rack-header{color:#71807b;font-size:.47rem;font-weight:900;letter-spacing:.04em;text-align:center;align-items:end}.drum-rack-header>span{display:grid;place-items:center;height:100%;border-left:1px solid transparent}.drum-rack-header>span.bar-start{border-left-color:#46514e}.drum-rack-header-voice{text-align:left;padding-left:5px;align-self:center}.drum-rack-voice{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 19px 19px;align-items:center;gap:2px;border:1px solid #293031;border-radius:5px;padding:1px 2px;background:#101415}.drum-rack-row.selected .drum-rack-voice{border-color:var(--cyan);background:#142223}.drum-rack-voice .drum-name{font-size:.50rem;padding:2px 3px}.drum-rack-voice .drum-mini{width:19px;height:18px;font-size:.43rem;padding:0}.drum-rack-cell{height:100%;min-height:18px;border-radius:4px;padding:0;display:grid;place-items:center;grid-template-rows:1fr}.drum-rack-cell span{display:none}.drum-rack-cell strong{font-size:.48rem;line-height:1}.drum-rack-cell.bar-start{border-left-color:#687573}.drum-rack-row.selected .drum-rack-cell{box-shadow:inset 0 0 0 1px rgba(114,217,208,.09)}
@media(max-width:1180px){.drum-rack-row{grid-template-columns:minmax(108px,130px) repeat(16,minmax(20px,1fr))}.drum-rack-voice .drum-name{font-size:.46rem}.drum-layout-switch button{padding-inline:5px}}
@media(max-height:780px){.drum-rack-grid{grid-template-rows:16px repeat(10,minmax(0,1fr));gap:1px}.drum-rack-row{gap:1px}.drum-rack-cell{min-height:15px}.drum-rack-voice{padding:0 1px}.drum-rack-voice .drum-mini{height:16px}.drum-layout-switch button{height:24px}}
@media(max-width:820px){.drum-layout-switch{order:2}.drum-key{display:none}.drum-rack-row{grid-template-columns:minmax(80px,104px) repeat(16,minmax(18px,1fr))}.drum-rack-voice{grid-template-columns:1fr}.drum-rack-voice .drum-mini{display:none}.drum-rack-voice .drum-name{font-size:.44rem;padding:1px}.drum-rack-cell strong{font-size:.42rem}}

/* v1.6.1 — sampler PCM recording fix */
.instrument-tabs{grid-template-columns:112px 112px 122px 132px minmax(0,1fr)}
#samplerPage{grid-template-rows:minmax(220px,42%) minmax(0,58%)}
.sampler-editor-panel{display:grid;grid-template-rows:38px minmax(0,1fr);gap:6px}.sampler-head{margin:0}.sampler-head-actions{display:flex;gap:5px;align-items:center;min-width:0}.sampler-head-actions>label{display:grid;grid-template-columns:auto minmax(75px,125px) auto;gap:5px;align-items:center;background:#111516;border:1px solid #252c2d;border-radius:7px;padding:5px 7px;font-size:.54rem;color:var(--muted);font-weight:900}.sampler-head-actions input{min-width:0;width:100%;accent-color:var(--lime)}.sampler-head-actions output{color:var(--lime)}.mic-meter{width:68px;height:10px;border:1px solid #34403d;background:#090c0c;border-radius:999px;overflow:hidden}.mic-meter i{display:block;width:0;height:100%;background:var(--lime);transition:width .05s linear}.sampler-editor-body{min-height:0;display:grid;grid-template-columns:minmax(310px,42%) minmax(0,58%);gap:8px}.waveform-editor{min-width:0;min-height:0;display:grid;grid-template-rows:minmax(80px,1fr) 26px 32px;gap:4px;background:#0e1213;border:1px solid #293132;border-radius:9px;padding:5px}.waveform-editor.drag-over{border-color:var(--lime);box-shadow:inset 0 0 0 1px var(--lime)}#sampleWaveform{display:block;width:100%;height:100%;min-height:72px;background:#090c0d;border-radius:6px;touch-action:none}.waveform-toolbar,.trim-row{display:flex;align-items:center;gap:4px;min-width:0}.waveform-toolbar label,.trim-row label{display:grid;grid-template-columns:auto minmax(50px,1fr) auto;align-items:center;gap:4px;min-width:0;font-size:.50rem;color:var(--muted);font-weight:900}.waveform-toolbar label:first-child{width:150px}.waveform-toolbar label:nth-child(2){flex:1}.waveform-toolbar input,.trim-row input{min-width:0;width:100%;accent-color:var(--cyan)}.waveform-toolbar output,.trim-row output{color:var(--lime);font-size:.50rem}.waveform-toolbar button,.trim-row button{padding:4px 6px;font-size:.49rem}.waveform-toolbar span{margin-left:auto;font-size:.50rem;color:#7d8985;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trim-row label{flex:1}.sampler-controls{min-height:0;display:grid;grid-template-columns:repeat(5,minmax(84px,1fr));grid-auto-rows:minmax(38px,1fr);gap:4px}.sample-field{min-width:0;background:#111516;border:1px solid #293132;border-radius:7px;padding:4px 5px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px;align-items:center}.sample-field>span{font-size:.49rem;color:var(--muted);font-weight:900;letter-spacing:.05em}.sample-field input[type=range]{min-width:0;width:100%;height:13px;accent-color:var(--lime)}.sample-field input[type=text],.sample-field select{min-width:0;width:100%;background:#171d1c;color:var(--text);border:1px solid #394341;border-radius:5px;padding:4px;font-size:.55rem}.sample-field output{color:var(--lime);font-size:.49rem;white-space:nowrap}.name-field{grid-column:span 2}.sample-action{min-height:34px;padding:4px 6px;font-size:.52rem}.sample-action.active{background:var(--orange);border-color:var(--orange);color:#160b04}.sample-action.danger{color:#ff999f}.sampler-sequencer-panel{display:grid;grid-template-rows:32px minmax(0,1fr) 34px;gap:6px}.sampler-toolbar{justify-content:space-between}.sampler-layout-switch{display:flex;gap:3px}.sampler-layout-switch button{height:27px;padding:3px 7px;font-size:.53rem}.sampler-layout-switch button.active{background:var(--cyan);border-color:var(--cyan);color:var(--ink)}.sampler-grid{min-height:0;display:grid;grid-template-columns:minmax(190px,24%) minmax(0,1fr);gap:8px}.sample-slot-list{display:grid;grid-template-rows:repeat(8,minmax(25px,1fr));gap:3px;min-height:0}.sample-slot-row{display:grid;grid-template-columns:minmax(0,1fr) 23px 23px;align-items:center;gap:3px;background:#101415;border:1px solid #293031;border-radius:6px;padding:2px 3px}.sample-slot-row.selected{border-color:var(--cyan);background:#142223}.sample-slot-row.loaded .sample-name:after{content:' •';color:var(--lime)}.sample-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;padding:3px 5px;background:transparent;border:0;font-size:.56rem;color:var(--text)}.sample-slot-row.drag-over{border-color:var(--lime);background:#192217}.sampler-pad-area{min-width:0;min-height:0;display:grid;grid-template-rows:27px minmax(0,1fr);gap:5px}.sampler-pad-header{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.54rem;letter-spacing:.06em}.sampler-pad-header strong{color:var(--lime)}.sampler-pad-header small{margin-left:auto}.sampler-pad-grid{min-height:0;display:grid;grid-template-columns:repeat(8,minmax(48px,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:5px}.sampler-cell{padding:5px;min-width:0;height:100%;border-radius:8px;background:#111516;border-color:#2b3334;position:relative;display:grid;grid-template-rows:auto 1fr;align-items:center;justify-items:center}.sampler-cell span{font-size:.54rem;color:#6f7b77}.sampler-cell strong{font-size:.70rem;color:#56605d}.sampler-cell.normal{background:#17301f;border-color:#4f805e}.sampler-cell.normal strong{color:var(--lime)}.sampler-cell.accent{background:#3a281c;border-color:#a86535}.sampler-cell.accent strong{color:var(--orange)}.sampler-cell.double{box-shadow:inset 0 0 0 2px #7c6cff}.sampler-cell.double strong:after{content:'×2';font-size:.42rem;margin-left:3px;color:#b9b0ff}.sampler-cell.accent-double{background:#30233a;border-color:#9d71c8}.sampler-cell.accent-double strong{color:#d8a7ff}.sampler-cell.playing{outline:2px solid var(--lime);outline-offset:-1px}.sampler-grid--rack{display:block;overflow:hidden}.sampler-rack-grid{height:100%;min-height:0;display:grid;grid-template-rows:19px repeat(8,minmax(0,1fr));gap:2px}.sampler-rack-row{display:grid;grid-template-columns:minmax(126px,155px) repeat(16,minmax(23px,1fr));gap:2px;min-height:0;align-items:stretch}.sampler-rack-header{color:#71807b;font-size:.47rem;font-weight:900;text-align:center;align-items:end}.sampler-rack-header>span{display:grid;place-items:center}.sampler-rack-cell{height:100%;min-height:18px;border-radius:4px;padding:0;display:grid;place-items:center}.sampler-rack-cell strong{font-size:.48rem}.sampler-rack-row.selected .sample-slot-row{border-color:var(--cyan)}
#patternsPage{grid-template-rows:minmax(184px,36%) minmax(0,64%)}.live-pattern-rows{grid-template-columns:1fr;grid-template-rows:repeat(3,minmax(0,1fr));gap:5px}.live-pattern-row{padding:5px 8px}.pattern-bank.large .pattern-btn{height:32px}.scene-card{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto 1fr auto}.scene-card>button{grid-column:1/-1}
@media(max-width:1180px){.instrument-tabs{grid-template-columns:96px 96px 105px 118px 1fr}.sampler-editor-body{grid-template-columns:minmax(280px,40%) minmax(0,60%)}.sampler-controls{grid-template-columns:repeat(4,minmax(78px,1fr))}.name-field{grid-column:span 2}.sampler-rack-row{grid-template-columns:minmax(105px,128px) repeat(16,minmax(20px,1fr))}}
@media(max-height:780px){#samplerPage{grid-template-rows:minmax(200px,42%) minmax(0,58%)}.sampler-editor-panel{grid-template-rows:34px minmax(0,1fr);padding:6px 8px}.sampler-editor-body{gap:5px}.waveform-editor{grid-template-rows:minmax(66px,1fr) 23px 28px;padding:3px}.sampler-controls{gap:3px;grid-auto-rows:minmax(32px,1fr)}.sample-field{padding:2px 4px}.sampler-head-actions button{padding:5px 7px}.sampler-rack-grid{grid-template-rows:16px repeat(8,minmax(0,1fr));gap:1px}#patternsPage{grid-template-rows:minmax(170px,36%) minmax(0,64%)}.live-pattern-row{padding:3px 6px}.pattern-bank.large .pattern-btn{height:27px}.scene-card{gap:2px;padding:3px 4px}}
@media(max-width:820px){.instrument-tabs{grid-template-columns:repeat(4,1fr)}.instrument-tabs .tab-hint{display:none}.sampler-editor-body{grid-template-columns:1fr}.sampler-controls{display:none}.sampler-grid{grid-template-columns:120px minmax(0,1fr)}}
.mapping-row[data-scope="sampler"]>span small{color:#d5a6ff;border-color:#5f4770}

/* v1.7.0 — independent instrument run states + modular FX */
.master-strip{grid-template-columns:minmax(135px,1fr) minmax(135px,1fr) auto auto minmax(185px,auto)}
.instrument-runs{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;background:#0d1111;border:1px solid #252c2d;border-radius:8px;padding:3px}.run-chip{min-width:0;height:29px;padding:3px 6px;font-size:.51rem;color:#68736f}.run-chip.active{color:var(--lime);border-color:#53683b;background:#172017}.run-chip:not(.active){color:#ff8f93;border-color:#63383a;background:#241416}
.instrument-tabs{grid-template-columns:102px 102px 112px 122px 112px minmax(0,1fr)}
.tool-row button:disabled{opacity:.34;cursor:not-allowed}
.effects-page{grid-template-rows:minmax(178px,45%) minmax(0,55%);gap:7px}.effects-chains-panel,.fx-editor-panel{min-height:0}.effects-chains-panel{display:grid;grid-template-rows:34px minmax(0,1fr);gap:5px}.fx-page-head{margin:0}.fx-safety{font-size:.52rem;color:#71807b;letter-spacing:.06em}.fx-safety strong{color:var(--lime)}
.fx-chains{min-height:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:5px}.fx-chain-card{min-height:0;background:#0e1213;border:1px solid #293132;border-radius:8px;padding:4px 5px;display:grid;grid-template-rows:27px minmax(0,1fr);gap:3px}.fx-chain-card.selected{border-color:var(--cyan);box-shadow:inset 0 0 0 1px rgba(114,217,208,.12)}.fx-chain-head{display:flex;align-items:center;gap:5px;min-width:0}.fx-chain-head button{height:23px;padding:2px 6px;font-size:.48rem}.fx-chain-title{margin-right:auto;border:0;background:transparent;padding:2px 4px;text-align:left}.fx-chain-title strong{color:var(--lime);font-size:.64rem}.fx-chain-title small{display:block;color:#73807c;font-size:.43rem}.fx-chain-bypass.active{background:var(--orange);border-color:var(--orange);color:#160b04}.fx-module-lane{min-height:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:3px}.fx-module-chip{min-width:0;background:#151a1a;border:1px solid #303839;border-radius:6px;padding:3px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr;gap:2px;text-align:left}.fx-module-chip.selected{border-color:var(--lime);background:#1a2218}.fx-module-chip.bypassed{opacity:.45}.fx-module-chip strong{font-size:.52rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fx-module-chip small{grid-column:1/-1;color:#6f7b77;font-size:.42rem}.fx-module-chip .fx-chip-order{color:#697571;font-size:.42rem}
.fx-editor-panel{display:grid;grid-template-rows:38px minmax(0,1fr);gap:5px}.fx-editor-toolbar{display:flex;align-items:center;gap:5px;min-width:0}.fx-editor-toolbar>div:first-child{min-width:125px;margin-right:auto}.fx-editor-toolbar h3{margin:0;color:var(--lime);font-size:.72rem}.fx-editor-toolbar label{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:.49rem;font-weight:900}.fx-editor-toolbar select{height:27px;max-width:125px;background:#151a1a;color:var(--text);border:1px solid #394342;border-radius:5px;font-size:.52rem}.fx-editor-toolbar button{height:27px;padding:3px 7px;font-size:.49rem}.fx-editor-body{min-height:0;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,.75fr);gap:6px}.fx-module-editor{min-height:0;background:#0e1213;border:1px solid #293132;border-radius:8px;padding:5px;display:grid;grid-template-rows:30px minmax(0,1fr);gap:4px}.fx-empty{grid-row:1/-1;display:grid;place-items:center;color:#68736f;font-size:.58rem}.fx-module-edit-head{display:flex;align-items:center;gap:4px}.fx-module-edit-head strong{color:var(--lime);margin-right:auto;font-size:.66rem}.fx-module-edit-head button{height:24px;padding:2px 6px;font-size:.46rem}.fx-module-edit-head .danger{color:#ff8f93}.fx-param-grid{min-height:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(40px,1fr);gap:4px}.fx-param{min-width:0;background:#121717;border:1px solid #273030;border-radius:6px;padding:4px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px;align-items:center}.fx-param>span{font-size:.46rem;color:var(--muted);font-weight:900}.fx-param input{min-width:0;width:100%;accent-color:var(--lime)}.fx-param select{min-width:0;width:100%;background:#171d1c;color:var(--text);border:1px solid #394341;border-radius:4px;font-size:.49rem}.fx-param output{font-size:.45rem;color:var(--lime)}.fx-param .fx-macro-assign{grid-column:1/-1;height:22px}.fx-macros{min-height:0;background:#0e1213;border:1px solid #293132;border-radius:8px;padding:5px;display:grid;grid-template-rows:29px minmax(0,1fr) auto;gap:4px}.fx-macro-head{display:flex;align-items:center;justify-content:space-between}.fx-macro-head span{color:var(--cyan);font-size:.55rem;font-weight:900}.fx-macro-head small{color:#68736f;font-size:.42rem}.fx-macro-controls{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:4px}.fx-macro-control{background:#121717;border:1px solid #293132;border-radius:6px;padding:4px;display:grid;grid-template-columns:auto 1fr auto;gap:4px;align-items:center}.fx-macro-control span{font-size:.48rem;font-weight:900}.fx-macro-control input{min-width:0;width:100%;accent-color:var(--cyan)}.fx-macro-control output{font-size:.45rem;color:var(--cyan)}.fx-midi-note{font-size:.43rem;color:#697571}
@media(max-width:1180px){.master-strip{grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) auto auto 160px}.instrument-tabs{grid-template-columns:88px 88px 98px 106px 96px 1fr}.run-chip{padding:2px 3px;font-size:.45rem}.fx-editor-body{grid-template-columns:minmax(0,1.5fr) 235px}.fx-param-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fx-editor-toolbar label{display:none}}
@media(max-height:780px){.effects-page{grid-template-rows:minmax(160px,44%) minmax(0,56%)}.effects-chains-panel{grid-template-rows:30px minmax(0,1fr);padding:5px 7px}.fx-editor-panel{grid-template-rows:32px minmax(0,1fr);padding:5px 7px}.fx-chain-card{padding:2px 3px}.fx-chain-head{height:23px}.fx-module-chip{padding:2px}.fx-param{padding:2px}.fx-module-editor,.fx-macros{padding:3px}.fx-editor-toolbar button{height:24px}.fx-editor-toolbar select{height:24px}}
@media(max-width:820px){.instrument-tabs{grid-template-columns:repeat(5,1fr)}.master-strip{grid-template-columns:1fr 1fr auto auto}.instrument-runs{display:none}.fx-chains{grid-template-columns:1fr;grid-template-rows:repeat(4,minmax(0,1fr))}.fx-editor-body{grid-template-columns:1fr}.fx-macros{display:none}.fx-module-lane{grid-template-columns:repeat(8,minmax(52px,1fr));grid-template-rows:1fr;overflow-x:auto}}
.mapping-row[data-scope="effects"]>span small{color:#ffcf74;border-color:#6b5831}

/* v1.8.1 — MIDI PRESS/HOLD gestures + v1.8 arranger/FX */
.instrument-tabs{grid-template-columns:94px 94px 104px 112px 112px 100px minmax(0,1fr)}
.sequences-page{grid-template-rows:minmax(0,1fr)}
.sequence-panel{min-height:0;display:grid;grid-template-rows:38px minmax(0,1fr) 30px;gap:6px;padding:7px 9px}
.sequence-head{min-width:0}.sequence-head h2{margin:0}.sequence-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}.sequence-actions button{height:27px;padding:3px 7px;font-size:.48rem}.sequence-actions button.active{background:var(--lime);border-color:var(--lime);color:#10150e}.sequence-actions>span{font-size:.49rem;color:var(--muted)}.sequence-actions strong{color:var(--lime)}
.sequence-rows{min-height:0;display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:6px}.sequence-row{min-height:0;background:#0e1213;border:1px solid #293132;border-radius:9px;padding:6px;display:grid;grid-template-columns:minmax(190px,240px) minmax(0,1fr);gap:7px}.sequence-row.enabled{border-color:#516437}.sequence-row-head{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto auto;align-items:center;gap:3px 6px}.sequence-row-head strong{font-size:.78rem;color:var(--lime)}.sequence-row-head>button{height:25px;font-size:.48rem}.sequence-row-head>button.active{background:#20301d;color:var(--lime);border-color:#5b764a}.sequence-row-head label{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:5px;color:var(--muted);font-size:.46rem;font-weight:900}.sequence-row-head input{width:100%;accent-color:var(--lime)}.sequence-row-head output{color:var(--lime)}.sequence-row-head small{grid-column:1/-1;color:#72807b;font-size:.44rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sequence-slots{min-width:0;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px}.sequence-cell{min-width:0;background:#111616;border:1px solid #2b3334;border-radius:7px;padding:4px;display:grid;grid-template-rows:auto 1fr;gap:4px;align-items:center}.sequence-cell.playing{outline:2px solid var(--orange);outline-offset:-2px}.sequence-cell.outside{opacity:.32}.sequence-cell span{font-size:.44rem;color:#6f7b77;font-weight:900;text-align:center}.sequence-cell select{width:100%;height:100%;min-height:34px;text-align:center;background:#18201a;color:var(--lime);border:1px solid #405240;border-radius:5px;font-size:.78rem;font-weight:900}.sequence-help{display:flex;align-items:center;justify-content:center;text-align:center;color:#75827e;font-size:.45rem}.sequence-help strong{color:var(--cyan);margin:0 3px}
.fx-page-head{gap:10px}.fx-global-macros{margin-left:auto;display:grid;grid-template-columns:repeat(4,minmax(86px,1fr));gap:4px;min-width:390px}.fx-global-macro{background:#101515;border:1px solid #2d3636;border-radius:6px;padding:3px 5px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:4px}.fx-global-macro span{font-size:.42rem;color:var(--cyan);font-weight:900}.fx-global-macro input{min-width:0;width:100%;accent-color:var(--cyan)}.fx-global-macro output{font-size:.42rem;color:var(--cyan)}
.fx-move-label{display:flex;align-items:center;gap:3px;color:var(--muted);font-size:.42rem}.fx-move-label select{height:23px;background:#151a1a;color:var(--text);border:1px solid #394342;border-radius:4px;font-size:.45rem}
.fx-param .fx-macro-assign{height:20px}.fx-param{grid-auto-flow:row}.fx-param select[data-fx-global-map],.fx-param select[data-fx-global-mix]{grid-column:1/-1}
.mapping-row[data-scope="global"]>span small{color:#8fd8ff;border-color:#3f6374}
@media(max-width:1180px){.instrument-tabs{grid-template-columns:78px 78px 88px 96px 98px 86px 1fr}.fx-global-macros{min-width:300px;grid-template-columns:repeat(2,1fr)}.sequence-row{grid-template-columns:175px minmax(0,1fr)}.sequence-cell select{font-size:.65rem}}
@media(max-height:780px){.sequence-panel{grid-template-rows:32px minmax(0,1fr) 22px;padding:5px 7px}.sequence-row{padding:3px 4px;gap:4px}.sequence-slots{gap:2px}.sequence-cell{padding:2px}.sequence-cell select{min-height:27px}.sequence-help{font-size:.4rem}.fx-global-macro{padding:1px 3px}}
@media(max-width:820px){.instrument-tabs{grid-template-columns:repeat(6,1fr)}.sequence-row{grid-template-columns:1fr}.sequence-row-head{display:none}.sequence-slots{min-width:520px}.sequence-row{overflow-x:auto}.fx-global-macros{display:none}}

/* v1.8.2 — compact tabs, arranger MIDI edit cursor, bootstrap diagnostics */
.instrument-tab{min-width:0;overflow:hidden;white-space:nowrap}.instrument-tab span{font-size:.50rem;letter-spacing:.07em}.instrument-tab strong{font-size:.78rem;letter-spacing:.02em}
.sequence-cell.editing{box-shadow:inset 0 0 0 2px var(--cyan);background:rgba(114,217,208,.10)}.sequence-row.edit-row .sequence-row-head{border-color:rgba(114,217,208,.65)}
html[data-app-error="true"] #statusText{font-weight:900}
@media(max-width:1180px){.instrument-tab span{font-size:.45rem}.instrument-tab strong{font-size:.70rem}}


/* v1.9.0 — global performance macros + arranger OFF */
.app-shell{grid-template-rows:auto auto auto minmax(0,1fr) auto}
.global-macro-bar{min-height:48px;display:grid;grid-template-columns:86px minmax(0,1fr);gap:5px;padding:4px 8px;background:#0d1112;border-bottom:1px solid #273031;transition:min-height .16s ease}
.global-macro-toggle{min-width:0;border:1px solid #35403e;background:#141a1a;color:var(--text);border-radius:7px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:4px 7px}.global-macro-toggle span{font-size:.42rem;color:var(--cyan);font-weight:900}.global-macro-toggle strong{font-size:.56rem;color:var(--lime)}
.global-macro-controls{min-width:0;display:grid;grid-template-columns:repeat(8,minmax(92px,1fr));gap:4px}.global-macro-slot{min-width:0;background:#111717;border:1px solid #293333;border-radius:6px;padding:2px 4px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:18px 18px;gap:1px 3px;align-items:center}.global-macro-slot>span{display:flex;gap:3px;min-width:0;align-items:center}.global-macro-slot strong{font-size:.48rem;color:var(--cyan)}.global-macro-slot em{font-style:normal;font-size:.37rem;color:#7d8985;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.global-macro-slot input{min-width:0;width:100%;accent-color:var(--cyan)}.global-macro-slot output{font-size:.39rem;color:var(--cyan)}.global-macro-slot select{grid-column:1/-1;width:100%;height:17px;min-width:0;background:#151b1b;color:#aab4b0;border:1px solid #303a39;border-radius:4px;font-size:.39rem;padding:0 2px}
.global-macro-bar.collapsed{min-height:30px;grid-template-columns:86px 1fr}.global-macro-bar.collapsed .global-macro-controls{display:none}
.sequence-cell select option[value="-1"]{color:#ff9a52;background:#1a1411}.sequence-cell:has(select option[value="-1"]:checked){border-color:#5d4032}.sequence-cell:has(select option[value="-1"]:checked) select{color:#ff9a52;background:#201612}
.fx-global-macros{grid-template-columns:repeat(4,minmax(70px,1fr));min-width:330px}
@media(max-width:1180px){.global-macro-controls{grid-template-columns:repeat(4,minmax(90px,1fr));grid-template-rows:repeat(2,1fr)}.global-macro-bar{min-height:70px}.global-macro-slot{grid-template-rows:17px 16px}.global-macro-bar.collapsed{min-height:30px}}
@media(max-height:780px){.global-macro-bar{min-height:44px;padding:2px 6px}.global-macro-controls{grid-template-columns:repeat(8,minmax(82px,1fr));grid-template-rows:1fr}.global-macro-slot{grid-template-rows:16px 14px;padding:1px 3px}.global-macro-slot select{height:14px;font-size:.35rem}.global-macro-slot em{display:none}}
@media(max-width:820px){.global-macro-bar{grid-template-columns:76px minmax(0,1fr);overflow:hidden}.global-macro-controls{overflow-x:auto;grid-template-columns:repeat(8,96px);grid-template-rows:1fr}.global-macro-slot em{display:none}}
@media(max-width:820px){.topbar{grid-row:1}.instrument-tabs{grid-row:2}.global-macro-bar{grid-row:3}.workspace{grid-row:4}.app-footer{grid-row:5}}

/* v2.0 dual-303 + multi MIDI mapping */
.acid-title{display:flex;align-items:center;gap:10px;min-width:0}.acid-title h2{margin:0}.acid-voice-tabs{display:flex;gap:3px;margin-left:4px}.acid-voice-tabs button{height:25px;padding:3px 8px;font-size:.51rem}.acid-voice-tabs button.active,.precision-mode.active{background:var(--cyan);border-color:var(--cyan);color:var(--ink)}.acid-head-actions{display:flex;align-items:center;gap:6px}.precision-mode{height:27px;padding:3px 8px;font-size:.50rem;white-space:nowrap}
.instrument-runs{grid-template-columns:repeat(4,1fr)}
.live-pattern-rows{grid-template-rows:repeat(4,minmax(0,1fr))}
.fx-chains{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
.midi-map-tabs{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0}.midi-map-tabs button{height:27px;padding:4px 8px;font-size:.51rem}.midi-map-tabs button.active{background:var(--cyan);border-color:var(--cyan);color:var(--ink)}
.mapping-target{background:#0f1314;border:1px solid #293132;border-radius:9px;padding:6px;margin-bottom:6px}.mapping-target-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.mapping-target-head>span{display:flex;align-items:center;gap:7px;min-width:0;flex-wrap:wrap}.mapping-target-head strong{font-size:.62rem;color:var(--text)}.mapping-target-head small{font-size:.46rem;color:#74817d;white-space:normal;line-height:1.15}.mapping-target-head button{height:25px;padding:3px 8px;font-size:.49rem}.mapping-instances{display:grid;gap:4px;margin-top:5px}.mapping-empty{padding:5px 7px;border:1px dashed #293132;border-radius:6px;color:#697571;font-size:.52rem}.mapping-row{display:grid;grid-template-columns:minmax(130px,1.15fr) minmax(120px,.85fr) minmax(190px,1.25fr) 30px;align-items:center;gap:6px;padding:5px 6px}.mapping-row code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mapping-range{display:grid;grid-template-columns:1fr 1fr;gap:4px}.mapping-range label{display:grid;grid-template-columns:auto minmax(52px,1fr);align-items:center;gap:3px;color:#78847f;font-size:.45rem;font-weight:900}.mapping-range input{min-width:0;width:100%;height:27px;background:#151a1a;color:var(--text);border:1px solid #394342;border-radius:5px;padding:2px 4px;font-size:.52rem}.mapping-remove{height:28px!important;padding:2px!important;color:#ff999f}.mapping-row[data-scope="acid"]{border-left:2px solid #345352}.mapping-row[data-scope="drums"]{border-left:2px solid #5d4736}.mapping-row[data-scope="sampler"]{border-left:2px solid #5f4770}.mapping-row[data-scope="effects"]{border-left:2px solid #6b5831}.mapping-row[data-scope="global"]{border-left:2px solid #3f6374}
@media(max-width:820px){.fx-chains{grid-template-columns:1fr;grid-template-rows:repeat(5,minmax(0,1fr))}.mapping-row{grid-template-columns:1fr 1fr}.mapping-range{grid-column:1/-1}.mapping-remove{justify-self:end}.acid-title{gap:5px}.acid-voice-tabs button{padding:3px 5px}.precision-mode{padding:3px 5px}}


/* v2.2 clock-synchronised sine auto sweeps */
.auto-sweep-section{border-top:1px solid #273031}.auto-sweep-help{font-size:.54rem;color:#8b9894;line-height:1.45;margin:5px 0 8px}.auto-sweep-rows{display:grid;gap:6px}.auto-sweep-row{background:#0e1213;border:1px solid #293232;border-radius:9px;padding:7px}.auto-sweep-row.enabled{border-color:#44766f;box-shadow:inset 0 0 0 1px rgba(114,217,208,.12)}.auto-sweep-head{display:flex;align-items:center;gap:6px;margin-bottom:6px}.auto-sweep-head strong{margin-right:auto;font-size:.62rem;letter-spacing:.08em}.auto-sweep-head button{height:25px;padding:3px 7px;font-size:.48rem}.auto-sweep-head button.active{background:var(--cyan);border-color:var(--cyan);color:var(--ink)}.auto-sweep-controls{display:grid;grid-template-columns:minmax(220px,2fr) minmax(110px,.8fr) minmax(180px,1.3fr) 88px;gap:7px;align-items:end}.auto-sweep-controls label{display:grid;gap:3px}.auto-sweep-controls label>span{font-size:.43rem;font-weight:900;letter-spacing:.08em;color:#788681}.auto-sweep-controls select{width:100%;min-width:0;height:29px;background:#151a1a;color:var(--text);border:1px solid #394342;border-radius:5px;padding:2px 5px;font-size:.51rem}.auto-sweep-controls input[type="range"]{width:100%}.auto-sweep-controls output{font-size:.48rem;color:var(--cyan);font-weight:900}.auto-sweep-controls code{height:29px;display:flex;align-items:center;justify-content:center;border:1px solid #2d3736;border-radius:5px;background:#111617;color:#9fb0aa;font-size:.48rem;white-space:nowrap}
@media(max-width:820px){.auto-sweep-controls{grid-template-columns:1fr 1fr}.auto-sweep-controls label:first-child{grid-column:1/-1}.auto-sweep-controls code{min-width:0}}

.sample-source-picker{grid-template-columns:auto minmax(120px,170px)!important}.sample-source-picker select{min-width:120px;background:#171d1c;color:var(--text);border:1px solid #394341;border-radius:5px;padding:4px;font-size:.53rem}.danger-reset{color:#ff999f!important;border-color:#6a3438!important}.danger-reset:hover{background:#3a171a!important;color:#ffd8da!important}
/* v2.7.2 dual-controller / M-VAVE + per-mapping scope controls */
.midi-device-grid{grid-template-columns:repeat(2,minmax(0,1fr)) 1fr 1fr}
.midi2-led-toggle{display:flex;align-items:center;gap:6px;margin-top:6px;color:var(--muted);font-size:.58rem;font-weight:800}
.mapping-row.mapping-row-v272{grid-template-columns:minmax(120px,1.15fr) minmax(112px,.8fr) minmax(92px,.62fr) minmax(110px,.72fr) minmax(145px,1fr) minmax(150px,1.15fr) 30px}
.mapping-device,.mapping-scope{display:grid!important;gap:2px;min-width:0}.mapping-device select,.mapping-scope select,.mapping-value-mode select{height:28px;min-width:0;width:100%;background:#151a1a;color:var(--text);border:1px solid #394342;border-radius:5px;font-size:.50rem;font-weight:900;padding:0 3px}.mapping-device small,.mapping-scope small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#77837f;font-size:.43rem}.mapping-scope select{height:28px;width:100%;background:#151a1a;color:var(--text);border:1px solid #394342;border-radius:5px;font-size:.50rem;font-weight:900;padding:0 3px}.mapping-scope select option[value="global"]{font-weight:900}.mapping-value-mode{display:flex!important;align-items:center;gap:4px;min-width:0}.mapping-value-mode>select:first-child{flex:1}.mapping-value-mode .mapping-sensitivity{width:50px;flex:0 0 50px}.mapping-value-fixed{justify-content:center;color:#77837f;border:1px solid #293132;border-radius:5px;height:28px}.mapping-invert{display:flex;align-items:center;gap:2px;font-size:.44rem;color:#89948f;font-weight:900}.mapping-invert input{margin:0}.midi-led-diagnostics #secondaryLedStatus.good{color:var(--lime)}
@media(max-width:1000px){.mapping-row.mapping-row-v272{grid-template-columns:1fr 1fr 1fr}.mapping-row.mapping-row-v272 code{grid-column:1/-1}.mapping-row.mapping-row-v272 .mapping-range{grid-column:1/3}.mapping-row.mapping-row-v272 .mapping-remove{grid-column:3;justify-self:end}.midi-device-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.mapping-row.mapping-row-v272{grid-template-columns:1fr 1fr}.mapping-row.mapping-row-v272 code,.mapping-row.mapping-row-v272 .mapping-range{grid-column:1/-1}.mapping-row.mapping-row-v272 .mapping-remove{grid-column:2}.midi-device-grid{grid-template-columns:1fr}}

/* v2.8 CHORD / controller presets */
.chord-page .panel{min-height:0}.chord-top-controls{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.chord-top-controls label,.chord-sequence-head label,.chord-step-editor label,.midi-factory-controls label{font-size:11px;letter-spacing:.06em;display:flex;gap:6px;align-items:center;color:var(--text,#ddd)}.chord-top-controls select,.midi-factory-controls select{min-width:115px;max-width:230px}.chord-actions{display:flex;gap:6px}.chord-actions .active{border-color:#b38f50;color:#fbc977}.chord-controls{margin:10px 0}.chord-sequence-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:14px 0 8px}.chord-step-grid{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:4px}.chord-step-grid .chord-step{min-height:64px;padding:5px 2px;overflow:hidden;display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;background:#222a2c;color:#a6b4b4;border:1px solid #3a4549;border-radius:5px}.chord-step-grid .chord-step.active{border-color:#76ae91;background:#263c34;color:#edf8ef}.chord-step-grid .chord-step.selected{outline:2px solid #eab35f;outline-offset:-2px}.chord-step-grid .chord-step.playing{box-shadow:0 0 0 2px #eab35f inset}.chord-step-grid .chord-step small{font-size:10px;text-align:center;overflow:hidden;max-width:100%;line-height:1.2;word-break:break-word}.chord-step-editor{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:14px 0}.chord-step-editor #chordStepNotes{width:180px;max-width:45vw}.chord-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:space-between;color:#9babb1;font-size:12px}.chord-foot span{flex:1;min-width:210px}.midi-factory-panel{border:1px solid #46595b;border-radius:8px;padding:12px;margin:12px 0;background:#182021}.midi-factory-title{display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between}.midi-factory-title span,.midi-factory-panel p{color:#9caeae;font-size:12px}.midi-factory-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end;margin-top:10px}.midi-factory-controls label{flex-direction:column;align-items:flex-start}.midi-factory-preview{font-size:12px;color:#c0d1d0;white-space:pre-line;line-height:1.55;max-height:100px;overflow:auto}.instrument-tabs{overflow-x:auto}.instrument-tabs .instrument-tab{flex-shrink:0}
@media(max-width:940px){.chord-step-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.chord-step-grid .chord-step{min-height:54px}}
@media(max-width:510px){.chord-step-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.chord-step-editor{align-items:stretch}.chord-step-editor label{flex-grow:1}}

.smc-cal{margin-top:10px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.smc-cal select{min-width:145px}.smc-cal small{color:#95a5a6}.smc-cal label{font-size:11px}.scene-card{min-width:0}
