/* v80 刷新进度条（单行紧凑） */
.rp-bar{display:flex;align-items:center;gap:8px;margin:4px 0 6px;padding:5px 10px;border-radius:999px;font-size:12.5px;font-weight:600;line-height:1.3;border:1px solid rgba(132,89,111,.2);border:1px solid color-mix(in srgb,var(--green,#84596f) 22%,transparent);background:rgba(132,89,111,.06);background:color-mix(in srgb,var(--green,#84596f) 7%,transparent);animation:rp-in .2s ease}
.rp-bar[hidden]{display:none}
.rp-text{flex:0 0 auto;white-space:nowrap;font-variant-numeric:tabular-nums}
.rp-pct{flex:0 0 auto;min-width:3ch;text-align:right;font-variant-numeric:tabular-nums;color:#84596f;color:var(--green,#84596f)}
.rp-pct:empty,.rp-sub:empty{display:none}
.rp-sub{flex:0 0 auto;white-space:nowrap;color:#b4561e;font-weight:500}
.rp-spin{flex:0 0 auto;width:11px;height:11px;border-radius:50%;border:2px solid rgba(132,89,111,.25);border-top-color:#84596f;border-color:color-mix(in srgb,var(--green,#84596f) 25%,transparent);border-top-color:var(--green,#84596f);animation:rp-spin .8s linear infinite}
.rp-track{position:relative;flex:1 1 auto;min-width:40px;height:5px;border-radius:999px;overflow:hidden;background:rgba(132,89,111,.14);background:color-mix(in srgb,var(--green,#84596f) 15%,transparent)}
.rp-fill{position:absolute;inset:0 auto 0 0;width:0;border-radius:inherit;background:#84596f;background:var(--green,#84596f);transition:width .6s cubic-bezier(.22,.8,.3,1);overflow:hidden}
.rp-fill::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);transform:translateX(-100%);animation:rp-shine 1.6s ease-in-out infinite}
.rp-bar.is-done{border-color:rgba(31,122,77,.25);background:rgba(31,122,77,.08);color:#1f7a4d}
.rp-bar.is-done .rp-spin{display:none}
.rp-bar.is-done .rp-fill{background:#2e9a62}
.rp-bar.is-done .rp-fill::after{display:none}
.rp-bar.is-done.has-failed{border-color:rgba(192,120,30,.3);background:rgba(220,150,40,.09);color:#9a5b12}
.rp-bar.is-done.has-failed .rp-fill{background:#d7902c}
@keyframes rp-spin{to{transform:rotate(360deg)}}
@keyframes rp-shine{to{transform:translateX(100%)}}
@keyframes rp-in{from{opacity:0}}
@media (prefers-reduced-motion:reduce){.rp-spin,.rp-fill::after,.rp-bar{animation:none}.rp-fill{transition:none}}
