body {
    font-family: 'Poppins', sans-serif;
    /* Animated Gradient Background */
    background: linear-gradient(-45deg, #FFD1DC, #E6E6FA, #FFFFFF, #FFD1DC);
    background-size: 400% 400%;
    animation: gradientMove 15s ease infinite;
    overflow: hidden;
}

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

/* Hide scrollbar for the chat area */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}
.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Typing indicator dots animation */
.typing-dot {
    animation: typingDot 1.4s infinite ease-in-out both;
}
.typing-dot:nth-child(1) { animation-delay: -0.32s; }
.typing-dot:nth-child(2) { animation-delay: -0.16s; }

@keyframes typingDot {
    0%, 80%, 100% { transform: scale(0); opacity: 0.5; }
    40% { transform: scale(1); opacity: 1; }
}

/* Floating Hearts Animation */
.floating-heart {
    position: absolute;
    bottom: -50px;
    animation: floatUp linear forwards;
    opacity: 0.8;
    filter: drop-shadow(0 2px 4px rgba(255, 209, 220, 0.4));
}

@keyframes floatUp {
    0% {
        transform: translateY(0) scale(0.8) rotate(-10deg);
        opacity: 0;
    }
    10% {
        opacity: 0.8;
    }
    90% {
        opacity: 0.8;
    }
    100% {
        transform: translateY(-100vh) scale(1.2) rotate(20deg);
        opacity: 0;
    }
}
