:root{--bg:#08090e;--surface:#121418;--surface-raised:#1a1c22;--surface-inset:#0c0d12;--border:#232730;--border-subtle:#1c1f26;--border-focus:#3a3f4e;--text:#e2e6ee;--text-bright:#f4f6fa;--muted:#6b7280;--muted-light:#8a92a1;--accent:#e8a832;--accent-glow:#e8a83226;--accent-soft:#c4943a;--red:#d44;--green:#3aad6e;--blue:#4a9eff;--shadow-sm:0 1px 2px #0006;--shadow-md:0 2px 8px #00000080, 0 1px 2px #0000004d;--shadow-lg:0 4px 24px #0009, 0 2px 6px #0006;--shadow-inset:inset 0 1px 3px #00000080;--radius-sm:3px;--radius-md:5px;--radius-lg:8px;--radius-xl:10px;--font-sans:"Inter", "Manrope", "Avenir Next", "Segoe UI", system-ui, sans-serif;--font-mono:"JetBrains Mono", "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02", "cv03", "cv04", "cv11";font-size:14px;line-height:1.4}*{box-sizing:border-box}html,body,#root{min-height:100%}body{color:var(--text);background:var(--bg);margin:0}h1,h2,h3,p{margin:0}button,input,select{font:inherit}button{border:1px solid var(--border);background:var(--surface-raised);color:var(--text);border-radius:var(--radius-md);cursor:pointer;letter-spacing:.01em;padding:.4rem .6rem;font-size:.82rem;font-weight:500;transition:background .12s,border-color .12s,box-shadow .12s}button:hover{border-color:var(--border-focus);background:#22252e}button:active{box-shadow:var(--shadow-inset);background:#191b22}input,select{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-inset);color:var(--text);padding:.3rem .5rem;font-size:.82rem;transition:border-color .15s}input:focus,select:focus{border-color:var(--accent-soft);outline:none}::selection{background:#e8a8324d}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff24}.app{box-sizing:border-box;grid-template-rows:auto auto auto auto;gap:.75rem;max-width:100%;min-height:100vh;margin:0 auto;padding:.75rem 1rem;display:grid}.app.app-perf-layout{height:100vh;max-height:100vh;padding:.3rem .5rem env(safe-area-inset-bottom,0);box-sizing:border-box;grid-template-rows:auto 1fr;gap:.3rem;max-width:100vw;overflow:hidden}@supports (height:100dvh){.app.app-perf-layout{height:100dvh;max-height:100dvh}}.app-perf-layout .topbar{flex-wrap:wrap;min-width:0;overflow:hidden}.topbar-phone{min-height:38px!important;padding:.2rem .4rem!important;padding-top:calc(.2rem + env(safe-area-inset-top,0))!important;flex-wrap:nowrap!important;gap:0!important}.topbar-phone .tb-cluster{padding:0 .3rem}.topbar-phone .tb-wordmark{font-size:.55rem}.topbar-phone .tb-project-name-readonly{color:var(--text);text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;user-select:none;min-width:0;max-width:120px;padding:.1rem .3rem;font-size:.72rem;font-weight:500;overflow:hidden}.topbar-phone .tb-project-name{width:110px;padding:.1rem .3rem;font-size:.72rem}.topbar-phone .tb-play,.topbar-phone .tb-stop,.topbar-phone .tb-loop{width:34px;height:30px;min-height:30px;padding:0;font-size:.8rem}.topbar-phone .tb-play{width:38px}.topbar-phone .tb-stop:disabled{opacity:.3}.topbar-phone .tb-led-value{min-height:28px;padding:.15rem .25rem;font-size:.75rem}.topbar-phone .tb-secondary{min-height:30px;padding:.2rem .4rem;font-size:.65rem}.app-perf-layout .tb-play,.app-perf-layout .tb-stop,.app-perf-layout .tb-loop{width:40px;height:36px;font-size:.9rem}.app-perf-layout .tb-metronome{width:42px;height:36px;font-size:11px}.app-perf-layout .tb-secondary,.app-perf-layout .tb-tap{min-height:36px;padding:.25rem .5rem;font-size:.65rem}.app-perf-layout .tb-led-value{min-height:36px;padding:.2rem .35rem;font-size:.85rem}.app-perf-layout .tb-keyboard-toggle{min-width:36px;min-height:36px}.app-perf-layout .seq-rec-btn{min-height:36px;padding:.25rem .5rem;font-size:11px}.app-perf-layout .seq-rec-option{min-height:36px;padding:.25rem .4rem;font-size:10px}.app-perf-layout .seq-rec-countdown{min-height:36px;padding:.2rem .3rem}.app-perf-layout .tb-midi-toggle{min-width:36px;min-height:36px;padding:.25rem .4rem}.app-perf-layout .sidebar-header,.app-perf-layout .mixer-head{display:none}.app-perf-layout .mixer-panel.collapsed .mixer-channels{display:flex}.app-perf-layout .pad-editor-head,.app-perf-layout .settings-popover-wrap{display:none}body:has(.app-perf-layout){overscroll-behavior:none;height:100%;max-height:100%;overflow:hidden}body:has(.app-perf-layout)>#root{overscroll-behavior:none;height:100%;max-height:100%;overflow:hidden}html:has(.app-perf-layout){overscroll-behavior:none;height:100%;overflow:hidden}.app-perf-layout{overscroll-behavior:none;touch-action:manipulation;overflow:hidden}.topbar{align-items:center;gap:0;display:flex}.topbar.sticky{z-index:40;padding:.35rem .5rem;padding-top:calc(.35rem + env(safe-area-inset-top,0));border:1px solid var(--border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px)saturate(1.2);backdrop-filter:blur(12px)saturate(1.2);background:#121418e0;position:sticky;top:0;box-shadow:0 2px 12px #0006}.tb-cluster{align-items:center;gap:.3rem;padding:0 .5rem;display:flex}.tb-cluster+.tb-cluster{border-left:1px solid var(--border)}.tb-project{gap:.4rem;padding-left:.25rem}.tb-wordmark{font-family:var(--font-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.12em;opacity:.6;font-size:.6rem;font-weight:700}.tb-project-name{background:var(--surface-inset);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:110px;color:var(--text-bright);padding:.2rem .4rem;font-size:.75rem;font-weight:500}.tb-led-group{align-items:center;gap:.25rem;display:flex}.tb-led-label{font-family:var(--font-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.55rem;font-weight:600}.tb-led-value{font-family:var(--font-mono);color:var(--accent);background:var(--surface-inset);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);text-align:center;width:48px;box-shadow:var(--shadow-inset);padding:.15rem .3rem;font-size:.8rem;font-weight:600}select.tb-led-value{width:40px;padding-right:.1rem}.tb-led-value:focus{border-color:var(--accent-soft);outline:none}.tb-tap{font-family:var(--font-mono);letter-spacing:.06em;padding:.2rem .4rem;font-size:.6rem;font-weight:700}.tb-transport{gap:.2rem}.tb-play,.tb-stop,.tb-loop{border-radius:var(--radius-sm);place-items:center;width:30px;height:26px;padding:0;font-size:.75rem;display:grid}.tb-play.playing{color:var(--accent);border-color:var(--accent-soft);background:#e8a83214}.tb-stop:disabled{opacity:.3}.tb-loop.on{color:var(--green);background:#3aad6e14;border-color:#3aad6e66;box-shadow:0 0 6px #3aad6e1f}.tb-metronome{border-radius:var(--radius-sm);place-items:center;width:32px;height:26px;padding:0;font-size:9px;font-weight:600;display:grid}.tb-metronome.on{color:var(--accent);border-color:var(--accent-soft);background:#e8a83214}.tb-rec{gap:.2rem}.seq-rec-btn{letter-spacing:.06em;border-radius:var(--radius-sm);min-height:28px;color:var(--muted);border-color:var(--border-subtle);background:0 0;padding:.2rem .45rem;font-size:10px;font-weight:700}.seq-rec-btn.armed{color:var(--red);background:#dc32321a;border-color:#dc323280;box-shadow:0 0 8px #dc323226}.tb-capture{letter-spacing:.06em;border-radius:var(--radius-sm);min-height:28px;color:var(--muted);border-color:var(--border-subtle);background:0 0;padding:.2rem .45rem;font-size:10px;font-weight:700;transition:all .15s}.tb-capture:disabled{opacity:.35;cursor:default}.tb-capture.has-data{color:#4fc3f7;background:#4fc3f714;border-color:#4fc3f780;box-shadow:0 0 8px #4fc3f726}.tb-capture.has-data:hover{background:#4fc3f72e;box-shadow:0 0 12px #4fc3f740}.seq-rec-option{letter-spacing:.05em;border-radius:var(--radius-sm);min-height:28px;color:var(--muted);border-color:var(--border-subtle);background:0 0;padding:.18rem .35rem;font-size:9px;font-weight:600}.seq-rec-countdown{min-height:28px;padding:.15rem .25rem;font-size:10px}.tb-actions{gap:.3rem;margin-left:auto;padding-right:.25rem}.tb-midi-in{gap:.3rem}.tb-midi-toggle{letter-spacing:.06em;color:var(--muted);border-color:var(--border-subtle);background:0 0;padding:.18rem .4rem;font-size:.65rem;font-weight:700}.tb-midi-toggle:hover{color:var(--text);border-color:var(--border);background:var(--surface-raised)}.tb-midi-toggle.on{color:#3aad6e;background:#3aad6e14;border-color:#3aad6e80}.tb-keyboard-toggle{color:var(--muted);border-color:var(--border-subtle);cursor:pointer;border-radius:var(--radius-sm);white-space:nowrap;background:0 0;border:1px solid;padding:.18rem .4rem;font-size:.65rem;font-weight:700}.tb-keyboard-toggle:hover{color:var(--text);border-color:var(--border);background:var(--surface-raised)}.tb-keyboard-toggle.on{color:#d4a44a;background:#d4a44a14;border-color:#d4a44a80}.tb-secondary{color:var(--muted);border-color:var(--border-subtle);letter-spacing:.02em;background:0 0;padding:.2rem .45rem;font-size:.68rem;font-weight:500}.tb-secondary:hover{color:var(--text);border-color:var(--border);background:var(--surface-raised)}.settings-popover-wrap{position:relative}.tb-gear{padding:.15rem .35rem;font-size:.85rem}.settings-popover{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);z-index:100;min-width:220px;box-shadow:var(--shadow-md);flex-direction:column;gap:.35rem;margin-top:.3rem;padding:.6rem .75rem;display:flex;position:absolute;top:100%;right:0}.settings-section-title{color:var(--muted-light);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border);margin-top:.3rem;padding-bottom:.15rem;font-size:.7rem}.settings-section-title:first-child{margin-top:0}.settings-row{color:var(--text);justify-content:space-between;align-items:center;gap:.5rem;font-size:.76rem;display:flex}.settings-row select{max-width:140px;padding:.2rem .3rem;font-size:.74rem}.settings-row input[type=checkbox]{margin:0}.settings-hint{color:var(--muted);margin-top:.4rem;font-size:.65rem}.settings-tag-list{flex-direction:column;gap:.15rem;margin-top:.1rem;padding-left:.6rem;display:flex}.settings-tag-row{color:var(--muted-light);font-size:.7rem}.import-dialog-overlay{z-index:60;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.import-dialog{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface-raised);width:min(680px,100%);box-shadow:var(--shadow-lg);gap:.7rem;padding:.9rem;display:grid}.sample-assign-prompt{width:min(420px,100%)}.confirm-dialog{text-align:center;width:min(400px,90%)}.confirm-dialog-message{color:var(--text-primary);padding:.5rem .25rem;font-size:.85rem;line-height:1.4}.confirm-dialog-actions{justify-content:center;gap:.5rem;padding-top:.25rem;display:flex}.import-dialog-head{justify-content:space-between;align-items:center;display:flex}.pad-editor-panel label,.sidebar-content label,.sequencer label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;gap:.15rem;font-size:.75rem;font-weight:500;display:grid}.active-toggle{color:var(--accent);background:#e8a8321f;border-color:#e8a83259;font-weight:600;box-shadow:0 0 6px #e8a8321a}.pad-editor-panel,.pad-panel,.sidebar,.sequencer,.mixer-panel{border:1px solid var(--border);background:var(--surface);min-width:0;box-shadow:var(--shadow-md);border-radius:4px;padding:.7rem}.pad-editor-panel{gap:.58rem;display:grid}.pad-editor-head{align-items:center;gap:.5rem;display:flex}.pad-editor-head h2{text-transform:uppercase;letter-spacing:.06em;color:var(--muted-light);margin:0;font-size:.85rem;font-weight:600}.pad-editor-head-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.pad-editor-toggle{border:1px solid var(--border);color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;justify-content:center;align-items:center;width:22px;height:22px;margin-left:auto;padding:0;font-size:.7rem;line-height:1;display:flex}.pad-editor-toggle:hover{background:var(--surface-raised);color:var(--text)}.pad-editor-panel.collapsed{gap:.3rem}.pad-editor-panel.collapsed .waveform{height:3.2rem}.collapsed-waveform-row{align-items:center;gap:.6rem;display:flex}.collapsed-waveform-row .waveform{flex:1;min-width:0}.collapsed-knobs{flex-shrink:0;gap:.5rem;display:flex}.sidebar-content h2,.sequencer h2{text-transform:uppercase;letter-spacing:.06em;color:var(--muted-light);margin:0;font-size:.85rem;font-weight:600}.sequencer{align-content:start;align-items:start;gap:.45rem;display:grid}.sequencer button,.sequencer input,.sequencer select{font-size:.82rem}.sequencer button{border-radius:var(--radius-md);padding:.22rem .38rem}.sequencer input,.sequencer select{padding:.16rem .3rem}.sequencer-top{flex-direction:column;gap:.25rem;display:flex}.sequencer-controls-row{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.seq-select{padding:.15rem .3rem;font-size:.72rem}.seq-controls-spacer{flex:1;min-width:.5rem}.seq-action-btn{opacity:.7;padding:.14rem .4rem!important;font-size:.68rem!important}.seq-action-btn:hover{opacity:1}.seq-action-btn.active{opacity:1;color:var(--blue)!important;background:#4a9eff26!important;border-color:#4a9eff80!important}.seq-status-inline{color:var(--muted);white-space:nowrap;font-size:.68rem;font-weight:500}.seq-length-group{align-items:center;gap:.2rem;display:flex}.seq-length-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted-light);margin-right:.1rem;font-size:.72rem;font-weight:600}.seq-length-btn{font-variant-numeric:tabular-nums;min-width:28px;padding:.15rem .3rem!important;font-size:.75rem!important}.seq-length-btn.active{color:var(--blue);background:#4a9eff26;border-color:#4a9eff66}.seq-length-custom{text-align:center;font-variant-numeric:tabular-nums;width:3.2rem}.sequencer-help{border:1px dashed var(--border);border-radius:10px;gap:.18rem;padding:.38rem;display:grid}.sequencer-help p{color:var(--muted);margin:0;font-size:.7rem}.lane-tools-strip{flex-wrap:wrap;gap:.4rem;display:flex}.lane-tools-strip.compact{background:#ffffff08;border-radius:10px;padding:.35rem}.sequencer-status{color:var(--muted-light);margin:0;font-size:.72rem;font-weight:500;line-height:1.2}.sequencer-toggle{align-items:center;gap:.3rem;font-size:.78rem;display:inline-flex}.pattern-strip{scrollbar-width:thin;scrollbar-color:#ffffff14 transparent;flex-wrap:nowrap;gap:.25rem;min-width:0;max-width:100%;padding-bottom:2px;display:flex;position:relative;overflow:auto hidden}.pattern-strip::-webkit-scrollbar{height:6px}.pattern-strip::-webkit-scrollbar-track{background:0 0}.pattern-strip::-webkit-scrollbar-thumb{background:#ffffff14 padding-box padding-box;border:2px solid #0000;border-radius:999px}.pattern-strip::-webkit-scrollbar-thumb:hover{background:#ffffff24}.pattern-chip{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-inset);cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;gap:.25rem;padding:.18rem .3rem;transition:box-shadow .12s,border-color .12s;display:flex;position:relative}.pattern-chip.active{background:var(--surface-inset);z-index:1}.pattern-chip.active .pattern-name{color:var(--text-bright);font-weight:600}.pattern-chip.playing{border-color:#4a9eff59}.pattern-chip.drag-over{border-left:2px solid var(--blue)}.pattern-playing-bar{pointer-events:none;border-radius:2px;width:3px;position:absolute;top:3px;bottom:3px;left:0}.pattern-chip{touch-action:manipulation}.pattern-drag-handle{color:var(--muted);cursor:grab;touch-action:none;opacity:.25;flex-shrink:0;padding:0 1px;font-size:.65rem;line-height:1}.pattern-chip:hover .pattern-drag-handle{opacity:.55}.pattern-color{border-radius:99px;flex-shrink:0;width:10px;height:10px}.pattern-name,.pattern-name-input{color:var(--text);text-align:left;background:0 0;border:none;min-width:48px;max-width:140px;padding:0;font-size:.72rem}.pattern-actions{visibility:hidden;opacity:0;pointer-events:none;align-items:center;gap:.1rem;transition:opacity .15s;display:flex}.pattern-chip.active .pattern-actions{visibility:visible;opacity:1;pointer-events:auto}@media (hover:hover){.pattern-chip:hover .pattern-actions{visibility:visible;opacity:1;pointer-events:auto}}.color-picker-wrap{position:relative}.color-swatch-btn{cursor:pointer;border:2px solid #ffffff26;border-radius:99px;flex-shrink:0;width:16px;height:16px;padding:0}.color-swatch-btn:hover{border-color:#fff6}.color-grid-popover{z-index:100;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);grid-template-columns:repeat(8,1fr);gap:2px;margin-top:4px;padding:6px;display:grid;position:absolute;top:100%;left:50%;transform:translate(-50%)}.color-grid-cell{cursor:pointer;border:2px solid #0000;border-radius:3px;width:20px;height:20px;padding:0}.color-grid-cell:hover{border-color:#ffffff80;transform:scale(1.15)}.color-grid-cell.active{border-color:#fff;box-shadow:0 0 0 1px #ffffff4d}.pattern-dup{min-width:22px;min-height:22px;color:var(--muted);opacity:.7;place-items:center;padding:0;font-size:.72rem;line-height:1;display:grid}.pattern-dup:hover{opacity:1;color:var(--text);background:#ffffff0f;border-radius:3px}.pattern-del{color:#f87171d9;opacity:.7;place-items:center;min-width:22px;min-height:22px;padding:0;font-size:.62rem;line-height:1;display:grid}.pattern-del:hover{opacity:1;color:#f87171;background:#f871711f;border-radius:3px}.pattern-del-confirm{align-items:center;gap:.15rem;display:flex}.pattern-del-yes{color:#f87171!important;background:#f871711a!important;border-color:#f8717166!important;padding:.1rem .26rem!important;font-size:.62rem!important}.pattern-del-yes:hover{background:#f8717138!important}.pattern-del-no{opacity:.6;padding:.1rem .2rem!important;font-size:.6rem!important}.chain-grid{border:1px dashed var(--border);border-radius:10px;gap:.2rem;padding:.28rem;display:grid}.chain-grid h3{color:var(--muted);margin:0;font-size:.74rem}.chain-grid-head{justify-content:space-between;align-items:center;gap:.4rem;min-height:1.4rem;display:flex}.chain-toggle{min-width:22px;height:22px;padding:0;font-size:.8rem;line-height:1}.chain-grid.collapsed{gap:0;padding-top:.22rem;padding-bottom:.22rem}.chain-row{gap:.4rem;display:flex;overflow:auto}.chain-row::-webkit-scrollbar{width:8px;height:8px}.sequencer-matrix-wrap::-webkit-scrollbar{width:8px;height:8px}.library-list::-webkit-scrollbar{width:8px;height:8px}.chain-row::-webkit-scrollbar-track{background:0 0}.sequencer-matrix-wrap::-webkit-scrollbar-track{background:0 0}.library-list::-webkit-scrollbar-track{background:0 0}.chain-row::-webkit-scrollbar-thumb{background:#ffffff14 padding-box padding-box;border:2px solid #0000;border-radius:999px}.sequencer-matrix-wrap::-webkit-scrollbar-thumb{background:#ffffff14 padding-box padding-box;border:2px solid #0000;border-radius:999px}.library-list::-webkit-scrollbar-thumb{background:#ffffff14 padding-box padding-box;border:2px solid #0000;border-radius:999px}.chain-row::-webkit-scrollbar-thumb:hover{background:#ffffff24 padding-box padding-box;border:2px solid #0000}.sequencer-matrix-wrap::-webkit-scrollbar-thumb:hover{background:#ffffff24 padding-box padding-box;border:2px solid #0000}.library-list::-webkit-scrollbar-thumb:hover{background:#ffffff24 padding-box padding-box;border:2px solid #0000}.chain-entry-wrap{align-items:center;gap:.3rem;display:inline-flex}.chain-actions{flex-wrap:wrap;gap:.25rem;display:flex}.chain-loop-controls{align-items:center;gap:.4rem;display:flex}.chain-loop-controls label{gap:.2rem;font-size:.7rem;display:grid}.chain-cell{border:1px solid var(--border);border-radius:8px;align-items:center;gap:.2rem;min-width:94px;padding:.16rem .24rem;display:flex}.chain-cell.selected{box-shadow:inset 0 0 0 1px #7ecfffb3}.chain-cell.playing{box-shadow:inset 0 0 0 1px #f5b83dcc}.chain-cell.in-loop{outline:1px dashed #f5b83d73}.chain-insert-slot{border:1px dashed var(--border);background:0 0;border-radius:6px;min-width:24px;height:24px;padding:0;font-size:.75rem}.chain-progress{color:#9fd0ff;font-size:.67rem}.chain-help{color:var(--muted);font-size:.66rem}.chain-grid.collapsed .chain-help,.chain-grid.collapsed .chain-actions,.chain-grid.collapsed .chain-loop-controls,.chain-grid.collapsed .chain-row{display:none}.chain-name{background:0 0;border:none;padding:0;font-size:.69rem}.chain-repeat{align-items:center;gap:.2rem;font-size:.66rem;display:inline-flex}.chain-repeat input{width:44px;padding:.12rem .2rem;font-size:.66rem}.chain-remove{min-width:18px;height:18px;padding:0;font-size:.62rem}.chain-empty{color:var(--muted);font-size:.72rem}.sequencer-matrix-wrap{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-inset);scrollbar-width:thin;scrollbar-color:#ffffff14 transparent;-webkit-user-select:none;user-select:none;max-height:540px;overflow:auto}.sequencer-matrix-wrap.fit-sixteen{overflow-x:hidden}.seq-bank-group{min-width:max-content}.seq-bank-header{color:var(--muted);cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;background:#ffffff08;border:none;border-top:1px solid #ffffff14;align-items:center;gap:.4rem;width:100%;padding:.2rem .5rem;font-size:.65rem;font-weight:600;display:flex}.seq-bank-header:hover{color:var(--fg);background:#ffffff0f}.seq-bank-header.has-events{color:var(--fg)}.seq-bank-chevron{width:.7rem;font-size:.6rem}.seq-bank-name{text-transform:uppercase;letter-spacing:.04em}.seq-bank-count{opacity:.6;margin-left:auto;font-size:.55rem}.sequencer-matrix-head,.sequencer-row{align-items:center;gap:.2rem;min-width:max-content;padding:.14rem;display:grid}.sequencer-matrix-head.fit-sixteen,.sequencer-row.fit-sixteen{width:100%;min-width:0}.sequencer-row{-webkit-user-select:none;user-select:none;border-top:1px solid #ffffff0a}.lane-head,.step-head{color:var(--muted);text-align:center;font-size:.62rem}.step-head.playhead{color:#9ddcff}.step-head.group-even,.step.group-even{background-color:#ffffff05}.step-head.group-odd,.step.group-odd{background-color:#ffffff0d}.step-head.bar-divider,.step.bar-divider{box-shadow:inset 2px 0 #e8a8324d}.lane-label{text-align:left;white-space:nowrap;text-overflow:ellipsis;padding:.24rem .36rem;font-size:.7rem;overflow:hidden}.lane-action{border-radius:6px;min-width:1.25rem;min-height:1.25rem;padding:0;font-size:.62rem}.lane-action.active{color:#ffe2e2;background:#9f3d3d;border-color:#d16f6f}.sequencer-row.selected-lane .lane-label{border-color:var(--accent);box-shadow:inset 0 0 0 1px #f5b83d80}.step{border:1px solid var(--border);background:var(--surface-inset);width:100%;min-width:0;height:100%;min-height:0;color:var(--muted);touch-action:none;-webkit-user-select:none;user-select:none;border-radius:3px;padding:0;transition:background 60ms}.step-wrap{width:100%;min-width:24px;height:24px;position:relative}.step-wrap.fit-sixteen{min-width:0}.step-velocity-label{color:#e7ecf5e0;pointer-events:none;font-size:.46rem;line-height:1;position:absolute;bottom:1px;right:2px}.step-pitch-label{color:#e7ecf5e0;pointer-events:none;font-size:.46rem;line-height:1;position:absolute;top:1px;left:2px}.step.on{color:#1a0e00;background:linear-gradient(#e8a832 0%,#c06a20 100%);border-color:#d4983a;box-shadow:0 0 4px #e8a83240}.step.tail{opacity:.8}.step.playhead{background:#4a9eff1f;box-shadow:inset 0 0 0 1.5px #4a9effb3}.gate-handle{z-index:2;background:#ffffffbf;border:none;border-radius:2px;width:5px;height:calc(100% - 2px);padding:0;position:absolute;top:1px}.gate-handle.left{cursor:ew-resize;left:0}.gate-handle.right{cursor:ew-resize;right:0}.gate-tip{color:#9dc0df;margin:0;font-size:.76rem}.sequencer-lane-group{border-top:1px solid #ffffff0a}.piano-roll-lane{background:#0a0e16b3;border-top:1px solid #64a0ff1f;border-bottom:1px solid #64a0ff1f;gap:.2rem;min-width:max-content;padding:0 .14rem;display:flex}.piano-roll-lane.fit-sixteen{min-width:0}.piano-roll-keys{background:#0003;border-radius:3px;flex-direction:column;flex-shrink:0;align-items:stretch;width:calc(190px + .6rem);display:flex}.piano-roll-octave-btn{color:var(--muted);cursor:pointer;text-align:center;box-sizing:border-box;background:#ffffff0a;border:none;height:16px;padding:2px 0;font-size:8px}.piano-roll-octave-btn:hover{color:var(--text);background:#ffffff1a}.piano-roll-key{color:#ffffff73;box-sizing:border-box;border-bottom:1px solid #ffffff0a;justify-content:flex-end;align-items:center;padding-right:4px;font-size:8px;display:flex}.piano-roll-key.black{color:#ffffff59;background:#0000004d}.piano-roll-key.white{background:#ffffff06}.piano-roll-key.c-note{border-bottom:1px solid #64a0ff40}.piano-roll-key-label{font-size:7.5px;font-weight:500}.piano-roll-grid{flex-direction:column;flex:1;gap:0;padding-top:16px;padding-bottom:16px;display:flex}.piano-roll-grid-inner{flex-direction:column;gap:0;display:flex;position:relative}.piano-roll-row{box-sizing:border-box;border-bottom:1px solid #ffffff0a;gap:.2rem;min-width:max-content;display:grid}.fit-sixteen .piano-roll-row{min-width:0}.piano-roll-row.black{background:#0003}.piano-roll-row.white{background:#ffffff04}.piano-roll-row.c-note{border-bottom:1px solid #64a0ff33}.piano-roll-cell{box-sizing:border-box;cursor:pointer;border-right:1px solid #ffffff0d;border-radius:2px;height:100%}.piano-roll-cell:hover{background:#ffffff0f}.piano-roll-cell.bar-start{border-left:1px solid #ffffff1a}.piano-roll-cell.playhead{background:#4a9eff1a}.piano-roll-note{cursor:pointer;z-index:1;background:linear-gradient(#e8a832 0%,#c87a22 100%);border-radius:2px;position:absolute;box-shadow:0 0 0 1px #0000004d}.piano-roll-note-edge{cursor:ew-resize;z-index:2;width:5px;position:absolute;top:0;bottom:0}.piano-roll-note-edge.left{border-radius:2px 0 0 2px;left:0}.piano-roll-note-edge.right{border-radius:0 2px 2px 0;right:0}.piano-roll-note-edge:hover{background:#ffffff40}.editor-top-row{grid-template-columns:1.2fr auto 1fr 1fr;gap:.5rem;display:grid}.pad-name-reset{align-self:end;height:1.95rem}.waveform-block{gap:.25rem;display:grid}.waveform-head{justify-content:space-between;align-items:center;display:flex}.waveform-head span{color:var(--muted);font-size:.72rem}.waveform-zoom-btn{border:1px solid var(--border);background:var(--surface-inset);color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);padding:1px 6px;font-size:.7rem}.waveform-zoom-btn.active{color:var(--blue);background:#4a9eff26;border-color:#4a9eff66}.waveform{border:1px solid var(--border);border-radius:var(--radius-md);background:#080a0e;height:5.8rem;position:relative;overflow:hidden;box-shadow:inset 0 2px 6px #000000b3,inset 0 0 0 1px #0000004d}.wave-canvas{width:100%;height:100%;display:block}.trim-zone{background:#f5b83d29;border-left:1px solid #f5b83d4d;border-right:1px solid #f5b83d4d;height:100%;position:absolute;top:0}.trim-handle{cursor:ew-resize;z-index:2;appearance:none;background:0 0;border:none;border-radius:0;outline:none;width:14px;height:100%;padding:0;position:absolute;top:0;transform:translate(-50%)}.trim-handle:focus{outline:none}.trim-handle:after{content:"";pointer-events:none;background:#f5b83dbf;border-radius:1px;width:3px;height:100%;position:absolute;top:0;left:50%;transform:translate(-50%)}.trim-handle:active:after,.trim-dragging .trim-handle:after{background:#ff3c3cf2;width:1px}.trim-dragging .trim-zone{border-color:#0000}.knob-row{grid-template-columns:repeat(8,minmax(0,1fr));gap:.35rem;display:grid}.pan-random-toggle{justify-content:center;align-items:center;display:flex}.pan-random-toggle label{color:var(--muted-light);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;white-space:nowrap;align-items:center;gap:.25rem;font-size:.68rem;font-weight:600;display:flex}.multisample-section{border-top:1px solid var(--border);margin-top:.5rem;padding-top:.4rem}.file-input-styled{cursor:pointer}.file-input-styled input[type=file]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.file-input-btn{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);cursor:pointer;padding:.3rem .6rem;font-size:.78rem;font-weight:500;transition:background .12s,border-color .12s;display:inline-block}.file-input-btn:hover{border-color:var(--border-focus);background:#22252e}.envelope-section{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);margin-top:.35rem;padding:.25rem .35rem .3rem}.envelope-section-inner{padding:.15rem 0}.envelope-section-header{text-transform:uppercase;letter-spacing:.1em;color:var(--muted-light);text-align:center;background:var(--surface-raised);border-radius:var(--radius-sm);margin-bottom:.1rem;padding:1px 0;font-size:.62rem;font-weight:700}.env-curve{width:100%;height:24px;margin-bottom:.1rem;display:block}.envelope-faders{justify-content:center;align-items:stretch;gap:.2rem;display:flex}.env-fader-separator{background:var(--border-subtle);align-self:stretch;width:1px;margin:0 .05rem}.env-fader-col{flex-direction:column;flex:1;align-items:center;gap:1px;min-width:24px;display:flex}.env-fader-col.disabled{opacity:.3;pointer-events:none}.env-fader{cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;width:24px;height:60px;position:relative}.env-fader-track{background:var(--border);border-radius:2px;width:4px;margin-left:-2px;position:absolute;top:0;bottom:0;left:50%}.env-fader-tick{background:#ffffff0f;height:1px;position:absolute;left:-4px;right:-4px}.env-fader-fill{background:var(--green);pointer-events:none;border-radius:2px;width:4px;margin-left:-2px;position:absolute;bottom:0;left:50%}.env-fader-thumb{pointer-events:none;background:linear-gradient(#ccc,#999);border:1px solid #555;border-radius:2px;width:20px;height:9px;margin-bottom:-4.5px;margin-left:-10px;position:absolute;left:50%;box-shadow:0 1px 2px #0006}.env-fader-label{color:var(--muted-light);text-transform:uppercase;letter-spacing:.04em;font-size:.58rem;font-weight:600;line-height:1}.env-fader-value{color:var(--muted);font-size:.52rem;font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1}.envelope-sections-row{grid-template-columns:1fr 1fr;gap:.35rem;margin-top:.35rem;display:grid}.filter-controls-row{align-items:center;gap:.5rem;margin-top:.4rem;margin-bottom:.2rem;display:flex}.filter-controls-row label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted-light);font-size:.72rem;font-weight:600}.filter-controls-row select{padding:1px 4px;font-size:.72rem}.multisample-head{text-transform:uppercase;letter-spacing:.04em;color:var(--muted-light);align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;display:flex}.multisample-head select{padding:1px 4px;font-size:.75rem}.layer-add-btn{cursor:pointer;color:var(--blue);text-transform:uppercase;letter-spacing:.02em;font-size:.72rem;font-weight:500;text-decoration:none}.layer-add-btn:hover{text-decoration:underline}.layer-list{margin-top:.3rem;font-size:.75rem}.layer-row{cursor:pointer;border-radius:3px;align-items:center;gap:.4rem;padding:1px 4px;display:flex}.layer-row:hover{background:#ffffff0f}.layer-row.selected{background:#4a9eff1a;outline:1px solid #4a9eff4d}.editing-layer-badge{color:#6ab4ff;background:#64b4ff1f;border-radius:3px;align-self:center;padding:1px 6px;font-size:.7rem}.layer-idx{color:#888;text-align:right;min-width:1.2em}.layer-name{text-overflow:ellipsis;white-space:nowrap;flex:1;max-width:160px;overflow:hidden}.layer-vel input{text-align:center;width:44px;font-size:.7rem}.layer-remove{color:#f66;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:.85rem}.layer-offset{align-items:center;gap:2px;margin-left:auto;display:inline-flex}.layer-offset input{text-align:right;width:48px;font-size:.7rem}.layer-offset-unit{color:var(--muted-light);font-size:.65rem}.stacked-timeline{background:#181a20;border-radius:3px;margin:4px 0;padding:4px 6px;overflow:hidden}.stacked-timeline-scale{color:var(--muted-light);-webkit-user-select:none;user-select:none;justify-content:space-between;margin-bottom:2px;font-size:.6rem;display:flex}.stacked-lane{background:#11131a;border-radius:2px;height:28px;margin:1px 0;position:relative}.stacked-lane-bar{opacity:.75;border-radius:2px;min-width:4px;position:absolute;top:1px;bottom:1px;overflow:hidden}.stacked-lane-bar:hover{opacity:1}.stacked-lane-canvas{width:100%;height:100%;position:absolute;top:0;left:0}.stacked-lane-label{color:#000;pointer-events:none;z-index:1;padding:0 3px;font-size:.6rem;font-weight:600;line-height:26px;position:absolute;top:0;left:0}.knob-control{justify-items:center;gap:.18rem;display:grid}.knob{background:radial-gradient(circle at 35% 30%,#2e3340,#14161c 75%);border:1.5px solid #3a3f4e;border-radius:50%;width:42px;height:42px;padding:0;position:relative;box-shadow:0 2px 6px #00000080,inset 0 1px #ffffff0a}.knob-indicator{background:var(--accent);transform-origin:50% 17px;border-radius:99px;width:2px;height:17px;position:absolute;top:5px;left:50%;box-shadow:0 0 4px #e8a83266}.knob-label{color:var(--muted-light);text-transform:uppercase;letter-spacing:.03em;font-size:.68rem;font-weight:500}.knob-value{font-size:.76rem;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.studio-layout{flex-direction:column;align-items:stretch;gap:1rem;display:flex}.studio-col{min-width:0;overflow:hidden auto}.seq-mixer-divider,.studio-divider{display:none}.studio-collapse-strip{background:var(--surface);border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;width:100%;height:100%;display:flex}.collapse-strip-label{writing-mode:vertical-rl;text-orientation:mixed;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.72rem;font-weight:600}.collapse-strip-btn{color:var(--muted-light);cursor:pointer;background:0 0;border:none;padding:.15rem;font-size:.9rem}.studio-collapse-strip:hover{background:var(--surface-raised);border-color:var(--border-focus)}.studio-collapse-strip:hover .collapse-strip-label{color:var(--text)}.perf-layout{flex-direction:row;flex:1;gap:0;min-height:0;display:flex;overflow:hidden}.perf-left{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.perf-left>.sidebar,.perf-left>.pad-editor-panel,.perf-left>.sequencer,.perf-left>.mixer-panel,.perf-left>.perf-settings-panel{border-radius:0 0 4px 4px;flex:1;min-height:0;overflow:hidden auto}.perf-left>.sequencer{flex-direction:column;align-self:stretch;width:100%;min-width:0;display:flex;overflow-y:hidden}.perf-left>.sequencer>.sequencer-matrix-wrap{flex:1;width:100%;min-height:0;max-height:none}.perf-left>.sequencer{gap:.2rem;padding:.4rem}.perf-left>.sequencer>.sequencer-top{gap:.15rem;width:100%;min-width:0}.perf-left>.sequencer .sequencer-controls-row{flex-wrap:wrap;gap:.2rem}.perf-left>.sequencer .sequencer-controls-row label,.perf-left>.sequencer .sequencer-controls-row .seq-length-group,.perf-left>.sequencer .sequencer-controls-row .sequencer-toggle{font-size:.68rem}.perf-left>.sequencer .pattern-strip{gap:.2rem}.perf-left>.sequencer .pattern-chip{padding:.15rem .3rem;font-size:.68rem}.perf-left>.sequencer .sequencer-status{padding:.1rem 0;font-size:.68rem}.perf-left>.sequencer .chain-grid{font-size:.68rem}.perf-left>.sequencer .chain-insert-slot{min-width:44px;height:44px;font-size:1rem}.perf-left>.sequencer .chain-cell{min-height:44px;padding:.3rem .5rem}.perf-left>.sequencer .chain-row{align-items:stretch;min-height:50px}.perf-left>.sequencer .chain-empty{align-items:center;min-height:44px;display:flex}.perf-left>.sequencer .sequencer-controls-row{gap:.2rem}.perf-left>.sequencer .lane-label,.perf-left>.sequencer .lane-action,.perf-left>.sequencer .lane-head,.perf-left>.sequencer .step-head{font-size:.57rem}.perf-left>.sequencer .seq-action-btn{padding:.15rem .3rem;font-size:.68rem}.perf-tabs{border-bottom:1px solid var(--border);background:var(--surface);flex-direction:row;flex-shrink:0;gap:0;display:flex}.perf-tab{text-transform:uppercase;letter-spacing:.04em;border:none;border-right:1px solid var(--border-subtle);background:var(--surface);color:var(--muted);cursor:pointer;white-space:nowrap;flex:1;padding:.45rem .2rem;font-size:.7rem;font-weight:600;transition:background .12s,color .12s}.perf-tab:last-child{border-right:none}.perf-tab:hover{background:var(--surface-raised);color:var(--text)}.perf-tab.active{background:var(--surface-raised);color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}.perf-divider{cursor:col-resize;z-index:2;background:0 0;flex-shrink:0;justify-content:center;align-items:center;width:7px;display:flex;position:relative}.perf-divider:hover,.perf-divider:active{background:var(--border-subtle)}.perf-divider .divider-grip{background:var(--border);opacity:.5;border-radius:2px;width:3px;height:32px;transition:opacity .15s,background .15s}.perf-divider:hover .divider-grip,.perf-divider:active .divider-grip{opacity:1;background:var(--muted)}.perf-right{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.perf-right>.pad-panel{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.perf-right>.pad-panel>.grid{flex:1;grid-template-rows:repeat(4,1fr);min-height:0;overflow:hidden}.perf-right>.pad-panel>.grid>.pad{min-height:0;padding:.3rem;font-size:.72rem}.perf-left>.pad-editor-panel{display:block}.perf-right .midi-status{display:none}.perf-right .bank-nav-row{flex-wrap:nowrap;gap:.25rem}.perf-right .bank-nav{flex-wrap:wrap}.perf-right .bank-nav button{min-width:0;padding:.25rem .35rem;font-size:.65rem}.perf-right>.pad-panel>.grid{gap:.2rem}.perf-mobile-layout{flex-direction:row;flex:1;min-height:0;display:flex;overflow:hidden}.perf-mobile-content{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.perf-mobile-content>.sidebar,.perf-mobile-content>.pad-editor-panel,.perf-mobile-content>.sequencer,.perf-mobile-content>.mixer-panel,.perf-mobile-content>.perf-settings-panel{flex:1;min-height:0;overflow:hidden auto}.perf-mobile-content>.sequencer{flex-direction:column;display:flex;overflow-y:hidden}.perf-mobile-content>.sequencer>.sequencer-matrix-wrap{flex:1;width:100%;min-height:0;max-height:none}.perf-mobile-tabs{border-left:1px solid var(--border);border-right:1px solid var(--border);background:var(--surface);flex-direction:column;flex-shrink:0;gap:0;display:flex}.perf-mobile-tab{text-transform:uppercase;letter-spacing:.03em;border:none;border-bottom:1px solid var(--border-subtle);background:var(--surface);color:var(--muted);cursor:pointer;white-space:nowrap;writing-mode:vertical-rl;text-orientation:mixed;flex:1;min-width:0;padding:.35rem .15rem;font-size:.6rem;font-weight:600;transition:background .12s,color .12s}.perf-mobile-tab:last-child{border-bottom:none}.perf-mobile-tab:hover{background:var(--surface-raised);color:var(--text)}.perf-mobile-tab.active{background:var(--surface-raised);color:var(--accent);box-shadow:inset -2px 0 0 var(--accent)}.perf-mobile-pads{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.perf-mobile-pads>.pad-panel{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.perf-mobile-pads>.pad-panel>.grid{flex:1;grid-template-rows:repeat(4,1fr);gap:.2rem;min-height:0;overflow:hidden}.perf-mobile-pads>.pad-panel>.grid>.pad{min-height:0;padding:.3rem;font-size:.72rem}@media (pointer:coarse) and (width<=767px) and (orientation:portrait){.perf-mobile-content{flex:3}.perf-mobile-pads{flex:2}}@media (pointer:coarse) and (width<=767px){.perf-mobile-content>.sequencer{gap:.1rem;padding:.3rem}.perf-mobile-content>.sequencer>.sequencer-top{gap:.1rem}.perf-mobile-content>.sequencer .sequencer-controls-row{scrollbar-width:none;flex-wrap:nowrap;gap:.15rem;padding-bottom:2px;overflow-x:auto}.perf-mobile-content>.sequencer .sequencer-controls-row::-webkit-scrollbar{display:none}.perf-mobile-content>.sequencer .sequencer-controls-row label,.perf-mobile-content>.sequencer .sequencer-controls-row .seq-length-group,.perf-mobile-content>.sequencer .sequencer-controls-row .sequencer-toggle{font-size:.62rem}.perf-mobile-content>.sequencer .seq-length-btn{min-width:24px;padding:.12rem .25rem!important;font-size:.68rem!important}.perf-mobile-content>.sequencer .seq-action-btn{padding:.12rem .25rem;font-size:.62rem}.perf-mobile-content>.sequencer .seq-status-inline{font-size:.6rem}.perf-mobile-content>.sequencer .seq-bank-header{padding:.15rem .35rem;font-size:.6rem}.perf-mobile-content>.sequencer .step-wrap{min-width:20px;height:20px}.perf-mobile-content>.sequencer .lane-label{padding:.18rem .3rem;font-size:.6rem}.perf-mobile-content>.sequencer .lane-action{min-width:1.1rem;min-height:1.1rem;font-size:.55rem}.perf-mobile-content>.sequencer .lane-head,.perf-mobile-content>.sequencer .step-head{font-size:.55rem}.perf-mobile-pads .bank-nav-row{gap:.15rem;margin-bottom:.25rem}.perf-mobile-pads .bank-nav button{padding:.15rem .25rem;font-size:.6rem}.perf-mobile-pads .bank-reset-btn{padding:2px 5px;font-size:8px}.perf-mobile-pads>.pad-panel>.grid>.pad{padding:.25rem;font-size:.68rem}}@media (pointer:coarse) and (width<=767px) and (orientation:portrait){.perf-mobile-layout{flex-direction:column}.perf-mobile-tabs{border-left:none;border-right:none;border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:row}.perf-mobile-tab{writing-mode:horizontal-tb;text-orientation:mixed;border-bottom:none;border-right:1px solid var(--border-subtle);padding:.45rem .1rem}.perf-mobile-tab:last-child{border-right:none}.perf-mobile-tab.active{box-shadow:inset 0 -2px 0 var(--accent)}}.perf-settings-panel{background:var(--surface);border:1px solid var(--border);align-content:start;gap:.4rem;padding:.75rem;display:grid}.perf-settings-panel h3{color:var(--text);margin:0;font-size:.82rem;font-weight:700}.studio-sequencer,.mixer-panel{align-self:start;min-width:0}.mixer-panel.collapsed{padding-bottom:.5rem}.mixer-head{align-items:center;gap:6px;margin-bottom:6px;display:flex}.mixer-head h3{color:var(--muted-light);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:10px;font-weight:600}.mixer-toggle{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:10px}.mixer-channels{gap:4px;padding-bottom:4px;display:flex;overflow-x:auto}.mixer-channel{background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;flex:1 1 0;align-items:center;gap:4px;min-width:72px;padding:6px;display:flex}.mixer-channel.muted{opacity:.5}.mixer-channel.mixer-master{border-color:var(--border-focus);background:#e8a8320a}.mixer-channel-label{color:var(--text);text-align:center;white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;cursor:default;font-size:10px;font-weight:700}.mixer-channel-label-input{color:var(--text);text-align:center;text-transform:uppercase;letter-spacing:.04em;background:var(--surface);border:1px solid var(--accent);box-sizing:border-box;border-radius:2px;outline:none;width:100%;padding:0 2px;font-size:10px;font-weight:700}.mixer-fader-area{justify-content:center;align-items:stretch;gap:6px;width:100%;height:140px;display:flex;position:relative}.mixer-meter{border-radius:2px;flex-shrink:0}.fader{cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;width:28px;height:100%;position:relative}.fader-track{background:var(--border);border-radius:2px;width:4px;margin-left:-2px;position:absolute;top:0;bottom:0;left:50%}.fader-fill{background:var(--green);pointer-events:none;border-radius:2px;width:4px;margin-left:-2px;position:absolute;bottom:0;left:50%}.fader-thumb{pointer-events:none;background:linear-gradient(#ccc,#999);border:1px solid #555;border-radius:3px;width:24px;height:10px;margin-bottom:-5px;margin-left:-12px;position:absolute;left:50%;box-shadow:0 1px 3px #0006}.fader-thumb:hover{background:#ddd}.mixer-fader-value{color:var(--muted-light);text-align:center;white-space:nowrap;font-size:10px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;position:absolute;bottom:-14px;left:0;right:0}.mixer-channel-btns{gap:3px;display:flex}.mixer-mute,.mixer-solo{border:1px solid var(--border);background:var(--surface-raised);color:var(--muted);cursor:pointer;border-radius:3px;padding:2px 6px;font-size:9px;font-weight:600;transition:background .1s,color .1s}.mixer-mute.active{color:#f66;background:#cc323233;border-color:#cc323266}.mixer-solo.active{color:#eb0;background:#ccaa0026;border-color:#ca06}.mixer-divider{background:var(--border);flex-shrink:0;align-self:stretch;width:1px}.mixer-fx-slot{border-top:1px solid var(--border-subtle);width:100%;padding-top:3px}.mixer-fx-slot.active{border-top-color:var(--border)}.mixer-fx-slot-head{align-items:center;gap:2px;display:flex}.mixer-fx-type{background:var(--surface-inset);color:var(--muted-light);border:1px solid var(--border);border-radius:2px;flex:1;min-width:0;padding:1px 2px;font-size:9px}.mixer-fx-enable{border:1px solid var(--border);background:var(--surface-raised);color:var(--muted);cursor:pointer;border-radius:2px;padding:1px 4px;font-size:8px;font-weight:600}.mixer-fx-enable.on{color:var(--green);background:#3aad6e33;border-color:#3aad6e66}.mixer-fx-expand{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:8px}.mixer-fx-params{flex-wrap:wrap;justify-content:center;gap:2px;padding:3px 0;display:flex}.mixer-fx-params .knob-control{transform-origin:top;margin:-4px -2px;transform:scale(.75)}.mixer-sc-source{align-items:center;gap:4px;width:100%;padding:2px 0;display:flex}.mixer-sc-label{color:#999;flex-shrink:0;font-size:8px}.mixer-sc-select{background:var(--surface-inset);color:var(--muted-light);border:1px solid var(--border);border-radius:2px;flex:1;min-width:0;padding:1px 2px;font-size:9px}.mixer-body{flex-direction:column;gap:4px;display:flex}.mixer-monitor-strip{background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:6px;padding:4px 6px;display:flex}.mixer-monitor-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-size:10px;font-weight:600}.mixer-monitor-toggle{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;min-width:36px;padding:2px 8px;font-size:11px}.mixer-monitor-toggle.on{color:#b6f5d2;background:#2a6e3f;border-color:#3aad6e}.mixer-monitor-device,.mixer-monitor-bus{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:2px 4px;font-size:11px}.mixer-monitor-device{text-overflow:ellipsis;max-width:160px;overflow:hidden}.mixer-monitor-error{color:#c33;font-size:11px}.midi-debug{color:#7bf;font-weight:500}.bank-nav{flex:1;grid-template-columns:repeat(4,minmax(0,1fr));gap:.25rem;display:grid}.bank-nav-row{align-items:start;gap:.35rem;margin-bottom:.4rem;display:flex}.bank-reset-btn{white-space:nowrap;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--muted);cursor:pointer;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;align-self:stretch;padding:2px 7px;font-size:9px;font-weight:600;line-height:1.4;transition:background .12s,color .12s}.bank-reset-btn:hover{color:var(--text);background:var(--surface)}.hold-rec-toggle{white-space:nowrap;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--muted);cursor:pointer;text-transform:uppercase;letter-spacing:.04em;border-left:2px solid var(--border);flex-shrink:0;align-self:stretch;margin-left:.15rem;padding:2px 7px 2px 8px;font-size:9px;font-weight:600;line-height:1.4;transition:background .12s,color .12s,border-color .12s,box-shadow .12s}.hold-rec-toggle.armed{color:#f44;background:#ff44441f;border-color:#ff444480;box-shadow:0 0 8px #ff444426}.bank-nav button.active{background:var(--accent);color:#0e0f16;box-shadow:0 0 6px var(--accent-glow);font-weight:600}.bank-nav button.bank-hit{border-color:var(--accent);color:var(--accent);box-shadow:0 0 4px var(--accent-glow)}.bank-nav button{background:var(--surface-inset);border:1px solid var(--border);color:var(--muted-light);font-size:.78rem;font-weight:500}.bank-nav button:hover:not(.active){background:var(--surface-raised);border-color:var(--border-focus);color:var(--text)}.bank-name-input{background:var(--surface-inset);border:1px solid var(--accent);color:var(--text);text-align:center;outline:none;min-width:0;padding:.15rem .25rem;font-size:.78rem;font-weight:500}.inline-step-row{flex-shrink:0;align-items:center;min-height:0;padding:.15rem 0;display:flex}.inline-step-grid{flex:1;gap:2px;min-width:0;display:grid}.inline-step{border:1px solid var(--border);cursor:pointer;background:#ffffff05;border-radius:2px;height:36px;padding:0;transition:background 80ms;position:relative;overflow:hidden}.inline-step.beat{border-color:#ffffff1f}.inline-step.on{border-color:var(--accent)}.inline-step-fill{background:var(--accent);pointer-events:none;position:absolute;inset:0}.inline-step.playhead{box-shadow:inset 0 0 0 1.5px #9ddcff}.inline-step:active{transform:scale(.92)}.inline-step.group-odd{background:#ffffff0d}.grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;min-width:0;display:grid;overflow:hidden}.pad{border:1px solid var(--border);border-radius:var(--radius-lg);min-height:4.9rem;color:var(--text);text-align:left;box-shadow:var(--shadow-sm), inset 0 1px 0 #ffffff08;cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(170deg,#1e2028 0%,#141518 100%);align-content:space-between;gap:.14rem;min-width:0;padding:.46rem;transition:box-shadow .1s,transform 80ms;display:grid;position:relative;overflow:hidden}.pad:hover{border-color:var(--border-focus);box-shadow:var(--shadow-md), inset 0 1px 0 #ffffff0a}.pad:active{box-shadow:var(--shadow-inset);background:linear-gradient(170deg,#191b22 0%,#111215 100%);transform:scale(.98)}.pad span{color:#fff3;font-variant-numeric:tabular-nums;font-size:.6rem;font-weight:600;font-family:var(--font-mono)}.pad strong{color:var(--text-bright);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:600;line-height:1.1;overflow:hidden}.pad small{color:#ffffff40;font-size:.62rem;line-height:1.05;font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;font-weight:400;overflow:hidden}.pad.selected{border-color:var(--accent-soft);box-shadow:0 0 0 1px var(--accent-soft), var(--shadow-sm), 0 0 12px #e8a8321a;outline:none}.pad.multi-selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent), 0 0 8px #e8a8324d}.pad.sequenced-hit{animation:.12s ease-out pad-seq-hit;box-shadow:0 0 0 1.5px #7ecfff99,0 0 14px #7ecfff4d}.pad.hold-recording{animation:.8s ease-in-out infinite hold-rec-pulse;box-shadow:0 0 0 2px #f44,0 0 12px #ff444480}@keyframes hold-rec-pulse{0%,to{box-shadow:0 0 0 2px #f44,0 0 8px #ff44444d}50%{box-shadow:0 0 0 2px #f44,0 0 18px #ff4444b3}}@keyframes pad-seq-hit{0%{filter:brightness();transform:translateY(0)scale(1)}30%{filter:brightness(1.22);transform:translateY(1px)scale(.985)}to{filter:brightness();transform:translateY(0)scale(1)}}.pad em{color:#ffffff4d;text-overflow:ellipsis;white-space:nowrap;font-size:.58rem;font-style:normal;font-family:var(--font-mono);overflow:hidden}.pad-record-btn{color:#fff;cursor:pointer;opacity:0;background:#d4284899;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:8px;line-height:1;transition:opacity .15s;display:flex;position:absolute;top:4px;right:4px}.pad:hover .pad-record-btn{opacity:1}.pad-record-btn:hover{background:#e8445ad9}.pad-mute-btn{color:#fff6;cursor:pointer;opacity:0;background:#ffffff14;border:none;border-radius:2px;justify-content:center;align-items:center;width:16px;height:14px;padding:0;font-size:8px;font-weight:700;line-height:1;transition:opacity .15s;display:flex;position:absolute;bottom:3px;right:3px}.pad:hover .pad-mute-btn{opacity:1}.pad-mute-btn.muted{opacity:1;color:#000;background:#ffa000b3}.pad-mute-btn:hover{background:#fff3}.pad-mute-btn.muted:hover{background:#ffa000e6}.pad.muted-pad{opacity:.45}.pad-drag-modal{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);text-align:center;min-width:280px;box-shadow:var(--shadow-lg);padding:16px}.pad-drag-modal h3{margin:0 0 8px;font-size:14px}.pad-drag-modal p{margin:4px 0;font-size:12px}.pad-drag-warning{color:#f84}.pad-drag-buttons{justify-content:center;gap:8px;margin-top:12px;display:flex}.pad-drag-buttons button{padding:4px 16px;font-size:12px}.midi-status,.preview{color:var(--muted);margin-top:.6rem;font-size:.8rem}.export-audio-row{align-items:center;gap:.4rem;display:flex}.export-audio-row button{flex:1}.export-format-select{background:var(--surface);width:auto;min-width:6.5rem;color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:.3rem .4rem;font-size:.78rem}.sidebar{gap:.75rem;height:100%;display:grid;overflow:hidden}.perf-left>.sidebar{overflow:hidden auto}.sidebar-header{justify-content:space-between;align-items:center;gap:.3rem;display:flex}.sidebar-header h2{margin:0}.sidebar-collapse-btn{border:1px solid var(--border);color:var(--muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:.15rem .35rem;font-size:.7rem;line-height:1}.sidebar-collapse-btn:hover{color:var(--text);border-color:var(--border-focus)}.projects-list{flex-direction:column;gap:1px;display:flex}.project-row{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.3rem;width:100%;padding:.3rem .4rem;transition:background .1s;display:grid}.project-row:hover{background:#ffffff0a}.project-row.active{border-color:var(--accent-soft);background:#ffffff12}.project-row-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);font-size:.75rem;font-weight:500;line-height:1.15;overflow:hidden}.project-row.active .project-row-name{color:var(--accent)}.project-row-actions{opacity:0;justify-content:end;align-items:center;gap:.12rem;transition:opacity .1s;display:flex}.project-row:hover .project-row-actions,.project-row.active .project-row-actions{opacity:1}.project-row-actions button{border:1px solid var(--border);width:24px;min-width:24px;height:24px;color:var(--muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;place-items:center;padding:0;font-size:.75rem;line-height:1;display:grid}.project-row-actions button:hover{color:var(--text);border-color:var(--border-focus)}.sidebar-content{gap:1rem;min-height:0;display:grid}.sidebar-content section{flex-direction:column;gap:.5rem;min-width:0;min-height:0;display:flex}.library-list{flex:1 1 0;grid-auto-rows:max-content;align-content:start;gap:.35rem;min-height:0;max-height:13rem;display:grid;overflow:hidden auto}.perf-left .library-list{max-height:none}:is(.perf-left .library-list:has(~.library-inspector),.perf-left .library-list:has(~.kit-preview-grid)){flex:1 1 0;min-height:8rem}.sample-toolbar{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.4rem;display:grid}.sample-toolbar>*{min-width:0}.sample-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.3rem;width:100%;min-width:0;display:grid}.sample-row:has(.sample-select-cb){grid-template-columns:18px minmax(0,1fr) auto}.sample-select-cb{cursor:pointer;width:14px;height:14px;accent-color:var(--accent);margin:0}.sample-preview{text-align:left;gap:.05rem;min-width:0;padding:.26rem .4rem;display:grid;overflow:hidden}.sample-name{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-weight:500;line-height:1.15;overflow:hidden}.sample-preview small{color:var(--muted);font-size:.55rem;font-family:var(--font-mono)}.sample-preview.active{border-color:var(--blue);box-shadow:inset 0 0 0 1px #4a9eff66}.sample-assign{width:24px;min-width:24px;height:24px;padding:0;font-size:.9rem;line-height:1}.sample-actions{justify-content:end;align-items:center;gap:.12rem;display:flex}.sample-delete{width:24px;min-width:24px;height:24px;padding:0;font-size:.9rem;line-height:1}.sample-group-head{background:var(--surface-inset);border-radius:var(--radius-sm);width:100%;color:var(--text-muted);align-items:center;gap:4px;padding:3px 6px;font-size:11px;display:flex}.sample-group-head:hover{background:var(--surface)}.sample-group-toggle{cursor:pointer;color:var(--text-muted);background:0 0;border:none;flex-shrink:0;width:14px;padding:0}.sample-group-chevron{flex-shrink:0}.sample-group-label{text-overflow:ellipsis;white-space:nowrap;cursor:pointer;flex:1;overflow:hidden}.sample-group-actions{flex-shrink:0;gap:2px;margin-left:auto;display:flex}.sample-group-actions button{cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm);background:0 0;border:none;padding:1px 4px;font-size:12px}.sample-group-actions button:hover{background:var(--surface);color:var(--text)}.sample-group-assign{font-size:14px}.group-selected-btn{padding:.2rem .5rem;font-size:.72rem}.sample-ungroup{width:24px;min-width:24px;height:24px;padding:0;font-size:.8rem;line-height:1}.sample-group-badge{background:var(--accent);color:var(--bg);vertical-align:middle;letter-spacing:.03em;border-radius:3px;margin-right:.3rem;padding:.05rem .25rem;font-size:.55rem;font-weight:700;display:inline-block}.metadata-tag-chips{flex-wrap:wrap;gap:.15rem;min-width:0;margin-top:-.1rem;padding:0 .4rem .2rem;display:flex}.metadata-tag-chip{color:#ffffff8c;white-space:nowrap;text-overflow:ellipsis;background:#ffffff14;border:1px solid #ffffff0f;border-radius:3px;max-width:100%;padding:.04rem .3rem;font-size:.55rem;font-weight:500;line-height:1.2;display:inline-block;overflow:hidden}.pad .metadata-tag-chips{gap:.1rem;margin-top:0;padding:0}.pad .metadata-tag-chip{max-width:100%;padding:.02rem .2rem;font-size:.5rem}.velo-subgroup{border-left:1px solid #ffffff0f;margin-left:10px}.velo-subgroup-head{color:var(--muted);cursor:default;border-radius:var(--radius-sm);align-items:center;gap:4px;padding:2px 6px;font-size:10px;display:flex}.velo-subgroup-head:hover{background:#ffffff08}.velo-subgroup-label{cursor:pointer;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.velo-subgroup-count{color:#ffffff40;margin-left:.3rem;font-size:.58rem;font-weight:600}.toast-container{z-index:9999;flex-direction:column;gap:.4rem;max-width:360px;display:flex;position:fixed;bottom:1rem;right:1rem}.toast{border-radius:var(--radius-md);color:#fff;background:var(--surface-raised);border:1px solid var(--border);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.78rem;animation:.2s ease-out toast-in;display:flex}.toast-info{border-left:3px solid var(--blue)}.toast-success{border-left:3px solid var(--green)}.toast-error{border-left:3px solid var(--red)}.toast-close{color:#ccc;cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0 2px;font-size:1rem}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.timeline-panel{background:var(--panel-bg);border-top:1px solid var(--border);max-height:120px;padding:.5rem;overflow:hidden}.timeline-scroll{height:100%;position:relative;overflow-x:auto}.timeline-track{align-items:stretch;gap:2px;min-height:60px;padding:4px 0;display:flex;position:relative}.timeline-empty{color:var(--text-muted);padding:.5rem;font-size:.8rem}.timeline-block{cursor:grab;-webkit-user-select:none;user-select:none;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;padding:4px 6px;transition:filter .1s;display:flex;position:relative}.timeline-block:hover{filter:brightness(1.15);cursor:grab}.timeline-block.active{outline:2px solid var(--accent);outline-offset:-1px}.timeline-block-name{color:#111;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.65rem;font-weight:600;overflow:hidden}.timeline-block-steps{color:#00000080;font-size:.55rem}.timeline-block-index{color:#00000059;font-size:.5rem;position:absolute;top:1px;right:4px}.timeline-playhead{background:var(--accent);opacity:.8;pointer-events:none;z-index:2;width:2px;transition:left 50ms linear;position:absolute;top:0;bottom:0}.timeline-toggle{background:var(--btn-bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:4px;padding:2px 8px;font-size:.7rem}.timeline-toggle.active{background:var(--accent);color:#111}.timeline-context-menu{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.timeline-context-menu-inner{background:var(--panel-bg);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:4px;min-width:140px;padding:6px;display:flex}.timeline-context-btn{background:var(--btn-bg);border:1px solid var(--border);color:var(--text);cursor:pointer;text-align:left;border-radius:4px;padding:4px 10px;font-size:.75rem}.timeline-context-btn:hover{background:var(--accent);color:#111}.timeline-context-cancel:hover{background:var(--btn-bg);color:var(--text)}.sample-info-col{flex-direction:column;gap:1px;min-width:0;display:flex}.sample-waveform{box-sizing:border-box;width:100%;height:14px;padding:0 .4rem}.sample-wave-canvas{background:#ffffff08;border-radius:2px;width:100%;height:14px;display:block}.pad-assign-badges{flex-wrap:wrap;gap:2px;padding:0 .4rem;display:inline-flex}.pad-assign-badge{font-size:.55rem;font-weight:600;font-family:var(--font-mono);color:var(--muted);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff14;border-radius:3px;padding:0 .25rem;line-height:1.4;display:inline-block}.pad-assign-badge:hover{background:var(--accent);color:var(--bg);border-color:var(--accent)}.pad-assign-more{cursor:default;opacity:.6}.pad-assign-more:hover{color:var(--muted);background:#ffffff0f;border-color:#ffffff14}.library-expand-btn{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;background:0 0;padding:.1rem .35rem;font-size:.8rem;line-height:1}.library-expand-btn:hover{background:var(--surface);color:var(--text)}.library-expand-btn.active{background:var(--accent);color:var(--bg);border-color:var(--accent)}.sample-preview.inspector-active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.sample-inspect{color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:.8rem;display:flex}.sample-inspect:hover{background:var(--surface);color:var(--text)}.library-inspector{border-top:1px solid var(--border);background:#ffffff05;flex-direction:column;flex-shrink:0;gap:.5rem;max-height:50%;padding:.5rem;display:flex;overflow-y:auto}.inspector-header{justify-content:space-between;align-items:center;gap:.3rem;display:flex}.inspector-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:.78rem;font-weight:600;overflow:hidden}.inspector-close-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:1rem;line-height:1}.inspector-close-btn:hover{color:var(--text)}.inspector-waveform{border-radius:var(--radius-sm);background:#0003;width:100%;height:48px;overflow:hidden}.inspector-wave-canvas{width:100%;height:48px;display:block}.inspector-controls{gap:.3rem;display:flex}.inspector-play-btn{background:var(--btn-bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;padding:.25rem .6rem;font-size:.72rem}.inspector-play-btn:hover{background:var(--surface)}.inspector-play-btn.active{background:var(--accent);color:var(--bg);border-color:var(--accent)}.inspector-props{grid-template-columns:auto 1fr;gap:.15rem .5rem;font-size:.68rem;display:grid}.inspector-prop{display:contents}.inspector-prop-label{color:var(--muted);white-space:nowrap;font-weight:500}.inspector-prop-value{color:var(--text);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:.65rem;overflow:hidden}.inspector-section{flex-direction:column;gap:.3rem;display:flex}.inspector-section-title{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.65rem;font-weight:600}.inspector-pad-list{flex-wrap:wrap;gap:3px;display:flex}.inspector-pad-badge{font-size:.62rem;font-family:var(--font-mono);color:var(--text);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff14;border-radius:3px;align-items:center;gap:.2rem;padding:.1rem .35rem;display:inline-flex}.inspector-pad-badge:hover{background:var(--accent);color:var(--bg);border-color:var(--accent)}.inspector-pad-badge em{color:var(--muted);font-style:normal;font-family:var(--font-body);font-size:.58rem}.inspector-pad-badge:hover em{color:#0009}.inspector-imported,.inspector-tags{grid-template-columns:auto 1fr;gap:.15rem .5rem;font-size:.68rem;display:grid}.inspector-actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:.3rem;padding-top:.25rem;display:flex}.inspector-action-btn{background:var(--btn-bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;padding:.2rem .5rem;font-size:.68rem}.inspector-action-btn:hover{background:var(--surface)}.inspector-action-btn:disabled{opacity:.4;cursor:not-allowed}.inspector-action-danger:hover{background:var(--red);color:#fff;border-color:var(--red)}.kit-preview-grid{border-top:1px solid var(--border);background:#ffffff05;flex-shrink:0;padding:.4rem}.kit-preview-header{justify-content:space-between;align-items:center;margin-bottom:.3rem;display:flex}.kit-preview-title{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.68rem;font-weight:600;overflow:hidden}.kit-preview-close{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;line-height:1}.kit-preview-close:hover{color:var(--text)}.kit-grid-cells{grid-template-columns:repeat(4,1fr);gap:3px;display:grid}.kit-grid-cell{border:1px solid var(--border);cursor:default;background:#00000026;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-height:36px;padding:4px 2px;transition:background .1s;display:flex}.kit-grid-cell.has-sample{cursor:pointer;background:#ffffff0a}.kit-grid-cell.has-sample:hover{background:#ffffff14}.kit-grid-cell.playing{background:var(--accent);border-color:var(--accent)}.kit-grid-cell.playing .kit-cell-number,.kit-grid-cell.playing .kit-cell-name{color:var(--bg)}.kit-cell-number{color:var(--muted);font-size:.5rem;font-weight:700;font-family:var(--font-mono)}.kit-cell-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;text-align:center;max-width:100%;font-size:.52rem;overflow:hidden}.kit-preview-btn{color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:.7rem;display:flex}.kit-preview-btn:hover{background:var(--surface);color:var(--text)}.kit-preview-btn.active{background:var(--accent);color:var(--bg)}.sidebar.library-expanded .library-list{max-height:none}.sidebar.library-expanded .sidebar-content{grid-template-columns:1fr;gap:0;min-height:0;display:grid}.sidebar.library-expanded .sidebar-content section{flex-direction:column;min-height:0;display:flex;overflow:hidden}.sidebar.library-expanded .library-list{flex:1;min-height:0;overflow-y:auto}.sidebar.library-expanded .library-inspector{border-top:1px solid var(--border);max-height:50%;overflow-y:auto}.sidebar.library-expanded .kit-preview-grid{flex-shrink:0}
