.confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;overflow:hidden}.confetti-piece{position:absolute;width:8px;height:8px;opacity:.8;animation:confetti-fall linear forwards}.confetti-piece.circle,.confetti-piece.square{background:var(--confetti-color)}.confetti-piece.circle{border-radius:50%}.confetti-piece.triangle{width:0;height:0;background:transparent;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:8px solid var(--confetti-color)}.confetti-piece.rectangle{width:12px;height:6px;background:var(--confetti-color)}.confetti-piece.color-1{--confetti-color:#ff6b6b}.confetti-piece.color-2{--confetti-color:#4ecdc4}.confetti-piece.color-3{--confetti-color:#45b7d1}.confetti-piece.color-4{--confetti-color:#96ceb4}.confetti-piece.color-5{--confetti-color:#ffeaa7}.confetti-piece.color-6{--confetti-color:plum}.confetti-piece.color-7{--confetti-color:#98d8c8}.confetti-piece.color-8{--confetti-color:#f7dc6f}.confetti-piece.color-9{--confetti-color:#bb8fce}.confetti-piece.color-10{--confetti-color:#85c1e9}@keyframes confetti-fall{0%{transform:translateY(-100vh) rotate(0deg);opacity:1}to{transform:translateY(100vh) rotate(2turn);opacity:0}}.confetti-piece.speed-1{animation-duration:2s}.confetti-piece.speed-2{animation-duration:2.5s}.confetti-piece.speed-3{animation-duration:3s}.confetti-piece.speed-4{animation-duration:3.5s}.confetti-piece.speed-5{animation-duration:4s}.confetti-piece.drift-left{animation-name:confetti-fall-left}.confetti-piece.drift-right{animation-name:confetti-fall-right}@keyframes confetti-fall-left{0%{transform:translateY(-100vh) translateX(0) rotate(0deg);opacity:1}to{transform:translateY(100vh) translateX(-50px) rotate(2turn);opacity:0}}@keyframes confetti-fall-right{0%{transform:translateY(-100vh) translateX(0) rotate(0deg);opacity:1}to{transform:translateY(100vh) translateX(50px) rotate(2turn);opacity:0}}.confetti-container.active{animation:confetti-container-fade-in .1s ease-in}@keyframes confetti-container-fade-in{0%{opacity:0}to{opacity:1}}@media (max-width:768px){.confetti-piece{width:6px;height:6px}.confetti-piece.rectangle{width:10px;height:5px}.confetti-piece.triangle{border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:6px solid var(--confetti-color)}}