.ep-chat-container { position: fixed; bottom: 24px; right: 24px; z-index: 99999; display: flex; flex-direction: column; align-items: flex-end; font-family: 'Inter', sans-serif; line-height: 1.5; }
.ep-toggle-btn { width: 56px; height: 56px; border-radius: 50%; background-color: #2D9CDB; color: #0F1115; border: none; cursor: pointer; box-shadow: 0 10px 25px rgba(45, 156, 219, 0.4); display: flex; align-items: center; justify-content: center; transition: transform 0.3s ease; }
.ep-toggle-btn:hover { transform: scale(1.1); }
.ep-chat-window { width: 350px; height: 500px; background-color: #0F1115; border: 1px solid rgba(45, 156, 219, 0.3); border-radius: 12px; box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5); display: flex; flex-direction: column; overflow: hidden; margin-bottom: 16px; font-size: 14px; }
.ep-chat-header { background-color: rgba(17, 24, 39, 0.95); padding: 16px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); display: flex; justify-content: space-between; align-items: center; }
.ep-header-title { display: flex; align-items: center; gap: 8px; }
.ep-header-title h3 { margin: 0; color: #FFFFFF; font-family: 'Helvetica', sans-serif; font-size: 14px; font-weight: 700; letter-spacing: 0.05em; }
.ep-status-dot { width: 8px; height: 8px; background-color: #22C55E; border-radius: 50%; }

/* Connection Status Icon */
.ep-conn-status { margin-left: 8px; cursor: pointer; padding: 2px; border-radius: 4px; transition: all 0.3s; }
.ep-conn-status.idle { color: #6B7280; }
.ep-conn-status.testing { color: #EAB308; animation: ep-pulse 1s infinite; }
.ep-conn-status.stable { color: #22C55E; }
.ep-conn-status.unstable { color: #EF4444; }

.ep-close-btn { background: none; border: none; color: #9CA3AF; cursor: pointer; padding: 4px; }
.ep-messages-area { flex: 1; overflow-y: auto; padding: 16px; background-color: rgba(15, 17, 21, 0.95); display: flex; flex-direction: column; gap: 16px; }
.ep-message-row { display: flex; width: 100%; }
.ep-row-user { justify-content: flex-end; }
.ep-row-bot { justify-content: flex-start; }
.ep-bubble { max-width: 85%; padding: 12px; border-radius: 8px; color: #FFFFFF; font-size: 14px; word-wrap: break-word; }
.ep-bubble-user { background-color: rgba(45, 156, 219, 0.2); border: 1px solid rgba(45, 156, 219, 0.3); border-bottom-right-radius: 0; }
.ep-bubble-bot { background-color: #1F2937; border: 1px solid #374151; border-bottom-left-radius: 0; color: #D1D5DB; }
.ep-bot-icon { color: #9B51E0; margin-right: 8px; vertical-align: middle; }
.ep-input-area { padding: 12px; background-color: #111827; border-top: 1px solid rgba(255, 255, 255, 0.1); display: flex; gap: 8px; }
.ep-chat-input { flex: 1; background-color: rgba(0, 0, 0, 0.5); border: 1px solid #374151; border-radius: 6px; padding: 8px 12px; color: #FFFFFF; font-size: 14px; outline: none; }
.ep-chat-input:focus { border-color: #2D9CDB; }
.ep-send-btn { background-color: rgba(45, 156, 219, 0.1); border: 1px solid rgba(45, 156, 219, 0.5); color: #2D9CDB; border-radius: 6px; padding: 8px 12px; cursor: pointer; }
.ep-send-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.ep-loading { display: flex; align-items: center; gap: 8px; }
.ep-spin { animation: ep-spin 1s linear infinite; }
@keyframes ep-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
@keyframes ep-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@media (max-width: 480px) { .ep-chat-window { width: 100%; height: 100%; position: fixed; bottom: 0; right: 0; margin-bottom: 0; border-radius: 0; z-index: 100000; } }