|
body {
|
|
font-family: 'Inter', sans-serif;
|
|
background-color: #f8f9fb;
|
|
color: #1f2937;
|
|
transition: background-color 0.3s ease, color 0.3s ease;
|
|
}
|
|
|
|
|
|
#sidebar {
|
|
transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
|
|
backdrop-filter: blur(10px);
|
|
-webkit-backdrop-filter: blur(10px);
|
|
box-shadow: 2px 0 12px rgba(0, 0, 0, 0.15);
|
|
}
|
|
|
|
#sidebar.hidden {
|
|
transform: translateX(-100%);
|
|
}
|
|
|
|
|
|
.chat-container {
|
|
height: calc(100vh - 140px);
|
|
overflow-y: auto;
|
|
background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'><path fill='rgba(0,0,0,0.05)' d='M20 4a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm-16 16a2 2 0 1 0 4 0 2 2 0 0 0-4 0zm32 0a2 2 0 1 0 4 0 2 2 0 0 0-4 0zm-16 16a2 2 0 1 0 0 4 2 2 0 0 0 0-4z'/></svg>") repeat;
|
|
}
|
|
|
|
|
|
.message {
|
|
max-width: 75%;
|
|
margin: 8px 16px;
|
|
padding: 12px 16px;
|
|
border-radius: var(--bubble-radius, 12px);
|
|
line-height: 1.6;
|
|
animation: bubblePop 0.3s ease-out;
|
|
position: relative;
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: 8px;
|
|
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
|
|
transition: transform 0.2s ease;
|
|
}
|
|
|
|
.message:hover {
|
|
transform: translateY(-2px);
|
|
}
|
|
|
|
.user-message {
|
|
margin-left: auto;
|
|
border-bottom-right-radius: 2px;
|
|
}
|
|
|
|
.bot-message {
|
|
border-bottom-left-radius: 2px;
|
|
}
|
|
|
|
|
|
.pinned-message {
|
|
background: #fefcbf !important;
|
|
border: 1px solid #facc15;
|
|
position: sticky;
|
|
top: 0;
|
|
z-index: 10;
|
|
animation: none;
|
|
}
|
|
|
|
|
|
.typing {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
padding: 12px 16px;
|
|
margin: 8px 16px;
|
|
}
|
|
|
|
.typing span {
|
|
width: 10px;
|
|
height: 10px;
|
|
border-radius: 50%;
|
|
animation: pulse 0.8s infinite alternate;
|
|
background: #4f46e5;
|
|
}
|
|
|
|
.typing span:nth-child(2) { animation-delay: 0.2s; }
|
|
.typing span:nth-child(3) { animation-delay: 0.4s; }
|
|
|
|
@keyframes bubblePop {
|
|
from { transform: scale(0.9) translateY(10px); opacity: 0; }
|
|
to { transform: scale(1) translateY(0); opacity: 1; }
|
|
}
|
|
|
|
@keyframes pulse {
|
|
to { transform: scale(1.3); opacity: 0.6; }
|
|
}
|
|
|
|
|
|
.notification {
|
|
animation: slideInLeft 0.3s ease-out, fadeOut 0.3s ease-out 2.7s forwards;
|
|
border-left: 4px solid;
|
|
backdrop-filter: blur(5px);
|
|
}
|
|
|
|
@keyframes slideInLeft {
|
|
from { transform: translateX(-100%); opacity: 0; }
|
|
to { transform: translateX(0); opacity: 1; }
|
|
}
|
|
|
|
@keyframes fadeOut {
|
|
to { opacity: 0; }
|
|
}
|
|
|
|
|
|
.chat-container::-webkit-scrollbar {
|
|
width: 6px;
|
|
}
|
|
|
|
.chat-container::-webkit-scrollbar-thumb {
|
|
background: rgba(0, 0, 0, 0.1);
|
|
border-radius: 6px;
|
|
}
|
|
|
|
.chat-container::-webkit-scrollbar-thumb:hover {
|
|
background: rgba(0, 0, 0, 0.3);
|
|
}
|
|
|
|
|
|
button {
|
|
cursor: pointer;
|
|
position: relative;
|
|
transition: transform 0.2s, background 0.2s;
|
|
}
|
|
|
|
button:hover {
|
|
transform: scale(1.05);
|
|
}
|
|
|
|
button:active::after {
|
|
content: '';
|
|
position: absolute;
|
|
width: 100px;
|
|
height: 100px;
|
|
background: rgba(255, 255, 255, 0.3);
|
|
border-radius: 50%;
|
|
transform: scale(0);
|
|
animation: rippleEffect 0.6s ease-out;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform-origin: center;
|
|
}
|
|
|
|
@keyframes rippleEffect {
|
|
to { transform: scale(4); opacity: 0; }
|
|
}
|
|
|
|
|
|
#message-input {
|
|
background: rgba(255, 255, 255, 0.8);
|
|
backdrop-filter: blur(5px);
|
|
}
|
|
|
|
.dark #message-input {
|
|
background: rgba(31, 41, 55, 0.8);
|
|
color: #f3f4f6;
|
|
}
|
|
|
|
|
|
:root {
|
|
--bubble-radius: 12px;
|
|
}
|
|
|
|
.theme-default .user-message {
|
|
background: linear-gradient(135deg, #6366f1, #7c3aed);
|
|
color: white;
|
|
}
|
|
|
|
.theme-default .bot-message {
|
|
background: linear-gradient(135deg, #e5e7eb, #d1d5db);
|
|
color: #1f2937;
|
|
}
|
|
|
|
.theme-blue .user-message {
|
|
background: linear-gradient(135deg, #3b82f6, #60a5fa);
|
|
color: white;
|
|
}
|
|
|
|
.theme-blue .bot-message {
|
|
background: linear-gradient(135deg, #bfdbfe, #93c5fd);
|
|
color: #1e3a8a;
|
|
}
|
|
|
|
.theme-green .user-message {
|
|
background: linear-gradient(135deg, #10b981, #34d399);
|
|
color: white;
|
|
}
|
|
|
|
.theme-green .bot-message {
|
|
background: linear-gradient(135deg, #a7f3d0, #6ee7b7);
|
|
color: #064e3b;
|
|
}
|
|
|
|
.theme-purple .user-message {
|
|
background: linear-gradient(135deg, #8b5cf6, #a78bfa);
|
|
color: white;
|
|
}
|
|
|
|
.theme-purple .bot-message {
|
|
background: linear-gradient(135deg, #ddd6fe, #c4b5fd);
|
|
color: #4c1d95;
|
|
}
|
|
|
|
.theme-red .user-message {
|
|
background: linear-gradient(135deg, #ef4444, #f87171);
|
|
color: white;
|
|
}
|
|
|
|
.theme-red .bot-message {
|
|
background: linear-gradient(135deg, #fecaca, #f9a8a8);
|
|
color: #991b1b;
|
|
}
|
|
|
|
|
|
.dark {
|
|
background-color: #1e1e1e;
|
|
color: #e5e7eb;
|
|
}
|
|
|
|
.dark .chat-container {
|
|
background: linear-gradient(135deg, #1e1e1e, #2c2c2c);
|
|
}
|
|
|
|
.dark .bg-white {
|
|
background: #2a2a2a;
|
|
color: #e5e7eb;
|
|
}
|
|
|
|
|
|
|
|
.theme-default #sidebar {
|
|
background: #f8fafc;
|
|
color: #1e293b;
|
|
}
|
|
.theme-default .chat-container {
|
|
background: url("https://www.transparenttextures.com/patterns/pw-maze-white.png") repeat;
|
|
}
|
|
|
|
|
|
.dark #sidebar {
|
|
background: #1f2937;
|
|
color: #f8fafc;
|
|
}
|
|
.dark .chat-container {
|
|
background: url("https://www.transparenttextures.com/patterns/asfalt-dark.png") repeat;
|
|
}
|
|
|
|
|
|
#sidebar input,
|
|
#sidebar select {
|
|
color: inherit;
|
|
background-color: transparent;
|
|
}
|
|
|
|
.dark #sidebar input,
|
|
.dark #sidebar select {
|
|
background-color: #374151;
|
|
color: #f1f5f9;
|
|
}
|
|
|