: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-alt-layout{grid-template-rows:auto 1fr auto;gap:.4rem;height:100vh;padding-bottom:.2rem;overflow:hidden}.app-alt-layout .studio-layout{min-height:0}.app-alt-layout .footer{padding:.1rem 0}.topbar{align-items:center;gap:0;display:flex}.topbar.sticky{z-index:40;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;padding:.35rem .5rem;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}.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-midi-device{max-width:130px;color:var(--text-secondary);background:var(--surface);border-color:var(--border-subtle);padding:.18rem .3rem;font-size:.65rem}.tb-midi-none{color:var(--muted);font-size:.65rem;font-style:italic}.tb-midi-channel{max-width:70px;color:var(--text-secondary);background:var(--surface);border-color:var(--border-subtle);padding:.18rem .3rem;font-size:.65rem}.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}.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}.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}.filter-row{border-top:1px solid var(--border-subtle);grid-template-columns:repeat(8,minmax(0,1fr));align-items:start;gap:.35rem;margin-top:.35rem;padding-top:.35rem;display:grid}.filter-row label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted-light);font-size:.75rem;font-weight:600}.filter-row select{padding:1px 4px;font-size:.75rem}.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}@media (width<=1099px){.studio-col-left,.studio-col-right{flex-shrink:1!important;width:100%!important}.studio-collapse-strip{display:none!important}}.studio-col-left{gap:0;display:grid}.studio-col-center{align-content:start;gap:1rem;min-width:0;display:grid}.studio-col-center .pad-editor-panel,.studio-col-center .pad-panel{width:100%}.studio-col-right,.studio-col-main{flex-direction:column;min-width:0;display:flex}.seq-mixer-pane{flex-direction:column;min-height:0;display:flex;overflow:hidden auto}.seq-mixer-pane.alt-bottom-row{flex-direction:row;gap:.5rem;overflow-y:hidden}.alt-bottom-row>.mixer-panel,.alt-bottom-row>.pad-editor-panel{flex:1;align-self:stretch;min-width:0;min-height:0;overflow-y:auto}.alt-bottom-row>.pad-panel{flex-direction:column;flex-shrink:0;align-self:stretch;display:flex;overflow-y:auto}.alt-bottom-row>.pad-panel>.grid{flex:1;grid-template-rows:repeat(4,1fr)}.alt-bottom-row>.pad-panel>.grid>.pad{min-height:0}.seq-mixer-pane>.sequencer,.seq-mixer-pane>.mixer-panel{flex:1;min-height:0}.seq-mixer-pane>.sequencer{flex-direction:column;flex:1;width:100%;min-width:0;min-height:0;display:flex}.seq-mixer-pane>.sequencer>.sequencer-matrix-wrap{flex:1;width:100%;min-height:0;max-height:none}.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)}.studio-sequencer,.mixer-panel{align-self:start;min-width:0}.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{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}.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.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}.midi-status,.preview{color:var(--muted);margin-top:.6rem;font-size:.8rem}.sidebar{gap:.75rem;height:100%;display:grid;overflow:hidden}.sidebar.closed{padding-bottom:.7rem}.sidebar-toggle .sidebar-header{justify-content:space-between;align-items:center;gap:.3rem;display:flex}.sidebar-toggle .sidebar-header h2{margin:0}.sidebar-toggle .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-toggle .sidebar-collapse-btn:hover{color:var(--text);border-color:var(--border-focus)}.sidebar-toggle{width:100%}.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}.sample-toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.4rem;display:grid}.sample-toolbar>*{min-width:0}.sample-toolbar .sample-favorites-toggle:first-of-type{grid-column:1}.sample-toolbar .sample-favorites-toggle:nth-of-type(2){grid-column:2}.sample-favorites-toggle{white-space:nowrap;align-items:center;gap:.2rem;font-size:.74rem;display:inline-flex}.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,.sample-favorite{width:24px;min-width:24px;height:24px;padding:0;font-size:.9rem;line-height:1}.sample-favorite.active{color:var(--accent);border-color:var(--accent)}.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-wave-mini{height:13px;margin-top:.1rem;display:block}.sample-wave-canvas{width:100%;height:13px;display:block}.record-controls,.import-actions{gap:.5rem;display:flex}.remove-unassigned-btn{color:#c66;background:0 0;border-color:#cc666640;font-size:.7rem}.conflicts{border:1px dashed var(--border);border-radius:10px;max-height:7rem;padding:.45rem;overflow:auto}.conflicts p{color:var(--muted);margin:0 0 .25rem;font-size:.78rem}.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;align-items:stretch;gap:.32rem;display:flex}.sequencer-primary-actions,.sequencer-controls-row{flex-wrap:wrap;align-items:center;gap:.24rem;display:flex}.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-primary-actions{justify-content:flex-start}.sequencer-primary-actions h2{margin-right:.4rem}.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{border:1px dashed var(--border);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{flex-wrap:wrap;gap:.2rem;display:flex}.pattern-chip{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-inset);align-items:center;gap:.25rem;padding:.18rem .26rem;transition:box-shadow .12s;display:flex}.pattern-chip.active{border-color:#e8a8324d;box-shadow:inset 0 0 0 1px #e8a83266}.pattern-chip.playing{border-color:#4a9eff4d;box-shadow:inset 0 0 0 1px #4a9eff80}.pattern-color{border-radius:99px;width:10px;height:10px}.pattern-name,.pattern-name-input{color:var(--text);text-align:left;background:0 0;border:none;min-width:56px;padding:0;font-size:.72rem}.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{padding:.16rem .26rem;font-size:.62rem}.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;max-height:540px;overflow:auto}.sequencer-matrix-wrap.fit-sixteen{overflow-x:hidden}.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{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:.69rem;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:manipulation;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}.lane-synth-badge{color:#7bb8e8;margin-right:3px;font-weight:700}.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}.pad-effects-section{border-top:1px solid var(--border);padding:6px 8px;font-size:11px}.pad-effects-section strong{color:var(--text-muted);margin-bottom:4px;display:block}.synth-midi-section{border-top:1px solid var(--border);padding:6px 8px;font-size:11px}.synth-midi-section strong{color:var(--text-muted);margin-bottom:4px;display:block}.synth-midi-controls{flex-wrap:wrap;gap:8px;display:flex}.synth-midi-controls label{color:var(--text-muted);flex-direction:column;gap:2px;font-size:10px;display:flex}.synth-midi-controls select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:2px 4px;font-size:11px}.footer{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding-top:.25rem;font-size:.72rem;display:flex}@media (width>=1100px){.studio-layout{flex-direction:row;align-items:stretch;gap:0}.studio-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}.studio-divider:hover,.studio-divider:active{background:var(--border-subtle)}.divider-grip{background:var(--border);opacity:.5;border-radius:2px;width:3px;height:32px;transition:opacity .15s,background .15s}.studio-divider:hover .divider-grip,.studio-divider:active .divider-grip{opacity:1;background:var(--muted)}.studio-col-left,.studio-col-right{flex-shrink:0}.studio-collapse-strip{display:flex}.library-list{scrollbar-width:thin;scrollbar-color:#a8b7cd3d transparent;max-height:none}.seq-mixer-divider{cursor:row-resize;z-index:2;background:0 0;flex-shrink:0;justify-content:center;align-items:center;height:7px;display:flex;position:relative}.seq-mixer-divider:hover,.seq-mixer-divider:active{background:var(--border-subtle)}.divider-grip-h{background:var(--border);opacity:.5;border-radius:2px;width:32px;height:3px;transition:opacity .15s,background .15s}.seq-mixer-divider:hover .divider-grip-h,.seq-mixer-divider:active .divider-grip-h{opacity:1;background:var(--muted)}}@media (width<=980px){.editor-top-row{grid-template-columns:1fr}.bank-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.knob-row{grid-template-columns:repeat(4,minmax(0,1fr))}.sample-toolbar{grid-template-columns:1fr 1fr}.sequencer-primary-actions,.sequencer-controls-row{width:100%}}@media (width<=1180px) and (pointer:coarse){.app.app-alt-layout{gap:.25rem;padding:.4rem .5rem .2rem}.tb-cluster{gap:.15rem;padding:0 .3rem}.seq-mixer-pane.alt-bottom-row{flex-wrap:wrap}.alt-bottom-row>.pad-panel{flex:none;width:50%;min-height:0}.alt-bottom-row>.mixer-panel{flex:1;min-width:0;min-height:0}.alt-bottom-row>.pad-editor-panel{flex:100%;min-height:0;max-height:30vh}.grid{gap:.2rem}.pad{min-height:3rem;padding:.3rem}.pad .pad-name{font-size:.65rem}.pad .pad-note{font-size:.6rem}.pad .pad-slot{font-size:.55rem}.bank-nav{grid-template-columns:repeat(8,minmax(0,1fr));gap:.15rem}.bank-nav button{padding:.15rem .1rem;font-size:.65rem}.bank-nav-row{gap:.2rem;margin-bottom:.2rem}.seq-step{min-height:18px}.mixer-channel-label{font-size:.65rem}}@media (width<=820px) and (pointer:coarse){.alt-bottom-row>.pad-panel{width:100%}.alt-bottom-row>.mixer-panel{flex:100%;max-height:25vh}.alt-bottom-row>.pad-editor-panel{max-height:25vh}}.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)}}.vu-meter{border:1px solid var(--border);vertical-align:middle;border-radius:2px}.export-spinner{text-align:center;padding:1.5rem 0;animation:1s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.record-dialog{width:min(560px,100%)}.record-target-label{color:var(--muted);margin-left:.5rem;font-size:.8rem;font-weight:400}.record-error{color:#ef6f7a;text-align:center}.record-level-meter{border:1px solid var(--border);border-radius:6px;height:12px;overflow:hidden}.record-level-meter canvas{width:100%;height:100%;display:block}.record-hint{text-align:center;color:var(--muted);margin:.5rem 0;font-size:.8rem}.record-btn-row{justify-content:center;gap:.75rem;padding:.5rem 0;display:flex}.record-btn-record{color:#fff;cursor:pointer;background:#d42848;border:none;border-radius:50%;width:48px;height:48px;font-size:1.4rem;line-height:1;transition:background .15s}.record-btn-record:hover{background:#e8445a}.record-btn-stop{background:var(--surface-raised);color:#fff;border:1px solid var(--border-focus);cursor:pointer;border-radius:50%;width:48px;height:48px;font-size:1rem;line-height:1;transition:background .15s}.record-btn-stop:hover{background:#2a2d36}.record-live-waveform{background:var(--surface-inset);border-radius:var(--radius-md);border:1px solid var(--border);height:80px;box-shadow:var(--shadow-inset);overflow:hidden}.record-live-waveform canvas{width:100%;height:100%;display:block}.record-timer{font-variant-numeric:tabular-nums;text-align:center;color:#ccc;padding:.2rem 0;font-size:1.6rem}.record-progress{background:var(--border);border-radius:2px;height:3px;overflow:hidden}.record-progress-bar{background:#ef6f7a;border-radius:2px;height:100%;transition:width .1s linear}.record-phase-review{gap:.5rem;display:grid}.record-review-waveform{background:var(--surface-inset);border-radius:var(--radius-md);border:1px solid var(--border);height:100px;box-shadow:var(--shadow-inset);position:relative;overflow:hidden}.record-review-waveform canvas{width:100%;height:100%;display:block}.record-trim-info{color:var(--muted);text-align:center;font-size:.75rem}.record-review-controls{align-items:center;gap:.5rem;display:flex}.record-preview-btn{flex-shrink:0;padding:.3rem .6rem;font-size:.78rem}.record-name-input{flex:1;min-width:0}.record-save-row{justify-content:flex-end}.record-btn-save{background:var(--green);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;padding:.4rem 1rem;font-weight:600}.record-btn-save:hover{background:#45c07a}.record-btn-save:disabled{opacity:.5;cursor:default}.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}.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)}.midi-debug{color:#7bf;font-weight:500}.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}.modal-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}.sidebar.drop-active{outline-offset:-4px;background:#44aaff0d;outline:2px dashed #4af}.chop-modal{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);width:min(600px,90vw);max-height:80vh;box-shadow:var(--shadow-lg);flex-direction:column;gap:10px;padding:12px;display:flex;overflow-y:auto}.chop-modal-header{justify-content:space-between;align-items:center;display:flex}.chop-modal-header h3{margin:0;font-size:14px}.chop-modal-header button{color:#aaa;cursor:pointer;background:0 0;border:none;font-size:18px}.chop-waveform-container{background:var(--surface-inset);border-radius:var(--radius-sm);cursor:crosshair;width:100%}.chop-waveform-container canvas{width:100%;height:120px;display:block}.chop-quick-divide{align-items:center;gap:6px;font-size:12px;display:flex}.chop-quick-divide button{padding:2px 8px;font-size:11px}.chop-list{flex-wrap:wrap;gap:4px;max-height:120px;display:flex;overflow-y:auto}.chop-item{background:var(--surface-inset);border-radius:3px;align-items:center;gap:6px;padding:3px 8px;font-size:11px;display:flex}.chop-item small{color:#888}.chop-item button{color:#4af;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:10px}.chop-assign{align-items:end;gap:8px;display:flex}.chop-assign label{flex-direction:column;gap:2px;font-size:11px;display:flex}.chop-assign select{padding:2px 4px;font-size:11px}.chop-assign-btn{color:#000;cursor:pointer;background:#4af;border:none;border-radius:3px;padding:4px 12px;font-size:12px;font-weight:700}.sample-chop{padding:0 3px;font-size:12px}.sample-chop-expand{color:#888;cursor:pointer;background:0 0;border:none;padding:0 3px;font-size:10px}.chop-sub-list{padding-left:16px}.chop-sub-item{color:#888;gap:8px;padding:1px 0;font-size:10px;display:flex}.sample-spread{color:#aaa;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:12px}.sample-spread:hover{color:#fff}.spread-popover{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);margin-top:4px;padding:8px;font-size:11px}.spread-popover-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.spread-popover-head strong{font-size:11px}.spread-popover-head button{color:#888;cursor:pointer;background:0 0;border:none;font-size:14px;line-height:1}.spread-popover-head button:hover{color:#fff}.spread-popover-controls{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.spread-popover-controls label{color:#888;flex-direction:column;gap:2px;font-size:10px;display:flex}.spread-popover-controls select,.spread-popover-controls input[type=number]{background:var(--surface-inset);border:1px solid var(--border);color:var(--text);border-radius:3px;width:72px;padding:2px 4px;font-size:11px}.spread-popover-controls input[type=number]{width:52px}.spread-assign-btn{background:var(--green);color:#fff;cursor:pointer;border:none;border-radius:3px;width:100%;padding:4px 10px;font-size:11px;font-weight:600}.spread-assign-btn:hover{background:#45c07a}.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}.seq-rec-btn{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;font-size:10px;font-weight:600}.seq-rec-btn.armed{color:#f44;background:#ff44441f;border-color:#ff444480;box-shadow:0 0 8px #ff444426}.seq-rec-option{text-transform:uppercase;min-width:24px;padding:2px 5px;font-size:9px;font-weight:600}.seq-rec-countdown{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:1px 2px;font-size:9px}.midi-out-section{border-top:1px solid var(--border);padding:8px 0 4px}.midi-out-head{align-items:center;gap:10px;margin-bottom:6px;display:flex}.midi-out-head strong{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.midi-out-enable{cursor:pointer;align-items:center;gap:4px;font-size:11px;display:flex}.midi-out-body{flex-wrap:wrap;gap:8px 16px;font-size:11px;display:flex}.midi-out-body label{color:var(--text-secondary);align-items:center;gap:4px;display:flex}.midi-out-body input[type=number]{width:52px;padding:2px 4px;font-size:11px}.midi-out-body select{max-width:160px;padding:2px 4px;font-size:11px}.midi-out-note-name{color:var(--accent-blue,#59a9ff);text-align:center;min-width:28px;font-size:10px;font-weight:600}.autosample-dialog{width:100%;max-width:720px}.autosample-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:10px;display:grid}.autosample-fieldset{border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:6px;padding:8px 10px;display:flex}.autosample-fieldset legend{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:0 4px;font-size:10px;font-weight:600}.autosample-fieldset label{color:var(--text-secondary);align-items:center;gap:6px;font-size:11px;display:flex}.autosample-fieldset input[type=number],.autosample-fieldset input[type=text],.autosample-fieldset select{flex:1;min-width:0;padding:2px 4px;font-size:11px}.autosample-hint{color:var(--muted);margin:0;font-size:10px}.autosample-notes-fieldset{grid-column:1/-1}.autosample-note-mode-toggle{gap:2px;margin-bottom:4px;display:flex}.autosample-mode-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.04em;padding:3px 10px;font-size:10px;font-weight:600}.autosample-mode-btn.active{background:var(--accent,#2f89d8);border-color:var(--accent,#2f89d8);color:#fff}.autosample-custom-add{align-items:flex-end;gap:6px;display:flex}.autosample-custom-add label{flex:1}.autosample-add-btn,.autosample-clear-btn,.autosample-learn-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);white-space:nowrap;padding:3px 8px;font-size:10px}.autosample-learn-btn.active{color:#ffb0b0;background:#8b2020;border-color:#c33;animation:1s ease-in-out infinite autosample-learn-pulse}@keyframes autosample-learn-pulse{0%,to{opacity:1}50%{opacity:.6}}.autosample-custom-notes{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.autosample-note-tag{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);align-items:center;gap:2px;padding:2px 4px 2px 6px;font-size:10px;display:inline-flex}.autosample-note-remove{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:9px;line-height:1}.autosample-note-remove:hover{color:#c33}.autosample-velo-splits{flex-wrap:wrap;gap:4px;display:flex}.autosample-velo-tag{color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px 6px;font-size:10px}.autosample-warn{color:#e8b020;margin:4px 0;font-size:11px}.autosample-summary{color:var(--text-secondary);margin:4px 0 8px;font-size:11px}.autosample-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;margin-top:8px;padding-top:8px;display:flex}.autosample-running,.autosample-done{padding:12px 0}.autosample-progress-row{color:var(--text-secondary);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;display:flex}.autosample-current-note{color:var(--text-primary);font-size:12px}.autosample-progress-bar-wrap{background:var(--surface);border-radius:4px;height:8px;margin-bottom:12px;overflow:hidden}.autosample-progress-bar{background:#3aad6e;border-radius:4px;height:100%;transition:width .2s}.autosample-preview-wave{background:var(--surface);border-radius:var(--radius-sm);margin-bottom:8px;overflow:hidden}.autosample-preview-wave canvas{width:100%;height:60px;display:block}.autosample-done p{margin-bottom:12px;font-size:13px}.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}.tb-audio-out-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:600}.record-normalize-label,.autosample-checkbox{cursor:pointer;align-items:center;gap:4px;font-size:12px;display:flex}.sample-group{border-left:2px solid var(--border);margin-left:2px}.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-rename{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);flex:1;min-width:0;padding:1px 4px;font-size:11px}.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)}.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}.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}.synth-patches-section{border-top:1px solid var(--border);margin-top:4px;padding-top:6px}.synth-patches-header{color:var(--text-muted);padding:2px 6px 4px;font-size:11px}.synth-patch-row{cursor:grab;border-radius:var(--radius-sm);align-items:center;gap:4px;padding:3px 6px;font-size:11px;display:flex}.synth-patch-row:hover{background:var(--surface-inset)}.synth-patch-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text);flex:1;overflow:hidden}.synth-patch-actions{flex-shrink:0;gap:2px;display:flex}.synth-patch-actions button{cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm);background:0 0;border:none;padding:1px 4px;font-size:12px}.synth-patch-actions button:hover{background:var(--surface);color:var(--text)}.synth-patch-actions button:disabled{opacity:.3;cursor:default}.synth-editor{flex-direction:column;gap:.5rem;display:flex}.synth-section{flex-direction:column;gap:.35rem;display:flex}.synth-section-label{color:var(--muted-light);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:600}.harmonic-editor-canvas{border:1px solid var(--border);display:block}.synth-base-note{align-items:center;gap:.5rem;font-size:.76rem;display:flex}.synth-base-note label{color:var(--muted);align-items:center;gap:.3rem;font-size:.72rem;display:flex}.synth-input-sm{width:3.5rem;padding:.15rem .3rem;font-size:.74rem}.synth-note-name{color:var(--accent);font-size:.76rem;font-weight:600}.synth-lfo-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.synth-lfo-row label{color:var(--muted);align-items:center;gap:.25rem;font-size:.72rem;display:flex}.synth-lfo-row select{padding:.15rem .25rem;font-size:.72rem}.synth-sync-select{width:3.5rem;padding:.15rem .25rem;font-size:.72rem}.synth-export-btn{color:var(--muted);border-color:var(--border-subtle);background:0 0;align-self:flex-start;padding:.25rem .5rem;font-size:.7rem}.synth-export-btn:hover{color:var(--text);border-color:var(--border)}
