@keyframes step-enter{0%{opacity:0;filter:blur(4px);transform:translateY(16px)}to{opacity:1;filter:blur();transform:translateY(0)}}.step-enter{animation:.52s cubic-bezier(.22,1,.36,1) both step-enter}@keyframes choice-pop{0%{transform:scale(1)}40%{transform:scale(1.04)}to{transform:scale(1.01)}}.choice-pop{animation:.28s cubic-bezier(.22,1,.36,1) choice-pop}@keyframes count-flash{0%{transform:scale(1)}30%{transform:scale(1.15)}to{transform:scale(1)}}.count-flash{animation:.32s cubic-bezier(.22,1,.36,1) count-flash}@keyframes cell-pulse{0%{box-shadow:0 0 0 0 var(--accent);transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1);box-shadow:0 0 0 6px #0000}}.cell-pulse{animation:.38s cubic-bezier(.22,1,.36,1) cell-pulse}@keyframes dropzone-breathe{0%,to{border-color:var(--line)}50%{border-color:var(--accent)}}.dropzone-idle{animation:3.4s ease-in-out infinite dropzone-breathe}@keyframes check-circle{0%{stroke-dashoffset:166px}to{stroke-dashoffset:0}}@keyframes check-tick{0%{stroke-dashoffset:60px}to{stroke-dashoffset:0}}@keyframes check-pop{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.check-svg{animation:.4s cubic-bezier(.22,1,.36,1) both check-pop}.check-circle{stroke-dasharray:166;stroke-dashoffset:166px;animation:.6s cubic-bezier(.22,1,.36,1) .2s forwards check-circle}.check-tick{stroke-dasharray:60;stroke-dashoffset:60px;animation:.32s cubic-bezier(.22,1,.36,1) .7s forwards check-tick}@keyframes sparkle{0%{opacity:0;transform:scale(0)rotate(0)}50%{opacity:1;transform:scale(1)rotate(180deg)}to{opacity:0;transform:scale(0)rotate(360deg)}}.sparkle{background:var(--accent);clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);pointer-events:none;width:12px;height:12px;animation:1.6s ease-out infinite sparkle;position:absolute}.sparkle:first-child{animation-delay:0s;top:-8px;left:8%}.sparkle:nth-child(2){animation-delay:.3s;top:20%;right:-6px}.sparkle:nth-child(3){animation-delay:.6s;bottom:12%;left:-8px}.sparkle:nth-child(4){animation-delay:.9s;bottom:-6px;right:18%}.sparkle:nth-child(5){animation-delay:1.2s;top:8%;right:22%}@keyframes dot-fill{0%{transform:scale(0)}to{transform:scale(1)}}.dot-fill{animation:.34s cubic-bezier(.22,1,.36,1) both dot-fill}.btn-shine{position:relative;overflow:hidden}.btn-shine:after{content:"";background:linear-gradient(90deg,#0000,#ffffff40,#0000);width:100%;height:100%;transition:left .6s cubic-bezier(.22,1,.36,1);position:absolute;top:0;left:-100%}.btn-shine:hover:after{left:100%}@keyframes slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:.54s cubic-bezier(.22,1,.36,1) both slide-up}.slide-up-delay-1{animation-delay:80ms}.slide-up-delay-2{animation-delay:.16s}.slide-up-delay-3{animation-delay:.24s}@keyframes qr-reveal{0%{opacity:0;filter:blur(8px);transform:scale(.92)}to{opacity:1;filter:blur();transform:scale(1)}}.qr-reveal{animation:.72s cubic-bezier(.22,1,.36,1) both qr-reveal}@media (prefers-reduced-motion:reduce){.step-enter,.choice-pop,.count-flash,.cell-pulse,.dropzone-idle,.check-svg,.check-circle,.check-tick,.sparkle,.dot-fill,.slide-up,.qr-reveal{animation:none!important}}
