/* shame.css — outlier spotlight animations on vote reveal */

.shame-spotlight {
    position: relative;
    z-index: 10;
}

@keyframes shame-shake {
    0%,  100% { transform: translateX(0); }
    20%        { transform: translateX(-8px); }
    40%        { transform: translateX(8px); }
    60%        { transform: translateX(-6px); }
    80%        { transform: translateX(6px); }
}

.shame-shake {
    animation: shame-shake 0.45s ease 3;
}

/* Toast */
.shame-toast {
    position: fixed;
    bottom: 80px;
    left: 50%;
    transform: translateX(-50%) translateY(12px);
    background: rgba(185, 28, 28, 0.95);
    color: #fff;
    padding: 0.45rem 1.2rem;
    border-radius: 999px;
    font-weight: 600;
    font-size: 0.9rem;
    opacity: 0;
    transition: opacity 0.25s ease, transform 0.25s ease;
    z-index: 9999;
    pointer-events: none;
    white-space: nowrap;
}

.shame-toast-visible {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}
