.replay-btn {
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    background: #fff;
    padding: 0.5rem 0.875rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: #334155;
}

.replay-btn:hover {
    border-color: #fecaca;
    color: #b91c1c;
}

.replay-btn-active {
    border-color: #b91c1c;
    background: #fef2f2;
    color: #b91c1c;
}

@keyframes replay-normal-in {
    0% { opacity: 0; transform: scale(0.6); }
    70% { opacity: 1; transform: scale(1.08); }
    100% { opacity: 1; transform: scale(1); }
}

.draw-ball-normal-reveal {
    animation: replay-normal-in 300ms ease-out forwards;
}

@keyframes replay-special-scale {
    0% { transform: scale(1); }
    100% { transform: scale(1.5); }
}

@keyframes replay-special-bounce {
    0%, 100% { transform: scale(1.5) translateY(0); }
    30% { transform: scale(1.5) translateY(-12px); }
    60% { transform: scale(1.5) translateY(0); }
    80% { transform: scale(1.5) translateY(-6px); }
}

.draw-ball-special-replay {
    animation: replay-special-scale 500ms ease-out forwards, replay-special-bounce 800ms ease-out 500ms forwards;
}

.draw-ball-special-glow {
    animation: replay-special-glow 2s ease-out 1.3s forwards;
}

@keyframes replay-special-glow {
    0% { filter: brightness(1); }
    100% { filter: brightness(1.08); }
}
