#neoWidget{position:fixed;bottom:22px;right:22px;z-index:10000;font-family:system-ui,-apple-system,sans-serif;}
#neoBubble{
  width:60px;height:60px;border-radius:50%;border:none;cursor:pointer;
  background:linear-gradient(135deg,#1a1d2e,#0a0b10);color:#fff;font-size:0;
  box-shadow:0 6px 24px rgba(63,212,255,.25),0 6px 24px rgba(255,63,192,.15);
  position:relative;display:flex;align-items:center;justify-content:center;
  transition:transform .2s ease;padding:0;
  border:1.5px solid rgba(63,212,255,.4);
  animation:neoBubblePulse 2.6s ease-in-out infinite;
}
#neoBubble::before{
  content:"";position:absolute;inset:-6px;border-radius:50%;
  border:1.5px solid rgba(63,212,255,.5);
  animation:neoBubbleRing 2.6s ease-out infinite;
  pointer-events:none;
}
@keyframes neoBubblePulse{
  0%,100%{box-shadow:0 6px 24px rgba(63,212,255,.25),0 6px 24px rgba(255,63,192,.15);}
  50%{box-shadow:0 6px 30px rgba(63,212,255,.45),0 6px 30px rgba(255,63,192,.3);}
}
@keyframes neoBubbleRing{
  0%{transform:scale(.9);opacity:.7;}
  100%{transform:scale(1.35);opacity:0;}
}
#neoBubble:hover{transform:scale(1.06);}
#neoBubble.neo-bubble-online{
  animation:neoBubblePulseOnline 0.7s ease-in-out infinite;
  border-color:rgba(168,85,247,.9);
}
#neoBubble.neo-bubble-online::before{
  animation:neoBubbleRingOnline 0.7s ease-out infinite;
  border-color:rgba(63,212,255,1);
}
@keyframes neoBubblePulseOnline{
  0%,100%{box-shadow:0 8px 38px rgba(63,212,255,.9),0 8px 46px rgba(168,85,247,.8),0 0 60px rgba(63,212,255,.5);border-color:rgba(63,212,255,1);}
  50%{box-shadow:0 8px 50px rgba(168,85,247,1),0 8px 58px rgba(63,212,255,.95),0 0 75px rgba(168,85,247,.65);border-color:rgba(168,85,247,1);}
}
@keyframes neoBubbleRingOnline{
  0%{transform:scale(.82);opacity:1;border-color:rgba(63,212,255,1);}
  50%{border-color:rgba(168,85,247,1);}
  100%{transform:scale(1.65);opacity:0;border-color:rgba(168,85,247,.6);}
}
#neoBubbleIcon{width:28px;height:28px;color:#3fd4ff;filter:drop-shadow(0 0 6px rgba(63,212,255,.5));}
#neoBubblePhoto{width:100%;height:100%;object-fit:cover;border-radius:50%;}
#neoBubbleBadge{
  position:absolute;top:-4px;right:-4px;background:#ff3fc0;color:#fff;
  font-size:11px;font-weight:700;min-width:19px;height:19px;border-radius:10px;
  display:none;align-items:center;justify-content:center;padding:0 5px;
  box-shadow:0 0 0 2px #0a0b10;
}
#neoPanel{
  display:none;position:absolute;bottom:74px;right:0;width:350px;max-width:calc(100vw - 40px);
  height:480px;max-height:calc(100vh - 140px);background:#0f1119;border:1px solid rgba(255,255,255,.1);
  border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.5);overflow:hidden;flex-direction:column;
}
#neoPanel.open{display:flex;}
#neoHeader{
  padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.08);
  display:flex;align-items:center;gap:10px;
  background:linear-gradient(135deg,rgba(63,212,255,.1),rgba(255,63,192,.06));color:#f3f2ee;
}
#neoHeader img{width:34px;height:34px;border-radius:50%;flex-shrink:0;}
#neoHeaderText{flex:1;min-width:0;}
#neoHeaderText .neo-name{font-weight:700;font-size:14px;}
#neoHeaderText .neo-status{font-size:11px;color:#39ff88;margin-top:1px;display:flex;align-items:center;gap:5px;}
#neoHeaderText .neo-status .dot{width:6px;height:6px;border-radius:50%;background:#39ff88;flex-shrink:0;}
#neoWriteBtn{background:rgba(63,212,255,.1);border:1px solid rgba(63,212,255,.3);color:#f3f2ee;font-size:14px;cursor:pointer;flex-shrink:0;padding:6px 9px;border-radius:8px;text-decoration:none;line-height:1;transition:background .15s;}
#neoWriteBtn:hover{background:rgba(63,212,255,.22);}
#neoCloseBtn{background:none;border:none;color:#9496a6;font-size:16px;cursor:pointer;flex-shrink:0;padding:2px;}
#neoMessages{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:10px;}
.neo-typing{align-self:flex-start;background:#1b1e2b;border-radius:14px;border-bottom-left-radius:4px;padding:12px 16px;display:flex;gap:4px;align-items:center;}
.neo-typing span{width:7px;height:7px;border-radius:50%;background:#8b8ea3;display:inline-block;animation:neoTypingBounce 1.3s infinite ease-in-out;}
.neo-typing span:nth-child(2){animation-delay:.15s;}
.neo-typing span:nth-child(3){animation-delay:.3s;}
@keyframes neoTypingBounce{0%,60%,100%{transform:translateY(0);opacity:.5;}30%{transform:translateY(-4px);opacity:1;}}
.neo-transfer{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#9fe8ff;font-style:italic;}
.neo-transfer-dots{display:inline-flex;gap:3px;}
.neo-transfer-dots span{width:5px;height:5px;border-radius:50%;background:#9fe8ff;display:inline-block;animation:neoTransferPulse 1.2s infinite ease-in-out;}
.neo-transfer-dots span:nth-child(2){animation-delay:.2s;}
.neo-transfer-dots span:nth-child(3){animation-delay:.4s;}
@keyframes neoTransferPulse{0%,60%,100%{opacity:.3;}30%{opacity:1;}}
.neo-msg{max-width:85%;padding:10px 14px;border-radius:14px;font-size:13.5px;line-height:1.55;word-wrap:break-word;}
.neo-msg.bot{align-self:flex-start;background:#1b1e2b;color:#f3f2ee;border-bottom-left-radius:4px;}
.neo-conversation-divider{
  align-self:center;font-size:11px;color:#8d99bd;text-transform:uppercase;letter-spacing:.06em;
  padding:6px 14px;margin:6px 0 10px;border-radius:999px;background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
}
.neo-msg.user{align-self:flex-end;background:linear-gradient(135deg,#3fd4ff,#ff3fc0);color:#0a0b10;font-weight:500;border-bottom-right-radius:4px;}
.neo-msg-link{display:inline-block;margin-top:9px;font-size:12.5px;font-weight:700;color:#3fd4ff;text-decoration:none;border-bottom:1px solid rgba(63,212,255,.4);}
.neo-msg-link:hover{color:#ff3fc0;border-color:rgba(255,63,192,.4);}
.neo-suggestions{display:flex;flex-direction:column;gap:6px;margin-top:2px;}
.neo-suggestion-btn{
  background:#161925;border:1px solid rgba(255,255,255,.1);color:#d5d6e0;
  border-radius:10px;padding:9px 12px;font-size:12.5px;text-align:left;cursor:pointer;
  transition:background .15s,border-color .15s;
}
.neo-suggestion-btn:hover{background:#1e2233;border-color:rgba(63,212,255,.35);}
#neoForm{display:flex;gap:8px;padding:12px 14px;border-top:1px solid rgba(255,255,255,.08);}
#neoInput{
  flex:1;background:#1b1e2b;border:1px solid rgba(255,255,255,.1);border-radius:20px;
  padding:10px 16px;color:#f3f2ee;font-size:13.5px;outline:none;min-width:0;
}
#neoInput:focus{border-color:#3fd4ff;}
#neoSend{
  width:38px;height:38px;border-radius:50%;border:none;cursor:pointer;flex-shrink:0;
  background:linear-gradient(135deg,#3fd4ff,#ff3fc0);color:#0a0b10;font-size:15px;
}
@media (max-width:480px){
  #neoWidget{bottom:14px;right:14px;}
  #neoPanel{width:calc(100vw - 28px);}
}
