/* Pantalla de carga (index.html). Archivo aparte y no <style> en la página: la Content Security Policy no permite estilos inline.
   El logo es una máscara con un brillo cálido que lo recorre; debajo, una línea fina. src/lib/splash.ts la quita. */
#splash { position: fixed; inset: 0; z-index: 1000; display: grid; place-content: center; justify-items: center; gap: 26px; background: #fcfaf7; }
#splash .splash-logo { width: min(220px, 58vw); aspect-ratio: 2 / 1;
  background: linear-gradient(110deg, #4a3d35 38%, #c9a689 50%, #4a3d35 62%) 0 0 / 300% 100%;
  -webkit-mask: url(/assets/logo.webp) center / contain no-repeat; mask: url(/assets/logo.webp) center / contain no-repeat;
  animation: splash-in .8s cubic-bezier(.22, 1, .36, 1) both, splash-shine 2.4s .5s ease-in-out infinite; }
#splash .splash-line { position: relative; width: 120px; height: 2px; overflow: hidden; border-radius: 2px; background: #ebe1d6; animation: splash-fade .6s .3s both; }
#splash .splash-line::after { content: ''; position: absolute; inset: 0; width: 40%; border-radius: inherit; background: #a67a5b; animation: splash-run 1.3s cubic-bezier(.65, 0, .35, 1) infinite; }
#splash[data-state=out] { animation: splash-out .45s ease-in forwards; pointer-events: none; }
#splash[data-state=out] .splash-logo { animation: splash-up .45s ease-in forwards; }
@keyframes splash-in { from { opacity: 0; transform: translateY(10px) scale(.96); filter: blur(4px); } to { opacity: 1; transform: none; filter: none; } }
@keyframes splash-shine { from { background-position: 100% 0; } to { background-position: 0 0; } }
@keyframes splash-run { from { transform: translateX(-100%); } to { transform: translateX(250%); } }
@keyframes splash-fade { from { opacity: 0; } }
@keyframes splash-out { to { opacity: 0; visibility: hidden; } }
@keyframes splash-up { to { transform: scale(1.04); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { #splash, #splash * { animation: none !important; } #splash .splash-logo { background: #4a3d35; } #splash .splash-line::after { left: 30%; } }
