:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#c9c0b8;background-color:#3a3532;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#7a9b8a;text-decoration:inherit;transition:color .25s ease}a:hover{color:#8aafa0}body{margin:0;padding:0;min-width:320px;min-height:100vh;overflow-x:hidden}#root{width:100%;min-height:100vh}h1{font-size:3.2em;line-height:1.1;color:#d4cdc5}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#6b7f73;color:#e8e3dd;cursor:pointer;transition:all .25s ease}button:hover{background-color:#7a9b8a;color:#f2ede6}button:focus,button:focus-visible{outline:2px solid #7A9B8A;outline-offset:2px}[data-theme=light]{color:#5a524d;background-color:#f4eee8}[data-theme=light] a{color:#7a9b8a}[data-theme=light] a:hover{color:#8aafa0}[data-theme=light] button{background-color:#a3b8b0;color:#5a524d}[data-theme=light] button:hover{background-color:#8fa89d;color:#f4eee8}[data-theme=light] h1{color:#5a524d}@media(prefers-color-scheme:light){:root:not([data-theme]){color:#5a524d;background-color:#f4eee8}:root:not([data-theme]) a{color:#7a9b8a}:root:not([data-theme]) a:hover{color:#8aafa0}:root:not([data-theme]) button{background-color:#a3b8b0;color:#5a524d}:root:not([data-theme]) button:hover{background-color:#8fa89d;color:#f4eee8}}.theme-toggle{background:none;border:none;cursor:pointer;padding:.5rem;color:inherit;display:flex;align-items:center;justify-content:center;transition:opacity .2s ease}.theme-toggle:hover{opacity:.7}.theme-toggle:active{opacity:.5}.play-button{background:none;border:none;cursor:pointer;padding:0;color:inherit;display:flex;align-items:center;justify-content:center}.stem-controls{display:flex;flex-direction:column;gap:.5rem}.stem-buttons{display:flex;gap:.5rem}.solo-button,.mute-button{min-width:32px;height:24px;padding:0 .5rem;font-size:.75rem;font-weight:600;border:1px solid rgba(138,175,160,.4);border-radius:4px;background-color:#8aafa01a;color:#e8e3dd;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.solo-button:hover,.mute-button:hover{background-color:#8aafa033;border-color:#8aafa099}.solo-button.active{background-color:#f973164d;border-color:#f97316;color:#f97316}.mute-button.active{background-color:#ef44444d;border-color:#ef4444;color:#ef4444}[data-theme=light] .solo-button,[data-theme=light] .mute-button{color:#5a524d;background-color:#a3b8b033;border-color:#a3b8b066}[data-theme=light] .solo-button:hover,[data-theme=light] .mute-button:hover{background-color:#a3b8b04d;border-color:#a3b8b099}[data-theme=light] .solo-button.active{background-color:#f9731633;border-color:#f97316;color:#f97316}[data-theme=light] .mute-button.active{background-color:#ef444433;border-color:#ef4444;color:#ef4444}.stem-volume{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-secondary, #9ca3af)}.stem-volume input[type=range]{flex:1;height:3px;padding:0}.stem-card{display:flex;gap:1rem;align-items:center;padding:.2rem;width:90%;margin:0 auto}.stem-meta{min-width:220px;display:flex;flex-direction:column;gap:0rem;padding:.75rem 1rem;border-radius:.65rem;background-color:#e8e3dd1a}.stem-name{font-size:.95rem;font-weight:600;color:#e8e3dd}.stem-waveform-container{flex:1;min-width:0;height:80px;display:flex;align-items:center;position:relative}.stem-waveform{width:100%;height:100%;position:relative}[data-theme=light] .stem-name{color:#5a524d}[data-theme=light] .stem-meta{background-color:#fff3}.combined-mix-card{border-bottom:1px solid rgba(255,255,255,.2);margin-bottom:.5rem;padding-bottom:.5rem}[data-theme=light] .combined-mix-card{border-bottom:1px solid rgba(0,0,0,.2)}.mixer-controls{display:flex;align-items:center;justify-content:center;gap:1rem;width:100%}.play-all-button{color:#e8e3dd;background-color:#8aafa04d;border:2px solid #8AAFA0;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .25s ease;padding:0;flex-shrink:0}.play-all-button:hover{background-color:#8aafa080;border-color:#9bb8a8;transform:scale(1.05)}.play-all-button:active{transform:scale(.95)}.play-all-button svg{width:24px;height:24px}[data-theme=light] .play-all-button{color:#5a524d;background-color:#a3b8b066;border-color:#a3b8b0}[data-theme=light] .play-all-button:hover{background-color:#a3b8b099;border-color:#8fa89d}.memory-monitor{background:var(--bg-secondary, #f5f5f5);border:1px solid var(--border-color, #ddd);border-radius:8px;padding:12px;font-size:12px;margin:8px 0}.memory-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.memory-header h4{margin:0;font-size:14px;font-weight:600}.memory-status{padding:2px 8px;border-radius:4px;font-weight:600;font-size:11px}.memory-status.ok{background:#d4edda;color:#155724}.memory-status.warning{background:#fff3cd;color:#856404}.memory-status.critical{background:#f8d7da;color:#721c24}.memory-details{margin-bottom:12px}.memory-bar{width:100%;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden;margin-bottom:8px}.memory-progress{height:100%;transition:width .3s ease}.memory-progress.ok{background:#28a745}.memory-progress.warning{background:#ffc107}.memory-progress.critical{background:#dc3545}.memory-stats{display:flex;justify-content:space-between;gap:8px}.stat{display:flex;flex-direction:column;align-items:center;flex:1}.stat-label{font-size:10px;color:#666;margin-bottom:2px}.stat-value{font-weight:600;font-size:11px}.file-size-info{border-top:1px solid #ddd;padding-top:8px;margin-top:8px}.file-header{display:flex;justify-content:space-between;margin-bottom:4px;font-size:11px}.audio-estimate{display:flex;align-items:center;gap:4px;font-size:10px;color:#666;margin-top:4px}.estimate-label{font-weight:500}.estimate-value{font-weight:600;color:#333}.estimate-note{font-style:italic;color:#999}.memory-recommendations{border-top:1px solid #ddd;padding-top:8px;margin-top:8px}.recommendations-header{font-weight:600;font-size:11px;margin-bottom:6px}.recommendations-list{display:flex;flex-direction:column;gap:4px}.recommendation{display:flex;justify-content:space-between;font-size:10px}.recommendation strong{color:#333}.memory-warning{background:#fff3cd;border:1px solid #ffc107;border-radius:4px;padding:6px;margin-top:8px;font-size:10px;color:#856404}.memory-info.unavailable{text-align:center;padding:8px;color:#666}.memory-hint{font-size:10px;margin-top:4px}.home-container{min-height:calc(100vh - 60px);display:flex;align-items:center;justify-content:center;padding:40px 20px;width:100%;box-sizing:border-box}.home-content{max-width:1000px;width:100%;text-align:center}.home-title{font-size:3rem;font-weight:700;margin:0 0 20px;color:#e8e3dd}.home-subtitle{font-size:1.25rem;margin:0 0 50px;color:#b8afa6;line-height:1.6}.home-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px;margin-top:40px}.home-card{background-color:#5a524d;padding:30px;border-radius:12px;box-shadow:0 2px 8px #0000004d;transition:transform .25s ease,box-shadow .25s ease}.home-card:hover{transform:translateY(-5px);box-shadow:0 4px 16px #0006}.home-card h3{font-size:1.5rem;margin:0 0 15px;color:#e8e3dd}.home-card p{margin:0;color:#c9c0b8;line-height:1.6}@media(max-width:768px){.home-title{font-size:2rem}.home-subtitle{font-size:1rem}.home-cards{grid-template-columns:1fr}}[data-theme=light] .home-title{color:#5a524d}[data-theme=light] .home-subtitle{color:#7a7268}[data-theme=light] .home-card{background-color:#ddd5ce}[data-theme=light] .home-card h3{color:#5a524d}[data-theme=light] .home-card p{color:#6b635a}@media(prefers-color-scheme:light){:root:not([data-theme]) .home-title{color:#5a524d}:root:not([data-theme]) .home-subtitle{color:#7a7268}:root:not([data-theme]) .home-card{background-color:#ddd5ce}:root:not([data-theme]) .home-card h3{color:#5a524d}:root:not([data-theme]) .home-card p{color:#6b635a}}.audio-split-container{display:flex;flex-direction:column;gap:0;padding:0;margin:0;width:100%;min-height:calc(100vh - 60px)}.window{background-color:#5a524d;border-radius:8px;padding:30px;box-shadow:0 2px 8px #0000004d}.title-window{background-color:#4a4441;text-align:center;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:0;border-left:none;border-right:none;border-top:none}.title-window h1{margin:0 0 10px;color:#e8e3dd;font-size:2.5em}.title-window p{margin:0;color:#b8afa6;font-size:1.1em}.upload-window{background-color:#5a524d;flex:1;display:flex;align-items:center;justify-content:center;border-radius:0;border-left:none;border-right:none;border-bottom:none}.upload-content{text-align:center}.upload-button{display:inline-block;padding:15px 40px;font-size:1.2em;font-weight:500;color:#e8e3dd;background-color:#8c736f;border:none;border-radius:8px;cursor:pointer;transition:all .25s ease}.upload-button:hover{background-color:#a08679;color:#f2ede6;transform:translateY(-2px)}.upload-button:active{transform:translateY(0)}.upload-hint{margin-top:15px;color:#a39a91;font-size:.9em}.file-info{margin-top:30px;padding:20px;background-color:#7a9b8a26;border:2px solid #7A9B8A;border-radius:12px;text-align:left;max-width:500px;margin-left:auto;margin-right:auto}.file-info-header{display:flex;align-items:center;gap:10px;margin-bottom:15px;color:#8aafa0;font-size:1.1em;font-weight:600}.file-info-header svg{flex-shrink:0}.file-details{margin-top:10px}.file-details p{margin:8px 0;color:#c9c0b8;font-size:.95em;line-height:1.6}.file-details strong{color:#d4cdc5;margin-right:8px}.upload-progress{margin-top:20px;text-align:center}.upload-progress p{margin-top:10px;color:#c9c0b8;font-size:.95em}.spinner{width:40px;height:40px;margin:0 auto;border:4px solid rgba(138,175,160,.3);border-top:4px solid #8AAFA0;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.upload-error{margin-top:20px;padding:15px;background-color:#b4646426;border:2px solid #B46464;border-radius:12px;display:flex;align-items:center;gap:10px;color:#d49090;max-width:500px;margin-left:auto;margin-right:auto}.upload-error svg{flex-shrink:0}.upload-button:disabled{opacity:.6;cursor:not-allowed}.status-window{background-color:#4a4441;flex:1;display:flex;align-items:center;justify-content:center;border-radius:0;border:none}.status-content{text-align:center;max-width:600px;width:100%}.status-indicator{display:flex;flex-direction:column;align-items:center;gap:20px}.status-indicator h2{margin:0;font-size:2rem;color:#e8e3dd}.status-indicator p{margin:0;color:#b8afa6;font-size:1.1em}.status-indicator.splitting .spinner{width:60px;height:60px;border-width:5px}.status-indicator.done svg{color:#8aafa0}.status-indicator.error svg{color:#d49090}.download-button{margin-top:30px;display:inline-flex;align-items:center;gap:10px;padding:15px 40px;font-size:1.2em;font-weight:600;color:#e8e3dd;background-color:#8c736f;border:none;border-radius:8px;cursor:pointer;transition:all .25s ease}.download-button:hover{background-color:#a08679;color:#f2ede6;transform:translateY(-2px)}.download-button:active{transform:translateY(0)}.download-button svg{flex-shrink:0}[data-theme=light] .window{box-shadow:0 2px 8px #0000000f}[data-theme=light] .title-window{background-color:#b5b8b1}[data-theme=light] .title-window h1{color:#5a524d}[data-theme=light] .title-window p{color:#7a7268}[data-theme=light] .upload-window{background-color:#f4eee8}[data-theme=light] .upload-button{background-color:#a3b8b0;color:#5a524d}[data-theme=light] .upload-button:hover{background-color:#8fa89d;color:#f4eee8}[data-theme=light] .upload-hint{color:#8a857d}[data-theme=light] .file-info{background-color:#7a9b8a1a;border-color:#7a9b8a}[data-theme=light] .file-info-header{color:#7a9b8a}[data-theme=light] .file-details p{color:#5a524d}[data-theme=light] .file-details strong{color:#3a3532}[data-theme=light] .upload-progress p{color:#5a524d}[data-theme=light] .spinner{border-color:#7a9b8a4d;border-top-color:#7a9b8a}[data-theme=light] .upload-error{background-color:#b464641a;border-color:#a05050;color:#a05050}[data-theme=light] .status-window{background-color:#e8ded2}[data-theme=light] .status-indicator h2{color:#5a524d}[data-theme=light] .status-indicator p{color:#7a7268}[data-theme=light] .status-indicator.done svg{color:#7a9b8a}[data-theme=light] .status-indicator.error svg{color:#a05050}[data-theme=light] .download-button{background-color:#a3b8b0;color:#5a524d}[data-theme=light] .download-button:hover{background-color:#8fa89d;color:#f4eee8}@media(prefers-color-scheme:light){:root:not([data-theme]) .window{box-shadow:0 2px 8px #0000000f}:root:not([data-theme]) .title-window{background-color:#b5b8b1}:root:not([data-theme]) .title-window h1{color:#5a524d}:root:not([data-theme]) .title-window p{color:#7a7268}:root:not([data-theme]) .upload-window{background-color:#f4eee8}:root:not([data-theme]) .upload-button{background-color:#a3b8b0;color:#5a524d}:root:not([data-theme]) .upload-button:hover{background-color:#8fa89d;color:#f4eee8}:root:not([data-theme]) .upload-hint{color:#8a857d}:root:not([data-theme]) .file-info{background-color:#7a9b8a1a;border-color:#7a9b8a}:root:not([data-theme]) .file-info-header{color:#7a9b8a}:root:not([data-theme]) .file-details p{color:#5a524d}:root:not([data-theme]) .file-details strong{color:#3a3532}:root:not([data-theme]) .upload-progress p{color:#5a524d}:root:not([data-theme]) .spinner{border-color:#7a9b8a4d;border-top-color:#7a9b8a}:root:not([data-theme]) .upload-error{background-color:#b464641a;border-color:#a05050;color:#a05050}:root:not([data-theme]) .status-window{background-color:#e8ded2}:root:not([data-theme]) .status-indicator h2{color:#5a524d}:root:not([data-theme]) .status-indicator p{color:#7a7268}:root:not([data-theme]) .status-indicator.done svg{color:#7a9b8a}:root:not([data-theme]) .status-indicator.error svg{color:#a05050}:root:not([data-theme]) .download-button{background-color:#a3b8b0;color:#5a524d}:root:not([data-theme]) .download-button:hover{background-color:#8fa89d;color:#f4eee8}}.stems-preview .stems-grid{display:flex;flex-direction:column;gap:0}.status-window .status-content{max-width:100%;width:100%;padding:0 2rem}.stems-preview{width:100%;max-width:100%}.waveform-bar{width:100%;height:4px;background-color:#8aafa033;border-radius:2px;overflow:hidden;margin:1rem 0}.waveform-progress{height:100%;background-color:#8aafa0;transition:width .1s linear}.nav{position:fixed;top:0;left:0;right:0;width:100%;padding:20px 30px;background-color:#4a4441;z-index:1000;box-shadow:0 2px 8px #0000004d;display:flex;justify-content:space-between;align-items:center;box-sizing:border-box}.nav-right-actions{display:flex;align-items:center}.app-content{margin-top:60px;width:100%;overflow-x:hidden}.nav-links{display:flex;align-items:center}.nav-link{color:#d4cdc5;text-decoration:none;margin-right:20px;font-weight:500;transition:color .25s ease}.nav-link:hover{color:#8aafa0}.nav-link:last-child{margin-right:0}.theme-toggle{background-color:transparent;border:2px solid #D4CDC5;color:#d4cdc5;padding:8px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s ease;flex-shrink:0;margin-left:20px}.nav-button{margin-left:12px;border:2px solid #d4cdc5;background:transparent;color:#d4cdc5;border-radius:10px;padding:7px 12px;cursor:pointer;transition:all .25s ease}.nav-button:hover{color:#a88772;border-color:#a88772;background-color:#d4cdc51a}.theme-toggle:hover{background-color:#d4cdc51a;border-color:#8aafa0;color:#8aafa0;transform:scale(1.05)}.theme-toggle:active{transform:scale(.95)}[data-theme=light] .nav{background-color:#b5b8b1}[data-theme=light] .nav-link{color:#5a524d}[data-theme=light] .nav-link:hover{color:#7a9b8a}[data-theme=light] .theme-toggle,[data-theme=light] .nav-button{border-color:#5a524d;color:#5a524d}[data-theme=light] .nav-button:hover{color:#7a9b8a;border-color:#7a9b8a;background-color:#5a524d1a}[data-theme=light] .theme-toggle:hover{background-color:#5a524d1a;border-color:#7a9b8a;color:#7a9b8a}.app-wrapper{width:100%;min-height:100vh}.auth-shell{min-height:calc(100vh - 80px);display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,420px);background:#ffffff0a;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:24px;display:grid;gap:12px}.auth-subtitle{margin-top:-4px;opacity:.85}.auth-label{display:grid;gap:8px;font-size:.95rem}.auth-input{border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:10px 12px;background:transparent;color:inherit}.auth-button,.auth-link-button{border-radius:10px;padding:10px 12px;cursor:pointer}.auth-button{border:none;background:#c9c0b8;color:#1f2521;font-weight:600}.auth-button:hover:not(:disabled){background:#96705a}.auth-button:disabled{opacity:.5;cursor:not-allowed}.auth-link-button{border:none;background:#c9c0b8;color:#1f2521;font-weight:600}.auth-link-button:hover{background:#96705a}.auth-error{color:#f0a6a6;font-size:.9rem;margin:0}[data-theme=light] .auth-card{background:#f4f2ef;border:1px solid #bcb4ad;box-shadow:0 8px 24px #5a524d1f}[data-theme=light] .auth-input{background:#fff;border:1px solid #9c938b}[data-theme=light] .auth-input:focus{outline:2px solid rgba(122,155,138,.35);outline-offset:1px;border-color:#7a9b8a}[data-theme=light] .auth-link-button{border:none}[data-theme=light] .auth-button:hover:not(:disabled),[data-theme=light] .auth-link-button:hover{background:#7a9b8a}[data-theme=light] .auth-error{color:#b53f3f}@media(max-width:768px){.nav{padding:15px 20px}.nav-link{margin-right:15px;font-size:.9rem}.theme-toggle{padding:6px;margin-left:15px}.nav-button{margin-left:8px;padding:6px 10px;font-size:.85rem}.theme-toggle svg{width:18px;height:18px}}
