.scan-progress{position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--accent) 43%,var(--line));background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--accent-soft) 40%,var(--surface)))}
.scan-sheen{position:absolute;inset-inline:0;top:-110px;height:110px;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--accent) 12%,transparent),transparent);pointer-events:none;animation:scan-sweep 2.7s linear infinite}
.scan-progress[data-state="completed"] .scan-sheen,.scan-progress[data-state="error"] .scan-sheen{animation:none;display:none}
.scan-progress-top{display:flex;align-items:center;gap:20px}.scan-progress-top>div:last-child{min-width:0}.scan-progress-top h3{margin:3px 0 5px;font-size:18px}.scan-progress-top p{font-size:11px;color:var(--muted);line-height:1.8;margin:0}.scan-progress-ring{position:relative;flex:none;width:104px;height:104px}.scan-progress-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.scan-progress-ring circle{fill:none;stroke-width:7}.scan-track{stroke:var(--line-2)}.scan-fill{stroke:var(--accent);stroke-linecap:round;stroke-dasharray:264;stroke-dashoffset:264;transition:stroke-dashoffset .6s ease}.scan-progress[data-state="completed"] .scan-fill{stroke:var(--green)}.scan-progress-ring strong{position:absolute;inset:0;display:grid;place-items:center;direction:ltr;font-size:20px;color:var(--text)}
.scan-phases{display:flex;gap:7px;flex-wrap:wrap;margin-top:22px}.scan-phases span{font-size:10px;border:1px solid var(--line);border-radius:20px;padding:6px 10px;color:var(--muted);display:flex;align-items:center;gap:7px}.scan-phases span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--line-2)}.scan-phases .active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-2)}.scan-phases .active::before{background:var(--accent);animation:scan-pulse 1.3s ease-in-out infinite}.scan-phases .done{color:var(--green);border-color:color-mix(in srgb,var(--green) 40%,var(--line))}.scan-phases .done::before{background:var(--green)}
.scan-current-page{font-size:10px;color:var(--muted);margin:17px 0 0;overflow-wrap:anywhere}.scan-current-page bdi{color:var(--text-2)}.scan-pages{display:grid;gap:7px;max-height:210px;overflow:auto;margin-top:15px}.scan-page{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:10px}.scan-page::before{content:"✓";color:var(--green);font-weight:700}.scan-page b{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.scan-page small{color:var(--muted);direction:ltr;unicode-bidi:isolate;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:42%}
.scan-insights{display:flex;gap:12px;margin:0 22px 16px;padding:16px;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--line));background:var(--accent-soft);border-radius:12px}.scan-insights-icon{font-size:24px;color:var(--accent-2)}.scan-insights>div{min-width:0}.scan-insights b{font-size:12px}.scan-insights p{font-size:10px;line-height:1.8;color:var(--text-2);margin:5px 0}.scan-insights-pages{display:flex;gap:5px;flex-wrap:wrap}.scan-insights-pages span{border:1px solid var(--line-2);border-radius:20px;padding:3px 8px;font-size:9px;color:var(--text-2);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.operation-progress{position:fixed;left:24px;bottom:24px;z-index:65;width:min(420px,calc(100vw - 32px));display:flex;align-items:center;gap:15px;padding:18px;border:1px solid var(--line-2);background:var(--surface);border-radius:14px;box-shadow:var(--shadow-h)}.operation-progress>div{flex:1;min-width:0}.operation-progress b{font-size:12px;display:block}.operation-progress small{display:block;font-size:10px;color:var(--muted);margin-top:5px;line-height:1.6}.operation-progress time{font-size:12px;color:var(--accent-2);font-variant-numeric:tabular-nums;direction:ltr}.operation-pulse{width:28px;height:28px;flex:none;border:3px solid var(--accent-soft);border-top-color:var(--accent);border-radius:50%;animation:studio-spin 1s linear infinite}.studio .operation-state.busy{display:none}.operation-progress[hidden],.scan-progress[hidden],.scan-insights[hidden]{display:none!important}
@keyframes scan-sweep{to{top:calc(100% + 110px)}}@keyframes scan-pulse{50%{opacity:.4;transform:scale(.65)}}@media(max-width:660px){.scan-progress-top{gap:12px}.scan-progress-ring{width:82px;height:82px}.scan-progress-top h3{font-size:15px}.scan-page small{max-width:32%}.scan-insights{margin-inline:16px}.operation-progress{left:16px;bottom:16px}}@media(prefers-reduced-motion:reduce){.scan-sheen,.scan-phases .active::before,.operation-pulse{animation:none!important}}
