.progress-celebration{--pc-accent:var(--gold);border:1px solid color-mix(in srgb, var(--pc-accent) 55%, var(--line));background:radial-gradient(ellipse at 50% 35%, color-mix(in srgb, var(--pc-accent) 15%, transparent), transparent 70%), color-mix(in srgb, var(--surface) 82%, transparent);-webkit-backdrop-filter:blur(22px)saturate(1.3);backdrop-filter:blur(22px)saturate(1.3);width:min(520px,100vw - 32px);max-height:calc(100dvh - 32px);box-shadow:0 24px 80px color-mix(in srgb, var(--band) 24%, transparent), inset 0 1px 0 color-mix(in srgb, var(--surface) 80%, transparent);color:var(--ink);text-align:center;border-radius:28px;padding:35px 28px 28px;overflow:auto}.progress-celebration::backdrop{background:color-mix(in srgb, var(--band) 60%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.progress-celebration.pc-rank{--pc-accent:var(--nerve-blue)}.pc-close{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;font-size:28px;position:absolute;top:10px;right:15px}.pc-kicker{color:var(--ink-soft);margin:0;font-size:.85rem}.pc-stage{perspective:700px;place-items:center;height:260px;display:grid;position:relative}.pc-badge{object-fit:contain;width:220px;height:220px;position:absolute}.pc-old{animation:1.25s cubic-bezier(.4,0,.2,1) both pc-old}.pc-new{animation:1.3s cubic-bezier(.22,1,.36,1) 1.05s both pc-new}.pc-halo{background:radial-gradient(circle, color-mix(in srgb, var(--pc-accent) 55%, transparent), transparent 70%);border-radius:50%;width:230px;height:230px;animation:1.5s ease-out 1.05s both pc-halo;position:absolute}.pc-ring{border:2px solid var(--pc-accent);border-radius:50%;width:200px;height:200px;animation:1.3s ease-out 1.05s both pc-ring;position:absolute}.pc-spark{background:var(--pc-accent);width:5px;height:5px;animation:pc-spark 1.2s cubic-bezier(.1,.6,.2,1) var(--delay) both;border-radius:50%;position:absolute}.pc-copy{animation:.8s 1.65s both pc-copy}.pc-path{color:var(--ink-soft);margin:0 0 10px;font-size:.82rem}.pc-path span{margin:0 8px}.pc-copy h2{font-family:var(--font-heading);margin:0;font-size:clamp(2.4rem,7vw,3.5rem);line-height:1}.pc-name{color:var(--ink);margin-top:9px;font-size:1.2rem;display:block}.pc-reward{max-width:350px;margin:16px auto 0;font-size:.95rem}.pc-continue{background:var(--band);color:var(--band-ink);font:inherit;cursor:pointer;border:0;border-radius:99px;margin-top:25px;padding:13px 28px;font-weight:700}.pc-continue:focus-visible,.pc-close:focus-visible,.pc-audio:focus-visible{outline:3px solid var(--pc-accent);outline-offset:4px}.pc-audio{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;margin:15px auto 0;text-decoration:underline;display:block}@keyframes pc-old{0%,30%{opacity:1;transform:scale(.9)}55%{opacity:1;transform:scale(1.04)}to{opacity:0;transform:scale(.35)rotateY(-95deg)}}@keyframes pc-new{0%{opacity:0;transform:scale(.35)rotateY(85deg)}48%{opacity:1;transform:scale(1.12)rotateY(-8deg)}75%{transform:scale(.96)rotateY(0)}to{opacity:1;transform:scale(1)}}@keyframes pc-halo{0%{opacity:0;transform:scale(.75)}45%{opacity:1;transform:scale(1.55)}to{opacity:.18;transform:scale(1.2)}}@keyframes pc-ring{0%{opacity:.8;transform:scale(.4)}to{opacity:0;transform:scale(1.8)}}@keyframes pc-spark{0%{opacity:0;transform:translate(0)scale(.5)}15%{opacity:1}to{opacity:0;transform:translate(var(--sx), var(--sy)) scale(.2)}}@keyframes pc-copy{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width:480px){.pc-stage{height:230px}.pc-badge{width:190px;height:190px}}@media (prefers-reduced-motion:reduce){.pc-old,.pc-ring,.pc-spark{display:none}.pc-new,.pc-halo,.pc-copy{animation:none}}
