| body { |
| font-family: Arial, sans-serif; |
| display: flex; |
| justify-content: center; |
| align-items: center; |
| height: 100vh; |
| margin: 0; |
| background-color: #121212; |
| } |
|
|
| .chat-container { |
| width: 360px; |
| height: 540px; |
| border: 1px solid #333; |
| border-radius: 12px; |
| background-color: #1e1e1e; |
| display: flex; |
| flex-direction: column; |
| overflow: hidden; |
| box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5); |
| animation: fadeIn 0.5s ease-in; |
| } |
|
|
| .chat-box { |
| flex: 1; |
| display: flex; |
| flex-direction: column; |
| overflow-y: auto; |
| padding: 15px; |
| border-bottom: 1px solid #333; |
| position: relative; |
| } |
|
|
| .messages { |
| display: flex; |
| flex-direction: column; |
| transition: opacity 0.3s ease-in-out; |
| } |
|
|
| .message { |
| padding: 10px 15px; |
| border-radius: 10px; |
| margin-bottom: 8px; |
| max-width: 80%; |
| word-wrap: break-word; |
| color: #f5f5f5; |
| opacity: 0; |
| animation: fadeInMessage 0.5s ease-in forwards; |
| } |
|
|
| .user-message { |
| align-self: flex-end; |
| background-color: #4caf50; |
| border: 1px solid #388e3c; |
| } |
|
|
| .bot-message { |
| align-self: flex-start; |
| background-color: #2196f3; |
| border: 1px solid #1976d2; |
| } |
|
|
| .input-area { |
| display: flex; |
| padding: 12px; |
| border-top: 1px solid #333; |
| background-color: #1e1e1e; |
| } |
|
|
| input[type="text"] { |
| flex: 1; |
| padding: 12px; |
| border: 1px solid #333; |
| border-radius: 20px; |
| margin-right: 12px; |
| background-color: #333; |
| color: #f5f5f5; |
| outline: none; |
| box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3); |
| transition: border-color 0.3s ease; |
| } |
|
|
| input[type="text"]::placeholder { |
| color: #888; |
| } |
|
|
| input[type="text"]:focus { |
| border-color: #f5f5f5; |
| } |
|
|
| button { |
| padding: 12px 18px; |
| border: none; |
| border-radius: 20px; |
| background-color: #ff5722; |
| color: white; |
| cursor: pointer; |
| font-size: 16px; |
| transition: |
| background-color 0.3s ease, |
| transform 0.2s ease; |
| } |
|
|
| button:hover { |
| background-color: #e64a19; |
| transform: scale(1.05); |
| } |
|
|
| .typing-indicator { |
| display: flex; |
| justify-content: center; |
| align-items: center; |
| margin-top: 10px; |
| } |
|
|
| .typing-indicator .dot { |
| width: 10px; |
| height: 10px; |
| margin: 0 4px; |
| background-color: #888; |
| border-radius: 50%; |
| animation: typing 1.4s infinite ease-in-out; |
| } |
|
|
| .typing-indicator .dot:nth-child(2) { |
| animation-delay: 0.2s; |
| } |
|
|
| .typing-indicator .dot:nth-child(3) { |
| animation-delay: 0.4s; |
| } |
|
|
| @keyframes typing { |
| 0%, |
| 100% { |
| opacity: 0.2; |
| } |
| 50% { |
| opacity: 1; |
| } |
| } |
|
|
| @keyframes fadeIn { |
| from { |
| opacity: 0; |
| transform: translateY(10px); |
| } |
| to { |
| opacity: 1; |
| transform: translateY(0); |
| } |
| } |
|
|
| @keyframes fadeInMessage { |
| from { |
| opacity: 0; |
| transform: translateY(10px); |
| } |
| to { |
| opacity: 1; |
| transform: translateY(0); |
| } |
| } |
|
|
| .message.bot-message { |
| white-space: pre-wrap; |
| } |
|
|
| |
|
|
| textarea { |
| flex: 1; |
| padding: 12px; |
| border: 1px solid #333; |
| border-radius: 20px; |
| margin-right: 12px; |
| background-color: #333; |
| color: #f5f5f5; |
| outline: none; |
| box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3); |
| transition: border-color 0.3s ease; |
| resize: none; |
| overflow-y: auto; |
| } |
|
|
| textarea::placeholder { |
| color: #888; |
| } |
|
|
| textarea:focus { |
| border-color: #f5f5f5; |
| } |
|
|