@keyframes bob {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-6px);
    }
}

.bob {
    animation: bob 1.5s ease-in-out infinite;
}

@keyframes pinkGradientSweep {
    0% {
        background-position: 200% center;
    }
    100% {
        background-position: -200% center;
    }
}

.gradient-sweep-text {
    background: linear-gradient(
            90deg,
            #fbcfe8 0%,
            #ec4899 50%,
            #fbcfe8 100%
    );
    background-size: 200% 100%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: pinkGradientSweep 3s linear infinite;
}

@keyframes shake {
    0%, 100% { transform: translateX(0); }
    20%, 60% { transform: translateX(-5px); }
    40%, 80% { transform: translateX(5px); }
}

.animate-shake {
    animation: shake 0.5s ease-in-out;
}

body {
    font-family: "Comic Sans MS", sans-serif;
}