@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.step-enter{animation:.35s ease-out fadeInUp}@keyframes drawCheck{0%{stroke-dashoffset:48px}to{stroke-dashoffset:0}}.check-draw{stroke-dasharray:48;stroke-dashoffset:48px;animation:.5s ease-out .2s forwards drawCheck}@keyframes drawCircle{0%{stroke-dashoffset:188px}to{stroke-dashoffset:0}}.circle-draw{stroke-dasharray:188;stroke-dashoffset:188px;animation:.6s ease-out forwards drawCircle}@keyframes pulseRing{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}.pulse-ring:after{content:"";border:3px solid;border-radius:50%;animation:1.2s ease-out infinite pulseRing;position:absolute;inset:-4px}@keyframes progressFill{0%{width:0}}.progress-fill{animation:.5s ease-out progressFill}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer{background:linear-gradient(90deg,#0000 0%,#ffffff4d 50%,#0000 100%) 0 0/200% 100%;animation:1.5s ease-in-out infinite shimmer}@keyframes floatUp{0%{opacity:0;transform:translateY(20px)scale(0)}50%{opacity:.6}to{opacity:0;transform:translateY(-40px)scale(1)}}@keyframes scalePop{0%{opacity:0;transform:scale(.8)}60%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.scale-pop{animation:.4s ease-out scalePop}@keyframes cornerPulse{0%,to{opacity:.7}50%{opacity:1}}.corner-pulse{animation:2s ease-in-out infinite cornerPulse}
