.confetti-overlay{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:120}.confetti-overlay__layer{position:absolute;inset:0}.confetti-piece{position:absolute;width:var(--w, 6px);height:var(--h, 12px);background:var(--c, #fff);border-radius:2px;opacity:.96;transform:translateZ(0) rotate(0) scale(var(--s, 1));will-change:transform,opacity}.confetti-piece.ribbon{border-radius:999px}.confetti-piece:before{content:"";position:absolute;inset:0;background:inherit;border-radius:inherit;animation:confetti-flutter var(--flutterDur, 1.1s) ease-in-out infinite}.confetti-overlay__layer .confetti-piece{top:-20vh;left:var(--x, 50vw);animation:confetti-fall var(--dur, 5.2s) linear var(--delay, 0ms) infinite}@keyframes confetti-fall{0%{transform:translate3d(0,-20vh,0) rotate(0) scale(var(--s, 1));opacity:0}10%{opacity:1}to{transform:translate3d(var(--drift, 0vw),120vh,0) rotate(var(--spin, 1080deg)) scale(var(--s, 1));opacity:1}}@keyframes confetti-flutter{0%{transform:rotate(0) skew(0) scaleX(1);opacity:1}50%{transform:rotate(10deg) skew(14deg) scaleX(.65);opacity:.85}to{transform:rotate(0) skew(0) scaleX(1);opacity:1}}@media(prefers-reduced-motion:reduce){.confetti-overlay__layer{display:none}}
