:root{--bg:#0b1012;--panel:#14191b;--muted:#8c989a;--line:#2b3436;--lime:#c9fa73;--white:#f5f7f1;--body:#dce2dc;--shadow:0 28px 90px rgba(0,0,0,.2)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--body);font-family:Inter,"Avenir Next",Avenir,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,a{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:3px solid var(--lime);outline-offset:4px}[hidden]{display:none!important}
.ambient{position:absolute;pointer-events:none;z-index:-1;border-radius:50%;filter:blur(90px);opacity:.21}.ambient-a{width:540px;height:540px;right:-160px;top:30px;background:#667f32}.ambient-b{width:530px;height:530px;left:-250px;top:550px;background:#3c5456}.shell{max-width:1340px;margin:auto;padding:0 46px;overflow:visible}.topbar{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.085)}.brand{text-decoration:none;display:inline-flex;align-items:center;gap:12px;font-size:23px;letter-spacing:-1.2px;font-weight:850;color:var(--white)}.brand-mark{background:var(--lime);width:39px;height:39px;border-radius:12px;display:grid;place-items:center}.brand-dot{color:var(--lime)}.privacy-pill{display:inline-flex;align-items:center;gap:10px;border:1px solid #3b4843;background:rgba(18,26,24,.8);border-radius:100px;padding:10px 16px;font-size:10px;font-weight:800;letter-spacing:1.5px;color:#b6c8be}.status-dot,.live-dot{display:inline-block;border-radius:100%;background:var(--lime);width:7px;height:7px;box-shadow:0 0 12px rgba(201,250,115,.6)}
.intro{padding:61px 0 42px;max-width:850px}.eyebrow{display:flex;align-items:center;gap:13px;font-size:11px;letter-spacing:2.6px;font-weight:850;color:var(--lime)}.eyebrow-line{display:inline-block;width:28px;height:1px;background:var(--lime)}.intro h1{margin:12px 0 13px;font-weight:770;letter-spacing:-4.4px;font-size:clamp(52px,6vw,79px);line-height:1.06;color:var(--white)}.intro h1 em{font-style:normal;color:var(--lime)}.intro p{max-width:570px;color:#9ba7a8;font-size:16px;line-height:1.68;margin:0}.workspace{display:grid;grid-template-columns:minmax(0,1.07fr) minmax(0,.93fr);gap:19px;align-items:stretch}.surface{background:#141a1b;border:1px solid #30383a;border-radius:22px;box-shadow:var(--shadow)}.control-panel{padding:31px 32px 26px;min-width:0}.section-title{display:flex;align-items:flex-start;gap:15px;margin-bottom:20px}.section-number{border:1px solid #455345;border-radius:6px;padding:6px 8px;color:var(--lime);font-size:10px;letter-spacing:.5px;font-weight:850;line-height:1}.section-title h2,.format-heading{font-size:17px;letter-spacing:-.3px;font-weight:740;color:var(--white);margin:-4px 0 2px}.section-title p,.format-description{color:var(--muted);font-size:12px;margin:0}.upload-area{border:1.5px dashed #53605c;border-radius:15px;background:#191f20;min-height:194px;display:flex;align-items:center;justify-content:center;text-align:center;transition:background .2s,border-color .2s;position:relative;cursor:pointer}.upload-area:hover,.upload-area.is-dragging{border-color:var(--lime);background:#1d2724}.upload-empty{padding:20px}.upload-icon{margin:0 auto 13px;color:var(--lime);background:#27342b;border:1px solid #405740;width:57px;height:57px;border-radius:14px;display:grid;place-items:center}.upload-empty p{line-height:1.6;font-size:13px;color:#9ba5a7;margin:0 0 14px}.upload-empty strong{color:#e5ebdf;font-size:14px}.browse{color:var(--lime);font-weight:750}.upload-empty small{color:#778588;font-size:9px;letter-spacing:1.1px;font-weight:800}.upload-chosen{display:flex;align-items:center;gap:14px;width:100%;padding:24px;text-align:left}.file-illustration{width:50px;height:50px;background:#26352c;border-radius:12px;color:var(--lime);font-size:32px;font-weight:700;display:grid;place-items:center}.file-copy{min-width:0;flex:1;display:flex;flex-direction:column}.file-copy strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--white)}.file-copy small{color:var(--muted);font-size:11px;margin-top:5px}.change-file{border:0;background:transparent;color:var(--lime);font-size:10px;letter-spacing:1px;font-weight:850;padding:10px}.source-preview{margin-top:13px;padding:12px 14px;background:#1a2222;border-radius:12px;border:1px solid #2f3e39}.preview-label{font-size:9px;letter-spacing:1.2px;color:var(--muted);font-weight:800;display:flex;align-items:center;gap:10px;margin-bottom:8px}.source-preview audio{width:100%;height:35px;color-scheme:dark}.divider{height:1px;background:#2d3637;margin:28px 0 25px}.mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.mode-button{position:relative;text-align:left;display:flex;flex-direction:column;align-items:flex-start;padding:19px 13px 15px;min-height:134px;background:#1b2223;border:1px solid #374243;color:var(--body);border-radius:12px;transition:.2s}.mode-button:hover{border-color:#8aa77e}.mode-button.is-selected{border-color:var(--lime);background:#252f28;box-shadow:inset 0 0 0 1px rgba(201,250,115,.14)}.mode-count{color:#e5eee5;font-size:26px;line-height:1;letter-spacing:-.7px;font-weight:780}.is-selected .mode-count{color:var(--lime)}.mode-name{color:#edf2ea;font-weight:750;font-size:12px;margin-top:13px}.mode-description{color:#8e9a99;font-size:10px;line-height:1.35;margin-top:3px}.recommended{position:absolute;right:8px;top:9px;background:var(--lime);border-radius:4px;color:#152016;padding:3px 5px;font-size:7px;letter-spacing:.6px;font-weight:900}.stem-preview{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px;min-height:23px}.stem-token{font-size:9px;font-weight:850;letter-spacing:.8px;border-radius:5px;padding:7px 9px;border:1px solid #4d5b56;color:#cad3cd}.stem-token.vocals{border-color:#b28c84;background:#342d2a;color:#ffc4b2}.stem-token.drums{border-color:#6960a1;background:#2d2a3a;color:#c4baff}.stem-token.bass{border-color:#6b9673;background:#27392c;color:#b9e8b9}.stem-token.other{border-color:#7c8e9f;background:#263139;color:#b2d4e7}.stem-token.guitar{border-color:#b39462;background:#352f24;color:#f5d59d}.stem-token.piano{border-color:#9c78a0;background:#362c39;color:#e5bdea}.format-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.format-heading{margin:0 0 2px}.format-switch{border:1px solid #43504b;display:flex;background:#0e1516;border-radius:9px;padding:4px;gap:3px}.format-button{border:0;background:transparent;border-radius:6px;padding:7px 15px;color:#889696;font-size:11px;font-weight:850;letter-spacing:.5px}.format-button.is-selected{background:#3c4d3e;color:var(--lime)}.format-hint{font-size:11px;color:#7d8b89;margin:16px 0 24px}.primary-button{height:57px;border:0;border-radius:12px;width:100%;background:var(--lime);display:flex;align-items:center;justify-content:center;position:relative;color:#13210b;font-size:14px;font-weight:850;transition:transform .18s,background .18s}.primary-button:not(:disabled):hover{background:#dbff9d;transform:translateY(-2px)}.primary-button:disabled{background:#52604c;color:#adb5a8;opacity:.75}.button-arrow{position:absolute;right:19px;font-size:23px;font-weight:500}.bottom-note{color:#7d8b86;font-size:10px;display:flex;align-items:center;justify-content:center;gap:8px;margin:15px 0 0;text-align:center}.bottom-note svg{flex:none}
.display-panel{display:flex;flex-direction:column;gap:19px;min-width:0}.display-card{padding:26px;min-height:656px;position:relative;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(ellipse at 54% 34%,#283c31 0,#1a2524 42%,#101819 79%)}.display-card:after{content:"";pointer-events:none;position:absolute;inset:0;background-image:linear-gradient(rgba(220,250,200,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(220,250,200,.018) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,black,transparent 80%)}.display-top{display:flex;align-items:center;justify-content:space-between;z-index:1;color:#9cbbad;font-size:10px;letter-spacing:1.4px;font-weight:800}.display-index{color:#71837f}.visual-center{flex:1;min-height:300px;position:relative;display:flex;align-items:center;justify-content:center}.disc-ring{position:absolute;border:1px solid rgba(180,230,178,.09);border-radius:50%;width:min(88%,370px);aspect-ratio:1}.disc-ring:before,.disc-ring:after{content:"";position:absolute;inset:12%;border:1px solid rgba(180,230,178,.09);border-radius:50%}.disc-ring:after{inset:26%}.disc-ring-inner{width:min(65%,260px);border-color:rgba(201,250,115,.12);box-shadow:0 0 70px rgba(201,250,115,.06),inset 0 0 55px rgba(201,250,115,.035)}.waveform{position:relative;z-index:1;width:100%;height:175px;display:flex;align-items:center;justify-content:center;gap:3.5px;filter:drop-shadow(0 0 21px rgba(201,250,115,.23))}.waveform i{width:4px;min-width:2px;border-radius:7px;background:linear-gradient(to bottom,#e2ffa0,#b6ed70 50%,#84ab66);height:var(--bar-height);opacity:.9;animation:breathe 1.8s ease-in-out infinite alternate;animation-delay:var(--delay)}@keyframes breathe{from{transform:scaleY(.75);opacity:.63}to{transform:scaleY(1.08);opacity:1}}.visual-bottom{z-index:1;padding:0 9px 14px}.visual-overline{font-size:10px;letter-spacing:1.9px;color:var(--lime);font-weight:850}.visual-bottom h2,.processing-info h2{font-size:clamp(33px,3.3vw,44px);line-height:1.08;letter-spacing:-1.6px;color:var(--white);margin:12px 0}.lime-period{color:var(--lime)}.visual-bottom p,.processing-info p{font-size:12px;color:#9baca7;max-width:280px;line-height:1.65;margin:0}.processing-info{z-index:1;padding:0 9px 16px}.processing-tag{font-size:10px;letter-spacing:1.9px;font-weight:850;color:var(--lime);display:flex;align-items:center;gap:9px}.spinning-dot{width:9px;height:9px;border-radius:50%;background:var(--lime);box-shadow:0 0 15px var(--lime);animation:pulse 1s infinite alternate}@keyframes pulse{to{opacity:.3}}.progress-track{height:6px;background:#374842;border-radius:20px;overflow:hidden;margin:25px 0 11px}.progress-running{background:var(--lime);height:100%;width:38%;border-radius:20px;animation:slide 1.65s infinite ease-in-out}@keyframes slide{0%{transform:translateX(-105%)}100%{transform:translateX(285%)}}.process-footnote{font-size:10px;color:#849791;line-height:1.6;display:block}.cancel-button{margin-top:18px;background:transparent;border:1px solid #617269;border-radius:9px;color:#c8d8c9;padding:8px 13px;font-size:11px;font-weight:750}.cancel-button:hover{border-color:var(--lime);color:var(--lime)}.is-processing .waveform i{animation-duration:.7s}.feature-strip{min-height:102px;padding:20px;display:flex;align-items:center;gap:17px}.feature-icon{width:52px;height:52px;border:1px solid #52614c;background:#253328;border-radius:14px;color:var(--lime);font-size:32px;display:grid;place-items:center;flex-shrink:0}.feature-strip strong{display:block;color:#edf3e8;font-size:13px;letter-spacing:-.1px}.feature-strip p{font-size:11px;line-height:1.45;color:#91a09e;margin:5px 0 0}.feature-arrow{color:#96ae9a;font-size:18px;margin-left:auto;align-self:flex-start}
.results{margin:55px 0 0;animation:appear .5s ease-out}@keyframes appear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.results-header{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:21px}.results-kicker{font-size:10px;font-weight:850;letter-spacing:1.6px;color:var(--lime);display:flex;gap:9px;align-items:center}.results-header h2{font-size:clamp(30px,4vw,44px);line-height:1.1;letter-spacing:-1.5px;color:#f4f6ef;margin:9px 0}.results-header p{color:#99a6a2;font-size:13px;margin:0}.results-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.outline-button,.zip-button{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:0 16px;border-radius:9px;font-size:12px;font-weight:800;white-space:nowrap}.outline-button{border:1px solid #54625c;color:#d5ddd7;background:transparent}.outline-button:hover{border-color:var(--lime)}.zip-button{background:var(--lime);color:#18240f;border:1px solid var(--lime)}.zip-button:hover{background:#e2ffb3}.stem-results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.result-card{min-width:0;border-radius:17px;background:#171e20;border:1px solid #34403e;padding:22px}.result-head{display:flex;gap:14px;align-items:center;margin-bottom:18px}.result-icon{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;font-size:25px;font-weight:600}.result-icon.vocals{background:#442c2d;color:#ffd0c0}.result-icon.no_vocals{background:#393a2b;color:#e5ebad}.result-icon.drums{background:#332a4b;color:#cfc1ff}.result-icon.bass{background:#25412e;color:#bef6c7}.result-icon.other{background:#273b49;color:#b5dfff}.result-icon.guitar{background:#483722;color:#ffe0a5}.result-icon.piano{background:#413044;color:#f8d2ff}.result-name{font-size:16px;font-weight:820;color:var(--white)}.result-size{color:#8c9b99;font-size:11px;margin-top:2px}.result-card audio{width:100%;height:40px;color-scheme:dark}.result-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #303d39;margin-top:15px;padding-top:14px}.result-bottom span{color:#82958e;font-size:10px;letter-spacing:1px;font-weight:800}.result-bottom a{text-decoration:none;font-size:11px;color:var(--lime);font-weight:850;letter-spacing:.2px}.result-bottom a:hover{text-decoration:underline}.results-tip{text-align:center;color:#879992;font-size:11px;margin:22px 0 0}.error-message{background:#392222;border:1px solid #88514f;color:#ffb9b4;padding:15px 19px;border-radius:13px;margin:22px 0}.site-footer{border-top:1px solid #283234;margin-top:80px;padding:28px 0 35px;display:flex;justify-content:space-between;align-items:center;gap:14px;color:#748481;font-size:9px;font-weight:850;letter-spacing:1.6px}
@media(max-width:1050px){.shell{padding:0 26px}.display-card{min-height:630px}.intro{padding-top:50px}.control-panel{padding:25px}.mode-button{padding:18px 10px 12px}.mode-description{font-size:9px}}@media(max-width:850px){.workspace{grid-template-columns:1fr}.display-card{min-height:460px}.visual-center{min-height:260px}.display-panel{flex-direction:row;align-items:stretch}.display-card{flex:1}.feature-strip{flex-direction:column;justify-content:center;align-items:flex-start;width:220px}.feature-arrow{display:none}.site-footer{margin-top:55px}.intro h1{letter-spacing:-3px}}@media(max-width:610px){.shell{padding:0 16px}.topbar{height:80px}.brand{font-size:21px}.privacy-pill{font-size:8px;padding:8px 10px;letter-spacing:1px}.intro{padding:42px 0 30px}.intro h1{font-size:48px;letter-spacing:-2.6px}.intro p{font-size:14px}.control-panel{padding:21px 17px}.mode-grid{gap:6px}.mode-count{font-size:22px}.mode-button{padding:16px 8px 12px;min-height:139px}.mode-name{font-size:10px}.mode-description{font-size:9px}.recommended{right:5px;top:5px;font-size:6px}.upload-empty small{font-size:8px;line-height:1.5;display:block}.display-panel{flex-direction:column}.display-card{min-height:470px}.feature-strip{width:100%;flex-direction:row;justify-content:flex-start}.results-header{align-items:flex-start;flex-direction:column}.results-actions{width:100%}.stem-results-grid{grid-template-columns:1fr}.site-footer{flex-wrap:wrap;gap:12px;font-size:8px}.site-footer span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}

/* Phone-first additions */
.length-row{display:flex;align-items:center;justify-content:space-between;gap:13px}.length-switch{display:flex;gap:4px;border:1px solid #43504b;background:#0e1516;border-radius:9px;padding:4px}.length-button{border:0;background:transparent;border-radius:6px;color:#9aa9a4;padding:8px 12px;white-space:nowrap;font-size:11px;font-weight:800}.length-button.is-selected{background:#3c4d3e;color:var(--lime)}.mobile-hint{font-size:11px;color:#aeb9ac;margin:13px 0 0;line-height:1.5}.small-divider{margin:21px 0 24px}.privacy-pill{white-space:nowrap}.progress-track .progress-running{animation:none;transform:none;width:0%;transition:width .2s ease-out}.processing-info .process-footnote{max-width:340px}.feature-strip p{max-width:340px}.result-card a{touch-action:manipulation}.format-button,.length-button,.mode-button{touch-action:manipulation}
@media(max-width:610px){.length-row{flex-direction:column;align-items:stretch}.length-switch{align-self:flex-start}.primary-button{min-height:58px}.privacy-pill{font-size:7px;letter-spacing:.3px;padding:8px 9px}}

/* Model-loading recovery (v2). */
.model-help{margin:20px 0 0;border:1px solid #52645b;border-radius:12px;padding:13px 14px;background:#1b2624;color:#ccd9cd}
.model-help summary{cursor:pointer;color:var(--lime);font-weight:820;font-size:12px;line-height:1.55;touch-action:manipulation}
.model-help p{font-size:11px;color:#b4c4bb;line-height:1.55;margin:11px 0}
.model-help a{font-size:11px;color:var(--lime);font-weight:750;overflow-wrap:anywhere;display:block;margin:10px 0}
.model-file-label{border-radius:9px;border:1px solid #6e8671;background:#26372e;color:#edffdc;font-size:12px;font-weight:750;display:inline-flex;padding:11px 12px;cursor:pointer;margin-top:6px}
.model-help input[type=file]{display:block;width:100%;font-size:10px;color:#91a9a1;margin-top:10px}
.model-help input[type=file]::file-selector-button{display:none}
.model-help .model-selection{color:#e0e8e0;overflow-wrap:anywhere}
.model-clear{background:transparent;border:1px solid #52675a;border-radius:9px;color:#c6e6bd;padding:8px 12px;font-size:11px;margin-top:4px}
.error-actions{display:flex;gap:11px;flex-wrap:wrap;margin:-10px 0 18px}
.error-actions button{border:1px solid #b17875;background:#2e2525;color:#ffe0d3;border-radius:9px;padding:12px 13px;font-size:12px;font-weight:740}
.technical-details{color:#ffd2cb;border-radius:9px;background:#1d1b1b;border:1px solid #54322f;padding:12px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px}
