
Fix footer position, prompts size, flexible textarea, send button, prompts refresh, and add voice recording
aed5ad1
/* | |
* SPDX-FileCopyrightText: Hadad <hadad@linuxmail.org> | |
* SPDX-License-Identifier: Apache-2.0 | |
*/ | |
body { | |
font-family: 'Inter', sans-serif; | |
margin: 0; | |
padding: 0; | |
background: linear-gradient(135deg, #0f172a, #0e7490, #065f46, #064e3b); | |
background-size: 400% 400%; | |
animation: gradient 15s ease infinite; | |
color: #fff; | |
min-height: 100vh; | |
display: flex; | |
flex-direction: column; | |
} | |
@keyframes gradient { | |
0% { background-position: 0% 50%; } | |
50% { background-position: 100% 50%; } | |
100% { background-position: 0% 50%; } | |
} | |
.sidebar { | |
width: 250px; | |
background: rgba(0, 0, 0, 0.8); | |
padding: 20px; | |
height: 100vh; | |
position: fixed; | |
top: 0; | |
left: 0; | |
display: flex; | |
flex-direction: column; | |
align-items: center; | |
} | |
.sidebar-logo { | |
width: 80px; | |
height: 80px; | |
margin-bottom: 20px; | |
filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.5)); | |
} | |
.sidebar nav { | |
display: flex; | |
flex-direction: column; | |
gap: 10px; | |
} | |
.sidebar nav a { | |
color: #fff; | |
text-decoration: none; | |
padding: 10px; | |
border-radius: 5px; | |
transition: background 0.3s; | |
} | |
.sidebar nav a:hover, .sidebar nav a.active { | |
background: #ff6f61; | |
} | |
.container { | |
max-width: 1200px; | |
margin-left: 270px; | |
padding: 20px; | |
flex: 1; | |
} | |
.logo { | |
width: 120px; | |
height: 120px; | |
margin-bottom: 20px; | |
filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.5)); | |
} | |
h1 { | |
font-size: 3.5rem; | |
margin-bottom: 20px; | |
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3); | |
animation: fadeIn 1s ease-in-out; | |
} | |
p { | |
font-size: 1.2rem; | |
line-height: 1.6; | |
margin-bottom: 30px; | |
} | |
.btn { | |
display: inline-block; | |
padding: 15px 30px; | |
background: linear-gradient(45deg, #ff6f61, #e55a50); | |
color: #fff; | |
text-decoration: none; | |
border-radius: 25px; | |
font-size: 1.1rem; | |
transition: transform 0.3s, box-shadow 0.3s; | |
} | |
.btn:hover { | |
transform: scale(1.1); | |
box-shadow: 0 4px 15px rgba(255, 111, 97, 0.5); | |
} | |
.features, .docs, .news { | |
margin-top: 40px; | |
text-align: left; | |
} | |
.features h2, .docs h2, .news h2 { | |
font-size: 2rem; | |
margin-bottom: 20px; | |
text-align: center; | |
color: #fff; | |
} | |
.feature-grid, .footer-grid, .news-grid { | |
display: grid; | |
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); | |
gap: 20px; | |
} | |
.feature-card, .footer-card, .news-card { | |
background: rgba(255, 255, 255, 0.1); | |
padding: 20px; | |
border-radius: 10px; | |
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); | |
transition: transform 0.3s, box-shadow 0.3s, background 0.3s; | |
text-align: center; | |
aspect-ratio: 1/1; | |
} | |
.feature-card:hover, .footer-card:hover, .news-card:hover { | |
transform: scale(1.05); | |
box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3); | |
background: rgba(255, 255, 255, 0.2); | |
} | |
.feature-card i, .footer-card i { | |
font-size: 2.5rem; | |
margin-bottom: 10px; | |
color: #ff6f61; | |
} | |
.news-card a { | |
color: #ff6f61; | |
text-decoration: none; | |
font-weight: bold; | |
} | |
.news-card a:hover { | |
text-decoration: underline; | |
} | |
.code-block { | |
position: relative; | |
margin-bottom: 20px; | |
background: #1a1a1a; | |
padding: 20px; | |
border-radius: 10px; | |
} | |
.code-block h3 { | |
color: #ff6f61; | |
margin-bottom: 10px; | |
} | |
.code-block pre { | |
background: transparent; | |
padding: 0; | |
color: #c9e4ca; | |
font-family: 'Courier New', monospace; | |
overflow-x: auto; | |
} | |
.copy-btn { | |
position: absolute; | |
top: 10px; | |
right: 10px; | |
padding: 5px 10px; | |
background: #ff6f61; | |
color: #fff; | |
border: none; | |
border-radius: 5px; | |
cursor: pointer; | |
transition: background 0.3s; | |
} | |
.copy-btn:hover { | |
background: #e55a50; | |
} | |
main { | |
flex: 1 0 auto; | |
} | |
footer { | |
flex-shrink: 0; | |
position: sticky; | |
bottom: 0; | |
width: 100%; | |
padding: 1rem 0; | |
background: linear-gradient(270deg, #1f2937, #111827, #1f2937); | |
background-size: 200% 200%; | |
animation: gradient 15s ease infinite; | |
} | |
footer .container { | |
max-width: 1200px; | |
padding: 0 1rem; | |
margin: 0 auto; | |
} | |
footer .grid { | |
gap: 1rem; | |
} | |
footer .glass { | |
padding: 0.75rem; | |
background: rgba(255, 255, 255, 0.1); | |
backdrop-filter: blur(10px); | |
border-radius: 8px; | |
} | |
footer .glass h4 { | |
font-size: 1rem; | |
} | |
footer .glass p { | |
font-size: 0.875rem; | |
} | |
footer .glass .bx { | |
font-size: 1.5rem; | |
} | |
.footer-logo { | |
width: 100px; | |
height: 100px; | |
margin-bottom: 20px; | |
filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.5)); | |
} | |
.footer-social a { | |
font-size: 1.8rem; | |
color: #fff; | |
margin: 0 15px; | |
transition: color 0.3s, transform 0.3s; | |
} | |
.footer-social a:hover { | |
color: #ff6f61; | |
transform: scale(1.2); | |
} | |
.chat-title { | |
font-weight: 700; | |
font-size: 1.2rem; | |
color: #e6eefc; | |
display: flex; | |
align-items: center; | |
gap: 0.5rem; | |
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); | |
white-space: nowrap; | |
overflow: hidden; | |
text-overflow: ellipsis; | |
padding: 10px 0; | |
} | |
.chat-controls { | |
display: flex; | |
align-items: center; | |
gap: 0.5rem; | |
padding: 10px; | |
background: rgba(255, 255, 255, 0.1); | |
border-radius: 50px; | |
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05); | |
} | |
.chat-section { | |
display: flex; | |
flex-direction: column; | |
width: 100%; | |
max-width: 800px; | |
margin: 0 auto; | |
font-family: 'Inter', sans-serif; | |
} | |
#chatArea { | |
flex: 1; | |
display: flex; | |
flex-direction: column; | |
overflow-y: auto; | |
width: 100%; | |
box-sizing: border-box; | |
padding: 1rem; | |
background: transparent; | |
} | |
#chatBox { | |
display: flex; | |
flex-direction: column; | |
width: 100%; | |
max-width: 800px; | |
margin: 0 auto; | |
padding: 0.75rem; | |
box-sizing: border-box; | |
} | |
.bubble { | |
margin-bottom: 15px; | |
padding: 10px 15px; | |
border-radius: 8px; | |
max-width: 80%; | |
word-break: break-word; | |
} | |
.bubble-user { | |
background: #25D366; | |
color: white; | |
margin-left: 20%; | |
border-radius: 8px 8px 0 8px; | |
} | |
.bubble-assist { | |
background: rgba(255, 255, 255, 0.1); | |
margin-right: 20%; | |
border-radius: 8px 8px 8px 0; | |
color: #fff; | |
} | |
.upload-preview { | |
max-width: 200px; | |
max-height: 200px; | |
border-radius: 8px; | |
margin: 10px 0; | |
} | |
.audio-preview { | |
margin: 10px 0; | |
} | |
.loading { | |
display: inline-block; | |
width: 20px; | |
height: 20px; | |
border: 3px solid #f3f3f3; | |
border-top: 3px solid #25D366; | |
border-radius: 50%; | |
animation: spin 1s linear infinite; | |
} | |
@keyframes spin { | |
0% { transform: rotate(0deg); } | |
100% { transform: rotate(360deg); } | |
} | |
.md-content table { | |
border-collapse: collapse; | |
width: 100%; | |
margin: 10px 0; | |
} | |
.md-content th, .md-content td { | |
border: 1px solid #ddd; | |
padding: 8px; | |
} | |
.md-content th { | |
background: rgba(255, 255, 255, 0.1); | |
} | |
.styled-hr { | |
border: none; | |
height: 1px; | |
background: #ddd; | |
margin: 20px 0; | |
} | |
@media (max-width: 768px) { | |
.sidebar { | |
width: 100%; | |
height: auto; | |
position: static; | |
padding: 10px; | |
} | |
.container { | |
margin-left: 0; | |
} | |
#chatBox { | |
max-width: 100%; | |
} | |
.bubble-user, .bubble-assist { | |
max-width: 90%; | |
} | |
} | |