Spaces:
Build error
Build error
| /* Set a modern font and background color */ | |
| body { | |
| font-family: 'Roboto', sans-serif; | |
| background-color: #f1f9ff; | |
| } | |
| /* Center the chat box */ | |
| #chat-box { | |
| margin: 0 auto; | |
| max-width: 500px; | |
| padding: 20px; | |
| background-color: #fff; | |
| border-radius: 10px; | |
| box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); | |
| position: absolute; | |
| top: 50%; | |
| left: 50%; | |
| transform: translate(-50%, -50%); | |
| } | |
| /* Add a subtle animation */ | |
| #chat-box { | |
| animation: fadein 1s; | |
| } | |
| #chat-area { | |
| overflow-y: auto; | |
| max-height: 600px; /* set a maximum height for the chat area */ | |
| display: flex; | |
| flex-direction: column; | |
| } | |
| @keyframes fadein { | |
| from { | |
| opacity: 0; | |
| } | |
| to { | |
| opacity: 1; | |
| } | |
| } | |
| /* Style the chat messages */ | |
| .message-container { | |
| display: flex; | |
| flex-direction: column; | |
| } | |
| .user-message { | |
| background-image: linear-gradient(to bottom right, #79b6f2, #6daff0); | |
| color: #ffffff; | |
| align-self: self-end; | |
| text-align: right; | |
| margin-bottom: 10px; | |
| margin-right: 5px; | |
| border-radius: 10px 10px 0 10px; | |
| padding: 10px 15px; | |
| max-width: fit-content; | |
| word-wrap: break-word; | |
| font-size: 16px; | |
| white-space: pre-wrap; | |
| float: right; | |
| } | |
| .bot-message { | |
| background-color: #f0f0f0; | |
| color: #000000; | |
| text-align: left; | |
| margin-bottom: 10px; | |
| border-radius: 10px 10px 10px 0; | |
| padding: 10px 15px; | |
| word-wrap: break-word; | |
| max-width: fit-content; | |
| font-size: 16px; | |
| white-space: pre-wrap; | |
| align-self: flex-start; | |
| } | |
| .bot-message a { | |
| color: #0d6efd; | |
| text-decoration: underline; | |
| } | |
| .bot-message a:hover { | |
| color: #0056b3; | |
| text-decoration: none; | |
| } | |
| .timestamp { | |
| display: flex; | |
| justify-content: space-between; | |
| font-size: 12px; | |
| color: #999; | |
| margin-right: 5px; | |
| text-align: right; | |
| float: right; | |
| } | |
| .bot-timestamp { | |
| justify-content: space-between; | |
| font-size: 12px; | |
| color: #999; | |
| margin-right: 5px; | |
| } | |
| .w-100 { | |
| padding-top: 10px; | |
| } | |
| /* Style the input area */ | |
| #input-area { | |
| display: flex; | |
| align-items: center; | |
| margin-top: 20px; | |
| } | |
| #question-input { | |
| flex-grow: 1; | |
| border: none; | |
| padding: 12px 15px; | |
| border-radius: 25px; | |
| font-size: 16px; | |
| background-color: #fff; | |
| color: #000; | |
| box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); | |
| transition: box-shadow 0.3s ease-in-out; | |
| } | |
| #question-input:focus { | |
| outline: none; | |
| box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); | |
| } | |
| #send-button { | |
| background-color: #79b6f2; | |
| color: #fff; | |
| border: none; | |
| padding: 12px 20px; | |
| border-radius: 25px; | |
| font-size: 16px; | |
| margin-left: 10px; | |
| cursor: pointer; | |
| transition: all 0.3s ease-in-out; | |
| } | |
| #send-button:hover { | |
| background-color: #558fcf; | |
| transform: translateY(-2px); | |
| box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); | |
| } | |
| /* Style the loading indicator */ | |
| #loading-indicator { | |
| display: none; | |
| text-align: center; | |
| } | |
| /* Define the spinner shape */ | |
| .spinner { | |
| width: 20px; | |
| height: 20px; | |
| margin-top: 10px; | |
| position: relative; | |
| perspective: 800px; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| } | |
| .spinner::before { | |
| content: ""; | |
| display: block; | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| width: 20px; | |
| height: 20px; | |
| border-radius: 50%; | |
| box-shadow: | |
| inset 0 -3px 0 rgba(0,0,0,.1), | |
| inset 0 -3px 3px rgba(0,0,0,.2), | |
| inset 0 -3px 6px rgba(0,0,0,.2), | |
| 0 0 6px 1px #007bff; | |
| transform: rotate(45deg); | |
| animation: spinner 1.5s cubic-bezier(.4,0,.2,1) infinite; | |
| } | |
| /* Define the spinner animation */ | |
| @keyframes spinner { | |
| 0% { | |
| transform: rotate(45deg) scale(1); | |
| } | |
| 50% { | |
| transform: rotate(405deg) scale(.2); | |
| opacity: .7; | |
| } | |
| 100% { | |
| transform: rotate(765deg) scale(1); | |
| opacity: 1; | |
| } | |
| } | |
| #typing-indicator { | |
| display: none; | |
| font-style: italic; | |
| margin-bottom: 10px; | |
| } | |