body { font-family: Arial, sans-serif; margin:0; background:white; }

/* Floating Bubble */
#chatBubble {
  position: fixed;
  bottom: 25px;
  right: 25px;
  width: 65px;
  height: 65px;
  border-radius: 50%;
  background: #2f4f4f;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  box-shadow: 0 4px 15px rgba(0,0,0,0.3);
  transition: transform 0.2s ease-in-out;
  z-index:1000;
}
#chatBubble:hover { transform: scale(1.15); }

#chatWindow {
  position: fixed;
  bottom: 100px;
  right: 25px;
  width: 360px;
  max-width: 95%;
  height: 500px;
  background:white;
  border-radius:12px;
  box-shadow:0 10px 30px rgba(0,0,0,0.2);
  display:none;
  flex-direction: column;
  z-index:1001;
  font-size: 18px;
  line-height: 1.6;
}
#chatBubble img { width: 35px; filter: invert(1); }

/* Chat Window */
#chatWindow {
  position: fixed; bottom: 100px; right: 25px;
  width: 360px; max-width: 95%; height: 500px;
  background:white; border-radius:12px; box-shadow:0 10px 30px rgba(0,0,0,0.2);
  display:none; flex-direction: column; z-index: 1001;
  font-size: 18px; line-height: 1.6; animation: fadeIn 0.3s;
}
@keyframes fadeIn { from {opacity:0; transform: translateY(20px);} to {opacity:1; transform: translateY(0);} }

/* Header */
.chat-header { background:#2f4f4f; color:white; padding:12px; display:flex; justify-content:space-between; align-items:center; border-radius:12px 12px 0 0; font-size:1.1em; }

/* Chat area */
#chat { flex:1; overflow:auto; padding:15px; }

/* Messages */
.bot { background:#f2f2f2; padding:12px; border-radius:12px; margin-bottom:12px; display:flex; align-items:center; }
.user { background:#4b8f79; color:white; padding:12px; border-radius:12px; margin-bottom:12px; text-align:right; }

/* Buttons */
.buttons button { background:#2f4f4f; color:white; border:none; padding:10px 14px; margin:5px; border-radius:6px; cursor:pointer; font-size:1em; }
.buttons button:hover { background:#1f3f3f; }

/* Input area */
.input-area { display:flex; border-top:1px solid #ddd; }
.input-area input { flex:1; border:none; padding:12px; font-size:1em; }
.input-area button { background:#2f4f4f; color:white; border:none; padding:12px 14px; font-size:1em; cursor:pointer; }

/* Typing indicator with boat */
.typing { font-style: italic; color:#555; margin-bottom:10px; display:flex; align-items:center; }
.typing img { width:30px; height:30px; margin-right:10px; animation: bounce 1s infinite; }
@keyframes bounce { 0%,100%{transform:translateY(0);}50%{transform:translateY(-4px);} }

/* Accessibility focus */
#chatWindow:focus-within { outline: 3px solid #4b8f79; }
