.vl{position:fixed;inset:0;margin:auto;padding:0;border:0;background:transparent;color:var(--vd-text,#f3f1ff);font-family:var(--vd-font,inherit);overflow:visible;z-index:2147483000}
.vl::backdrop{background:rgba(6,6,12,.62);backdrop-filter:blur(8px) saturate(120%);-webkit-backdrop-filter:blur(8px)}
.vl-card{width:min(360px,88vw);padding:30px 28px 22px;border-radius:24px;text-align:center;background:radial-gradient(120% 90% at 50% 0%,rgba(160,107,255,.18),transparent 60%),var(--vd-bg-1,#15151c);border:1px solid var(--vd-border-strong,#3a3a48);box-shadow:0 30px 90px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.03) inset;animation:vl-in .28s var(--vd-ease-out,cubic-bezier(.2,.8,.2,1))}
.vl-ring{position:relative;width:132px;height:132px;margin:0 auto 14px}
.vl-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.vl-track{fill:none;stroke:rgba(255,255,255,.08);stroke-width:8}
.vl-arc{fill:none;stroke:url(#vl-grad);stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset .25s linear;filter:drop-shadow(0 0 8px rgba(160,107,255,.55))}
.vl-orbit{position:absolute;inset:-6px;border-radius:50%;border:2px solid transparent;border-top-color:rgba(255,184,107,.8);animation:vl-spin 1.1s linear infinite}
.vl-pct{position:absolute;inset:0;display:grid;place-items:center;font-size:28px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.vl-title{margin:0 0 6px;font-size:17px;font-weight:650}
.vl-line{margin:4px 0 0;min-height:52px;font-size:19px;line-height:1.35;font-weight:600;color:var(--vd-accent,#c9a6ff);animation:vl-fade 2s ease-in-out infinite}
.vl-stage{margin:6px 0 0;font-size:12px;opacity:.6;min-height:16px}
.vl-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.vl-actions{margin-top:16px}
.vl-cancel{border-radius:999px;border:1px solid var(--vd-border-strong,#3a3a48);background:transparent;color:inherit;padding:8px 20px;font-size:13px;cursor:pointer}
.vl-cancel:hover{border-color:var(--vd-accent,#a06bff)}.vl-cancel:focus-visible{outline:2px solid var(--vd-focus,#a06bff);outline-offset:2px}
.vl.is-done .vl-orbit{animation:none;border-top-color:transparent}.vl.is-done .vl-arc{stroke:#5ee6a1}
@keyframes vl-spin{to{transform:rotate(360deg)}}
@keyframes vl-in{from{opacity:0;transform:translateY(8px) scale(.97)}}
@keyframes vl-fade{0%,100%{opacity:.35}15%,85%{opacity:1}}
@media (prefers-reduced-motion:reduce){.vl-card,.vl-line{animation:none}.vl-orbit{animation:none;display:none}.vl-arc{transition:none}}
/* v72: the shared overlay replaces the inline Vocals job strip (kept in the DOM for state). */
#vocals-job{display:none!important}

/* v77: only the ring, the percentage and one rotating funny line. */
.vl-title.vl-sr,.vl-stage.vl-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);margin:0}
.vl-ring{margin-bottom:18px}
