/* Impressive Zoom-Out Animation - buttons zoom out to nothing */
@keyframes impressiveZoomOut {
    0% {
        opacity: 1;
        transform: scale(1);
    }
    100% {
        opacity: 0;
        transform: scale(0);
    }
}

/* Impressive Zoom-In Animation - buttons zoom back in from nothing */
@keyframes impressiveZoomIn {
    0% {
        opacity: 0;
        transform: scale(0);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

/* Vote button states */
.vote-button.snap-away {
    animation: impressiveZoomOut 0.4s ease-out forwards;
}

.vote-button.zoom-back {
    animation: impressiveZoomIn 0.4s ease-out forwards;
}

.vote-button.hidden-vote {
    opacity: 0 !important;
    pointer-events: none;
}

/* Vote selected state - smooth movement to center */
.vote-button.vote-selected {
    transition: transform 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

/* Vote button moving back to original position */
.vote-button.vote-deselecting {
    transition: transform 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

/* Comment Section Grow-In Animation */
@keyframes growIn {
    0% {
        max-height: 0;
        opacity: 0;
        transform: translateY(-10px);
    }
    100% {
        max-height: 500px;
        opacity: 1;
        transform: translateY(0);
    }
}

.inline-comment-section {
    animation: growIn 0.5s ease-out forwards;
    overflow: hidden;
}
