html { scroll-behavior: smooth; } body { font-family: 'Inter', sans-serif; background-color: #f8f9fa; } .hero { background: linear-gradient(45deg, #007bff, #82b4ff); color: white; padding: 100px 0; text-align: center; } .feature-item { background-color: #ffffff; padding: 30px; border-radius: 0.5rem; box-shadow: 0 4px 12px rgba(0,0,0,0.08); transition: transform 0.2s ease-in-out; height: 100%; } .feature-item:hover { transform: translateY(-5px); } .feature-item svg { color: #007bff; } .chat-widget { position: fixed; bottom: 20px; right: 20px; background-color: #007bff; color: white; width: 60px; height: 60px; border-radius: 50%; display: flex; justify-content: center; align-items: center; cursor: pointer; box-shadow: 0 4px 8px rgba(0,0,0,0.2); } .chat-widget-container { position: fixed; bottom: 20px; right: 20px; } .chat-window { display: none; position: fixed; bottom: 100px; right: 20px; width: 350px; max-width: 90vw; background-color: white; border-radius: 0.5rem; box-shadow: 0 8px 24px rgba(0,0,0,0.15); flex-direction: column; } .chat-header { display: flex; justify-content: space-between; align-items: center; padding: 1rem; border-bottom: 1px solid #eee; background-color: #f8f9fa; border-top-left-radius: 0.5rem; border-top-right-radius: 0.5rem; } .chat-header h5 { margin: 0; font-size: 1.1rem; } .chat-body { padding: 1rem; overflow-y: auto; height: 300px; display: flex; flex-direction: column; gap: 0.75rem; } .message { padding: 0.5rem 1rem; border-radius: 1rem; max-width: 80%; word-wrap: break-word; } .user-message { background-color: #007bff; color: white; align-self: flex-end; border-bottom-right-radius: 0.25rem; } .bot-message { background-color: #f1f1f1; color: #333; align-self: flex-start; border-bottom-left-radius: 0.25rem; } .chat-footer { display: flex; padding: 1rem; border-top: 1px solid #eee; } .chat-footer .form-control { flex-grow: 1; margin-right: 0.5rem; } .typing-indicator { display: flex; align-items: center; padding: 1rem; } .typing-indicator span { height: 8px; width: 8px; background-color: #999; border-radius: 50%; display: inline-block; margin: 0 2px; animation: bounce 1s infinite; } .typing-indicator span:nth-child(2) { animation-delay: 0.1s; } .typing-indicator span:nth-child(3) { animation-delay: 0.2s; } @keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1.0); } } #speech-to-text-btn.listening { background-color: #dc3545; border-color: #dc3545; } /* Auth Page Styles */ .auth-container { display: flex; justify-content: center; align-items: center; min-height: 90vh; padding: 2rem; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); } .auth-form { background: rgba(255, 255, 255, 0.1); padding: 2.5rem; border-radius: 1rem; box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.18); width: 100%; max-width: 420px; color: white; } .auth-form h2 { text-align: center; margin-bottom: 2rem; font-weight: 600; } .auth-form .form-group { margin-bottom: 1.5rem; position: relative; } .auth-form label { display: block; margin-bottom: 0.5rem; font-weight: 500; } .auth-form input[type="email"], .auth-form input[type="password"] { width: 100%; padding: 1rem; background: rgba(255, 255, 255, 0.2); border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 0.5rem; color: white; transition: background 0.3s, border-color 0.3s; } .auth-form input[type="email"]::placeholder, .auth-form input[type="password"]::placeholder { color: rgba(255, 255, 255, 0.7); } .auth-form input[type="email"]:focus, .auth-form input[type="password"]:focus { outline: none; background: rgba(255, 255, 255, 0.3); border-color: rgba(255, 255, 255, 0.5); } .auth-form .btn-submit { width: 100%; padding: 1rem; background: #667eea; color: white; border: none; border-radius: 0.5rem; font-size: 1.1rem; font-weight: 600; cursor: pointer; transition: background 0.3s; } .auth-form .btn-submit:hover { background: #5a6fd8; } .auth-form .errors, .auth-form .success { background: rgba(255, 82, 82, 0.9); color: white; padding: 1rem; border-radius: 0.5rem; margin-bottom: 1.5rem; text-align: center; } .auth-form .success { background: rgba(40, 167, 69, 0.9); } .auth-form .auth-link { text-align: center; margin-top: 1.5rem; } .auth-form .auth-link a { color: #f0f0f0; text-decoration: none; font-weight: 500; transition: color 0.3s; } .auth-form .auth-link a:hover { color: white; text-decoration: underline; }