.lv-overlay{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.72);padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))}
.lv-overlay[hidden],.lv-chip[hidden]{display:none}
.lv-card{width:min(92vw,380px);background:#0a0a0a;border:1px solid #2a2a2a;border-radius:16px;padding:28px 24px;text-align:center;color:#f2f2f2;font:15px/1.5 system-ui,sans-serif}
.lv-ring{width:56px;height:56px;margin:0 auto 16px;border-radius:50%;border:3px solid #333;border-top-color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;animation:lv-spin 1s linear infinite}
[data-state=done] .lv-ring,[data-state=fail] .lv-ring,[data-state=stop] .lv-ring{animation:none;border-color:#fff}
[data-state=fail] .lv-ring{border-style:dashed}
.lv-title{font-size:20px;font-weight:600;margin-bottom:6px}
.lv-text{color:#b5b5b5;margin-bottom:18px}
.lv-steps{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:8px;text-align:left}
.lv-steps li{padding-left:22px;position:relative;color:#6f6f6f}
.lv-steps li::before{content:"";position:absolute;left:2px;top:.45em;width:10px;height:10px;border-radius:50%;border:2px solid #444}
.lv-steps li.is-now{color:#fff}.lv-steps li.is-now::before{border-color:#fff;animation:lv-pulse 1.2s ease-in-out infinite}
.lv-steps li.is-done{color:#d8d8d8}.lv-steps li.is-done::before{background:#fff;border-color:#fff}
.lv-link{display:block;color:#fff;text-decoration:underline;margin-bottom:14px;word-break:break-all}
.lv-close{min-height:44px;padding:0 28px;border-radius:10px;border:1px solid #fff;background:#fff;color:#000;font:inherit;font-weight:600;cursor:pointer}
.lv-chip{position:fixed;left:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:2147482000;display:flex;align-items:center;gap:8px;background:#0a0a0acc;border:1px solid #2a2a2a;border-radius:999px;padding:6px 12px;color:#cfcfcf;font:12px/1 system-ui,sans-serif;pointer-events:none}
.lv-dot{width:8px;height:8px;border-radius:50%;background:#fff;animation:lv-pulse 2s ease-in-out infinite}
.lv-link:focus-visible,.lv-close:focus-visible{outline:2px solid #fff;outline-offset:3px}
@keyframes lv-spin{to{transform:rotate(360deg)}}
@keyframes lv-pulse{50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.lv-ring,.lv-dot,.lv-steps li.is-now::before{animation:none}}
[data-state=done] .lv-ring{animation:lv-pop .45s ease-out}@keyframes lv-pop{0%{transform:scale(.6);opacity:.4}60%{transform:scale(1.12)}100%{transform:scale(1);opacity:1}}
@media (prefers-reduced-motion:reduce){[data-state=done] .lv-ring{animation:none}}
