.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); } /* Responsive adjustments */ @media (max-width: 480px) { .chatbot-container { width: calc(100% - 40px); height: 50vh; bottom: 100px; right: 20px; left: 20px; } .chatbot-message { max-width: 90%; } }