Spaces:
Running
Running
| /* Container */ | |
| .chat-container { | |
| overflow-y: overlay; | |
| padding-top: 10vw; | |
| height: 30vw; | |
| } | |
| /* Message wrapper */ | |
| .chat-message { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 6px; | |
| animation: fadeIn 0.25s ease-out; | |
| max-width: 100%; | |
| } | |
| .user-message, | |
| .bot-message { | |
| display: flex; | |
| align-items: center; | |
| padding: 12px 20px; | |
| gap: 2vw; | |
| } | |
| .user-message { | |
| justify-content: flex-start; | |
| } | |
| .bot-message { | |
| justify-content: flex-end; | |
| align-self: flex-end; | |
| } | |
| .avatar { | |
| width: 40px; | |
| height: 40px; | |
| border-radius: 50%; | |
| overflow: hidden; | |
| box-shadow: 0 4px 6px rgba(0,0,0,0.1); | |
| } | |
| .avatar img { | |
| width: 100%; | |
| height: 100%; | |
| object-fit: cover; | |
| } | |
| .user-message .message-content, | |
| .bot-message .message-content { | |
| padding: 12px 20px; | |
| border-radius: 10px; | |
| box-shadow: 0 4px 10px rgba(0,0,0,0.1); | |
| width: 50%; | |
| markdown { | |
| font-family: 'Roboto', sans-serif; | |
| color: #333; | |
| font-size: 1vw; | |
| line-height: 1.5; | |
| } | |
| } | |
| .user-message .message-content { | |
| background-color: #f4f4f4; | |
| width: auto; | |
| } | |
| .bot-message .message-content { | |
| background-color: #f4f4f4; | |
| } | |
| .message-content p { | |
| margin: 0; | |
| color: #333; | |
| font-size: 1vw; | |
| line-height: 1.5; | |
| } | |
| /* Input */ | |
| .input-box { | |
| display: flex; | |
| gap: 1vw; | |
| padding: 2vw; | |
| border-top: 1px solid #ddd; | |
| background-color: #fff; | |
| position: absolute; | |
| bottom: 0; | |
| width: -webkit-fill-available; | |
| } | |
| .input-box input { | |
| flex: 1 1 auto; | |
| padding: 1vw; | |
| font-size: 1vw; | |
| border-radius: 12px; | |
| border: 1px solid #ddd; | |
| box-shadow: 0 4px 6px rgba(0,0,0,0.05); | |
| outline: none; | |
| transition: border 0.3s ease; | |
| font-family: 'Roboto', sans-serif; | |
| } | |
| .input-box input:focus { | |
| border-color: #4e8fff; | |
| box-shadow: 0 4px 10px rgba(78,143,255,0.3); | |
| } | |
| .input-box button { | |
| padding: 1vw; | |
| background-color: #4e8fff; | |
| color: #fff; | |
| border: none; | |
| border-radius: 12px; | |
| cursor: pointer; | |
| box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); | |
| transition: background-color 0.3s ease; | |
| font-family: "Roboto", sans-serif; | |
| font-weight: bold; | |
| font-size: 1vw; | |
| } | |
| .input-box button:hover { | |
| background-color: #1e6ab2; | |
| } | |
| /* Typing dots */ | |
| .typing { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 6px; | |
| height: 1em; | |
| } | |
| .typing span { | |
| width: 6px; | |
| height: 6px; | |
| border-radius: 50%; | |
| background: #333; | |
| display: inline-block; | |
| animation: bounce 1s infinite ease-in-out; | |
| } | |
| .typing span:nth-child(2) { | |
| animation-delay: 0.15s; | |
| } | |
| .typing span:nth-child(3) { | |
| animation-delay: 0.30s; | |
| } | |
| @keyframes bounce { | |
| 0%, 80%, 100% { | |
| transform: translateY(0); | |
| opacity: 0.4; | |
| } | |
| 40% { | |
| transform: translateY(-6px); | |
| opacity: 1; | |
| } | |
| } | |
| /* Enter animation */ | |
| @keyframes fadeIn { | |
| from { | |
| opacity: 0; | |
| transform: translateY(10px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |