|
|
.floating-chatbot-icon { |
|
|
position: fixed; |
|
|
bottom: 20px; |
|
|
right: 20px; |
|
|
width: 60px; |
|
|
height: 60px; |
|
|
border-radius: 50%; |
|
|
background: linear-gradient(135deg, var(--ai-accent-blue) 0%, var(--ai-accent-purple) 100%); |
|
|
box-shadow: 0 4px 20px rgba(0, 168, 255, 0.4); |
|
|
display: flex; |
|
|
align-items: center; |
|
|
justify-content: center; |
|
|
cursor: pointer; |
|
|
z-index: 1000; |
|
|
transition: all 0.3s ease; |
|
|
font-size: 24px; |
|
|
color: white; |
|
|
border: none; |
|
|
text-align: center; |
|
|
font-weight: bold; |
|
|
user-select: none; |
|
|
} |
|
|
|
|
|
.floating-chatbot-icon:hover { |
|
|
transform: scale(1.1); |
|
|
box-shadow: 0 6px 25px rgba(0, 168, 255, 0.6); |
|
|
} |
|
|
|
|
|
.floating-chatbot-icon.hidden { |
|
|
display: none; |
|
|
} |
|
|
|
|
|
.chatbot-container { |
|
|
position: fixed; |
|
|
bottom: 80px; |
|
|
right: 20px; |
|
|
width: 350px; |
|
|
height: 500px; |
|
|
background: var(--ai-secondary-dark); |
|
|
border: 1px solid var(--ai-border); |
|
|
border-radius: 10px; |
|
|
box-shadow: 0 5px 30px rgba(0, 0, 0, 0.5); |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
z-index: 999; |
|
|
overflow: hidden; |
|
|
} |
|
|
|
|
|
.chatbot-header { |
|
|
background: linear-gradient(135deg, var(--ai-primary-dark) 0%, var(--ai-secondary-dark) 100%); |
|
|
padding: 15px; |
|
|
border-bottom: 1px solid var(--ai-border); |
|
|
display: flex; |
|
|
justify-content: space-between; |
|
|
align-items: center; |
|
|
} |
|
|
|
|
|
.chatbot-title { |
|
|
color: var(--ai-text-primary); |
|
|
font-weight: bold; |
|
|
margin: 0; |
|
|
font-size: 1.1rem; |
|
|
} |
|
|
|
|
|
.chatbot-close { |
|
|
background: none; |
|
|
border: none; |
|
|
color: var(--ai-text-secondary); |
|
|
cursor: pointer; |
|
|
font-size: 1.5rem; |
|
|
width: 30px; |
|
|
height: 30px; |
|
|
display: flex; |
|
|
align-items: center; |
|
|
justify-content: center; |
|
|
border-radius: 50%; |
|
|
transition: background-color 0.2s; |
|
|
} |
|
|
|
|
|
.chatbot-close:hover { |
|
|
background-color: var(--ai-tertiary-dark); |
|
|
} |
|
|
|
|
|
.chatbot-messages { |
|
|
flex: 1; |
|
|
padding: 15px; |
|
|
overflow-y: auto; |
|
|
background: var(--ai-tertiary-dark); |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
gap: 10px; |
|
|
} |
|
|
|
|
|
.chatbot-welcome { |
|
|
color: var(--ai-text-secondary); |
|
|
font-style: italic; |
|
|
align-self: center; |
|
|
margin-top: 20px; |
|
|
} |
|
|
|
|
|
.chatbot-message { |
|
|
max-width: 80%; |
|
|
padding: 10px 15px; |
|
|
border-radius: 18px; |
|
|
position: relative; |
|
|
word-wrap: break-word; |
|
|
animation: fadeIn 0.3s ease; |
|
|
} |
|
|
|
|
|
@keyframes fadeIn { |
|
|
from { opacity: 0; transform: translateY(10px); } |
|
|
to { opacity: 1; transform: translateY(0); } |
|
|
} |
|
|
|
|
|
.user-message { |
|
|
background: var(--ai-accent-blue); |
|
|
color: white; |
|
|
align-self: flex-end; |
|
|
border-bottom-right-radius: 5px; |
|
|
} |
|
|
|
|
|
.bot-message { |
|
|
background: var(--ai-tertiary-dark); |
|
|
color: var(--ai-text-primary); |
|
|
align-self: flex-start; |
|
|
border-bottom-left-radius: 5px; |
|
|
border: 1px solid var(--ai-border); |
|
|
} |
|
|
|
|
|
.system-message { |
|
|
background: #ff6b6b; |
|
|
color: white; |
|
|
align-self: center; |
|
|
font-size: 0.85rem; |
|
|
text-align: center; |
|
|
} |
|
|
|
|
|
.message-content .typing-indicator { |
|
|
display: flex; |
|
|
align-items: center; |
|
|
gap: 5px; |
|
|
} |
|
|
|
|
|
.message-content .typing-indicator span { |
|
|
width: 8px; |
|
|
height: 8px; |
|
|
background-color: var(--ai-text-secondary); |
|
|
border-radius: 50%; |
|
|
display: inline-block; |
|
|
animation: typing 1.5s infinite ease-in-out; |
|
|
} |
|
|
|
|
|
.message-content .typing-indicator span:nth-child(2) { |
|
|
animation-delay: 0.2s; |
|
|
} |
|
|
|
|
|
.message-content .typing-indicator span:nth-child(3) { |
|
|
animation-delay: 0.4s; |
|
|
} |
|
|
|
|
|
@keyframes typing { |
|
|
0%, 100% { transform: translateY(0); } |
|
|
50% { transform: translateY(-5px); } |
|
|
} |
|
|
|
|
|
.chatbot-input { |
|
|
display: flex; |
|
|
padding: 15px; |
|
|
background: var(--ai-primary-dark); |
|
|
border-top: 1px solid var(--ai-border); |
|
|
} |
|
|
|
|
|
.chatbot-input input { |
|
|
flex: 1; |
|
|
padding: 10px; |
|
|
border: 1px solid var(--ai-border); |
|
|
border-radius: 20px; |
|
|
background: var(--ai-tertiary-dark); |
|
|
color: var(--ai-text-primary); |
|
|
font-size: 1rem; |
|
|
} |
|
|
|
|
|
.chatbot-input input:focus { |
|
|
outline: none; |
|
|
border-color: var(--ai-accent-blue); |
|
|
} |
|
|
|
|
|
.chatbot-input button { |
|
|
margin-left: 10px; |
|
|
padding: 10px 15px; |
|
|
background: linear-gradient(135deg, var(--ai-accent-blue) 0%, var(--ai-accent-purple) 100%); |
|
|
border: none; |
|
|
border-radius: 20px; |
|
|
color: white; |
|
|
cursor: pointer; |
|
|
font-weight: 500; |
|
|
transition: transform 0.2s, box-shadow 0.2s; |
|
|
} |
|
|
|
|
|
.chatbot-input button:disabled { |
|
|
opacity: 0.6; |
|
|
cursor: not-allowed; |
|
|
} |
|
|
|
|
|
.chatbot-input button:not(:disabled):hover { |
|
|
transform: translateY(-2px); |
|
|
box-shadow: 0 4px 15px rgba(0, 168, 255, 0.4); |
|
|
} |
|
|
|
|
|
|
|
|
@media (max-width: 480px) { |
|
|
.chatbot-container { |
|
|
width: calc(100% - 40px); |
|
|
height: 50vh; |
|
|
bottom: 100px; |
|
|
right: 20px; |
|
|
left: 20px; |
|
|
} |
|
|
|
|
|
.chatbot-message { |
|
|
max-width: 90%; |
|
|
} |
|
|
} |