@keyframes flashIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes checkmark{0%{transform:scale(0) rotate(-45deg);opacity:0}50%{transform:scale(1.2) rotate(0);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.3}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}button{transition:all .2s cubic-bezier(.4,0,.2,1)}button:hover{transform:translateY(-2px);filter:brightness(1.1)}button:active{transform:translateY(0);filter:brightness(.95)}.counter-animation{animation:scaleIn .3s cubic-bezier(.34,1.56,.64,1)}.list-item-enter{animation:fadeIn .3s ease-out}@keyframes slideUpFadeIn{0%{opacity:0;transform:translateY(40px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes challengeOvertake{0%{transform:scale(1);box-shadow:0 0 #0f80}40%{transform:scale(1.04);box-shadow:0 0 32px #00ff888c}to{transform:scale(1);box-shadow:0 8px 24px #00ff8840}}.challenge-tracker-beaten{animation:challengeOvertake .6s cubic-bezier(.34,1.56,.64,1) both}@media (prefers-reduced-motion: reduce){.challenge-tracker-beaten{animation:none}}@keyframes confettiFall{0%{transform:translateY(0) translate(0) rotate(0);opacity:1}to{transform:translateY(var(--velocity-y)) translate(var(--velocity-x)) rotate(var(--rotation-speed));opacity:0}}@keyframes challengeTrackerIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.challenge-tracker-in{animation:challengeTrackerIn .4s ease-out both}.challenge-tracker-in.challenge-tracker-beaten{animation:challengeOvertake .6s cubic-bezier(.34,1.56,.64,1) both}@keyframes challengeScorePop{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}.challenge-score-pop{display:inline-block;animation:challengeScorePop .25s ease-out}@keyframes challengeCometPulse{0%,to{box-shadow:0 0 14px #ffffffe6,0 0 26px #00b3ffcc}50%{box-shadow:0 0 8px #fff9,0 0 14px #00b3ff80}}.challenge-comet-hot{animation:challengeCometPulse 1.1s ease-in-out infinite}@keyframes challengeShimmerSweep{0%{transform:translate(-100%);opacity:1}to{transform:translate(100%);opacity:0}}.challenge-tracker-shimmer{position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 20%,rgba(0,255,136,.25) 50%,transparent 80%);animation:challengeShimmerSweep .9s ease-out .1s both}@media (prefers-reduced-motion: reduce){.challenge-tracker-in,.challenge-score-pop,.challenge-comet-hot,.challenge-tracker-shimmer,.challenge-tracker-in.challenge-tracker-beaten{animation:none}.challenge-tracker-shimmer{display:none}}
