/* Global Reset */ * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Segoe UI', sans-serif; } html, body { height: 100%; width: 100%; background: #f0f2f5; overflow: hidden; /* Prevent page scroll */ } /* Chat Container */ .chat-container { position: fixed; /* Lock in place */ top: 0; left: 0; width: 100%; height: 100%; /* Full page */ background: #fff; border-radius: 0; /* No rounding on full-page layout */ display: flex; flex-direction: column; padding-bottom: 20px; } /* Chat Header */ .chat-header { background-color: #10a37f; padding: 10px; text-align: center; color: white; font-size: 1.2rem; /* Reduced size */ font-weight: bold; } /* Chat Box */ .chat-box { flex: 1; /* Fill remaining space */ padding: 20px; display: flex; flex-direction: column; gap: 15px; background-color: #fafafa; overflow-y: auto; /* Scroll inside chat box only */ } /* Messages */ .message { max-width: 80%; padding: 12px 18px; border-radius: 16px; font-size: 1rem; line-height: 1.5; /* Better line spacing for Markdown */ white-space: pre-wrap; word-break: break-word; overflow-wrap: break-word; transform: translateY(20px); opacity: 0; animation: slide-in 0.3s forwards; } /* User messages */ .message.user { align-self: flex-end; background-color: #10a37f; color: white; } /* Bot messages */ .message.bot { align-self: flex-start; background-color: #e5e5ea; color: #000; } /* Lists inside messages */ .message ol, .message ul { margin: 0 0 0 1.2em; /* Proper indent inside bubble */ padding-left: 1.2em; } .message li { margin-bottom: 0.3em; /* Space between items */ } /* Chat Input */ .chat-input { display: flex; padding: 15px; border-top: 1px solid #ddd; background-color: #fff; } .chat-input textarea { flex: 1; padding: 12px; border: 1px solid #ccc; border-radius: 20px; outline: none; resize: none; min-height: 40px; max-height: 150px; } .chat-input button { padding: 10px 18px; margin-left: 10px; background-color: #10a37f; color: white; border: none; border-radius: 20px; cursor: pointer; } .chat-input button:hover { background-color: #0e8f6a; } /* Spinner */ .spinner { border: 4px solid #f3f3f3; border-top: 4px solid #10a37f; border-radius: 50%; width: 20px; height: 20px; animation: spin 1s linear infinite; display: inline-block; } /* Animations */ @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } @keyframes slide-in { to { transform: translateY(0); opacity: 1; } }