.order-celebration{position:fixed;z-index:90;inset:0;overflow:hidden;pointer-events:none}
.gold-confetti{position:absolute;left:50%;top:34%;width:9px;height:17px;border-radius:2px;background:linear-gradient(145deg,#fff4a8,#d79a00 58%,#ffe782);box-shadow:0 0 8px #ffd34d99;opacity:0;animation:gold-burst 1.75s cubic-bezier(.16,.72,.28,1) var(--delay) both}
.gold-confetti:nth-child(3n){width:7px;height:7px;border-radius:50%;background:#ffd84b}
.gold-confetti:nth-child(4n){background:#f2b705}
.mini-basketball{position:absolute;left:50%;top:34%;font-size:18px;line-height:1;opacity:0;filter:drop-shadow(0 4px 4px #59320033);animation:ball-burst 1.9s cubic-bezier(.18,.72,.24,1) var(--delay) both}
.celebration-result{opacity:0;animation:success-reveal .55s ease .38s forwards}
@keyframes gold-burst{0%{opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(0)}12%{opacity:1}100%{opacity:0;transform:translate(calc(var(--x) - 50vw),58vh) scale(1) rotate(var(--spin))}}
@keyframes ball-burst{0%{opacity:0;transform:translate(-50%,-50%) scale(.15) rotate(0)}14%{opacity:1}78%{opacity:1}100%{opacity:0;transform:translate(calc(var(--x) - 50vw),52vh) scale(1.15) rotate(620deg)}}
@keyframes success-reveal{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.gold-confetti,.mini-basketball{display:none}.celebration-result{opacity:1;animation:none}}
