:root{--bg-primary:#191919;--bg-secondary:#1d1d1d;--bg-panel:#232323;--bg-surface:#282828;--bg-elevated:#2d2d2d;--bg-hover:#333;--bg-clip:#2a2a2a;--border-subtle:#2a2a2a;--border-normal:#333;--border-strong:#3a3a3a;--track-blue:#92a8d1;--track-cyan:#70c8c8;--track-yellow:#c8b830;--track-orange:#d89050;--track-pink:#d88888;--track-purple:#b080c8;--content-waveform:#000;--content-midi:#0a0a0a;--content-automation:#000;--meter-signal:#5dd45d;--meter-warn:#d8d858;--meter-clip:#d85858;--text-primary:#d8d8d8;--text-secondary:#909090;--text-muted:#606060;--text-bright:#fff;--state-active:#fff;--state-focus-outline:#ffffff80;--state-disabled:#404040;--bg-darkest:var(--bg-primary);--bg-dark:var(--bg-secondary);--bg-mid:var(--bg-panel);--bg-light:var(--bg-surface);--bg-lighter:var(--bg-elevated);--border-dark:var(--border-subtle);--border-mid:var(--border-normal);--border-light:var(--border-strong);--accent-primary:var(--track-orange);--accent-glow:#0000;--color-recording:var(--meter-clip);--color-playing:var(--meter-signal);--color-muted:var(--text-muted);--color-solo:var(--track-yellow);--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:24px;--radius-sm:1px;--radius-md:2px;--radius-lg:3px;--transition-fast:0.06s linear;--transition-normal:0.1s linear}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#191919;color:#d8d8d8;font-size:11px;margin:0}button,input,select{font-family:inherit}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#191919;background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:#2d2d2d;background:var(--bg-elevated);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#333;background:var(--bg-hover)}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,sans-serif;overflow:hidden}.App,body{background:var(--bg-primary)}.App{display:flex;flex-direction:column;height:100vh}.app-header{background:var(--bg-panel);border-bottom:1px solid var(--border-subtle);flex-shrink:0;height:32px;justify-content:space-between;padding:0 var(--spacing-md)}.app-header,.header-left{align-items:center;display:flex}.header-left{gap:var(--spacing-md)}.title{color:var(--text-secondary);font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase}.header-center{align-items:center;display:flex;flex:1 1;justify-content:center}.header-transport{align-items:center;background:var(--bg-surface);border-radius:var(--radius-sm);display:flex;gap:4px;padding:2px 8px}.header-transport-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:flex;font-size:10px;height:24px;justify-content:center;transition:all var(--transition-fast);width:24px}.header-transport-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.header-transport-btn:disabled{cursor:not-allowed;opacity:.3}.header-transport-btn.record .record-icon{color:var(--text-muted)}.header-transport-btn.record.active{background:var(--meter-clip)}.header-transport-btn.record.active .record-icon{animation:pulse-record 1s ease-in-out infinite;color:#fff}@keyframes pulse-record{0%,to{opacity:1}50%{opacity:.5}}.header-transport-btn.stop .stop-icon{font-size:8px}.header-transport-btn.play.active{background:var(--meter-signal)}.header-transport-btn.play.active .play-icon{color:var(--bg-primary)}.header-transport-time{color:var(--text-secondary);font-family:SF Mono,Menlo,monospace;font-size:10px;min-width:50px;text-align:center}.header-right{align-items:center;display:flex;gap:var(--spacing-md)}.mode-toggle{background:#0000;border-radius:var(--radius-sm);display:flex;gap:0;overflow:hidden}.mode-toggle button{background:#0000;border:none;color:var(--text-muted);cursor:pointer;font-size:9px;font-weight:600;letter-spacing:.05em;padding:4px 12px;transition:all var(--transition-fast)}.mode-toggle button:hover{color:var(--text-secondary)}.mode-toggle button.active{background:var(--bg-elevated);color:var(--text-primary)}.header-toggle-btn{background:#0000;border:1px solid var(--border-normal);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:9px;font-weight:600;letter-spacing:.05em;padding:4px 10px;transition:all var(--transition-fast)}.header-toggle-btn:hover{border-color:var(--text-secondary);color:var(--text-secondary)}.header-toggle-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--bg-primary)}.main-layout{grid-gap:0;display:grid;flex:1 1;gap:0;grid-template-columns:1fr 240px}.clips-area,.main-layout{min-height:0;overflow:hidden}.clips-area{background:var(--bg-primary);border-right:1px solid var(--border-subtle)}.clips-area,.sidebar{display:flex;flex-direction:column}.sidebar{background:var(--bg-panel);gap:var(--spacing-sm);overflow-y:auto;padding:var(--spacing-sm)}.transport-bar{background:var(--bg-panel);border-top:1px solid var(--border-subtle);flex-shrink:0;height:36px;justify-content:space-between;padding:0 var(--spacing-md)}.transport-bar,.transport-left{align-items:center;display:flex}.transport-left{gap:var(--spacing-sm)}.transport-center{align-items:center;display:flex;gap:4px}.transport-right{align-items:center;display:flex;gap:6px}.transport-btn{align-items:center;background:#0000;border:1px solid var(--border-normal);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:flex;font-size:10px;height:24px;justify-content:center;transition:all var(--transition-fast);width:24px}.transport-btn:hover{border-color:var(--text-secondary);color:var(--text-secondary)}.transport-btn:disabled{cursor:not-allowed;opacity:.3}.transport-btn.recording{background:var(--meter-clip);border-color:var(--meter-clip);color:var(--text-bright)}.transport-btn.playing{background:var(--meter-signal);border-color:var(--meter-signal);color:var(--bg-primary)}.transport-info{color:var(--text-secondary);font-family:SF Mono,Menlo,monospace;font-size:10px;min-width:50px}.transport-info.recording{color:var(--meter-clip)}.transport-info.playing{color:var(--meter-signal)}.export-btn{background:#0000;border:1px solid var(--border-normal);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:9px;font-weight:600;letter-spacing:.03em;padding:4px 8px;transition:all var(--transition-fast)}.export-btn:hover{border-color:var(--text-secondary);color:var(--text-secondary)}.export-btn:disabled{cursor:not-allowed;opacity:.3}.adsr-panel{background:var(--bg-panel);border-top:1px solid var(--border-subtle);padding:var(--spacing-sm)}.adsr-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-xs)}.adsr-label{color:var(--text-muted);font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.adsr-layer-name{color:var(--text-secondary);font-family:SF Mono,Menlo,monospace;font-size:9px}.adsr-visualizer-container{background:var(--bg-primary);border-radius:var(--radius-sm);display:flex;justify-content:center;margin-bottom:var(--spacing-xs);padding:var(--spacing-xs)}.adsr-knobs{align-items:flex-start;display:flex;justify-content:space-around;padding:var(--spacing-xs) 0}.adsr-visualizer{display:flex;justify-content:center}.adsr-svg{border-radius:var(--radius-sm);overflow:visible}.transpose-panel{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--spacing-sm)}.transpose-header{align-items:center;display:flex;justify-content:center;margin-bottom:var(--spacing-xs)}.transpose-label{color:var(--text-muted);font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.transpose-knob-container{align-items:center;display:flex;justify-content:center;padding:var(--spacing-xs) 0}.adsr-svg text{font-family:SF Mono,Menlo,monospace;-webkit-user-select:none;user-select:none}.clip-actions{display:flex;flex-direction:column;gap:4px}.clip-action-btn{background:var(--bg-elevated);border:1px solid var(--border-normal);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:9px;font-weight:600;letter-spacing:.05em;padding:8px;transition:all var(--transition-fast);width:100%}.clip-action-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--text-secondary);color:var(--text-primary)}.clip-action-btn:active:not(:disabled){background:var(--bg-active)}.clip-action-btn:disabled{cursor:not-allowed;opacity:.4}.clip-action-btn.delete:hover:not(:disabled){border-color:var(--meter-clip);color:var(--meter-clip)}.clip-action-btn.loop-clip.active{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--bg-primary)}.clip-action-btn.loop-clip.active:hover{background:var(--accent-secondary);border-color:var(--accent-secondary)}@media (max-width:1200px){.main-layout{grid-template-columns:1fr 200px}}@media (max-width:900px){.main-layout{grid-template-columns:1fr}.sidebar{border-left:1px solid var(--border-subtle);border-top:1px solid var(--border-subtle);bottom:36px;max-height:50vh;position:fixed;right:0;width:200px;z-index:100}}.waveform-container{background:var(--bg-primary);border-bottom:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-sm)}.waveform-upload-section{min-height:80px}.upload-options{align-items:center;display:flex;gap:var(--spacing-sm);height:80px}.waveform-upload-area{align-items:center;background:var(--bg-secondary);border:1px dashed var(--border-normal);border-radius:var(--radius-sm);cursor:pointer;display:flex;flex:1 1;height:100%;justify-content:center;transition:all var(--transition-fast)}.waveform-upload-area:hover{background:var(--bg-panel);border-color:var(--text-secondary)}.upload-content{text-align:center}.upload-icon{color:var(--text-muted);font-size:1.2rem;margin-bottom:4px}.upload-text{font-weight:500;letter-spacing:.08em}.upload-divider,.upload-text{color:var(--text-muted);font-size:9px;text-transform:uppercase}.record-btn,.upload-divider{letter-spacing:.05em}.record-btn{align-items:center;background:var(--bg-secondary);border:1px dashed var(--border-normal);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:9px;font-weight:500;gap:6px;height:100%;padding:0 var(--spacing-md);transition:all var(--transition-fast);white-space:nowrap}.record-btn:hover{border-color:var(--meter-clip);color:var(--meter-clip)}.recording-panel{background:var(--bg-secondary);border:1px solid var(--meter-clip);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:6px;height:80px;padding:var(--spacing-sm)}.recording-header{align-items:center;display:flex;justify-content:space-between}.recording-indicator{animation:pulse-recording 1s linear infinite;color:var(--meter-clip);font-size:9px;font-weight:600;letter-spacing:.08em}@keyframes pulse-recording{0%,to{opacity:1}50%{opacity:.5}}.recording-time{color:var(--text-secondary);font-family:SF Mono,Menlo,monospace;font-size:10px}.level-meter-container{align-items:center;display:flex;flex:1 1}.level-meter{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);height:10px;overflow:hidden;width:100%}.level-meter-fill{background:var(--meter-signal);height:100%;transition:width .05s linear}.level-meter-fill.warn{background:var(--meter-warn)}.level-meter-fill.clip,.recording-stop-btn{background:var(--meter-clip)}.recording-stop-btn{border:1px solid var(--meter-clip);border-radius:var(--radius-sm);color:var(--text-bright);cursor:pointer;font-size:9px;font-weight:600;letter-spacing:.03em;padding:4px 8px;transition:all var(--transition-fast)}.recording-stop-btn:hover{opacity:.9}.waveform-controls{align-items:center;display:flex;gap:4px;justify-content:space-between}.zoom-controls{display:flex;gap:2px}.wf-btn{background:#0000;border:1px solid var(--border-normal);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:9px;font-weight:500;letter-spacing:.03em;padding:4px 8px;transition:all var(--transition-fast)}.wf-btn:hover{border-color:var(--text-secondary);color:var(--text-secondary)}.wf-btn:active{background:var(--bg-elevated)}.wf-btn.secondary{background:#0000;color:var(--text-muted)}.wf-btn.secondary:hover{border-color:var(--text-secondary);color:var(--text-secondary)}.wf-btn.primary{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--bg-primary);font-weight:600}.wf-btn.primary:hover{background:var(--accent-secondary);border-color:var(--accent-secondary)}.waveform{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:crosshair}.colored-waveform-canvas{left:0;pointer-events:none;position:absolute;top:0;z-index:1}.waveform-hint{color:var(--text-muted);font-size:9px;text-align:center}.waveform [data-id=loop-clip-region]{border:2px solid #ff8c00cc!important;border-bottom:none!important;border-top:none!important}.waveform [data-id=loop-clip-region]:after,.waveform [data-id=loop-clip-region]:before{background:#ff8c004d;bottom:0;content:"";cursor:ew-resize;position:absolute;top:0;transition:background .15s ease;width:8px}.waveform [data-id=loop-clip-region]:before{left:-4px}.waveform [data-id=loop-clip-region]:after{right:-4px}.waveform [data-id=loop-clip-region]:hover:after,.waveform [data-id=loop-clip-region]:hover:before{background:#ff8c0080}.pad-grid-container{width:100%}.pad-grid-label{color:var(--text-muted);font-size:9px;font-weight:500;letter-spacing:.08em;margin-bottom:6px;text-align:center;text-transform:uppercase}.pad-grid{grid-gap:3px;display:grid;gap:3px;grid-template-columns:repeat(4,1fr);width:100%}@media (max-width:1100px){.pad-grid{grid-template-columns:repeat(3,1fr)}}.pad{align-items:center;aspect-ratio:1;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;display:flex;flex-direction:column;gap:2px;justify-content:center;min-height:44px;position:relative;transition:all var(--transition-fast)}.pad:disabled{cursor:default;opacity:.3}.pad.assigned{background:rgba(var(--track-color-rgb),.8);border-color:rgba(var(--track-color-rgb),.9)}.pad.assigned:hover:not(:disabled){background:rgba(var(--track-color-rgb),.9);border-color:var(--track-color)}.pad.active,.pad.assigned:active:not(:disabled){background:var(--track-color)}.pad.active{outline:2px solid var(--state-active);outline-offset:-2px}.pad.flashing:after{animation:padFlash .12s linear;background:#ffffff59;border-radius:var(--radius-sm);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}@keyframes padFlash{0%{opacity:1}to{opacity:0}}.pad-key{color:var(--bg-primary);font-size:12px;font-weight:600}.pad-duration{color:#0009;font-family:SF Mono,Menlo,monospace;font-size:8px}.pad-empty{color:var(--text-muted);font-size:10px}.sequencer-container{background:var(--bg-darkest);flex:1 1;padding:var(--spacing-lg)}.sequencer-header{align-items:center;border-bottom:1px solid var(--border-mid);display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm)}.sequencer-label{color:var(--text-muted);font-size:.6rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase}.sequencer-controls{display:flex;gap:var(--spacing-sm)}.seq-btn{background:var(--bg-light);border:1px solid var(--border-mid);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:.65rem;font-weight:600;letter-spacing:.1em;padding:6px 12px;transition:all var(--transition-fast)}.seq-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.seq-btn.play{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-bright)}.seq-btn.play:hover{filter:brightness(1.1)}.sequencer-grid{display:flex;flex-direction:column;gap:var(--spacing-xs)}.sequencer-row{align-items:center;display:flex;gap:var(--spacing-sm)}.row-label{color:var(--accent-primary);font-size:.7rem;font-weight:700;min-width:20px;text-align:center}.row-steps{grid-gap:3px;display:grid;flex:1 1;gap:3px;grid-template-columns:repeat(16,1fr)}.step{aspect-ratio:1;background:var(--bg-dark);border:1px solid var(--border-dark);border-radius:1px;cursor:pointer;transition:all var(--transition-fast)}.step:nth-child(4n+1){border-left:2px solid var(--border-mid)}.step:hover{background:var(--bg-light);border-color:var(--border-mid)}.step.active{background:var(--accent-primary);border-color:var(--accent-primary)}.step.current{border-color:var(--text-bright);box-shadow:0 0 6px #ffffff4d}.step.active.current{box-shadow:0 0 10px var(--accent-glow)}.sequencer-empty{align-items:center;color:var(--text-muted);font-size:.7rem;height:200px;text-align:center}.control-panel,.sequencer-empty{display:flex;justify-content:center}.control-panel{gap:4px;padding:var(--spacing-xs) 0}.mpc-button{align-items:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;display:flex;height:48px;justify-content:center;transition:all var(--transition-fast);width:48px}.mpc-button:hover{background:var(--bg-elevated);border-color:var(--text-secondary)}.mpc-button:active{transform:scale(.97)}.mpc-button.active{background:var(--bg-elevated);border-color:var(--text-bright)}.mpc-button.active:hover{background:var(--bg-hover)}.mpc-button-label{color:var(--text-secondary);font-size:9px;font-weight:600;letter-spacing:.08em}.mpc-button.active .mpc-button-label{color:var(--text-bright)}.knob-container{align-items:center;display:flex;flex-direction:column;gap:4px;-webkit-user-select:none;user-select:none}.knob-label{color:var(--text-muted);font-size:9px;font-weight:500;letter-spacing:.02em;text-transform:capitalize}.knob{align-items:center;cursor:ns-resize;display:flex;justify-content:center;position:relative}.knob.dragging{cursor:grabbing}.knob-svg{display:block}.knob-value{color:var(--text-secondary);font-family:SF Mono,Menlo,monospace;font-size:9px;min-width:40px;text-align:center}.knob:hover .knob-svg circle{fill:var(--bg-surface)}.loop-editor-piano{flex:1 1;flex-direction:column;min-height:180px;overflow:hidden}.loop-editor-empty,.loop-editor-piano{background:var(--bg-primary);display:flex}.loop-editor-empty{align-items:center;flex:1 1;justify-content:center}.empty-message{color:var(--text-muted);text-align:center}.empty-icon{display:block;font-size:1.5rem;opacity:.3}.empty-icon,.empty-message p{margin-bottom:var(--spacing-xs)}.empty-message p{font-size:10px;letter-spacing:.03em}.empty-hint{color:var(--text-muted);font-size:9px}.loop-editor-header{align-items:center;background:var(--bg-panel);border-bottom:1px solid var(--border-subtle);display:flex;flex-shrink:0;justify-content:space-between;padding:4px var(--spacing-md)}.loop-label{color:var(--text-muted);font-size:9px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.loop-duration{color:var(--text-secondary);font-family:SF Mono,Menlo,monospace;font-size:10px;font-weight:500}.piano-roll-container{display:flex;flex:1 1;overflow:hidden}.lane-labels{background:var(--bg-panel);border-right:1px solid var(--border-subtle);flex-shrink:0;overflow:hidden;width:32px}.lane-label{align-items:center;border-bottom:1px solid var(--border-subtle);color:var(--text-muted);display:flex;font-size:9px;font-weight:500;justify-content:center;-webkit-user-select:none;user-select:none}.lane-label.has-events{background:var(--bg-surface);color:var(--text-secondary)}.timeline-scroll{flex:1 1;overflow-x:auto;overflow-y:auto;position:relative}.timeline-content{display:flex;flex-direction:column;min-height:100%}.timeline-ruler{background:var(--bg-panel);border-bottom:1px solid var(--border-subtle);cursor:pointer;flex-shrink:0;height:20px;position:relative;width:100%}.timeline-ruler:hover{background:var(--bg-surface)}.ruler-bar{border-left:1px solid var(--border-normal);height:100%;position:absolute;top:0}.bar-number{color:var(--text-muted);font-family:SF Mono,Menlo,monospace;font-size:9px;font-weight:500;left:4px;position:absolute;top:4px}.ruler-beat{background:var(--border-subtle);height:6px;position:absolute;top:12px;width:1px}.timeline-piano{background:var(--bg-primary);height:384px;min-width:100%;position:relative}.grid-line{background:var(--border-subtle);bottom:0;pointer-events:none;position:absolute;top:0;width:1px;z-index:1}.grid-line.bar-line{background:var(--border-normal);width:1px;z-index:2}.lane{background:var(--bg-primary);border-bottom:1px solid var(--border-subtle);left:0;position:absolute;right:0}.lane:nth-child(2n){background:var(--bg-secondary)}.note-block{background:var(--content-midi);border:none;border-radius:1px;bottom:2px;cursor:move;position:absolute;top:2px;transition:opacity var(--transition-fast);z-index:10}.note-block:hover{outline:1px solid var(--text-secondary);outline-offset:-1px}.note-block.dragging{cursor:grabbing;opacity:.7;z-index:100}.note-block.selected{background:#2a2a2a;outline:2px solid var(--state-active);outline-offset:-2px}.note-block.no-chop{background:var(--bg-elevated);border:1px dashed var(--border-normal);opacity:.6}.note-key{color:var(--text-secondary);font-size:9px;font-weight:500}.note-content{align-items:center;display:flex;height:100%;justify-content:center;padding:0 4px;pointer-events:none;-webkit-user-select:none;user-select:none}.note-time{color:var(--text-muted);font-family:SF Mono,Menlo,monospace;font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resize-handle-left,.resize-handle-right{background:#0000;bottom:0;cursor:ew-resize;opacity:0;position:absolute;top:0;transition:opacity var(--transition-fast);width:5px;z-index:20}.resize-handle-left{left:0}.resize-handle-right{right:0}.note-block:hover .resize-handle-left,.note-block:hover .resize-handle-right{opacity:1}.resize-handle-left:hover,.resize-handle-right:hover{background:#ffffff26}.playhead{background:var(--text-secondary);bottom:0;cursor:ew-resize;position:absolute;top:0;transition:background var(--transition-fast);width:1px;z-index:50}.playhead.playing{background:var(--meter-signal)}.playhead.dragging{background:var(--state-active)}.playhead-handle{cursor:ew-resize;height:20px;left:-6px;position:absolute;top:-20px;width:13px}.playhead:before{background:var(--text-secondary);-webkit-clip-path:polygon(50% 100%,0 0,100% 0);clip-path:polygon(50% 100%,0 0,100% 0);content:"";height:9px;left:-4px;position:absolute;top:-7px;transition:background var(--transition-fast);width:9px}.playhead.playing:before{background:var(--meter-signal)}.playhead.dragging:before,.playhead:hover,.playhead:hover:before{background:var(--state-active)}.loop-end-marker-piano{bottom:0;cursor:ew-resize;position:absolute;top:0;width:12px;z-index:30}.loop-end-handle-piano{align-items:flex-start;background:#ffffff26;color:var(--text-muted);cursor:ew-resize;display:flex;font-size:9px;height:100%;justify-content:center;left:0;padding-top:4px;position:absolute;top:0;-webkit-user-select:none;user-select:none;width:1px}.loop-end-handle-piano:hover{background:#ffffff4d}.box-select{background:#5dd45d1a;border:1px solid var(--state-active);pointer-events:none;position:absolute;z-index:100}.loop-info{flex:1 1;text-align:center}.selection-info{color:var(--state-active);font-family:SF Mono,Menlo,monospace;font-size:9px}.selection-info.clipboard-ready{color:var(--text-muted)}.loop-clip-container{border-radius:2px;left:0;overflow:hidden;position:absolute;right:0;top:0}.loop-clip-block{height:100%;position:relative}.loop-clip-waveform-canvas{height:100%;left:0;position:absolute;top:0;width:100%}.layer-strip{background:var(--bg-primary);flex-shrink:0}.layer-strip-header{align-items:center;background:var(--bg-panel);border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;padding:6px var(--spacing-md)}.layer-strip-label{color:var(--text-muted);font-size:10px;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.add-layer-btn-inline{align-items:center;background:#0000;border:1px solid var(--border-normal);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:flex;font-size:12px;height:18px;justify-content:center;transition:all var(--transition-fast);width:18px}.add-layer-btn-inline:hover{border-color:var(--text-secondary);color:var(--text-primary)}.layer-rows{display:flex;flex-direction:column}.layer-row{align-items:stretch;background:var(--bg-primary);border-bottom:1px solid var(--border-subtle);cursor:pointer;display:flex;height:48px;position:relative;transition:background var(--transition-fast)}.layer-row:nth-child(2n){background:var(--bg-secondary)}.layer-row.active,.layer-row:hover{background:var(--bg-panel)}.layer-row.active:before{background:var(--text-bright);bottom:0;content:"";left:0;position:absolute;top:0;width:2px}.layer-row.muted-visual{opacity:.4}.layer-color-bar{flex-shrink:0;width:4px}.layer-track-controls{align-items:center;background:var(--bg-panel);border-right:1px solid var(--border-subtle);display:flex;flex-shrink:0;gap:3px;padding:0 6px;width:56px}.layer-number{background:var(--text-muted);background:var(--track-color,var(--text-muted));border-radius:var(--radius-sm);color:var(--bg-primary);font-size:10px;height:16px;width:16px}.layer-ctrl-btn,.layer-number{align-items:center;display:flex;font-weight:600;justify-content:center}.layer-ctrl-btn{background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:8px;height:14px;transition:all var(--transition-fast);width:14px}.layer-ctrl-btn:hover{background:var(--bg-elevated);color:var(--text-secondary)}.layer-ctrl-btn.mute.active{background:var(--meter-clip);color:var(--text-bright)}.layer-ctrl-btn.solo.active{background:var(--track-yellow);color:var(--bg-primary)}.layer-clip{align-items:center;border-radius:var(--radius-sm);display:flex;flex:1 1;margin:3px;min-width:0;padding:4px 8px;position:relative}.layer-clip.has-audio{background:rgba(var(--track-color-rgb),.85)}.layer-row.active .layer-clip.has-audio{background:rgba(var(--track-color-rgb),.9)}.layer-clip.empty{background:#0000;border:1px dashed var(--border-normal)}.clip-waveform{flex-shrink:0;height:24px;margin-right:8px;overflow:hidden;width:64px}.mini-wave{align-items:center;display:flex;height:100%;justify-content:space-between;padding:2px 0}.wave-bar{background:var(--content-waveform);border-radius:1px;width:2px}.clip-info{display:flex;flex-direction:column;gap:1px;min-width:0}.clip-name{color:var(--bg-primary);font-size:11px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clip-events{color:#0009;font-family:SF Mono,Menlo,monospace;font-size:9px}.clip-empty{align-items:center;display:flex;flex:1 1;justify-content:center}.clip-empty span{color:var(--text-muted);font-size:10px}.layer-settings{align-items:center;display:flex;flex-shrink:0;gap:3px;padding:0 6px}.layer-setting-btn{background:#0000;border:1px solid var(--border-normal);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:8px;font-weight:600;letter-spacing:.02em;padding:3px 5px;transition:all var(--transition-fast)}.layer-setting-btn:hover{border-color:var(--text-secondary);color:var(--text-secondary)}.layer-setting-btn.active{background:#ffffff1a;border-color:var(--text-bright);color:var(--text-bright)}.loop-settings{background:var(--bg-surface);border-radius:var(--radius-sm);padding:var(--spacing-xs)}.loop-settings-header{border-bottom:1px solid var(--border-subtle);margin-bottom:4px;padding-bottom:4px}.loop-settings-label{color:var(--text-muted);font-size:9px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.multiplier-buttons{display:flex;gap:2px}.multiplier-btn{background:#0000;border:1px solid var(--border-normal);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;flex:1 1;font-size:9px;font-weight:500;padding:5px 4px;transition:all var(--transition-fast)}.multiplier-btn:hover{border-color:var(--text-secondary);color:var(--text-secondary)}.multiplier-btn.active{background:var(--bg-elevated);border-color:var(--text-bright);color:var(--text-bright)}.loop-settings-hint{color:var(--text-muted);font-size:9px;padding-top:4px;text-align:center}.autochop-panel{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--spacing-sm)}.autochop-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-xs)}.autochop-label{color:var(--text-muted);font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.autochop-mode-toggle{background:var(--bg-primary);border-radius:var(--radius-sm);display:flex;gap:0;overflow:hidden}.mode-btn{background:#0000;border:none;color:var(--text-muted);cursor:pointer;font-size:8px;font-weight:600;letter-spacing:.03em;padding:3px 8px;transition:all var(--transition-fast)}.mode-btn:hover:not(:disabled){color:var(--text-secondary)}.mode-btn.active{background:var(--bg-elevated);color:var(--text-primary)}.mode-btn:disabled{cursor:not-allowed;opacity:.4}.autochop-controls{display:flex;flex-direction:column;gap:var(--spacing-xs)}.interval-controls{align-items:center;display:flex;gap:var(--spacing-xs)}.control-label{color:var(--text-muted);font-size:8px;font-weight:500;letter-spacing:.05em;min-width:50px;text-transform:uppercase}.division-buttons{display:flex;flex:1 1;gap:2px}.division-btn{background:var(--bg-primary);border:1px solid var(--border-normal);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;flex:1 1;font-size:9px;font-weight:600;padding:4px 0;transition:all var(--transition-fast)}.division-btn:hover:not(:disabled){border-color:var(--text-secondary);color:var(--text-secondary)}.division-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--bg-primary)}.division-btn:disabled{cursor:not-allowed;opacity:.4}.slider-control{align-items:center;display:flex;gap:var(--spacing-xs)}.autochop-slider{-webkit-appearance:none;background:var(--bg-elevated);border-radius:1px;flex:1 1;height:2px;outline:none}.autochop-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--text-secondary);border:none;border-radius:2px;cursor:pointer;height:10px;width:10px}.autochop-slider::-moz-range-thumb{background:var(--text-secondary);border:none;border-radius:2px;cursor:pointer;height:10px;width:10px}.autochop-slider:disabled{opacity:.4}.slider-value{font-family:SF Mono,Menlo,monospace;min-width:28px;text-align:right}.autochop-btn,.slider-value{color:var(--text-secondary);font-size:9px}.autochop-btn{background:var(--bg-elevated);border:1px solid var(--border-normal);border-radius:var(--radius-sm);cursor:pointer;font-weight:600;letter-spacing:.05em;margin-top:2px;padding:6px 8px;transition:all var(--transition-fast);width:100%}.autochop-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--text-secondary);color:var(--text-primary)}.autochop-btn:active:not(:disabled){background:var(--bg-active)}.autochop-btn:disabled{cursor:not-allowed;opacity:.4}.autochop-btn.processing{background:var(--state-active);border-color:var(--state-active);color:var(--bg-primary)}.projects-dropdown{align-items:center;display:flex;position:relative}.projects-trigger{align-items:center;background:#0000;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:10px;font-weight:500;gap:6px;padding:4px 8px;transition:all var(--transition-fast)}.projects-trigger:hover{border-color:var(--border-normal);color:var(--text-primary)}.project-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow{color:var(--text-muted);font-size:8px}.projects-menu{background:var(--bg-panel);border:1px solid var(--border-normal);border-radius:var(--radius-sm);box-shadow:0 4px 12px #0006;left:0;margin-top:4px;min-width:200px;overflow:hidden;position:absolute;top:100%;z-index:1000}.menu-item{align-items:center;background:#0000;border:none;color:var(--text-secondary);cursor:pointer;display:flex;font-size:10px;font-weight:500;gap:8px;padding:8px 12px;text-align:left;transition:background var(--transition-fast);width:100%}.menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}.menu-icon{font-size:12px}.menu-divider{background:var(--border-subtle);height:1px;margin:4px 0}.menu-label{color:var(--text-muted);font-size:9px;font-weight:600;letter-spacing:.08em;padding:6px 12px 4px}.projects-list{max-height:200px;overflow-y:auto}.project-item{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:6px 12px;transition:background var(--transition-fast)}.project-item:hover{background:var(--bg-hover)}.project-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.project-item-name{color:var(--text-secondary);font-size:10px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-item:hover .project-item-name{color:var(--text-primary)}.project-item-date{color:var(--text-muted);font-size:9px}.project-delete-btn{align-items:center;background:#0000;border:none;border-radius:2px;color:var(--text-muted);cursor:pointer;display:flex;font-size:14px;height:18px;justify-content:center;opacity:0;transition:all var(--transition-fast);width:18px}.project-item:hover .project-delete-btn{opacity:1}.project-delete-btn:hover{background:var(--meter-clip);color:var(--text-bright)}.no-projects{color:var(--text-muted);font-size:10px;padding:12px;text-align:center}.save-name-input{display:flex;gap:6px;padding:8px}.save-name-input input{background:var(--bg-elevated);border:1px solid var(--border-normal);border-radius:var(--radius-sm);color:var(--text-primary);flex:1 1;font-size:10px;outline:none;padding:6px 8px}.save-name-input input:focus{border-color:var(--state-active)}.save-confirm-btn{background:var(--state-active);border:none;border-radius:var(--radius-sm);color:var(--bg-primary);cursor:pointer;font-size:9px;font-weight:600;padding:6px 10px;transition:opacity var(--transition-fast)}.save-confirm-btn:hover{opacity:.9}.effects-rack{background:var(--bg-panel);border-top:1px solid var(--border-subtle);min-height:80px;padding:var(--spacing-sm)}.rack-header{margin-bottom:var(--spacing-xs)}.rack-label{color:var(--text-muted);font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.rack-content{align-items:flex-start;display:flex;gap:var(--spacing-sm)}.effect-plugin{background:var(--bg-elevated);border:1px solid var(--border-normal);border-radius:var(--radius-sm);min-width:140px;padding:var(--spacing-xs) var(--spacing-sm)}.effect-plugin.disabled{opacity:.5}.plugin-header{border-bottom:1px solid var(--border-subtle);gap:var(--spacing-xs);margin-bottom:var(--spacing-xs);padding-bottom:var(--spacing-xs)}.plugin-header,.plugin-power{align-items:center;display:flex}.plugin-power{background:#0000;border:1px solid var(--border-normal);border-radius:50%;color:var(--text-muted);cursor:pointer;font-size:8px;height:14px;justify-content:center;line-height:1;padding:0;width:14px}.plugin-power.on{background:var(--meter-signal);border-color:var(--meter-signal);color:var(--bg-primary)}.plugin-name{color:var(--text-secondary);font-size:9px;font-weight:600;letter-spacing:.03em}.eq-controls{display:flex;gap:var(--spacing-sm);justify-content:space-around}.eq-band{align-items:center;display:flex;flex-direction:column;gap:2px}.eq-slider-container{height:50px;position:relative;width:20px}.eq-slider-track{background:var(--bg-primary);border-radius:2px;height:100%;left:50%;overflow:hidden;position:absolute;transform:translateX(-50%);width:4px}.eq-slider-fill{background:var(--meter-signal);position:absolute;transition:height .1s ease;width:100%}.eq-slider-thumb{background:var(--text-secondary);border-radius:1px;height:4px;left:50%;pointer-events:none;position:absolute;transform:translate(-50%,50%);width:12px}.eq-slider-input{cursor:pointer;height:20px;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%) rotate(-90deg);width:50px}.eq-label{color:var(--text-muted);font-size:8px;font-weight:600;letter-spacing:.05em}.eq-value{color:var(--text-secondary);font-family:SF Mono,Menlo,monospace;font-size:8px;min-width:30px;text-align:center}.rack-empty-space{border:1px dashed var(--border-subtle);border-radius:var(--radius-sm);flex:1 1;min-height:60px;opacity:.3}
/*# sourceMappingURL=main.ddebc463.css.map*/