@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  color: #1f2733;
}

.container { width: 100%; max-width: 540px; }

.chatbox {
  background: #ffffff;
  border-radius: 20px;
  box-shadow: 0 12px 48px rgba(102, 126, 234, 0.2);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 600px;
}

.chat-header {
  padding: 20px 24px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  gap: 14px;
}

.bot-avatar { 
  width: 48px; 
  height: 48px; 
  border-radius: 12px; 
  background: rgba(255, 255, 255, 0.2); 
  display:flex; 
  align-items:center; 
  justify-content:center; 
  font-weight:700; 
  color:#fff;
  font-size: 24px;
}
.bot-info h2 { font-size:16px; font-weight:700; color:#ffffff; }
.bot-info p { margin-top:4px; font-size:13px; color:rgba(255,255,255,0.9); }

.chat-messages {
  flex: 1;
  overflow-y: auto;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  background: #f8fafb;
}

.chat-messages::-webkit-scrollbar { width:8px; }
.chat-messages::-webkit-scrollbar-track { background: transparent; }
.chat-messages::-webkit-scrollbar-thumb { background:#dde5f0; border-radius:6px; }

.message { 
  display:flex; 
  gap:10px; 
  align-items:flex-end;
  margin-bottom: 4px;
}

.message-avatar { 
  width:32px; 
  height:32px; 
  border-radius:8px; 
  display:flex; 
  align-items:center; 
  justify-content:center; 
  font-size:18px;
  flex-shrink: 0;
}

.user-message { 
  justify-content:flex-end; 
}
.user-message .message-avatar {
  order: 2;
}
.user-message .message-content {
  order: 1;
}
.user-message .message-content {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  padding: 12px 16px;
  border-radius: 16px;
  max-width: 70%;
  word-wrap: break-word;
  box-shadow: 0 3px 10px rgba(102, 126, 234, 0.2);
}

.bot-message { 
  justify-content:flex-start;
}
.bot-message .message-avatar {
  order: 1;
}
.bot-message .message-content {
  order: 2;
}
.bot-message .message-content {
  background: #ffffff;
  border: 1px solid #e8ecf5;
  color:#333333;
  padding: 12px 16px;
  border-radius: 16px;
  max-width: 70%;
  word-wrap: break-word;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.msg-status {
  display: inline-block;
  width:14px; height:10px; vertical-align:middle;
  position: absolute; right:8px; bottom:6px; opacity:0.95;
}
.msg-status svg { width:14px; height:10px; display:block; }
.msg-status .check { stroke:#9ca3af; stroke-width:1.2; stroke-linecap:round; stroke-linejoin:round; fill:none; }

.chat-input-area { 
  display:flex; 
  gap:12px; 
  padding:16px 20px; 
  border-top:1px solid #e8ecf5; 
  background:#ffffff;
}
#pesan { 
  flex:1; 
  padding:12px 16px; 
  border:1px solid #dde5f0; 
  border-radius:12px; 
  outline:none; 
  font-size:14px;
  transition: all 0.3s ease;
}
#pesan::placeholder {
  color: #999;
}
#pesan:focus { 
  box-shadow:0 0 0 3px rgba(102, 126, 234, 0.1); 
  border-color:#667eea; 
}
.btn-send { 
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color:#fff; 
  border:none; 
  padding:12px 24px; 
  border-radius:12px; 
  cursor:pointer; 
  font-weight:600;
  transition: all 0.3s ease;
}
.btn-send:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(102, 126, 234, 0.3);
}
.btn-send:active {
  transform: translateY(0);
}

.typing-dots { display:flex; gap:6px; align-items:center; }
.typing-dots span { width:8px; height:8px; border-radius:50%; background:#667eea; animation:typingBounce 1.2s infinite; }
.typing-dots span:nth-child(2){ animation-delay:0.15s } .typing-dots span:nth-child(3){ animation-delay:0.3s }

@keyframes typingBounce { 0%,60%,100%{ transform:translateY(0); opacity:0.6 } 30%{ transform:translateY(-8px); opacity:1 } }

@media (max-width:600px){ 
  .chatbox{ height:560px } 
  .user-message .message-content, .bot-message .message-content{ max-width:85% }
}

