#nxusbot-launcher{
  position:fixed; bottom:24px; right:24px; z-index:9999;
  background:#e8a33d; color:#161225; border:none; border-radius:999px;
  padding:14px 22px; font-family:'Inter',sans-serif; font-weight:700; font-size:0.88rem;
  display:flex; align-items:center; gap:8px; cursor:pointer;
  box-shadow:0 10px 30px rgba(0,0,0,0.35);
  transition:transform .18s ease, box-shadow .18s ease;
}
#nxusbot-launcher:hover{transform:translateY(-2px); box-shadow:0 14px 36px rgba(0,0,0,0.4);}
#nxusbot-launcher.hidden{display:none;}

#nxusbot-panel{
  position:fixed; bottom:24px; right:24px; z-index:9999;
  width:368px; max-width:calc(100vw - 32px); height:min(560px, calc(100vh - 48px));
  background:#191933; border:1px solid rgba(243,241,234,0.14); border-radius:18px;
  display:none; flex-direction:column; overflow:hidden;
  box-shadow:0 24px 70px rgba(0,0,0,0.55);
  font-family:'Inter',sans-serif;
}
#nxusbot-panel.open{display:flex;}

#nxusbot-header{
  background:#12122a; padding:16px 18px; display:flex; align-items:center; justify-content:space-between;
  border-bottom:1px solid rgba(243,241,234,0.12); flex-shrink:0;
}
#nxusbot-header .nxusbot-title{
  color:#f3f1ea; font-family:'Fraunces',serif; font-weight:650; font-size:1rem;
  display:flex; align-items:center; gap:8px;
}
#nxusbot-header .nxusbot-dot{width:7px; height:7px; border-radius:50%; background:#4fd1ae; display:inline-block;}
#nxusbot-close{background:none; border:none; color:#a6a3c9; font-size:1.15rem; cursor:pointer; line-height:1; padding:4px;}
#nxusbot-close:hover{color:#f3f1ea;}

#nxusbot-messages{flex:1; overflow-y:auto; padding:16px 18px; display:flex; flex-direction:column; gap:12px; scrollbar-width:none; -ms-overflow-style:none;}
#nxusbot-messages::-webkit-scrollbar{display:none; width:0; height:0;}
.nxusbot-msg{max-width:85%; padding:10px 14px; border-radius:14px; font-size:0.86rem; line-height:1.5; white-space:pre-wrap;}
.nxusbot-msg.bot{background:#1f1f40; color:#f3f1ea; align-self:flex-start; border-bottom-left-radius:4px;}
.nxusbot-msg.user{background:#4fd1ae; color:#0d2420; align-self:flex-end; border-bottom-right-radius:4px; font-weight:500;}
.nxusbot-msg.typing{color:#a6a3c9; font-style:italic;}
.nxusbot-caret{display:inline-block; width:2px; height:1em; background:#0d2420; margin-left:1px; vertical-align:-2px; animation:nxusbotBlink .8s step-end infinite;}
@keyframes nxusbotBlink{0%,100%{opacity:1;} 50%{opacity:0;}}

#nxusbot-form{display:flex; gap:8px; padding:14px; border-top:1px solid rgba(243,241,234,0.12); flex-shrink:0;}
#nxusbot-input{
  flex:1; padding:10px 14px; background:#1f1f40; border:1px solid rgba(243,241,234,0.14); border-radius:999px;
  color:#f3f1ea; font-family:'Inter',sans-serif; font-size:0.86rem; min-width:0;
}
#nxusbot-input:focus{outline:none; border-color:#4fd1ae;}
#nxusbot-input::placeholder{color:#74719c;}
#nxusbot-send{
  background:#e8a33d; color:#161225; border:none; border-radius:999px; width:38px; height:38px;
  display:flex; align-items:center; justify-content:center; cursor:pointer; flex-shrink:0; font-size:0.95rem;
  transition:transform .15s ease;
}
#nxusbot-send:hover{transform:scale(1.06);}
#nxusbot-send:disabled{opacity:0.5; cursor:default; transform:none;}

@media (max-width:480px){
  #nxusbot-panel{right:16px; bottom:16px; width:calc(100vw - 32px);}
  #nxusbot-launcher{right:16px; bottom:16px;}
}
