/* Safe in-app refresh indicator. This never captures or cancels normal scroll. */
html { overscroll-behavior-y: contain; }
.az-soft-refresh-indicator {
  position: fixed; z-index: 99990; top: calc(env(safe-area-inset-top, 0px) + 8px); left: 50%;
  transform: translate(-50%, calc(-130% + var(--pull, 0px))); opacity: 0; pointer-events: none;
  display: flex; align-items: center; gap: 9px; padding: 10px 15px;
  border: 1px solid rgba(255,213,0,.28); border-radius: 999px;
  background: rgba(12,12,14,.96); color: #f5f5f5; font-size: 12px; font-weight: 800;
  box-shadow: 0 10px 32px #0008; transition: opacity .14s, transform .14s;
}
.az-soft-refresh-indicator.is-pulling, .az-soft-refresh-indicator.is-refreshing {
  opacity: 1; transform: translate(-50%, var(--pull, 48px));
}
.az-soft-refresh-spinner { width: 15px; height: 15px; border: 2px solid rgba(255,213,0,.25); border-top-color: #ffd500; border-radius: 50%; display: block; }
.az-soft-refresh-indicator.is-refreshing .az-soft-refresh-spinner { animation: azSoftRefreshSpin .7s linear infinite; }
@keyframes azSoftRefreshSpin { to { transform: rotate(360deg); } }
