/* Shared live progress display; the native progress element retains accessibility. */
.hx-progress{--hx-fill:var(--cyan,#53e9f5);margin:20px 0;padding:18px 18px 15px;background:linear-gradient(145deg,#53e9f507,#aa91ff05);border:1px solid var(--line,#323247);border-radius:14px;min-width:0}
.hx-progress__heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.hx-progress__label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--text,#f3f3fc)}
.hx-progress__dot{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:var(--muted,#b0b0c7)}
.hx-progress__percent{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text,#f3f3fc);white-space:nowrap}
.hx-progress__track{position:relative;height:14px;overflow:hidden;border-radius:999px;background:#080a13;box-shadow:inset 0 1px 4px #000a,inset 0 0 0 1px #ffffff0d}
.hx-progress__track:after{content:'';position:absolute;inset:2px 3px auto;height:3px;border-radius:999px;background:linear-gradient(90deg,#ffffff04,#ffffff12,#ffffff04);pointer-events:none}
.hx-progress__fill{display:block;position:relative;width:var(--hx-progress,0%);height:100%;overflow:hidden;border-radius:inherit;background:linear-gradient(90deg,#36bacd,var(--cyan,#53e9f5) 50%,var(--violet,#aa91ff));box-shadow:0 0 12px #53e9f54d;transition:width .35s ease-out}
.hx-progress__fill:before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,#ffffff60 50%,transparent 80%);transform:translateX(-110%)}
.hx-progress__meta{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:11px;color:var(--muted,#b0b0c7);font-size:11px;line-height:1.7;font-variant-numeric:tabular-nums}
.hx-progress__time{white-space:nowrap}
.hx-progress__native{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;border:0!important}
.hx-progress[data-state=scanning] .hx-progress__dot,.hx-progress[data-state=working] .hx-progress__dot,.hx-progress[data-state=checking] .hx-progress__dot{background:var(--cyan,#53e9f5);box-shadow:0 0 8px #53e9f56b}
.hx-progress[data-state=working] .hx-progress__fill:before{animation:hx-tube-shimmer 1.8s linear infinite}
.hx-progress[data-indeterminate=true] .hx-progress__fill{width:32%!important;transition:none;animation:hx-tube-scan 1.65s ease-in-out infinite;background:linear-gradient(90deg,#53e9f510,#53e9f5,#aa91ff88)}
.hx-progress[data-state=complete]{border-color:#53e9f55c;background:#53e9f506}
.hx-progress[data-state=complete] .hx-progress__dot{background:var(--cyan,#53e9f5)}
.hx-progress[data-state=complete] .hx-progress__fill{background:linear-gradient(90deg,#36bacd,#53e9f5);box-shadow:none}
.hx-progress[data-state=complete] .hx-progress__percent{color:var(--cyan,#53e9f5)}
.hx-progress[data-state=error] .hx-progress__dot{background:var(--pink,#ff64b3)}
.hx-progress[data-state=error] .hx-progress__fill{background:#ff64b3;box-shadow:none;transition:none}
.hx-progress[data-state=cancelled] .hx-progress__fill{background:#69728d;box-shadow:none;transition:none}
.hx-progress[data-state=idle] .hx-progress__fill{transition:none;box-shadow:none}
.hx-progress[data-state=complete] .hx-progress__fill:before,.hx-progress[data-state=error] .hx-progress__fill:before,.hx-progress[data-state=cancelled] .hx-progress__fill:before{animation:none}
@keyframes hx-tube-scan{0%{transform:translateX(-110%)}100%{transform:translateX(420%)}}
@keyframes hx-tube-shimmer{to{transform:translateX(110%)}}
@media(max-width:600px){.hx-progress{padding:15px 13px}.hx-progress__meta{align-items:flex-start}.hx-progress__label{font-size:11px}.hx-progress__track{height:12px}}
@media(prefers-reduced-motion:reduce){.hx-progress__fill,.hx-progress__fill:before{animation:none!important;transition:none!important}.hx-progress[data-indeterminate=true] .hx-progress__fill{transform:translateX(105%)}}
