/* Base Styles */
body {
    font-family: 'Montserrat', sans-serif;
    background-color: #FAFAFA;
    color: #1e293b;
    overflow-x: hidden;
    -webkit-tap-highlight-color: transparent;
}

/* Scroll Behavior */
html { scroll-behavior: smooth; }

/* Glass Effects */
.glass-header {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(0,0,0,0.05);
}

.glass-chat {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(100, 1, 255, 0.08);
    box-shadow: 0 15px 40px -10px rgba(0, 0, 0, 0.08);
}

/* Chat Scrollbar */
.chat-scroll::-webkit-scrollbar { width: 4px; }
.chat-scroll::-webkit-scrollbar-track { background: transparent; }
.chat-scroll::-webkit-scrollbar-thumb { background-color: #CBD5E1; border-radius: 10px; }

/* Typing Animation */
.typing-dot { 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); } }

/* Mobile Optimization */
@media (max-width: 768px) {
    .mobile-chat-expanded {
        position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 60;
        border-radius: 0; display: flex; flex-direction: column;
        background: white;
    }
    .mobile-chat-expanded .chat-header { padding-top: env(safe-area-inset-top, 20px); }
    input, textarea { font-size: 16px !important; } /* iOS zoom fix */
}

.text-gradient {
    background: linear-gradient(135deg, #0f172a 0%, #6401FF 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Thin vertical line for methodology */
.vertical-separator {
    width: 1px;
    background: linear-gradient(to bottom, transparent, #e2e8f0, transparent);
}