/* Loading */
.loading {
  position: absolute;
  top: 5%;
  left: 50%;
  transform: translateX(-50%);
  width: 3rem;
  height: 3rem;
  border: 0.3rem solid var(--border-loading);
  border-radius: 50%;
  border-top-color: var(--primary);
  animation: spin 1s linear infinite;
}

@keyframes spin {
  to {
    transform: translateX(-50%) rotate(360deg);
  }
}

.pull-to-refresh-indicator {
  position: absolute;
  top: -3rem;
  padding: 0.3rem;
  border-radius: 5rem;
  background: var(--bg-secondary);
  box-shadow: var(--shadow-default);
  transition: transform 0.3s ease;
  z-index: 10;
}

.pull-loading-spinner {
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  border: 0.3rem solid transparent;
  border-top-color: var(--primary);
  animation: pull-spinner 0.8s linear infinite;
}

@keyframes pull-spinner {
  to {
    transform: rotate(360deg);
  }
}
