[x-cloak] { display: none !important; }

.atlas-block-loader {
  width: 50px;
  aspect-ratio: 1;
  border-radius: 50%;
  border: 8px solid;
  border-color: #000 #0000;
  animation: l1 1s infinite;
}

@keyframes l1 {
  to {
    transform: rotate(.5turn)
  }
}

.skeleton-container {
  padding: 20px;
  animation: skeleton-loading 1.5s ease-in-out infinite alternate;
}

.skeleton-item {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: skeleton-shimmer 2s infinite;
  border-radius: 4px;
  margin-bottom: 10px;
}

.skeleton-title {
  height: 24px;
  width: 200px;
  margin-bottom: 20px;
}

.skeleton-variants {
  display: flex;
  gap: 15px;
  margin-bottom: 30px;
}

.skeleton-variant {
  height: 20px;
  width: 120px;
}

.skeleton-table {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.skeleton-row {
  display: flex;
  gap: 15px;
  align-items: center;
}

.skeleton-cell {
  height: 40px;
  flex: 1;
}

.skeleton-cell:first-child {
  width: 200px;
  flex: none;
}

@keyframes skeleton-shimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}

@keyframes skeleton-loading {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0.7;
  }
}

/* Transitions */
.fade-in {
  animation: fadeIn 0.5s ease-in;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
  .skeleton-item {
    background: linear-gradient(90deg, #2a2a2a 25%, #3a3a3a 50%, #2a2a2a 75%);
    background-size: 200% 100%;
  }
}

/* Responsive skeleton */
@media (max-width: 768px) {
  .skeleton-variants {
    flex-direction: column;
  }

  .skeleton-row {
    flex-direction: column;
  }

  .skeleton-cell:first-child {
    width: 100%;
  }
}
