.waveform-upload{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;background:var(--color-surface);border:1px dashed var(--color-text-primary);border-radius:var(--radius-sm);margin:var(--space-sm);padding:var(--space-md) var(--space-lg);transition:border-color var(--duration-normal);z-index:2;box-sizing:border-box;overflow:hidden}.waveform-upload:hover,.waveform-upload.drag-over{border-color:var(--color-text-primary);border-style:solid}.waveform-upload.hidden,.drop-zone-icon{display:none}.drop-zone-title{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary);margin-bottom:2px;text-align:center;flex-shrink:0}.drop-zone-subtitle{font-size:var(--text-xs);color:var(--color-text-tertiary);flex-shrink:0}.drop-zone-formats{font-size:.6875rem;color:var(--color-text-disabled);margin-top:2px;letter-spacing:.02em;flex-shrink:0}.drop-zone-btn{display:inline-flex;align-items:center;gap:6px;margin-top:var(--space-xs);padding:6px 16px;flex-shrink:0;background:var(--color-brand, #0009FF);color:#fff;border:none;border-radius:var(--radius-pill, 999px);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:opacity var(--duration-fast)}.drop-zone-btn:hover{opacity:.85}.drop-zone-btn svg{flex-shrink:0}.editor-section{display:flex;flex-direction:column;flex:1;overflow:hidden}.editor-scrollable{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.top-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);min-height:48px;gap:var(--space-sm)}.top-bar-left{display:flex;align-items:center;gap:var(--space-xs);flex-shrink:0}.top-bar-right{display:flex;align-items:center;gap:var(--space-sm);min-width:0;flex:1;justify-content:flex-end}.zoom-btn{width:36px;height:36px;border:1px solid var(--color-border-subtle);border-radius:50%;background:transparent;color:var(--color-text-tertiary);font-size:var(--text-sm);font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color var(--duration-fast),color var(--duration-fast);padding:0}.zoom-btn:hover:not(:disabled){border-color:var(--color-text-secondary);color:var(--color-text-primary)}.zoom-btn:disabled{color:var(--color-text-disabled);border-color:var(--color-border-subtle);cursor:not-allowed}.zoom-btn svg{width:16px;height:16px}.file-name{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:6px var(--space-md);background:var(--color-surface-raised);border-radius:var(--radius-pill);cursor:pointer}.file-name:hover{color:var(--color-text-primary)}.btn-new{width:36px;height:36px;border:1px solid var(--color-border-subtle);border-radius:50%;background:transparent;color:var(--color-text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color var(--duration-fast),color var(--duration-fast);padding:0;flex-shrink:0}.btn-new:hover:not(:disabled){border-color:var(--color-text-secondary);color:var(--color-text-primary)}.btn-new:disabled{color:var(--color-text-disabled);border-color:var(--color-border-subtle);cursor:not-allowed}.btn-new svg{width:16px;height:16px}.btn-export{padding:var(--space-sm) 20px;background:var(--color-brand);color:var(--color-surface);border:none;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background-color var(--duration-normal),box-shadow var(--duration-normal);white-space:nowrap;flex-shrink:0;box-shadow:0 2px 8px #0009ff40}.btn-export:hover{background:var(--color-brand-hover);box-shadow:0 4px 12px #0009ff59}.btn-export:disabled{background:var(--color-text-disabled);box-shadow:none;cursor:not-allowed}.waveform-container{position:relative;height:var(--waveform-height-mobile);flex-shrink:0;background:var(--color-surface);overflow:hidden;touch-action:none;box-shadow:inset 0 1px 0 var(--color-border),inset 0 -1px 0 var(--color-border)}.waveform-container canvas{display:block;width:100%;height:100%}.waveform-resize-handle{position:relative;height:12px;flex-shrink:0;cursor:ns-resize;display:flex;align-items:center;justify-content:center;background:var(--color-surface);touch-action:none;user-select:none;-webkit-user-select:none;z-index:3}.waveform-resize-handle:before{content:"";position:absolute;inset:-6px 0}.waveform-resize-grip{width:32px;height:4px;border-radius:2px;background:var(--color-border);transition:background var(--duration-fast),width var(--duration-fast)}.waveform-resize-handle:hover .waveform-resize-grip,.waveform-resize-handle.active .waveform-resize-grip{background:var(--color-brand);width:48px}.waveform-container.resizing{will-change:height;contain:layout style}.controls-bar{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-sm);flex-wrap:nowrap;background:var(--color-surface)}.controls-group{display:flex;align-items:center;gap:var(--space-xs)}.controls-group+.controls-group{margin-left:var(--space-sm);padding-left:var(--space-sm);border-left:1px solid var(--color-border)}.controls-bar button{width:40px;height:40px;border:none;border-radius:50%;background:#000;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--duration-fast),color var(--duration-fast),transform var(--duration-fast);padding:0}.controls-bar button:hover:not(:disabled){background:#222;color:#fff}.controls-bar button:disabled{color:#999;background:#e0e0e0;cursor:not-allowed}.controls-bar button.active{background:var(--color-brand);color:var(--color-surface)}.controls-bar button svg{width:18px;height:18px}.meter-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 10px;padding:5px 10px;font-size:11px;font-family:SF Mono,Menlo,Consolas,monospace;background:var(--color-surface-raised, #F8F8F8);border-bottom:1px solid var(--color-border, #E5E5E5);flex-shrink:0}.meter-item{display:flex;align-items:center;gap:3px;min-width:0}.meter-label{color:var(--color-text-secondary, #999);font-weight:500;text-transform:uppercase;font-size:9px;letter-spacing:.04em}.meter-value{color:var(--color-text-primary, #000);font-weight:600;font-size:11px;white-space:nowrap}.meter-value.meter-clip{color:#c00}.meter-live{display:flex;align-items:center;gap:4px;flex-basis:100%;margin-top:1px}.meter-bar-visual{flex:1;height:5px;background:var(--color-border, #E0E0E0);border-radius:3px;overflow:hidden}.meter-bar-fill{height:100%;width:0%;background:var(--color-brand, #0009FF);border-radius:3px;transition:width .05s linear}.tools-layout{display:contents}.tool-panel{max-height:0;overflow:hidden;transition:max-height .25s ease;background:#00000005;border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-lg, 12px);margin:var(--space-sm) var(--space-lg)}.tool-panel.open{max-height:500px}.tool-panel-inner{padding:var(--space-md) var(--space-lg)}.tool-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.tool-panel-title{font-size:var(--text-md);font-weight:600;color:var(--color-text-primary)}.tool-panel-close{width:28px;height:28px;border:none;background:none;color:var(--color-text-secondary);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--space-xs)}.tool-panel-close:hover{background:var(--color-border)}.tool-panel-desc{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-md)}.tool-panel-control{margin-bottom:10px}.tool-panel-control label{display:block;font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:6px}.tool-panel-control input[type=range]{width:100%;height:6px;-webkit-appearance:none;appearance:none;background:var(--color-border);border-radius:3px;outline:none}.tool-panel-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;background:var(--color-brand);border-radius:50%;cursor:pointer}.tool-panel-control input[type=range]::-moz-range-thumb{width:18px;height:18px;background:var(--color-brand);border:none;border-radius:50%;cursor:pointer}.tool-panel-control input[type=range]::-moz-range-track{background:transparent;height:6px;border-radius:3px}.tool-panel-control select{width:100%;padding:6px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--text-sm);color:var(--color-text-primary)}.tool-panel-control .checkbox-label{display:flex;align-items:center;gap:6px;cursor:pointer}.tool-panel-control .checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-brand);cursor:pointer}.tool-panel-actions{display:flex;gap:var(--space-sm);flex-wrap:wrap}.trim-markers-row{display:flex;gap:var(--space-md);margin-bottom:var(--space-md)}.trim-marker-group{flex:1;min-width:0}.trim-marker-group label{display:block;font-size:var(--text-xs);color:var(--color-text-secondary);margin-bottom:4px;font-weight:500}.trim-time-input{display:flex;align-items:center;gap:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;background:var(--color-surface)}.trim-time-input .time-field{flex:1;min-width:0;border:none;outline:none;text-align:center;font-size:var(--text-sm);font-family:SF Mono,Menlo,Consolas,monospace;padding:6px 2px;background:transparent;color:var(--color-text-primary)}.trim-nudge{display:flex;align-items:center;justify-content:center;width:32px;height:34px;border:none;background:var(--color-surface-raised);color:var(--color-text-primary);font-size:16px;font-weight:600;cursor:pointer;flex-shrink:0;user-select:none;-webkit-user-select:none;transition:background .15s}.trim-nudge:active{background:var(--color-border)}.trim-file-actions{display:flex;gap:var(--space-sm);flex-wrap:wrap;margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.trim-file-actions .btn-secondary{display:inline-flex;align-items:center;gap:6px}.trim-file-actions .btn-secondary svg{flex-shrink:0}.eq-preset-row{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) 0 var(--space-sm);font-size:var(--text-sm)}.eq-preset-row select{flex:1;padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);background:var(--color-surface)}.eq-curve-container{margin-bottom:var(--space-sm);border:1px solid var(--color-border, #E5E5E5);border-radius:var(--radius-sm, 4px);overflow:hidden;background:#fafafa}.eq-curve-container canvas{display:block;width:100%}.eq-sliders{margin-bottom:var(--space-md)}.eq-slider-row{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) 0}.eq-slider-row label{min-width:64px;font-size:var(--text-xs);color:var(--color-text-secondary);text-align:center;flex-shrink:0}.eq-freq-label{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:999px;background:#fff;padding:3px 10px;text-align:center;transition:border-color .15s,color .15s;line-height:1}.eq-freq-label:hover,.eq-freq-label:focus{border-color:var(--color-brand);color:var(--color-brand)}.eq-freq-label:has(.eq-freq-input){border-color:var(--color-brand);padding:0}.eq-freq-input{width:100%;min-width:56px;font-size:var(--text-xs);font-family:var(--font-mono);text-align:center;border:none;border-radius:999px;padding:3px 10px;outline:none;background:transparent;color:var(--color-text)}.eq-freq-input::-webkit-inner-spin-button,.eq-freq-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.eq-freq-input{-moz-appearance:textfield}.eq-slider-row .eq-slider{flex:1;height:6px;-webkit-appearance:none;appearance:none;background:var(--color-border);border-radius:3px;outline:none}.eq-slider-row .eq-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:var(--color-brand);border-radius:50%;cursor:pointer}.eq-slider-row .eq-slider::-moz-range-thumb{width:16px;height:16px;background:var(--color-brand);border:none;border-radius:50%;cursor:pointer}.eq-slider-row .eq-val{min-width:44px;font-size:var(--text-xs);color:var(--color-text-secondary);font-family:var(--font-mono);text-align:right;flex-shrink:0;white-space:nowrap}.tools-section{padding:20px var(--space-lg);overflow-y:auto;flex-shrink:0}.tools-category{margin-bottom:20px}.tools-category-title{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-sm);text-transform:uppercase;letter-spacing:.05em}.tools-grid{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.tools-grid button{display:inline-flex;align-items:center;gap:6px;padding:var(--space-sm) var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-primary);font-size:var(--text-base);cursor:pointer;transition:all var(--duration-fast);white-space:nowrap}.tools-grid button svg{width:16px;height:16px;flex-shrink:0}.tools-grid button:hover:not(:disabled){border-color:var(--color-brand);color:var(--color-brand);background:var(--color-surface)}.tools-grid button.active{background:var(--color-brand);color:var(--color-surface);border-color:var(--color-brand)}.tools-grid button:disabled{color:var(--color-text-disabled);border-color:var(--color-border-subtle);background:var(--color-surface-raised);cursor:not-allowed}@media(min-width:768px){.waveform-container{height:var(--waveform-height-desktop)}.controls-bar button{width:48px;height:48px}.controls-bar button svg{width:22px;height:22px}.controls-bar,.controls-group{gap:var(--space-sm)}.tools-section{padding:var(--space-xl)}.meter-bar{flex-wrap:nowrap;gap:14px;padding:5px 14px}.meter-live{flex-basis:auto;margin-top:0;margin-left:auto;min-width:160px}.meter-value{min-width:70px}}@media(min-width:1024px){.tools-grid button{padding:var(--space-sm) 18px;font-size:var(--text-base)}.tools-layout{display:flex;gap:var(--space-lg);align-items:flex-start;padding:0 var(--space-xl)}.tools-layout>.tools-section{flex:1 1 0%;min-width:0;border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-lg, 12px);padding:var(--space-lg)}.tools-layout>.tool-panel{max-height:none;overflow:visible;flex:1 1 0%;min-width:0;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;margin:0;position:sticky;top:0}.tools-layout>.tool-panel.open{max-height:none;opacity:1;visibility:visible}}
