/* ===== Floating robot launcher ===== */
.robot-launcher{
  position:fixed;right:24px;bottom:24px;z-index:60;
  width:76px;height:76px;border-radius:50%;border:0;cursor:pointer;padding:0;
  background:radial-gradient(circle at 50% 35%, #2a3350, #121826 70%);
  box-shadow:0 14px 40px -8px rgba(77,124,255,.55), 0 0 0 1px rgba(255,255,255,.08) inset;
  display:grid;place-items:center;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
  animation:robotFloat 3.6s ease-in-out infinite;
}
.robot-launcher:hover{transform:scale(1.07);box-shadow:0 18px 48px -8px rgba(184,230,0,.5)}
.robot-launcher.hidden{opacity:0;visibility:hidden;transform:scale(.6);pointer-events:none;transition:.3s var(--ease)}
.robot-launcher .robot-badge{
  position:absolute;top:-2px;right:-2px;width:20px;height:20px;border-radius:50%;
  background:var(--lime);color:#0d0f11;font-size:11px;font-weight:800;display:grid;place-items:center;
  border:2px solid #0d0f11;animation:robotPulse 2s var(--ease) infinite;
}
.robot-tip{
  position:fixed;right:110px;bottom:44px;z-index:60;
  background:#fff;color:#14161f;font-size:13px;font-weight:600;
  padding:10px 14px;border-radius:12px 12px 2px 12px;box-shadow:0 12px 30px -8px rgba(0,0,0,.4);
  max-width:200px;opacity:0;transform:translateX(10px);transition:opacity .4s var(--ease), transform .4s var(--ease);
  pointer-events:none;
}
.robot-tip.show{opacity:1;transform:translateX(0)}

/* ===== Robot SVG animation ===== */
.robot-launcher .robot-svg{pointer-events:none}
.robot-launcher .robot-badge{pointer-events:none}
.robot-svg{width:52px;height:52px;overflow:visible}
.robot-eye{transform-origin:center;animation:robotBlink 4s infinite}
.robot-arm-wave{transform-origin:31px 78px;animation:robotWave 3s ease-in-out infinite}
.robot-antenna-dot{animation:robotPulse 2s ease-in-out infinite}

@keyframes robotBlink{
  0%,92%,100%{transform:scaleY(1)}
  95%{transform:scaleY(.1)}
}
@keyframes robotWave{
  0%,60%,100%{transform:rotate(-6deg)}
  70%{transform:rotate(-24deg)}
  80%{transform:rotate(6deg)}
  90%{transform:rotate(-16deg)}
}
@keyframes robotFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}
@keyframes robotPulse{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:.5;transform:scale(1.25)}
}

/* Robot avatar reused in chat header keeps its own sizing */
.bot-avatar .robot-svg{width:30px;height:30px}

@media (prefers-reduced-motion: reduce){
  .robot-launcher,.robot-eye,.robot-arm-wave,.robot-antenna-dot,.robot-badge{animation:none !important}
}
@media (max-width:600px){
  .robot-launcher{width:64px;height:64px;right:16px;bottom:16px}
  .robot-svg{width:44px;height:44px}
  .robot-tip{display:none}
}

/* brief highlight when launcher opens the chat */
.chat-highlight{animation:chatHighlight 1.6s var(--ease)}
@keyframes chatHighlight{
  0%,100%{box-shadow:var(--shadow-soft)}
  30%{box-shadow:0 0 0 3px var(--lime), 0 30px 80px -30px rgba(184,230,0,.5)}
}
