/* Skeleton de arranque: HTML estático (index.html) + overlay React hasta contenido listo. */
/* Sin variables CSS: carga antes de que Vite procese tokens.css. Colores alineados a la escala neutral del DS. */
/* Reset mínimo de html/body: evita marco negro (UA margin + canvas dark) antes de que cargue index.css. */
html {
  color-scheme: only light;
  background: #f5f5f5;
}

body {
  margin: 0;
  background: #f5f5f5;
}

.initial-load-skeleton {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: #f5f5f5;
}

.initial-load-skeleton-card {
  width: 100%;
  max-width: 400px;
  padding: 2rem;
  border-radius: 8px;
  border: 1px solid #e5e5ea;
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
}

.initial-load-skeleton-logo {
  width: 120px;
  height: 48px;
  background: linear-gradient(90deg, #e5e5ea 25%, #f5f5f5 50%, #e5e5ea 75%);
  background-size: 200% 100%;
  animation: initial-load-skeleton-shine 1.4s ease-in-out infinite;
  border-radius: 4px;
}

.initial-load-skeleton-line {
  width: 60%;
  height: 12px;
  background: #e5e5ea;
  border-radius: 4px;
}

.initial-load-skeleton-input {
  width: 100%;
  height: 40px;
  background: linear-gradient(90deg, #e5e5ea 25%, #f5f5f5 50%, #e5e5ea 75%);
  background-size: 200% 100%;
  animation: initial-load-skeleton-shine 1.4s ease-in-out infinite;
  border-radius: 8px;
}

.initial-load-skeleton-btn {
  width: 100%;
  height: 40px;
  background: linear-gradient(90deg, #e5e5ea 25%, #f5f5f5 50%, #e5e5ea 75%);
  background-size: 200% 100%;
  animation: initial-load-skeleton-shine 1.4s ease-in-out infinite;
  border-radius: 8px;
}

@keyframes initial-load-skeleton-shine {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}
