h1, h2, h3, ol, ul { margin: 0; } h1 { margin-bottom: 0.5rem; } pre code { display: block; overflow-x: scroll; } body { display: flex; justify-content: center; align-items: center; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background-color: #f4f4f4; margin: 0; padding: 0; color: #333; } .container { width: 90%; max-width: 500px; background-color: #fff; border-radius: 12px; box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1); padding: 1rem; transition: all 0.3s; height: 100dvh; } .chat { flex-grow: 1; overflow-y: auto; margin-bottom: 20px; border-bottom: 2px solid #e2e2e2; } .message { display: flex; margin-bottom: 12px; } .message.user { justify-content: flex-end; } .message-bubble { padding: 12px 18px; max-width: 70%; border-radius: 20px; line-height: 1.6; font-size: 0.95rem; } .message.user .message-bubble { background-color: #3182ce; color: white; } .message.bot .message-bubble { background-color: #e2e2e2; color: #333; } input[type="text"] { width: calc(100% - 110px); padding: 12px 18px; border: 2px solid #e2e2e2; border-radius: 8px 0 0 8px; font-size: 1rem; outline: none; } .send-button { width: 110px; background-color: #3182ce; color: white; padding: 12px 18px; border: none; border-radius: 0 8px 8px 0; cursor: pointer; transition: background-color 0.3s; } .send-button:hover { background-color: #2c5282; } .footer { text-align: center; padding: 15px 0; font-size: 0.9rem; color: #666; position: static; border-top: 1px solid #e2e2e2; background-color: #fff; position: fixed; bottom: 0; width: 100%; } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } .fadeIn { animation: fadeIn 1s; } @media (max-width: 600px) { .container { width: 95%; margin: 10px auto 0; } .chat { height: 300px; } input[type="text"], .send-button { padding: 10px 14px; font-size: 0.9rem; } .footer { font-size: 0.8rem; margin-top: 30px; } } .typing-indicator { display: none; align-items: center; justify-content: flex-end; margin-top: 8px; width: 10px; height: 10px; background-color: #333; border-radius: 50%; margin-left: 4px; animation: typing 1s infinite; } @keyframes typing { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.2); opacity: 0.7; } }