@keyframes k-pulse {
    from {
        background-color: var(--theme-background);
    }
    to {
        background-color: var(--theme-background-alt);
    }
}

@keyframes k-diagonal-bounce {
    0% {
        transform: translateX(0px) translateY(0px);
    }
    20% {
        transform: translateX(2px) translateY(5px);
    }
    100% {
        transform: translateX(0px) translateY(0px);
    }
}

@keyframes k-horizontal-bounce {
    0% {
        transform: translateX(0px);
    }
    20% {
        transform: translateX(10px);
    }
    100% {
        transform: translateX(0px);
    }
}

@keyframes k-slide-in {
    0% {
        transform: translateX(-5px) translateY(-10px);
        opacity: 0;
    }
    60% {
        opacity: 1;
    }
    100% {
        transform: translateX(0px) translateY(0px);
        opacity: 1;
    }
}

@keyframes k-fade-in {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes k-bump-vertical {
    0% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(-10px);
    }
    80% {
        transform: translateY(3px);
    }
    100% {
        transform: translateY(0px);
    }
}

@keyframes k-bar-grow {
    from {
        height: 1px;
        opacity: 0;
    }
}

@keyframes k-combined-bar-grow {
    from {
        width: 1px;
        opacity: 0;
    }
}

@keyframes k-gradient {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

@keyframes k-day-bounce {
    0% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(5px);
    }
    100% {
        transform: translateY(0px);
    }
}

@keyframes k-underline {
    from {
        background-size: 0 1px;
    }
    to {
        background-size: 100% 1px;
    }
}

@keyframes k-rotate {
    to {
        transform: rotate(360deg);
    }
}
