/* Continuous thinking indicator. Animate only paint/compositing properties. */
html:root body .lxc .lxc-msg.is-typing .lxc-dots {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 38px;
  height: 24px;
  isolation: isolate;
}
html:root body .lxc .lxc-msg.is-typing .lxc-dots i {
  --lxc-thinking-delay: 0s;
  display: block;
  flex: 0 0 auto;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #44845a;
  opacity: .6;
  transform: none;
}
html:root body .lxc .lxc-msg.is-typing .lxc-dots i:nth-child(2) {
  --lxc-thinking-delay: .16s;
}
html:root body .lxc .lxc-msg.is-typing .lxc-dots i:nth-child(3) {
  --lxc-thinking-delay: .32s;
}
html:root body .lxc.is-max .lxc-msg.is-typing .lxc-dots {
  width: 48px;
  height: 30px;
  gap: 6px;
}
html:root body .lxc.is-max .lxc-msg.is-typing .lxc-dots::before {
  content: "";
  position: absolute;
  inset: -4px -6px;
  z-index: -1;
  border-radius: 50%;
  pointer-events: none;
  background: radial-gradient(ellipse, #c3ed7894 0%, #d4f39b45 44%, #d4f39b00 74%);
  opacity: .65;
}
html:root body .lxc.is-max .lxc-msg.is-typing .lxc-dots i {
  width: 7px;
  height: 7px;
  background: linear-gradient(145deg, #a6d650, #4e9454);
  box-shadow: 0 1px 3px #3e77391c;
}
@keyframes lxc-thinking-wave197 {
  0%, 65%, 100% { transform: translateY(2px) scale(.88); opacity: .4; }
  30% { transform: translateY(-4px) scale(1.12); opacity: 1; }
}
@keyframes lxc-thinking-halo197 {
  0%, 100% { transform: scale(.88); opacity: .45; }
  50% { transform: scale(1.08); opacity: .9; }
}
@media (prefers-reduced-motion: no-preference) {
  html:root body .lxc .lxc-msg.is-typing .lxc-dots i {
    animation: lxc-thinking-wave197 1.45s cubic-bezier(.45, 0, .3, 1) var(--lxc-thinking-delay) infinite !important;
  }
  html:root body .lxc.is-max .lxc-msg.is-typing .lxc-dots::before {
    animation: lxc-thinking-halo197 2.9s ease-in-out infinite !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  html:root body .lxc .lxc-msg.is-typing .lxc-dots i,
  html:root body .lxc.is-max .lxc-msg.is-typing .lxc-dots::before {
    animation: none !important;
    transform: none !important;
    opacity: .65;
  }
}
