:root,:root[data-theme=light]{--bg-primary:#fff;--bg-secondary:#f5f5f5;--bg-card:#fafafa;--bg-overlay:#000000e6;--bg-modal:#fff;--bg-input:#f0f0f0;--text-primary:#000000de;--text-secondary:#666;--text-tertiary:#696969;--text-inverse:#fff;--text-on-accent-strong:#fff;--accent-primary:#2476a8;--accent-primary-hover:#1f6894;--accent-primary-active:#1a5276;--accent-primary-light:#aed6f1;--accent-primary-dark:#1a5276;--accent-secondary:#a6610e;--accent-secondary-hover:#8b4f09;--accent-secondary-active:#744208;--border-primary:#d0d0d0;--border-secondary:#e0e0e0;--border-focus:#2476a8;--status-success:#10b981;--status-success-dark:#059669;--status-warning:#b45309;--status-error:#d32f2f;--status-error-dark:#b91c1c;--shadow-color:#0000001a;--shadow-accent:#2476a84d;--shadow-accent-strong:#2476a899;--shadow-accent-intense:#2476a8e6;--shadow-success-glow:#10b98180;--shadow-reset-hover:#a6610e66;--shadow-legend-text:#0000004d;--waveform-track-label:#fff;--waveform-track-label-bg:#2d2d2d;--accent-highlight:#a6610e;--status-success-deeper:#047857;--text-error-stack:#c62828;--surface-muted:#ebebeb;--border-muted:#b8b8b8;--surface-muted-hover:#dedede;--canvas-bg:var(--bg-secondary);--canvas-border:var(--border-primary);--item-gradient-start:#667eea;--item-gradient-end:#764ba2;--cursor-color:#f44;--cursor-glow:#f44c;--selection-bg:#1d4ed8;--selection-border:#60a5fa;--selection-hover:#2563eb;--file-drop-outline:#60a5fa;--countdown-red:#e53935;--countdown-green:#4caf50;--countdown-empty:#333}:root[data-theme=dark]{--bg-primary:#1d1d1e;--bg-secondary:#0f0f10;--bg-card:#1d1d1e;--bg-overlay:#000000e6;--bg-modal:#1d1d1e;--bg-input:#0f0f10;--text-primary:#ffffffde;--text-secondary:#ebebec;--text-tertiary:#a8a8a9;--text-inverse:#000;--text-on-accent-strong:#fff;--accent-primary:#2476a8;--accent-primary-hover:#1f6894;--accent-primary-active:#1a5276;--accent-primary-light:#aed6f1;--accent-primary-dark:#1a5276;--accent-secondary:#a6610e;--accent-secondary-hover:#8b4f09;--accent-secondary-active:#744208;--border-primary:#787878;--border-secondary:#3a3a3a;--border-focus:#2476a8;--status-success:#10b981;--status-success-dark:#059669;--status-warning:#f59e0b;--status-error:#f87171;--status-error-dark:#f05555;--shadow-color:#00000073;--shadow-accent:#2476a84d;--shadow-accent-strong:#2476a899;--shadow-accent-intense:#2476a8e6;--shadow-success-glow:#10b98180;--shadow-reset-hover:#a6610e66;--shadow-legend-text:#0000004d;--waveform-track-label:#fff;--waveform-track-label-bg:#0a0a0a;--accent-highlight:#a6610e;--status-success-deeper:#047857;--text-error-stack:#f87171;--surface-muted:#2a2a2a;--border-muted:#555;--surface-muted-hover:#3a3a3a;--canvas-bg:#1e1e1e;--canvas-border:#444;--item-gradient-start:#667eea;--item-gradient-end:#764ba2;--cursor-color:#f44;--cursor-glow:#f44c;--selection-bg:#1d4ed8;--selection-border:#60a5fa;--selection-hover:#2563eb;--file-drop-outline:#60a5fa;--countdown-red:#e53935;--countdown-green:#4caf50;--countdown-empty:#b3b3b4}:root[data-theme=high-contrast]{--bg-primary:#000;--bg-secondary:#000;--bg-card:#0a0a0a;--bg-overlay:#000000eb;--bg-modal:#000;--bg-input:#000;--text-primary:#fff;--text-secondary:#f5f5f5;--text-tertiary:#e8e8e8;--text-inverse:#000;--text-on-accent-strong:#000;--accent-primary:#0ff;--accent-primary-hover:#3ff;--accent-primary-active:#0cc;--accent-primary-light:#033;--accent-primary-dark:#099;--accent-secondary:#ff0;--accent-secondary-hover:#ff6;--accent-secondary-active:#cc0;--border-primary:#fff;--border-secondary:#fff;--border-focus:#ff0;--status-success:#0f0;--status-success-dark:#0c0;--status-warning:#f90;--status-error:#f66;--status-error-dark:#f33;--shadow-color:#ffffff40;--shadow-accent:#00ffff80;--shadow-accent-strong:#00ffffbf;--shadow-accent-intense:#00fffff2;--shadow-success-glow:#00ff0073;--shadow-reset-hover:#ffff0080;--shadow-legend-text:#ffffff59;--waveform-track-label:#fff;--waveform-track-label-bg:#000;--accent-highlight:#ff0;--status-success-deeper:#0a0;--text-error-stack:#faa;--surface-muted:#141414;--border-muted:#fff;--surface-muted-hover:#1f1f1f;--canvas-bg:#000;--canvas-border:#fff;--item-gradient-start:#06f;--item-gradient-end:#90f;--cursor-color:#ff0;--cursor-glow:#fffffff2;--selection-bg:#06c;--selection-border:#6cf;--selection-hover:#08f;--file-drop-outline:#0ff;--countdown-red:#f44;--countdown-green:#0f8;--countdown-empty:#fff}:root{--color-primary:#2476a8;--color-primary-dark:#1a5276;--color-primary-light:#aed6f1;--color-primary-sky:#5dade2;--color-primary-lavender:#bf5de2;--color-accent-orange:#a6610e;--color-accent-yellow:#f3f312;--color-accent-coral:#e74c3c;--color-neutral-black:#000;--color-neutral-charcoal:#1d1d1e;--color-neutral-gray:#696969;--color-neutral-light-gray:#ebebec;--color-neutral-white:#fff;--color-background:var(--bg-primary);--color-background-alt:var(--bg-secondary);--color-surface:var(--bg-card);--color-text-primary:var(--text-primary);--color-text-secondary:var(--text-secondary);--color-text-on-primary:var(--text-on-accent-strong);--color-border:var(--border-primary);--color-interactive-default:var(--accent-primary);--color-interactive-hover:var(--accent-primary-hover);--color-interactive-active:var(--accent-primary-active);--color-interactive-disabled:var(--text-tertiary);--font-family-base:"Segoe UI", -apple-system, BlinkMacSystemFont, "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-monospace:"Segoe UI Mono", "Cascadia Code", Consolas, "Courier New", monospace;--font-size-xs:.875rem;--font-size-sm:1rem;--font-size-base:1.125rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:2rem;--font-size-3xl:2.5rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.75;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-content-padding:var(--space-4);--space-section-gap:var(--space-8);--space-element-gap:var(--space-4);--touch-target-min:44px;--button-min-height:44px;--input-min-height:44px;--icon-size-sm:16px;--icon-size-md:24px;--icon-size-lg:32px;--border-width-thin:1px;--border-width-medium:2px;--border-width-thick:4px;--border-radius-sm:4px;--border-radius-md:8px;--border-radius-lg:12px;--border-radius-xl:16px;--border-radius-round:9999px;--shadow-sm:0 1px 2px var(--shadow-color);--shadow-md:0 4px 6px var(--shadow-color);--shadow-lg:0 10px 15px var(--shadow-color);--shadow-xl:0 20px 25px var(--shadow-color);--z-index-base:0;--z-index-dropdown:100;--z-index-sticky:200;--z-index-modal-backdrop:900;--z-index-modal:1000;--z-index-tooltip:1100;--transition-fast:.15s ease-in-out;--transition-base:.25s ease-in-out;--transition-slow:.35s ease-in-out;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--breakpoint-tablet:768px;--breakpoint-desktop:1024px}@media (width>=768px){:root{--space-content-padding:var(--space-6);--space-section-gap:var(--space-12);--font-size-base:1.125rem;--font-size-xl:1.75rem;--font-size-2xl:2.25rem;--font-size-3xl:3rem}}@media (width>=1024px){:root{--space-content-padding:var(--space-8);--space-section-gap:var(--space-16);--font-size-xl:2rem;--font-size-2xl:2.5rem;--font-size-3xl:3.5rem}}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;scroll-behavior:smooth}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark],:root[data-theme=high-contrast]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;min-height:100dvh}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-base)}h6{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}p{line-height:var(--line-height-normal)}a{color:var(--color-interactive-default);transition:color var(--transition-fast);text-decoration:underline}a:hover{color:var(--color-interactive-hover)}a:focus-visible{outline:2px solid var(--color-interactive-default);outline-offset:2px;border-radius:var(--border-radius-sm)}ul,ol{padding-left:var(--space-6)}li{line-height:var(--line-height-normal)}code,pre{font-family:var(--font-family-monospace);font-size:.9em}code{padding:var(--space-1) var(--space-2);background-color:var(--color-background-alt);border-radius:var(--border-radius-sm)}pre{padding:var(--space-4);background-color:var(--color-background-alt);border-radius:var(--border-radius-md);overflow-x:auto}pre code{background-color:#0000;padding:0}img,picture,video,canvas,svg{max-width:100%;height:auto;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--color-interactive-default);outline-offset:2px}input,textarea,select{min-height:var(--input-min-height)}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.sr-only,.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.focus-visible:focus-visible{outline:2px solid var(--color-interactive-default);outline-offset:2px}.skip-to-main{top:var(--space-2);left:var(--space-2);padding:var(--space-3) var(--space-4);background-color:var(--color-primary);color:var(--color-text-on-primary);border-radius:var(--border-radius-md);z-index:var(--z-index-tooltip);transition:transform var(--transition-fast);text-decoration:none;position:absolute;transform:translateY(-200%)}.skip-to-main:focus{transform:translateY(0)}.hidden{display:none!important}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.container{width:100%;max-width:1200px;padding-left:var(--space-content-padding);padding-right:var(--space-content-padding);margin-left:auto;margin-right:auto}[disabled],.disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.loading{cursor:wait;pointer-events:none}.popup-overlay{background:var(--bg-overlay);z-index:var(--z-index-modal);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.popup{background:var(--surface-muted);border-radius:var(--border-radius-lg);width:90%;max-width:500px;max-height:80vh;box-shadow:var(--shadow-xl);flex-direction:column;display:flex;overflow:hidden}.popup-header{padding:var(--space-4) var(--space-5);background:var(--surface-muted-hover);border-bottom:var(--border-width-thin) solid var(--canvas-border);justify-content:space-between;align-items:center;display:flex}.popup-header h2{font-size:var(--font-size-base);color:var(--text-primary);margin:0}.popup-close{border-radius:var(--border-radius-sm);width:28px;height:28px;color:var(--text-tertiary);font-size:var(--font-size-xl);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;line-height:1;display:flex}.popup-close:hover{background:var(--canvas-border);color:var(--text-primary)}.popup-content{padding:var(--space-5);overflow-y:auto}.icon-button{width:var(--icon-size-lg);height:var(--icon-size-lg);border-radius:var(--border-radius-round);background:var(--surface-muted-hover);color:var(--text-primary);border:var(--border-width-thin) solid var(--border-muted);font-size:var(--font-size-sm);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast);justify-content:center;align-items:center;display:flex}.icon-button:hover{background:var(--border-muted);border-color:var(--text-tertiary)}.volume-dropdown{position:relative}.volume-dropdown.open{z-index:100}.volume-dropdown-button{background:var(--surface-muted);color:var(--text-secondary);border:var(--border-width-thin) solid var(--border-muted);border-radius:var(--border-radius-sm);padding:0 var(--space-1);font-size:calc(var(--font-size-lg));cursor:pointer;line-height:1}.volume-dropdown-menu{z-index:10;margin:var(--space-1) 0 0;padding:var(--space-1) 0;background:var(--surface-muted);border:var(--border-width-thin) solid var(--border-muted);border-radius:var(--border-radius-sm);list-style:none;position:absolute;top:100%;right:0;box-shadow:0 4px 12px #00000026}.volume-dropdown-option{width:100%;padding:var(--space-1) var(--space-2);color:var(--text-secondary);font-size:calc(var(--font-size-sm));text-align:right;cursor:pointer;background:0 0;border:none;display:block}.volume-dropdown-option:hover{background:var(--surface-muted-hover)}.volume-dropdown-option.selected{color:var(--text-primary);font-weight:600}.audio-track-item{padding:var(--space-3);background:var(--surface-muted-hover);border-radius:var(--border-radius-sm);cursor:grab;transition:background var(--transition-fast);font-size:calc(var(--font-size-sm) * 1.2);justify-content:space-between;align-items:center;display:flex}.audio-track-item:hover{background:var(--border-muted)}.audio-track-item.selected{background:var(--selection-bg);outline:var(--border-width-medium) solid var(--selection-border);color:var(--text-on-accent-strong)}.audio-track-item.selected:hover{background:var(--selection-hover)}.audio-track-item.selected .audio-track-duration{color:#ffffffe0}.audio-track-item.selected .volume-dropdown-button{color:var(--text-on-accent-strong);background:#fff3;border-color:#ffffff73}.audio-track-item:active{cursor:grabbing}.audio-track-name{overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;flex:1;min-width:0;display:-webkit-box;overflow:hidden}.audio-track-meta{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.audio-track-duration{color:var(--text-tertiary);font-size:calc(var(--font-size-lg))}.audio-track-remove{border:var(--border-width-thin) solid var(--border-muted);border-radius:var(--border-radius-sm);background:var(--surface-muted);width:1.75rem;height:1.75rem;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1.25rem;line-height:1;display:inline-flex}.audio-track-remove:hover:not(:disabled){background:var(--surface-muted-hover);color:var(--text-primary)}.audio-track-remove:disabled{opacity:.45;cursor:not-allowed}.audio-track-item.selected .audio-track-remove{color:var(--text-on-accent-strong);background:#ffffff26;border-color:#ffffff59}.audio-track-item.selected .audio-track-remove:hover:not(:disabled){background:#ffffff47}.palette-header{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.palette-header__title{font-size:var(--font-size-base);margin:0}.palette-header__actions{gap:var(--space-2);align-items:center;display:flex}.palette-header__auto-remove-button{cursor:pointer;font-size:var(--font-size-lg);background-color:#0000;border:none;padding:0}.palette-header__file-add-label{cursor:pointer;padding:0 var(--space-2) var(--space-1) var(--space-2);border:var(--border-width-thin) solid var(--border-muted);border-radius:var(--border-radius-sm);background-color:var(--surface-muted);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);justify-content:center;align-items:center;line-height:1;display:inline-flex}.palette-header__file-input{display:none}.palette{width:100%;min-height:0;padding:var(--space-5);background:var(--surface-muted);flex:auto;overflow-y:auto}.palette.palette--file-drop{outline:var(--border-width-medium) dashed var(--file-drop-outline);outline-offset:calc(-1 * var(--space-1));background:var(--surface-muted-hover)}.file-list{gap:var(--space-2);flex-direction:column;display:flex}.help-build-time{font-size:var(--font-size-xs);color:var(--text-tertiary);margin-left:var(--space-3)}.help-content section{margin-bottom:var(--space-5)}.help-content section:last-child{margin-bottom:0}.help-content h3{margin:0 0 var(--space-3) 0;font-size:var(--font-size-xs);color:var(--status-success);text-transform:uppercase;letter-spacing:.5px}.help-content ul{padding-left:var(--space-5);margin:0;list-style:outside}.help-content li{margin-bottom:var(--space-2);color:var(--text-secondary);font-size:var(--font-size-xs);line-height:var(--line-height-normal)}.help-content li:last-child{margin-bottom:0}.help-content strong{color:var(--text-primary)}.help-content kbd{padding:var(--space-1) var(--space-2);font-family:var(--font-family-monospace);font-size:var(--font-size-xs);background:var(--surface-muted);border:var(--border-width-thin) solid var(--border-muted);border-radius:var(--border-radius-sm);color:var(--text-primary);display:inline-block}.help-note{margin-top:var(--space-3);font-size:var(--font-size-xs);color:var(--text-tertiary)}.theme-selector-popup{max-width:420px}.theme-selector-popup__body{padding-top:var(--space-4)}.theme-selector-option{align-items:flex-start;gap:var(--space-1);width:100%;margin-bottom:var(--space-3);padding:var(--space-4);text-align:left;border-radius:var(--border-radius-md);border:var(--border-width-thin) solid var(--border-primary);background:var(--bg-card);color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;display:flex}.theme-selector-option:last-child{margin-bottom:0}.theme-selector-option:hover{border-color:var(--border-focus);background:var(--surface-muted-hover)}.theme-selector-option:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.theme-selector-option--selected{border-color:var(--status-success);box-shadow:0 0 0 1px var(--shadow-success-glow);background:var(--surface-muted)}.theme-selector-option__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.theme-selector-option__hint{font-size:var(--font-size-xs);color:var(--text-secondary);line-height:var(--line-height-normal)}.theme-selector-option--selected .theme-selector-option__hint{color:var(--text-tertiary)}.controls-row{align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);display:flex}.controls-row .controls{gap:var(--space-3);align-items:center;display:flex}.controls-row .controls button{padding:var(--space-3) var(--space-5);background:var(--status-success);color:var(--text-on-accent-strong);border-radius:var(--border-radius-sm);cursor:pointer;font-size:var(--font-size-xs);transition:background var(--transition-fast);border:none}.controls-row .controls button:hover:not(:disabled){background:var(--status-success-dark)}.controls-row .controls button:disabled{background:var(--text-tertiary);cursor:not-allowed}.missing-songs-list{margin-top:var(--space-3);padding-left:var(--space-5)}.missing-songs-list li{color:var(--text-error-stack);margin-bottom:var(--space-2)}.timeline-shell{gap:var(--space-2);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.timeline-scroll{background:var(--canvas-bg);border:var(--border-width-medium) dashed var(--canvas-border);border-radius:var(--border-radius-md);flex:1;width:100%;min-width:0;max-width:100%;overflow:auto hidden}.timeline-canvas-container{position:relative}.timeline-canvas--static,.timeline-canvas--playhead{position:absolute;top:0;left:0}.workspace{flex-shrink:0;max-width:none;display:block}.countdown-bars{gap:var(--space-1);flex-direction:column;flex-shrink:0;width:100%;display:flex}.countdown-bar{height:var(--space-4);border-radius:var(--border-radius-sm);gap:var(--space-1);display:flex;overflow:hidden}.countdown-segment{min-width:0}.countdown-segment--empty{background:var(--countdown-empty)}.countdown-segment--red{background:var(--countdown-red)}.countdown-segment--green{background:var(--countdown-green)}.timeline-zoom-toolbar{align-items:center;gap:var(--space-4);flex-shrink:0;display:flex}.timeline-zoom-label{align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--text-secondary);display:flex}.timeline-zoom-select{background:var(--surface-muted);color:var(--text-secondary);border:var(--border-width-thin) solid var(--border-muted);border-radius:var(--border-radius-sm);padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);cursor:pointer}.time-display{font-family:var(--font-family-monospace);font-size:var(--font-size-sm);color:var(--status-success)}.volume-control{flex-direction:column;align-items:center;display:flex}.volume-text{font-size:var(--font-size-xs);color:var(--text-tertiary);margin-top:calc(-1 * var(--space-1))}.app{background:var(--bg-primary);height:100vh;color:var(--text-primary);display:flex;overflow:hidden}.palette-column{flex-direction:column;flex-shrink:0;min-width:0;display:flex;overflow:hidden}.layout-resize-handle{cursor:col-resize;touch-action:none;background:0 0;border:none;flex-shrink:0;width:8px;margin:0;padding:0;position:relative}.layout-resize-handle:after{content:"";background:var(--canvas-border);width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.layout-resize-handle:hover:after,.layout-resize-handle:focus-visible:after{background:var(--color-interactive-default);width:2px}.workspace-container{padding:var(--space-5);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}
