/* Lazy-load indicator — three horizontal dots.
 * Shown only when navigation/scroll outruns the prefetch buffer; the prefetch
 * is aggressive enough that this should rarely be seen. */
.esa-dots {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  line-height: 0;
}
.esa-dots > span {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: currentColor;
  opacity: 0.35;
  animation: esa-dots-bounce 1.1s infinite ease-in-out both;
}
.esa-dots > span:nth-child(2) { animation-delay: 0.16s; }
.esa-dots > span:nth-child(3) { animation-delay: 0.32s; }

@keyframes esa-dots-bounce {
  0%, 80%, 100% { opacity: 0.3; transform: translateY(0) scale(0.8); }
  40%           { opacity: 1;   transform: translateY(-5px) scale(1); }
}

/* Centered container for placing the dots where content would render. */
.esa-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 96px;
  width: 100%;
  color: var(--accent, var(--text-muted, #6b7280));
}

@media (prefers-reduced-motion: reduce) {
  .esa-dots > span { animation: none; opacity: 0.55; }
}
