*{margin:0;padding:0;box-sizing:border-box}
:root{--primary-gradient:linear-gradient(135deg,#87CEEB 0%,#1E90FF 100%);--secondary-gradient:linear-gradient(135deg,#f093fb 0%,#f5576c 100%);--accent-gradient:linear-gradient(135deg,#87CEFA 0%,#4169E1 100%);--bg-color:#f8f9fa;--card-bg:#ffffff;--text-primary:#333333;--text-secondary:#666666;--text-muted:#999999;--border-color:#e0e0e0;--success-color:#4CAF50;--error-color:#f44336;--shadow-sm:0 2px 8px rgba(0,0,0,0.1);--shadow-md:0 4px 16px rgba(0,0,0,0.15);--shadow-lg:0 10px 40px rgba(0,0,0,0.2);--border-radius-sm:8px;--border-radius-md:15px;--border-radius-lg:25px;--transition:all 0.3s cubic-bezier(0.4,0,0.2,1)}
body{font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;background:var(--primary-gradient);height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:0;background-attachment:fixed}
.background-bubbles{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;overflow:hidden}
.bubble{position:absolute;border-radius:50%;background:rgba(255,255,255,0.4);animation:float 20s infinite ease-in-out}
.bubble:nth-child(1){width:80px;height:80px;top:10%;left:10%;animation-delay:0s}
.bubble:nth-child(2){width:60px;height:60px;top:30%;right:20%;animation-delay:5s}
.bubble:nth-child(3){width:100px;height:100px;bottom:20%;left:30%;animation-delay:10s} 
.bubble:nth-child(4){width:50px;height:50px;bottom:40%;right:15%;animation-delay:15s}
.bubble:nth-child(5){width:120px;height:120px;top:20%;left:20%;animation-delay:2s}
.bubble:nth-child(6){width:70px;height:70px;bottom:30%;left:20%;animation-delay:7s}
.bubble:nth-child(7){width:90px;height:90px;top:40%;right:30%;animation-delay:12s}
.bubble:nth-child(8){width:60px;height:60px;top:60%;left:15%;animation-delay:17s}
.bubble:nth-child(9){width:110px;height:110px;top:70%;right:10%;animation-delay:3s}
.bubble:nth-child(10){width:40px;height:40px;top:15%;right:15%;animation-delay:8s}
.bubble:nth-child(11){width:80px;height:80px;bottom:10%;right:30%;animation-delay:13s}
.bubble:nth-child(12){width:100px;height:100px;top:50%;left:40%;animation-delay:18s}
@keyframes float{0%,100%{transform:translateY(0px) rotate(0deg);opacity:0.5}
50%{transform:translateY(-50px) rotate(180deg);opacity:1}
}.chat-container{position:relative;max-width:800px;margin:0 auto;width:100%;height:98%;background-color:rgba(255,255,255,0.9);border-radius:2%;box-shadow:var(--shadow-lg);overflow:hidden;transition:var(--transition);animation:containerSlideIn 0.6s ease-out;border-top:3px solid transparent;background-clip:padding-box,border-box;background-origin:padding-box,border-box;background-image:linear-gradient(rgba(255,255,255,0.9),rgba(255,255,255,0.9)),var(--primary-gradient)}
@keyframes containerSlideIn{from{opacity:0;transform:translateY(50px) scale(0.95)}
to{opacity:1;transform:translateY(0) scale(1)}
}.chat-header{background:var(--primary-gradient);color:white;padding:20px;display:flex;align-items:center;justify-content:space-between;position:absolute;top:0;left:0;right:0;height:70px;z-index:1000;box-shadow:var(--shadow-sm)}
.header-title{flex:1;text-align:center;font-size:22px;font-weight:700;letter-spacing:0.5px;text-shadow:0 2px 4px rgba(0,0,0,0.1)}
.header .history-button{background-color:rgba(255,255,255,0.3);color:white;border:1px solid rgba(255,255,255,0.6);border-radius:var(--border-radius-lg);padding:8px 20px;font-size:14px;font-weight:500;cursor:pointer;outline:none;transition:var(--transition);backdrop-filter:blur(15px);box-shadow:0 3px 10px rgba(0,0,0,0.1);margin-right:15px}
.chat-input-area .history-button{width:auto;height:25px;padding:0 3px;border:1px solid rgba(102,126,234,0.4);background-color:rgba(255,255,255,0.9);color:#667eea;border-radius:18px;cursor:pointer;outline:none;transition:var(--transition);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,0.08)}
.header .history-button:hover{background-color:rgba(255,255,255,0.4);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.chat-input-area .history-button:hover{background-color:rgba(102,126,234,0.1);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.header-buttons{display:flex;gap:12px}
.chat-messages{position:absolute;top:0;left:0;right:0;bottom:60px;padding:20px;background-color:rgba(248, 249, 250, 0.7);overflow-y:scroll;transition:var(--transition)}
.chat-messages::-webkit-scrollbar{width:8px;display:block !important}
.chat-messages::-webkit-scrollbar-track{background:transparent;border-radius:var(--border-radius-sm)}
.chat-messages::-webkit-scrollbar-thumb{background:rgba(102,126,234,0.3);border-radius:var(--border-radius-sm);transition:var(--transition)}
.chat-messages::-webkit-scrollbar-thumb:hover{background:rgba(102,126,234,0.5)}
.message{margin:15px 0;display:flex;align-items:flex-start;animation:messageSlide 0.4s ease forwards;gap:12px}
@keyframes messageSlide{from{opacity:0;transform:translateY(20px)}
to{opacity:1;transform:translateY(0)}
}.message-avatar{width:39px;height:39px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid rgba(102,126,234,0.2);transition:var(--transition);background:white;box-shadow:var(--shadow-sm)}
.message-avatar:hover{transform:scale(1.1);border-color:#667eea;box-shadow:var(--shadow-md)}
.message.bot .message-avatar{margin-right:0}
.message.user{flex-direction:row-reverse}
.message.user .message-avatar{margin-left:0}
.message-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.message-info{display:flex;align-items:center;gap:8px;font-size:13px}
.message.user .message-info{flex-direction:row-reverse}
.message.user .message-body{align-items:flex-end}
.message-sender{font-weight:600;color:var(--text-secondary);white-space:nowrap}
.message.user .message-sender{color:#667eea}
.message-time{color:var(--text-muted);font-size:11px}
.message-status{font-size:11px;color:var(--text-muted);margin-left:8px}
.message-status.read{color:var(--success-color)}
.message-status.unread{color:var(--error-color)}
.message-content{max-width:85%;word-wrap:break-word;white-space:normal;position:relative;padding:7px 9px;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);transition:var(--transition);font-size:14px;line-height:1.6}
.message.bot .message-content{background-color:white;color:var(--text-primary);border-bottom-left-radius:5px;min-width:120px;border:1px solid rgba(102,126,234,0.1)}
.message.bot .message-content:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.message.user .message-content{background:var(--primary-gradient);color:white;border-bottom-right-radius:5px;margin-left:auto;margin-right:0;text-align:right;border:1px solid rgba(102,126,234,0.2)}
.message.user .message-content:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.message-text{word-wrap:break-word;white-space:normal}
.message.user .message-text{text-align:right}
.message.admin .message-content{background:var(--accent-gradient);color:white;border-bottom-left-radius:5px;min-width:120px;box-shadow:var(--shadow-sm)}
.chat-input-area{position:absolute;bottom:0;left:0;right:0;height:60px;background-color:#ffffff;display:flex;align-items:center;gap:8px;padding:3px 5px;border-top:1px solid rgba(102,126,234,0.2);box-shadow:0 -5px 20px rgba(0,0,0,0.08);transition:var(--transition);backdrop-filter:blur(15px);z-index:999}
.emoji-button{width:25x;height:25px;border:none;background-color:rgba(255,255,255,0.9);cursor:pointer;outline:none;padding:0;border-radius:10%;transition:var(--transition);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,0.08)}
.voice-button{width:25px;height:25px;border:none;background-color:rgba(255,255,255,0.9);cursor:pointer;outline:none;padding:0;border-radius:10%;transition:var(--transition);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,0.08);z-index:1000}
.voice-button:hover{background-color:var(--bg-color);transform:scale(1.1);box-shadow:var(--shadow-sm)}
.emoji-button:hover{background-color:var(--bg-color);transform:scale(1.1);box-shadow:var(--shadow-sm)}
.chat-input{flex:1;height:40px;padding:5px 2px;border:2px solid rgba(102,126,234,0.2);border-radius:10px;font-size:14px;outline:none;transition:var(--transition);background-color:rgba(255, 255, 255, 0.95);color:var(--text-primary);font-family:inherit;position:relative;z-index:1000;box-shadow:0 2px 10px rgba(0,0,0,0.05)}
.chat-input:focus{border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,0.2);background-color:white;transform:translateY(-2px);box-shadow:0 4px 20px rgba(102,126,234,0.15)}
.chat-input::placeholder{color:var(--text-muted);opacity:0.7}
.send-button{width:45px;height:35px;background:var(--primary-gradient);color:white;border:none;border-radius:10%;font-size:14px;cursor:pointer;outline:none;display:flex;align-items:center;justify-content:center;transition:var(--transition);box-shadow:0 4px 15px rgba(135, 206, 235, 0.3);position:relative;overflow:hidden}
.send-button::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);transition:var(--transition)}
.send-button:hover::before{left:100%}
.send-button:hover{transform:scale(1.05);box-shadow:var(--shadow-md)}
.send-button:active{transform:scale(0.95)}
.emoji-popup{position:absolute;bottom:65px;left:15px;background-color:rgba(255,255,255,0.95);border-radius:var(--border-radius-md);box-shadow:0 10px 40px rgba(0,0,0,0.2);padding:10px;display:none;z-index:1001;min-width:450px;max-height:320px;overflow-y:auto;border:1px solid rgba(102,126,234,0.2);backdrop-filter:blur(15px);animation:popupSlideUp 0.3s ease-out}
@keyframes popupSlideUp{from{opacity:0;transform:translateY(20px) scale(0.95)}
to{opacity:1;transform:translateY(0) scale(1)}
}.emoji-popup::-webkit-scrollbar{width:6px}
.emoji-popup::-webkit-scrollbar-track{background:transparent}
.emoji-popup::-webkit-scrollbar-thumb{background:rgba(102,126,234,0.2);border-radius:var(--border-radius-sm)}
.emoji-container{display:flex;flex-wrap:wrap;gap:10px;max-width:100%}
.emoji-item{width:30px;height:22px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:5px;transition:var(--transition);border:1px solid #dfeef8}
.emoji-item:hover{background-color:rgba(102,126,234,0.1);transform:scale(1.15);border-color:rgba(102,126,234,0.2)}
.emoji-item.text-emoji{width:auto;padding:0 3px;font-size:13px;color:var(--text-secondary);font-weight:500}
.emoji-item.text-emoji:hover{background-color:rgba(102,126,234,0.1);color:#667eea;transform:scale(1.05)}
.system-message{text-align:center;color:var(--text-muted);font-size:12px;margin:5px 0;padding:2px 6px;background-color:rgba(255,255,255,0.7);border-radius:var(--border-radius-md);animation:systemMessage 0.4s ease;backdrop-filter:blur(10px);border:1px solid rgba(102,126,234,0.1)}
@keyframes systemMessage{from{opacity:0;transform:scale(0.8)}
to{opacity:1;transform:scale(1)}
}.typing-indicator{display:flex;align-items:center;margin:15px 0;animation:messageSlide 0.4s ease;gap:12px}
.typing-indicator .message-avatar{margin-right:0}
.typing-indicator .message-content{background-color:white;padding:14px 18px;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);border-bottom-left-radius:5px;border:1px solid rgba(102,126,234,0.1)}
.typing-dots{display:flex;gap:8px}
.typing-dot{width:10px;height:10px;border-radius:50%;background-color:#667eea;animation:typing 1.4s infinite ease-in-out;box-shadow:0 2px 4px rgba(102,126,234,0.3)}
.typing-dot:nth-child(2){animation-delay:0.2s}
.typing-dot:nth-child(3){animation-delay:0.4s}
@keyframes typing{0%,60%,100%{transform:translateY(0) scale(1);opacity:0.6}
30%{transform:translateY(-12px) scale(1.1);opacity:1}
}.chat-container::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#667eea,#764ba2,#f093fb,#f5576c,#4facfe,#00f2fe);background-size:200% 100%;animation:gradientFlow 10s ease infinite}
@keyframes gradientFlow{0%{background-position:0% 50%}
50%{background-position:100% 50%}
100%{background-position:0% 50%}
}@media (max-width:768px){body{padding:0}
.chat-container{height:100vh;border-radius:0;box-shadow:none}
.chat-input-area{height:60px;padding:0 5px}
.emoji-popup{left:15px;right:15px;min-width:auto}
}.fade-in{animation:fadeIn 0.5s ease-in}
@keyframes fadeIn{from{opacity:0}
to{opacity:1}
}.hover-lift{transition:var(--transition)}
.hover-lift:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}