/* Splash TC Entreprises : premier écran du jeu, couvre le préchargement de l'écran tap.
   Logique : modules/ui/splash_screen.js. Doc : Documentations/General/splash_screen.md */
#splash-screen {
    position: fixed;
    inset: 0;
    z-index: 9998; /* au-dessus de #auth-tap-screen (60), sous le toast manette (10001) */
    display: flex;
    flex-direction: column; /* logo, puis la barre de chargement dessous */
    align-items: center;
    justify-content: center;
    background: #000;
    transition: opacity 0.6s ease; /* = FADE_OUT_MS de splash_screen.js */
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
}
#splash-screen.is-out {
    opacity: 0;
    pointer-events: none;
}
#splash-logo {
    width: min(70vw, 420px);
    max-height: 50vh;
    object-fit: contain;
    opacity: 0;
    -webkit-user-drag: none;
}
#splash-logo.is-in {
    animation: splashLogoIn 0.8s ease-out forwards;
}
/* Barre animée sous le logo : la MÊME que sous les lignes du terminal du loader
   (.loading-spinner-overlay / .loading-spinner-container, systems/game_styles.css,
   chargé avant ce fichier). Seules sa largeur et son apparition changent ici :
   elle prend la largeur du logo et apparaît en fondu avec lui (classe is-in). */
#splash-loading-bar {
    width: min(70vw, 420px);
    margin-top: 24px;
    opacity: 0;
}
#splash-logo.is-in + #splash-loading-bar {
    animation: splashLogoFade 0.8s ease-out forwards;
}
@keyframes splashLogoIn {
    from { opacity: 0; transform: scale(0.96); }
    to { opacity: 1; transform: scale(1); }
}
@keyframes splashLogoFade {
    from { opacity: 0; }
    to { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
    #splash-logo.is-in { animation-name: splashLogoFade; }
}
