|
:root { |
|
--primary-color: #132A13; |
|
--secondary-color: #31572C; |
|
--accent-color: #4F772D; |
|
--background-color: #f5f2e6; |
|
--text-color: #132A13; |
|
--light-text-color: #90A955; |
|
--chat-width: 100%; |
|
--pdf-width: 0%; |
|
--transition-speed: 0.3s; |
|
} |
|
|
|
body, html { |
|
margin: 0; |
|
padding: 0; |
|
height: 100%; |
|
font-family: Arial, sans-serif; |
|
background-color: var(--background-color); |
|
color: var(--text-color); |
|
} |
|
|
|
.split-screen { |
|
display: flex; |
|
height: 100vh; |
|
width: 100%; |
|
transition: all var(--transition-speed) ease; |
|
} |
|
|
|
.left-panel { |
|
display: flex; |
|
flex-direction: column; |
|
width: var(--chat-width); |
|
transition: width var(--transition-speed) ease; |
|
} |
|
|
|
.right-panel { |
|
display: flex; |
|
flex-direction: column; |
|
width: var(--pdf-width); |
|
transition: width var(--transition-speed) ease; |
|
position: relative; |
|
} |
|
|
|
#resizer { |
|
width: 10px; |
|
background: #ccc; |
|
cursor: col-resize; |
|
transition: background 0.3s; |
|
display: none; |
|
} |
|
|
|
#resizer:hover { |
|
background: #999; |
|
} |
|
|
|
.chat-header { |
|
display: flex; |
|
justify-content: space-between; |
|
align-items: center; |
|
padding: 10px; |
|
background-color: var(--primary-color); |
|
color: white; |
|
} |
|
|
|
.logo { |
|
font-size: 20px; |
|
font-weight: bold; |
|
} |
|
|
|
#status-indicator { |
|
display: flex; |
|
align-items: center; |
|
} |
|
|
|
#status-bulb { |
|
width: 10px; |
|
height: 10px; |
|
border-radius: 50%; |
|
margin-left: 10px; |
|
transition: background-color 0.3s ease; |
|
} |
|
|
|
#chat-container { |
|
flex-grow: 1; |
|
overflow-y: auto; |
|
padding: 20px; |
|
display: flex; |
|
flex-direction: column; |
|
} |
|
|
|
.message { |
|
max-width: 80%; |
|
margin-bottom: 15px; |
|
padding: 10px; |
|
border-radius: 10px; |
|
line-height: 1.4; |
|
opacity: 0; |
|
transform: translateY(20px); |
|
animation: fadeIn 0.3s forwards; |
|
} |
|
|
|
@keyframes fadeIn { |
|
to { |
|
opacity: 1; |
|
transform: translateY(0); |
|
} |
|
} |
|
|
|
.user-message { |
|
align-self: flex-end; |
|
background-color: var(--accent-color); |
|
color: white; |
|
} |
|
|
|
.bot-message { |
|
align-self: flex-start; |
|
background-color: white; |
|
border: 1px solid var(--secondary-color); |
|
} |
|
|
|
.input-area { |
|
display: flex; |
|
flex-direction: column; |
|
padding: 10px; |
|
border-top: 1px solid #ccc; |
|
} |
|
|
|
#user-input { |
|
flex-grow: 1; |
|
padding: 10px; |
|
border: 1px solid #ccc; |
|
border-radius: 5px; |
|
margin-bottom: 10px; |
|
resize: vertical; |
|
min-height: 50px; |
|
transition: border-color 0.3s ease; |
|
} |
|
|
|
#user-input:focus { |
|
border-color: var(--accent-color); |
|
outline: none; |
|
} |
|
|
|
#send-button { |
|
padding: 10px 20px; |
|
background-color: var(--accent-color); |
|
color: white; |
|
border: none; |
|
border-radius: 5px; |
|
cursor: pointer; |
|
align-self: flex-end; |
|
transition: background-color 0.3s ease; |
|
} |
|
|
|
#send-button:hover { |
|
background-color: var(--secondary-color); |
|
} |
|
|
|
#viewer-container { |
|
flex-grow: 1; |
|
display: flex; |
|
position: relative; |
|
} |
|
|
|
#pdf-viewer { |
|
width: 100%; |
|
height: 100%; |
|
border: none; |
|
} |
|
|
|
.sources { |
|
font-size: 0.9em; |
|
color: #666; |
|
margin-top: 10px; |
|
margin-bottom: 15px; |
|
} |
|
|
|
.sources a { |
|
color: var(--accent-color); |
|
text-decoration: none; |
|
display: block; |
|
margin-bottom: 5px; |
|
transition: color 0.3s ease; |
|
} |
|
|
|
.sources a:hover { |
|
color: var(--secondary-color); |
|
text-decoration: underline; |
|
} |
|
|
|
#follow-up-container { |
|
display: flex; |
|
flex-wrap: wrap; |
|
gap: 5px; |
|
margin-bottom: 10px; |
|
} |
|
|
|
.follow-up-button { |
|
background-color: var(--light-text-color); |
|
border: none; |
|
border-radius: 15px; |
|
padding: 5px 10px; |
|
font-size: 0.9em; |
|
color: white; |
|
cursor: pointer; |
|
transition: background-color 0.3s ease, transform 0.1s ease; |
|
} |
|
|
|
.follow-up-button:hover { |
|
background-color: var(--accent-color); |
|
transform: scale(1.05); |
|
} |
|
|
|
.searching { |
|
font-style: italic; |
|
color: var(--light-text-color); |
|
align-self: flex-start; |
|
margin-bottom: 15px; |
|
} |
|
|
|
@keyframes pulse { |
|
0%, 100% { opacity: 0.5; } |
|
50% { opacity: 1; } |
|
} |
|
|
|
.searching::after { |
|
content: '...'; |
|
animation: pulse 1.5s infinite; |
|
display: inline-block; |
|
width: 1em; |
|
text-align: left; |
|
} |
|
|
|
#close-pdf { |
|
position: absolute; |
|
top: 10px; |
|
right: 10px; |
|
background: var(--accent-color); |
|
color: white; |
|
border: none; |
|
padding: 5px 10px; |
|
cursor: pointer; |
|
z-index: 1000; |
|
transition: background-color 0.3s ease, transform 0.1s ease; |
|
} |
|
|
|
#close-pdf:hover { |
|
background: var(--secondary-color); |
|
transform: scale(1.05); |
|
} |
|
|
|
@media (max-width: 768px) { |
|
.split-screen { |
|
flex-direction: column; |
|
} |
|
|
|
.left-panel, .right-panel { |
|
width: 100%; |
|
max-width: 100%; |
|
} |
|
|
|
#resizer { |
|
display: none; |
|
} |
|
} |
|
|
|
body { |
|
font-family: Arial, sans-serif; |
|
margin: 0; |
|
padding: 0; |
|
} |
|
|
|
.container { |
|
display: flex; |
|
height: 100vh; |
|
} |
|
|
|
.history-container { |
|
width: 300px; |
|
background-color: #f0f0f0; |
|
padding: 20px; |
|
overflow-y: auto; |
|
} |
|
|
|
.chat-container { |
|
flex-grow: 1; |
|
display: flex; |
|
flex-direction: column; |
|
padding: 20px; |
|
} |
|
|
|
#chat-messages { |
|
flex-grow: 1; |
|
overflow-y: auto; |
|
margin-bottom: 20px; |
|
} |
|
|
|
.input-container { |
|
display: flex; |
|
} |
|
|
|
#user-input { |
|
flex-grow: 1; |
|
padding: 10px; |
|
font-size: 16px; |
|
} |
|
|
|
button { |
|
padding: 10px 20px; |
|
font-size: 16px; |
|
background-color: #007bff; |
|
color: white; |
|
border: none; |
|
cursor: pointer; |
|
} |
|
|
|
.history-item { |
|
margin-bottom: 15px; |
|
padding-bottom: 15px; |
|
border-bottom: 1px solid #ccc; |
|
} |
|
|
|
.history-item h3 { |
|
margin-top: 0; |
|
color: #007bff; |
|
} |