/* ASSISTANT_CHAT_LOGO_V1 (owner request 2026-10-20): the operator's round chat logo replaces the mascot.
   The logo itself is static; the ONLY animation is its 3 dots, drawn here on top of the logo image (the image
   has them removed) and pulsing one after another like a typing indicator. Positions are % of the logo. */
#aiw-root.aiw-has-mascot .aiw-launcher.aiw-launcher--logo {
  width: 62px; height: 62px; right: 18px; bottom: 18px; padding: 0;
  border: 0; border-radius: 50%; background: transparent; overflow: visible;
  box-shadow: 0 6px 18px rgba(120, 0, 60, .28);
  display: block; -webkit-tap-highlight-color: transparent;
}
.aiw-launcher--logo img {
  position: absolute; inset: 0; width: 100%; height: 100%; display: block; border-radius: 50%;
  pointer-events: none; user-select: none; -webkit-user-drag: none;
}
.aiw-launcher--logo:focus-visible { outline: 3px solid var(--aiw-primary); outline-offset: 3px; }
.aiw-logo-dots { position: absolute; inset: 0; pointer-events: none; }
.aiw-logo-dots i {
  position: absolute; top: 70.48%; width: 5.72%; height: 5.72%; margin: -2.86% 0 0 -2.86%; border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #ff4a96 0%, #e0006f 55%, #9b0049 100%);
  animation: aiw-logo-typing 1.3s ease-in-out infinite;
}
.aiw-logo-dots i:nth-child(1) { left: 41.23%; }
.aiw-logo-dots i:nth-child(2) { left: 50%; animation-delay: .18s; }
.aiw-logo-dots i:nth-child(3) { left: 58.59%; animation-delay: .36s; }
@keyframes aiw-logo-typing {
  0%, 60%, 100% { transform: translateY(0); opacity: .45; }
  30% { transform: translateY(-38%); opacity: 1; }
}

/* the chat panel opens just above the logo */
#aiw-root.aiw-has-mascot .aiw-panel { bottom: 92px; max-height: calc(100vh - 110px); }

@media (max-width: 480px) {
  #aiw-root.aiw-has-mascot .aiw-launcher.aiw-launcher--logo { width: 56px; height: 56px; right: 14px; bottom: 14px; }
  #aiw-root.aiw-has-mascot .aiw-panel { bottom: 80px; max-height: calc(100vh - 96px); }
}
@media (prefers-reduced-motion: reduce) {
  .aiw-logo-dots i { animation: none; opacity: 1; }
}
