/* Boot loader — inyectar en HTML de entrada antes de React */
.boot-loader {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f9fafb;
}
html.dark .boot-loader,
.boot-loader.is-dark {
  background: #0f1015;
}
.boot-loader .enlace-loader {
  width: 60px;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: space-evenly;
  list-style: none;
}
.boot-loader .enlace-loader__ball {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #0082e7;
  list-style: none;
}
html.dark .boot-loader .enlace-loader__ball,
.boot-loader.is-dark .enlace-loader__ball {
  background: #fff;
}
.boot-loader.boot-loader--lyra .enlace-loader__ball {
  background: #fa8c16;
}
html.dark .boot-loader.boot-loader--lyra .enlace-loader__ball,
.boot-loader.boot-loader--lyra.is-dark .enlace-loader__ball {
  background: #fa8c16;
}
.boot-loader .enlace-loader__ball:nth-child(1) {
  animation: boot-bounce-1 2.1s ease-in-out infinite;
}
.boot-loader .enlace-loader__ball:nth-child(2) {
  animation: boot-bounce-2 2.1s ease-in-out 0.3s infinite;
}
.boot-loader .enlace-loader__ball:nth-child(3) {
  animation: boot-bounce-3 2.1s ease-in-out 0.6s infinite;
}
@keyframes boot-bounce-1 {
  50% { transform: translateY(-18px); }
}
@keyframes boot-bounce-2 {
  50% { transform: translateY(-18px); }
}
@keyframes boot-bounce-3 {
  50% { transform: translateY(-18px); }
}
