.deck-return-animation-card {
    z-index: 1350;
}

.deck-return-shuffle-label {
    position: fixed;
    z-index: 1400;
    min-width: 128px;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.88);
    color: #fff;
    font-size: 0.85rem;
    font-weight: 900;
    text-align: center;
    pointer-events: none;
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.28);
    animation: deck-return-label 880ms ease both;
}

#deck.deck-return-shuffling {
    animation: deck-return-shuffle 720ms ease both;
}

@keyframes deck-return-shuffle {
    0%,
    100% {
        transform: translateX(0) rotate(0deg);
        filter: none;
    }

    18% {
        transform: translateX(-7px) rotate(-3deg);
        filter: drop-shadow(0 0 10px rgba(59, 130, 246, 0.35));
    }

    36% {
        transform: translateX(7px) rotate(3deg);
    }

    54% {
        transform: translateX(-5px) rotate(-2deg);
    }

    72% {
        transform: translateX(5px) rotate(2deg);
        filter: drop-shadow(0 0 16px rgba(245, 158, 11, 0.4));
    }
}

@keyframes deck-return-label {
    0% {
        opacity: 0;
        transform: translate(-50%, 4px) scale(0.96);
    }

    18%,
    78% {
        opacity: 1;
        transform: translate(-50%, 0) scale(1);
    }

    100% {
        opacity: 0;
        transform: translate(-50%, -4px) scale(0.98);
    }
}

@media (prefers-reduced-motion: reduce) {
    #deck.deck-return-shuffling,
    .deck-return-shuffle-label {
        animation: none;
    }
}
