/* AIDiveForge — Infinite scroll controls (sentinel, Load more, status). */
.adf-inf-scroll {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
  padding: 1.5rem 0 2rem;
}
.adf-inf-sentinel {
  width: 1px;
  height: 1px;
  pointer-events: none;
}
.adf-inf-load-more {
  appearance: none;
  font: inherit;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 2.4rem;
  padding: 0.55rem 1.2rem;
  background: var(--adf-neutral-wash-06, rgba(255, 255, 255, 0.04));
  color: var(--adf-page-fg, #eaeaea);
  border: 1px solid var(--adf-neutral-wash-12, rgba(255, 255, 255, 0.12));
  border-radius: 8px;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.adf-inf-load-more:hover:not(:disabled) {
  background: var(--adf-cyan-legacy-wash-15, rgba(0, 230, 255, 0.15));
  border-color: var(--adf-cyan-legacy, #00e6ff);
  color: var(--adf-cyan-legacy, #00e6ff);
}
.adf-inf-load-more:focus-visible {
  outline: 2px solid var(--adf-cyan-legacy, #00e6ff);
  outline-offset: 2px;
}
.adf-inf-load-more:disabled {
  opacity: 0.7;
  cursor: progress;
}
.adf-inf-spinner {
  width: 1em;
  height: 1em;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  display: none;
}
.adf-inf-scroll.is-loading .adf-inf-spinner {
  display: inline-block;
  animation: adf-inf-spin 0.8s linear infinite;
}
.adf-inf-status {
  margin: 0;
  color: var(--adf-page-muted, #888);
  font-size: 0.9rem;
  min-height: 1.2em;
}
.adf-inf-scroll.has-error .adf-inf-load-more {
  border-color: var(--adf-warn, #d96666);
  color: var(--adf-warn, #d96666);
}
@keyframes adf-inf-spin {
  to { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
  .adf-inf-scroll.is-loading .adf-inf-spinner { animation: none; }
}
