.operation-status {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  color: var(--muted);
  font-size: 13px;
}
.operation-status[hidden] { display: none !important; }
.operation-spinner {
  display: inline-block;
  flex: none;
  width: 1em;
  height: 1em;
  border: 2px solid var(--line);
  border-top-color: var(--accent);
  border-radius: 50%;
  animation: operation-spin .8s linear infinite;
}
@keyframes operation-spin { to { transform: rotate(360deg); } }
[aria-disabled="true"] { cursor: not-allowed; }
@media (prefers-reduced-motion: reduce) {
  .operation-spinner, .att-spinner, .aigen-active-spin, .aigen-toast { animation: none !important; }
  .splash, .splash-fill { transition: none !important; }
}
.aigen-poll-status { position: fixed; left: 8px; bottom: 4px; z-index: 10; font-size: 11px; color: var(--muted); pointer-events: none; }
.aigen-poll-status[hidden] { display: none !important; }

/* Без JS индикатор первой загрузки некому скрывать. */
html:not(.js) #initial-page-loading { display: none; }

/* Сплеш главной страницы проекта перекрывает экран сам: индикатор первой загрузки не дублируем. */
body:has(#splash:not(.done)) #initial-page-loading { display: none; }
