@keyframes handshake{0%,to{transform:rotate(0deg)}20%{transform:rotate(-10deg)}40%{transform:rotate(10deg)}60%{transform:rotate(-5deg)}80%{transform:rotate(5deg)}}@keyframes rocket{0%{transform:translateY(0) scale(1)}50%{transform:translateY(-10px) scale(1.1)}to{transform:translateY(0) scale(1)}}@keyframes trophy{0%,to{transform:rotate(0deg) scale(1)}25%{transform:rotate(5deg) scale(1.05)}75%{transform:rotate(-5deg) scale(1.05)}}@keyframes stars{0%{transform:scale(1) rotate(0deg)}50%{transform:scale(1.2) rotate(10deg)}to{transform:scale(1) rotate(0deg)}}@keyframes cheers{0%,to{transform:rotate(0deg)}25%{transform:rotate(15deg)}75%{transform:rotate(-15deg)}}@keyframes medal{0%,to{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-5px) rotate(5deg)}75%{transform:translateY(-5px) rotate(-5deg)}}@keyframes fire{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.animate-handshake{animation:handshake 1s ease-in-out infinite;transform-origin:center bottom}.animate-rocket{animation:rocket 1s ease-in-out infinite}.animate-trophy{animation:trophy 1.5s ease-in-out infinite;transform-origin:center bottom}.animate-stars{animation:stars 1s ease-in-out infinite}.animate-cheers{animation:cheers 1s ease-in-out infinite;transform-origin:center bottom}.animate-medal{animation:medal 1.5s ease-in-out infinite}.animate-fire{animation:fire .5s ease-in-out infinite alternate}@keyframes bounceIn{0%{opacity:0;transform:translateY(20px) scale(.9)}50%{opacity:1;transform:translateY(-10px) scale(1.05)}to{transform:translateY(0) scale(1)}}.animate-bounceIn{animation:bounceIn .5s ease-out forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}.animate-fade-in{animation:fadeIn .3s ease-out forwards}.animate-fade-out{animation:fadeOut .3s ease-out forwards}@keyframes fadeInOut{0%{opacity:0;transform:scale(.8)}10%{opacity:1;transform:scale(1)}90%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}.animate-fadeInOut{animation:fadeInOut 3s ease-in-out forwards}@keyframes animate-handshake{0%,to{transform:rotate(0deg)}25%{transform:rotate(-15deg)}50%{transform:rotate(0deg)}75%{transform:rotate(15deg)}}.animate-handshake{animation:animate-handshake 1s ease infinite}@keyframes animate-rocket{0%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-10px) rotate(5deg)}to{transform:translateY(0) rotate(0deg)}}.animate-rocket{animation:animate-rocket 1s ease infinite}@keyframes animate-trophy{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.animate-trophy{animation:animate-trophy 1s ease infinite}@keyframes animate-stars{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-stars{animation:animate-stars 2s linear infinite}@keyframes animate-cheers{0%{transform:translateY(0)}50%{transform:translateY(-5px)}to{transform:translateY(0)}}.animate-cheers{animation:animate-cheers 1s ease infinite}@keyframes animate-medal{0%,to{transform:rotate(0deg)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.animate-medal{animation:animate-medal 1s ease infinite}@keyframes animate-fire{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.animate-fire{animation:animate-fire .5s ease infinite}.drag-hint{position:relative}.drag-hint:after{background:#333;border-radius:4px;color:#fff;content:"Drag to move between stages";font-size:12px;left:50%;opacity:0;padding:5px 10px;pointer-events:none;position:absolute;top:-30px;transform:translateX(-50%);transition:opacity .3s;white-space:nowrap}.drag-hint:hover:after{opacity:1}.card-shadow{box-shadow:0 10px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}.text-strike{color:#9ca3af;text-decoration:line-through}.feature-list li{align-items:center;display:flex;gap:.5rem}.feature-list .icon-success{color:#10b981}.feature-list .icon-error{color:#ef4444}
