@keyframes confetti-burst{0%{opacity:1;transform:translate(0,0) rotate(0deg) scale(1)}15%{opacity:1;transform:translate(var(--cx, 0px),var(--cy, 0px)) rotate(var(--cr, 180deg)) scale(1.1)}60%{opacity:1}to{opacity:0;transform:translate(calc(var(--cx, 0px)*.8),calc(var(--cy, 0px) + 300px)) rotate(calc(var(--cr, 180deg)*3)) scale(.4)}}@keyframes confetti-sparkle{0%{opacity:0;transform:translate(0,0) scale(0) rotate(0deg)}8%{opacity:1;transform:translate(0,0) scale(1.5) rotate(90deg)}15%{transform:translate(var(--cx, 0px),var(--cy, 0px)) scale(1) rotate(180deg)}70%{opacity:.8}to{opacity:0;transform:translate(calc(var(--cx, 0px)*.6),calc(var(--cy, 0px) + 250px)) scale(.2) rotate(720deg)}}@keyframes emoji-burst{0%{opacity:0;transform:translate(0,0) scale(0) rotate(0deg)}12%{opacity:1;transform:translate(0,0) scale(1.3) rotate(20deg)}25%{transform:translate(var(--cx, 0px),var(--cy, 0px)) scale(1) rotate(var(--cr, 0deg))}75%{opacity:.9}to{opacity:0;transform:translate(calc(var(--cx, 0px)*.5),calc(var(--cy, 0px) + 200px)) scale(.5) rotate(calc(var(--cr, 0deg)*2))}}@keyframes defeat-bg{0%,to{background:0 0}15%{background:rgba(0,0,0,.25)}75%{background:rgba(0,0,0,.2)}}@keyframes defeat-drift{0%{opacity:0;transform:translateY(-40px) rotate(0deg) scale(.5)}12%{opacity:.8;transform:translateY(0) rotate(5deg) scale(1)}50%{opacity:.7;transform:translateY(calc(var(--dy, 200px)*.5)) rotate(var(--dr, 10deg)) scale(.95)}85%{opacity:.3}to{opacity:0;transform:translateY(var(--dy, 200px)) rotate(calc(var(--dr, 10deg)*2)) scale(.7)}}@keyframes defeat-drift-left{0%{opacity:0;transform:translate(0,-40px) rotate(0deg) scale(.5)}12%{opacity:.8;transform:translate(0,0) rotate(-5deg) scale(1)}50%{opacity:.7;transform:translate(-30px,calc(var(--dy, 200px)*.5)) rotate(calc(var(--dr, -10deg))) scale(.95)}85%{opacity:.3}to{opacity:0;transform:translate(-50px,var(--dy, 200px)) rotate(calc(var(--dr, -10deg)*2)) scale(.7)}}@keyframes defeat-drift-right{0%{opacity:0;transform:translate(0,-40px) rotate(0deg) scale(.5)}12%{opacity:.8;transform:translate(0,0) rotate(5deg) scale(1)}50%{opacity:.7;transform:translate(30px,calc(var(--dy, 200px)*.5)) rotate(calc(var(--dr, 10deg))) scale(.95)}85%{opacity:.3}to{opacity:0;transform:translate(50px,var(--dy, 200px)) rotate(calc(var(--dr, 10deg)*2)) scale(.7)}}.celebration-container{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;pointer-events:none;z-index:200;overflow:hidden}.confetti-particle{position:absolute;width:10px;height:10px;opacity:0;will-change:transform,opacity;animation:confetti-burst 3.5s cubic-bezier(.25,.46,.45,.94) forwards}.confetti-particle.confetti-rect{width:12px;height:6px;border-radius:1px}.confetti-particle.confetti-circle{width:8px;height:8px;border-radius:50%}.confetti-particle.confetti-strip{width:4px;height:14px;border-radius:2px}.confetti-particle.confetti-diamond{width:8px;height:8px;transform:rotate(45deg);border-radius:2px}.confetti-gold{background:#f0c040}.confetti-gold2{background:gold}.confetti-amber{background:#ffb300}.confetti-orange{background:#ff8f00}.confetti-white{background:rgba(255,255,255,.9)}.confetti-yellow{background:#ffe066}.confetti-particle.sparkle{animation:confetti-sparkle 3.5s ease-out forwards}.confetti-emoji{position:absolute;font-size:1.8em;opacity:0;pointer-events:none;will-change:transform,opacity;animation:emoji-burst 3s ease-out forwards}.defeat-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;pointer-events:none;z-index:90;overflow:hidden;animation:defeat-bg 2.5s ease-in-out forwards}.defeat-emoji{position:absolute;font-size:2em;opacity:0;pointer-events:none;will-change:transform,opacity;animation:defeat-drift 3s ease-in forwards}.defeat-emoji.sway-left{animation:defeat-drift-left 3s ease-in forwards}.defeat-emoji.sway-right{animation:defeat-drift-right 3s ease-in forwards}@media (max-width:480px){.confetti-particle{width:7px;height:7px}.confetti-particle.confetti-rect{width:9px;height:4px}.confetti-particle.confetti-strip{width:3px;height:10px}.confetti-emoji{font-size:1.4em}.defeat-emoji{font-size:1.6em}}