/* Raqo Llama Chatbot v1.3.1 */
.rqo-launcher{
  position: fixed; right: 22px; bottom: 22px; z-index: 99999;
  width: 56px; height: 56px; border-radius: 999px;
  background: #7c3aed; color:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow: 0 10px 24px rgba(124,58,237,.35);
  cursor: pointer; transform: scale(1); transition: transform .18s ease, box-shadow .18s ease;
  border:0;
}
.rqo-launcher:hover{ transform: scale(1.06); box-shadow: 0 14px 32px rgba(124,58,237,.45); }
.rqo-launcher::after{
  content:""; position:absolute; inset:-8px; border-radius:999px;
  border:2px solid rgba(124,58,237,.25); animation: rqoPulse 2.2s infinite;
}
@keyframes rqoPulse { 0%{transform:scale(.9); opacity:.8} 70%{transform:scale(1.2); opacity:.2} 100%{transform:scale(.9); opacity:0}}

.rqo-panel{
  display:flex; flex-direction: column;
  position: fixed; right: 22px; bottom: 90px; width: 360px; max-width:calc(100vw - 32px);
  background:#fff; border-radius:18px; box-shadow: 0 20px 50px rgba(0,0,0,.18);
  transform-origin: 90% 100%; transform: scale(.98) translateY(8px);
  opacity:0; pointer-events:none; transition: transform .15s ease, opacity .15s ease;
  overflow:hidden; z-index: 99999; min-height: 420px;
}
.rqo-panel.open{ opacity:1; transform: scale(1) translateY(0); pointer-events:auto; }

.rqo-header{ display:flex; align-items:center; gap:10px; padding:12px 14px; background:#7c3aed; color:#fff; }
.rqo-header img{ width:20px; height:20px; }
.rqo-title{ font-weight:600; }

.rqo-log{ flex:1; min-height: 220px; padding: 12px; overflow:auto; background: #fcfbff; }
.rqo-msg{ max-width: 82%; padding: 10px 12px; border-radius: 12px; margin: 8px 0; white-space: pre-wrap; word-wrap: break-word; }
.rqo-msg.user{ margin-left:auto; background:#f6f5ff; color:#1f1f2e; }
.rqo-msg.bot { margin-right:auto; background:#faf7ff; color:#1f1f2e; border:1px solid rgba(124,58,237,.12) }

.rqo-typing{ display:inline-flex; gap:4px; align-items:center; padding:6px 8px; border-radius:10px;
  background: rgba(124,58,237,.08); }
.rqo-dot{ width:6px; height:6px; border-radius:999px; background:#7c3aed; animation: rqoBlink 1s infinite; }
.rqo-dot:nth-child(2){ animation-delay:.15s }
.rqo-dot:nth-child(3){ animation-delay:.3s }
@keyframes rqoBlink { 0%,80%,100%{ opacity:.2 } 40%{ opacity:1 } }

.rqo-inputbar{
  display:flex; gap:8px; align-items: center; padding:8px; background:#fff; border-top:1px solid #eee;
}
.rqo-input{
  flex:1; resize:none; overflow:hidden; line-height:1.6;
  padding:10px 12px; border:1px solid #e5e1ff; border-radius:10px;
  max-height: 160px; background:#fff;
}
.rqo-input:focus{ outline:none; border-color:#7c3aed; box-shadow: 0 0 0 2px rgba(124,58,237,.12); }
.rqo-send{
  width: 42px; height: 42px; border-radius:10px; background:#7c3aed; color:#fff; border:0; cursor:pointer;
  display:flex; align-items:center; justify-content:center; box-shadow: 0 8px 18px rgba(124,58,237,.35);
}
.rqo-send:disabled{ opacity:.6; cursor:default; }

@media (prefers-color-scheme: dark){
  .rqo-panel{
  display:flex; flex-direction: column; background:#11121a; box-shadow: 0 18px 44px rgba(0,0,0,.6); }
  .rqo-log{ background:#11121a; }
  .rqo-msg.user{ background:#171823; color:#e9e9f3; }
  .rqo-msg.bot { background:#151628; color:#e9e9f3; border-color: rgba(124,58,237,.22)}
  .rqo-header{ background:#7c3aed; }
  .rqo-input{ background:#0f0f17; color:#e9e9f3; border-color: #2a2546; }
}
