@keyframes confetti-explosion{0%{transform:translateY(0) translateX(0) rotate(0deg) scale(0);opacity:1;filter:blur(0)}5%{transform:translateY(var(--y-velocity)) translateX(var(--x-velocity)) rotate(var(--rotation-speed)) scale(1);opacity:1;filter:blur(0)}25%{transform:translateY(calc(var(--y-velocity) * 3)) translateX(calc(var(--x-velocity) * 2.5)) rotate(calc(var(--rotation-speed) * 4)) scale(1);opacity:1;filter:blur(0)}75%{transform:translateY(calc(var(--y-velocity) * 8 + 300px)) translateX(calc(var(--x-velocity) * 6 + var(--gravity-drift))) rotate(calc(var(--rotation-speed) * 12)) scale(.8);opacity:.8;filter:blur(1px)}to{transform:translateY(calc(var(--y-velocity) * 10 + 500px)) translateX(calc(var(--x-velocity) * 8 + var(--gravity-drift) * 2)) rotate(calc(var(--rotation-speed) * 18)) scale(.3);opacity:0;filter:blur(2px)}}@keyframes confetti-fountain{0%{transform:translateY(0) translateX(0) rotate(0deg) scale(0);opacity:1}10%{transform:translateY(var(--fountain-initial)) translateX(var(--fountain-x)) rotate(90deg) scale(1);opacity:1}30%{transform:translateY(calc(var(--fountain-initial) * 1.5)) translateX(calc(var(--fountain-x) * 1.2)) rotate(180deg) scale(1);opacity:1}70%{transform:translateY(calc(var(--fountain-initial) * 3 + 200px)) translateX(calc(var(--fountain-x) * 2)) rotate(270deg) scale(.7);opacity:.7}to{transform:translateY(calc(var(--fountain-initial) * 4 + 400px)) translateX(calc(var(--fountain-x) * 2.5)) rotate(1turn) scale(0);opacity:0}}@keyframes confetti-spiral{0%{transform:translateY(0) translateX(0) rotate(0deg) scale(0);opacity:1}20%{transform:translateY(var(--spiral-y)) translateX(var(--spiral-x)) rotate(var(--spiral-rotation)) scale(1.2);opacity:1}to{transform:translateY(calc(var(--spiral-y) * 8 + 600px)) translateX(calc(var(--spiral-x) * 4)) rotate(calc(var(--spiral-rotation) * 8)) scale(0);opacity:0}}.confetti-explosion{animation:confetti-explosion 4s cubic-bezier(.55,.055,.675,.19) forwards}.confetti-fountain{animation:confetti-fountain 3.5s cubic-bezier(.25,.46,.45,.94) forwards}.confetti-spiral{animation:confetti-spiral 3s ease-out forwards}.confetti-square{border-radius:2px}.confetti-circle{border-radius:50%}.confetti-rectangle{border-radius:1px}.confetti-triangle{width:0!important;height:0!important;background:transparent!important;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:12px solid var(--confetti-color)}.confetti-star{background:var(--confetti-color)!important;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);border-radius:0}.confetti-small{width:4px!important;height:4px!important}.confetti-medium{width:8px!important;height:8px!important}.confetti-large{width:12px!important;height:12px!important}.confetti-xlarge{width:16px!important;height:16px!important}.wheel-svg{will-change:transform;backface-visibility:hidden;transform-style:preserve-3d;transform:translateZ(0)}@keyframes spin{to{transform:rotate(1turn)}}.loading-spinner{animation:spin 1s linear infinite}.wheel-container{contain:layout style paint;will-change:transform}.wheel-text{pointer-events:none;user-select:none}@keyframes spin-infinite{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}