/* Splash de boot: pintado pelo navegador ANTES do bundle JS, cobrindo a
   tela branca durante o download do app em conexao lenta. O React remove
   este nó ao montar (substitui o conteudo de #root). CSS estático em
   public/ — não pode depender do bundle/index.css. */
#app-splash {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
  background: #f1f0f0;
  font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
}
html.dark #app-splash {
  background: #131322;
}
#app-splash .app-splash-spinner {
  position: relative;
  width: 112px;
  height: 112px;
}
#app-splash .app-splash-ring {
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  border: 6px solid rgba(240, 115, 22, 0.2);
  border-top-color: rgb(240, 115, 22);
  border-right-color: rgb(240, 115, 22);
  animation: app-splash-spin 0.8s linear infinite;
}
#app-splash .app-splash-disc {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 88px;
  height: 88px;
  transform: translate(-50%, -50%);
  border-radius: 9999px;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}
#app-splash .app-splash-logo {
  width: 66px;
  height: 66px;
  object-fit: contain;
  user-select: none;
  -webkit-user-drag: none;
}
#app-splash .app-splash-label {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  color: #4b5563;
}
html.dark #app-splash .app-splash-label {
  color: #d1d5db;
}
@keyframes app-splash-spin {
  to {
    transform: rotate(360deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  #app-splash .app-splash-ring {
    animation-duration: 1.6s;
  }
}
