/* status-ring.css — circular live progress for the Status page (loads after ultra.css) */
.ring-card{display:none;margin:18px 0 0;padding:28px 22px 24px!important;text-align:center;
  --r1:#4F2EF2;--r2:#FF2D78;--rglow:rgba(185,31,209,.5)}
.ring-card.show{display:block;animation:rc-in .6s cubic-bezier(.2,.7,.2,1) both}
.ring-card.is-pending{--r1:#7C5CFF;--r2:#C77DFF;--rglow:rgba(124,92,255,.5)}
.ring-card.is-processing{--r1:#4F2EF2;--r2:#FF2D78;--rglow:rgba(185,31,209,.55)}
.ring-card.is-done{--r1:#16C47F;--r2:#2DD4BF;--rglow:rgba(22,196,127,.55)}
.ring-card.is-partial{--r1:#F59E0B;--r2:#FF7A59;--rglow:rgba(245,158,11,.5)}
.ring-card.is-bad{--r1:#FF2D55;--r2:#FF7A59;--rglow:rgba(255,45,85,.5)}
@keyframes rc-in{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}

.rc-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px;text-align:left}
.rc-id{font-size:13px;font-weight:650;color:#5B4766;font-variant-numeric:tabular-nums;word-break:break-all}
.rc-live{display:none;align-items:center;gap:7px;font-size:12px;font-weight:650;color:#0E8F5E;background:rgba(22,196,127,.12);
  padding:5px 11px 5px 9px;border-radius:999px;white-space:nowrap}
.ring-card.polling .rc-live{display:inline-flex}
.rc-live::before{content:"";width:7px;height:7px;border-radius:50%;background:#16C47F;animation:ux-live 2.2s ease-out infinite}

/* ring */
.rc-wrap{position:relative;width:min(270px,74vw);aspect-ratio:1;margin:8px auto 18px}
.rc-wrap svg{width:100%;height:100%;display:block;overflow:visible}
.rc-orbit{fill:none;stroke:var(--r1);stroke-opacity:.35;stroke-width:1.5;stroke-dasharray:2 9;stroke-linecap:round;
  transform-origin:120px 120px;transform-box:view-box;animation:rc-spin 26s linear infinite}
.ring-card.is-done .rc-orbit,.ring-card.is-bad .rc-orbit{animation-duration:60s;stroke-opacity:.2}
.rc-track{fill:none;stroke:rgba(120,60,170,.11);stroke-width:14}
.rc-arc,.rc-glow{fill:none;stroke-width:14;stroke-linecap:round;transform-origin:120px 120px;transform-box:view-box;
  transform:rotate(-90deg);transition:stroke-dashoffset 1.7s cubic-bezier(.22,.8,.2,1)}
.rc-arc{stroke:url(#rc-grad)}
.rc-glow{stroke:url(#rc-grad);filter:blur(9px);opacity:.55}
.rc-head{transform-origin:120px 120px;transform-box:view-box;transition:transform 1.7s cubic-bezier(.22,.8,.2,1)}
.rc-head circle{fill:#fff;stroke:var(--r2);stroke-width:3.5;filter:drop-shadow(0 0 6px var(--rglow))}
.rc-tick{stroke:rgba(120,60,170,.18);stroke-width:2;stroke-linecap:round;transition:stroke .35s}
.rc-tick.on{stroke:var(--r1)}
.rc-stop1{stop-color:var(--r1)}.rc-stop2{stop-color:var(--r2)}
@keyframes rc-spin{to{transform:rotate(360deg)}}
/* soft breathing while the order is moving */
.ring-card.is-pending .rc-glow,.ring-card.is-processing .rc-glow{animation:rc-breathe 2.6s ease-in-out infinite}
@keyframes rc-breathe{50%{opacity:.9}}

/* centre */
.rc-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0 18%}
.rc-num{font-size:clamp(40px,12vw,52px);font-weight:830;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums;
  background:linear-gradient(115deg,var(--r1),var(--r2));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.rc-num small{font-size:.5em;font-weight:760;letter-spacing:-.02em}
.rc-icon{height:46px;display:flex;align-items:center;justify-content:center}
.rc-status{font-size:17px;font-weight:780;letter-spacing:-.02em;color:#1D0E2B;line-height:1.15}
.rc-sub{font-size:12.5px;color:#85708F;line-height:1.3}
.rc-dots,.rc-bars{display:flex;align-items:flex-end;gap:5px;height:26px}
.rc-dots i{width:9px;height:9px;border-radius:50%;background:linear-gradient(135deg,var(--r1),var(--r2));animation:rc-dot 1.2s ease-in-out infinite}
.rc-dots i:nth-child(2){animation-delay:.15s}.rc-dots i:nth-child(3){animation-delay:.3s}
@keyframes rc-dot{0%,80%,100%{transform:translateY(0);opacity:.4}40%{transform:translateY(-9px);opacity:1}}
.rc-bars i{width:6px;border-radius:4px;background:linear-gradient(180deg,var(--r2),var(--r1));height:100%;transform-origin:bottom;animation:rc-bar 1s ease-in-out infinite}
.rc-bars i:nth-child(2){animation-delay:.12s}.rc-bars i:nth-child(3){animation-delay:.24s}.rc-bars i:nth-child(4){animation-delay:.36s}
@keyframes rc-bar{0%,100%{transform:scaleY(.3)}50%{transform:scaleY(1)}}
.rc-mark{width:46px;height:46px;overflow:visible}
.rc-mark circle{fill:none;stroke:var(--r1);stroke-width:3;opacity:.25}
.rc-mark path{fill:none;stroke:url(#rc-grad);stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:60;stroke-dashoffset:60}
.ring-card.show .rc-mark path{animation:rc-draw .7s .9s cubic-bezier(.3,.7,.2,1) forwards}
@keyframes rc-draw{to{stroke-dashoffset:0}}

/* celebration burst on completion */
.rc-burst{position:absolute;inset:0;pointer-events:none}
.rc-burst b{position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px;border-radius:50%;opacity:0;
  background:var(--c);transform:rotate(var(--a)) translateY(0)}
.rc-burst.go b{animation:rc-conf 1.1s var(--d) cubic-bezier(.2,.7,.2,1) forwards}
@keyframes rc-conf{0%{opacity:1;transform:rotate(var(--a)) translateY(0) scale(1)}100%{opacity:0;transform:rotate(var(--a)) translateY(-150px) scale(.4)}}
.rc-burst::before,.rc-burst::after{content:"";position:absolute;inset:6%;border-radius:50%;border:2px solid var(--r1);opacity:0}
.rc-burst.go::before{animation:rc-wave 1.2s .7s ease-out}
.rc-burst.go::after{animation:rc-wave 1.2s .95s ease-out}
@keyframes rc-wave{0%{opacity:.55;transform:scale(.9)}100%{opacity:0;transform:scale(1.35)}}

/* stepper */
.rc-steps{position:relative;display:flex;justify-content:space-between;margin:6px 4px 18px}
.rc-steps::before,.rc-line{content:"";position:absolute;top:11px;left:12.5%;right:12.5%;height:3px;border-radius:3px;background:rgba(120,60,170,.14)}
.rc-line{right:auto;width:0;background:linear-gradient(90deg,var(--r1),var(--r2));transition:width 1.4s cubic-bezier(.22,.8,.2,1)}
.rc-step{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#9C86AD;transition:color .4s}
.rc-step i{width:25px;height:25px;border-radius:50%;background:#fff;border:2px solid rgba(120,60,170,.2);display:flex;align-items:center;justify-content:center;
  transition:background .4s,border-color .4s,box-shadow .4s;z-index:1}
.rc-step i::after{content:"";width:7px;height:7px;border-radius:50%;background:transparent;transition:background .4s}
.rc-step.on{color:#1D0E2B}
.rc-step.on i{border-color:transparent;background:linear-gradient(135deg,var(--r1),var(--r2));box-shadow:0 6px 16px -4px var(--rglow)}
.rc-step.on i::after{background:#fff}
.rc-step.cur i{animation:rc-pulse 1.9s ease-out infinite}
.ring-card.is-done .rc-step.cur i,.ring-card.is-bad .rc-step.cur i,.ring-card.is-partial .rc-step.cur i{animation:none}
@keyframes rc-pulse{0%{box-shadow:0 0 0 0 var(--rglow)}70%{box-shadow:0 0 0 10px transparent}100%{box-shadow:0 0 0 0 transparent}}

/* stat chips */
.rc-chips{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.rc-chip{flex:1 1 120px;max-width:200px;padding:11px 14px;border-radius:16px;background:rgba(255,243,248,.8);border:1px solid rgba(120,60,170,.14)}
.rc-chip span{display:block;font-size:12px;color:#85708F;font-weight:600}
.rc-chip b{display:block;font-size:19px;font-weight:800;letter-spacing:-.02em;color:#1D0E2B;font-variant-numeric:tabular-nums;margin-top:2px}
.rc-upd{margin-top:14px;font-size:12px;color:#9C86AD}

/* details card polish */
#result>div{border:1px solid rgba(120,60,170,.16)!important;border-radius:24px!important;box-shadow:0 1px 2px rgba(29,14,43,.05),0 22px 60px -26px rgba(110,30,180,.35)!important;margin-top:18px}

@media (max-width:420px){.rc-step{font-size:11px}.rc-chip{flex-basis:100px}}
