@tailwind base;
@tailwind components;
@tailwind utilities;

/* Font Setup */
body {
    font-family: 'Inter', sans-serif;
}

/* Custom Scrollbar for Chat */
.scrollbar-thin::-webkit-scrollbar {
    width: 6px;
}
.scrollbar-thin::-webkit-scrollbar-track {
    background: transparent;
}
.scrollbar-thin::-webkit-scrollbar-thumb {
    background-color: #cbd5e1;
    border-radius: 20px;
}

/* Animation Keyframes */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes scaleIn {
    from {
        opacity: 0;
        transform: scale(0.95);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Classes for animations */
.animate-fade-in-up {
    animation: fadeInUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.animate-scale-in {
    animation: scaleIn 0.2s ease-out forwards;
}

/* Chat Window Transitions */
#chat-window.active {
    display: flex !important;
    animation: scaleIn 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

#add-car-modal.active {
    display: flex !important;
    opacity: 1;
}

#add-car-modal.active #modal-content {
    transform: scale(1);
}

/* Typing Indicator */
.typing-indicator {
    display: flex;
    align-items: center;
    column-gap: 4px;
    padding: 4px 0;
}

.typing-dot {
    width: 5px;
    height: 5px;
    background-color: #94a3b8;
    border-radius: 50%;
    animation: typing 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 typing {
    0%, 80%, 100% { transform: scale(0); }
    40% { transform: scale(1); }
}

/* Markdown output styling for Chatbot */
.prose-chat p { margin-bottom: 0.5rem; }
.prose-chat p:last-child { margin-bottom: 0; }
.prose-chat ul { list-style-type: disc; padding-left: 1.2rem; margin-bottom: 0.5rem; }
.prose-chat strong { font-weight: 700; color: #1e293b; }
.prose-chat li { margin-bottom: 0.25rem; }