|
|
body { |
|
|
font-family: sans-serif; |
|
|
margin: 0; |
|
|
padding: 0; |
|
|
background-color: #f4f4f4; |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
min-height: 100vh; |
|
|
} |
|
|
|
|
|
header { |
|
|
background-color: #007bff; |
|
|
color: white; |
|
|
padding: 10px 20px; |
|
|
text-align: center; |
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); |
|
|
} |
|
|
|
|
|
header h1 { |
|
|
margin: 0; |
|
|
font-size: 1.5em; |
|
|
} |
|
|
|
|
|
.chat-container { |
|
|
flex-grow: 1; |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
max-width: 800px; |
|
|
margin: 20px auto; |
|
|
background-color: #fff; |
|
|
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); |
|
|
border-radius: 8px; |
|
|
overflow: hidden; |
|
|
} |
|
|
|
|
|
.chatbox { |
|
|
flex-grow: 1; |
|
|
padding: 20px; |
|
|
overflow-y: auto; |
|
|
max-height: 60vh; |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
} |
|
|
|
|
|
.message { |
|
|
margin-bottom: 15px; |
|
|
padding: 10px 15px; |
|
|
border-radius: 5px; |
|
|
max-width: 80%; |
|
|
word-wrap: break-word; |
|
|
} |
|
|
|
|
|
.user-message { |
|
|
align-self: flex-end; |
|
|
background-color: #dcf8c6; |
|
|
color: #333; |
|
|
} |
|
|
|
|
|
.assistant-message { |
|
|
align-self: flex-start; |
|
|
background-color: #e9e9eb; |
|
|
color: #333; |
|
|
} |
|
|
|
|
|
.input-area { |
|
|
display: flex; |
|
|
padding: 15px 20px; |
|
|
border-top: 1px solid #eee; |
|
|
gap: 10px; |
|
|
} |
|
|
|
|
|
.input-area input[type="text"] { |
|
|
flex-grow: 1; |
|
|
padding: 10px; |
|
|
border: 1px solid #ccc; |
|
|
border-radius: 4px; |
|
|
font-size: 1em; |
|
|
} |
|
|
|
|
|
.input-area button { |
|
|
padding: 10px 15px; |
|
|
background-color: #007bff; |
|
|
color: white; |
|
|
border: none; |
|
|
border-radius: 4px; |
|
|
cursor: pointer; |
|
|
font-size: 1em; |
|
|
transition: background-color 0.2s ease; |
|
|
} |
|
|
|
|
|
.input-area button:hover { |
|
|
background-color: #0056b3; |
|
|
} |
|
|
|
|
|
.input-area button:disabled { |
|
|
background-color: #cccccc; |
|
|
cursor: not-allowed; |
|
|
} |
|
|
|
|
|
|
|
|
footer { |
|
|
margin-top: auto; |
|
|
background-color: #333; |
|
|
color: white; |
|
|
text-align: center; |
|
|
padding: 10px 20px; |
|
|
font-size: 0.9em; |
|
|
} |
|
|
|
|
|
footer p { |
|
|
margin: 0; |
|
|
} |
|
|
|
|
|
|
|
|
.loading-indicator { |
|
|
font-style: italic; |
|
|
color: #888; |
|
|
align-self: flex-start; |
|
|
margin-left: 10px; |
|
|
} |