/* Pieces shared by every game. */

/* Game-over celebration: confetti drifting down behind the final scores */
.confetti { position: fixed; inset: 0; overflow: hidden; pointer-events: none; z-index: 0; }
.confetti-piece {
    position: absolute; top: -30px; width: var(--w); height: var(--h); opacity: .9; border-radius: 2px;
    animation: confetti-fall var(--fall) linear var(--delay) infinite;
}
@keyframes confetti-fall {
    from { transform: translate3d(0, 0, 0) rotate(0); }
    to   { transform: translate3d(var(--drift), calc(100vh + 60px), 0) rotate(var(--spin)); }
}

@media (prefers-reduced-motion: reduce) { .confetti { display: none; } }
