*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0c0c10;--surface:#14141c;--surface-2:#1c1c28;--border:#2a2a3d;--text:#e8e8f0;--text-muted:#8888a0;--accent:#6366f1;--accent-hover:#818cf8;--cyan:#22d3ee;--pink:#f472b6;--green:#4ade80;--red:#f87171;--radius:12px;--font:"Segoe UI", system-ui, -apple-system, sans-serif}html{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.5}body{min-height:100vh}.app{flex-direction:column;max-width:960px;min-height:100vh;margin:0 auto;padding:24px 20px 40px;display:flex}.header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.shortcuts-hint{color:var(--text-muted);background:var(--surface);border:1px solid var(--border);white-space:nowrap;border-radius:8px;padding:6px 12px;font-size:.75rem}.logo{align-items:center;gap:14px;display:flex}.logo svg{color:var(--accent);flex-shrink:0}.logo h1{letter-spacing:-.02em;font-size:1.5rem;font-weight:700}.logo p{color:var(--text-muted);font-size:.85rem}.main{flex-direction:column;flex:1;gap:16px;display:flex}.drop-zone{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;background:var(--surface);padding:28px;transition:border-color .2s,background .2s}.drop-zone:hover,.drop-zone.dragover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--surface))}.drop-content svg{color:var(--text-muted);margin-bottom:12px}.drop-title{margin-bottom:4px;font-size:1rem;font-weight:600}.drop-sub{color:var(--text-muted);font-size:.85rem}.link-btn{color:var(--accent);cursor:pointer;font-size:inherit;background:0 0;border:none;font-family:inherit;text-decoration:underline}.link-btn:hover{color:var(--accent-hover)}.empty-state{color:var(--text-muted);justify-content:center;align-items:center;padding:32px;font-size:.9rem;display:flex}.track-list{flex-direction:column;gap:12px;display:flex}.track{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;transition:border-color .2s}.track:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.track-header{align-items:center;gap:8px;margin-bottom:10px;display:flex}.track-order{flex-direction:column;gap:2px;display:flex}.btn-xs{font-size:9px;border-radius:4px!important;width:24px!important;height:20px!important}.track-name-input{min-width:0;color:var(--text);background:0 0;border:1px solid #0000;border-radius:6px;flex:1;padding:4px 8px;font-family:inherit;font-size:.9rem;font-weight:600;transition:border-color .15s,background .15s}.track-name-input:hover,.track-name-input:focus{border-color:var(--border);background:var(--surface-2);outline:none}.track-badges{gap:4px;display:flex}.badge{border-radius:4px;padding:2px 5px;font-size:.65rem;font-weight:700}.badge.solo{color:#0c0c10;background:#fbbf24}.badge.mute{background:var(--red);color:#fff}.badge.rev{background:var(--pink);color:#0c0c10}.track-color{border-radius:2px;flex-shrink:0;width:4px;height:20px}.track-name{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.9rem;font-weight:600;overflow:hidden}.track-duration{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.8rem}.track-waveform{background:var(--surface-2);border-radius:6px;width:100%;height:56px;margin-bottom:12px;display:block}.track-controls{align-items:center;gap:12px;display:flex}.volume-group{flex:1;align-items:center;gap:8px;display:flex}.volume-group svg{color:var(--text-muted);flex-shrink:0}.volume-slider{appearance:none;background:var(--surface-2);cursor:pointer;border-radius:3px;outline:none;flex:1;height:6px}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;border:2px solid var(--bg);border-radius:50%;width:16px;height:16px}.volume-slider::-moz-range-thumb{background:var(--accent);cursor:pointer;border:2px solid var(--bg);border-radius:50%;width:16px;height:16px}.volume-label{color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums;min-width:36px;font-size:.75rem}.btn-icon{background:var(--surface-2);border:1px solid var(--border);cursor:pointer;width:36px;height:36px;color:var(--text-muted);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s,border-color .15s,background .15s;display:flex}.btn-icon:hover{color:var(--text);border-color:var(--text-muted)}.btn-icon.active{color:var(--red);border-color:var(--red);background:color-mix(in srgb, var(--red) 12%, var(--surface-2))}.btn-icon.active-solo{color:#fbbf24;background:color-mix(in srgb, #fbbf24 15%, var(--surface-2));border-color:#fbbf24}.solo-btn,.mute-btn{width:32px;height:32px;font-size:.75rem;font-weight:700}.norm-btn{width:32px;height:32px;font-size:.7rem;font-weight:700}.norm-btn:hover{color:var(--green);border-color:var(--green)}.remove-btn:hover{color:var(--red);border-color:var(--red)}.pan-row{align-items:center;gap:8px;margin-top:10px;display:flex}.pan-label{color:var(--text-muted);min-width:28px;font-size:.75rem}.pan-side{color:var(--text-muted);font-size:.7rem}.pan-slider{appearance:none;background:linear-gradient(to right, var(--cyan), var(--surface-2) 50%, var(--pink));cursor:pointer;border-radius:2px;outline:none;flex:1;height:4px}.pan-slider::-webkit-slider-thumb{-webkit-appearance:none;border:2px solid var(--bg);cursor:pointer;background:#fff;border-radius:50%;width:14px;height:14px}.pan-value{color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums;min-width:32px;font-size:.75rem}.track-advanced{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;display:flex}.track-advanced.hidden{display:none}.slider-row{align-items:center;gap:10px;display:flex}.slider-label{color:var(--text-muted);min-width:72px;font-size:.78rem}.mini-slider{appearance:none;background:var(--surface-2);cursor:pointer;border-radius:2px;outline:none;flex:1;height:4px}.mini-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:2px solid var(--bg);cursor:pointer;border-radius:50%;width:12px;height:12px}.slider-value{color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums;min-width:40px;font-size:.72rem}.action-row{gap:8px;margin-top:4px;display:flex}.btn-action{border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);cursor:pointer;border-radius:8px;flex:1;padding:8px 12px;font-family:inherit;font-size:.78rem;transition:all .15s}.btn-action:hover{color:var(--text);border-color:var(--text-muted)}.btn-action.active{color:var(--pink);border-color:var(--pink);background:color-mix(in srgb, var(--pink) 12%, var(--surface-2))}.master-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);border-color:color-mix(in srgb, var(--accent) 35%, var(--border));padding:16px}.master-panel-header{margin-bottom:16px}.master-title-row{align-items:center;gap:12px;margin-bottom:12px;display:flex}.master-title{background:linear-gradient(90deg, var(--accent), var(--cyan));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;flex:1;font-size:1rem;font-weight:700}.master-reset-btn{flex:none;padding:6px 12px;font-size:.75rem}.master-preview-row{align-items:stretch;gap:12px;display:flex}.master-waveform{background:var(--surface-2);border-radius:8px;flex:1;min-width:0;height:64px;display:block}.vu-meter{flex-direction:column;align-items:center;gap:4px;width:48px;display:flex}.vu-label{color:var(--text-muted);letter-spacing:.05em;font-size:.65rem;font-weight:700}.vu-track{background:var(--surface-2);border:1px solid var(--border);border-radius:4px;flex:1;align-items:flex-end;width:20px;min-height:48px;display:flex;overflow:hidden}.vu-bar{background:linear-gradient(to top, var(--green), var(--cyan), var(--pink));border-radius:2px;width:100%;height:0%;transition:height 50ms linear}.vu-bar.hot{background:linear-gradient(to top, var(--red), #ff6b6b)}.vu-scale{color:var(--text-muted);text-align:center;flex-direction:column;gap:8px;font-size:.55rem;display:flex}.master-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.master-control{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.master-control label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:600}.master-slider{appearance:none;background:var(--border);cursor:pointer;border-radius:3px;outline:none;width:100%;height:5px}.master-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:2px solid var(--bg);cursor:pointer;border-radius:50%;width:14px;height:14px}.master-slider.pan{background:linear-gradient(to right, var(--cyan), var(--border) 50%, var(--pink))}.master-slider.eq::-webkit-slider-thumb{background:var(--cyan)}.master-val{color:var(--text);font-variant-numeric:tabular-nums;text-align:right;font-size:.75rem}.limiter-control{grid-column:span 1}.limiter-control .checkbox-label{text-transform:uppercase;color:var(--text-muted);font-size:.72rem;font-weight:600}.loop-btn{font-size:1rem}.loop-btn.active{color:var(--cyan);border-color:var(--cyan);background:color-mix(in srgb, var(--cyan) 12%, var(--surface-2))}.export-options{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.checkbox-label,.select-label{color:var(--text-muted);cursor:pointer;align-items:center;gap:8px;font-size:.82rem;display:flex}.select-label select{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:4px 8px;font-family:inherit;font-size:.82rem}.transport{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:12px;padding:12px 16px;display:flex}.btn-transport{background:var(--surface-2);border:1px solid var(--border);cursor:pointer;width:44px;height:44px;color:var(--text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,border-color .15s;display:flex}.btn-transport:hover{background:var(--border)}.btn-transport.play{background:var(--accent);border-color:var(--accent);color:#fff;width:52px;height:52px}.btn-transport.play:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.timeline{flex-direction:column;flex:1;gap:4px;display:flex}.timeline-slider{appearance:none;background:var(--surface-2);cursor:pointer;border-radius:3px;outline:none;width:100%;height:6px}.timeline-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--cyan);cursor:pointer;border:2px solid var(--bg);border-radius:50%;width:14px;height:14px}.timeline-slider::-moz-range-thumb{background:var(--cyan);cursor:pointer;border:2px solid var(--bg);border-radius:50%;width:14px;height:14px}.time-display{color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:right;font-size:.8rem}.export-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:14px;padding:16px;display:flex}.export-mode{flex-direction:column;gap:8px;display:flex}.export-label{color:var(--text-muted);font-size:.8rem;font-weight:500}.mode-toggle{gap:8px;display:flex}.mode-btn{border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);cursor:pointer;border-radius:8px;flex:1;padding:8px 12px;font-family:inherit;font-size:.82rem;transition:all .15s}.mode-btn:hover{color:var(--text);border-color:var(--text-muted)}.mode-btn.active{background:color-mix(in srgb, var(--accent) 18%, var(--surface-2));border-color:var(--accent);color:var(--accent-hover);font-weight:600}.export-actions{gap:10px;display:flex}.btn-export{cursor:pointer;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-family:inherit;font-size:.9rem;font-weight:600;transition:opacity .15s,transform .1s;display:flex}.btn-export:hover{opacity:.9}.btn-export:active{transform:scale(.98)}.btn-export.wav{background:var(--cyan);color:#0c0c10}.btn-export.mp3{background:var(--pink);color:#0c0c10}.status{text-align:center;min-height:1.2em;color:var(--text-muted);font-size:.85rem}.status.processing{color:var(--cyan)}.status.success{color:var(--green)}.status.error{color:var(--red)}.footer{text-align:center;color:var(--text-muted);margin-top:32px;font-size:.75rem}@media (width<=600px){.export-actions,.mode-toggle{flex-direction:column}.transport{flex-wrap:wrap}.master-preview-row{flex-direction:column}.vu-meter{flex-direction:row;width:100%;height:auto}.vu-track{flex:1;min-height:28px}.master-grid{grid-template-columns:1fr}}
