/* Visible avant le téléchargement du moteur et indépendant des styles du jeu. */
html, body { margin: 0; background: #07182b; }
.boot-screen { position: fixed; inset: 0; z-index: 10000; overflow: hidden; display: flex; flex-direction: column; align-items: center; justify-content: space-between; padding: max(28px, env(safe-area-inset-top)) 24px max(32px, env(safe-area-inset-bottom)); box-sizing: border-box; color: #f4fbff; background: #07182b; font-family: system-ui, sans-serif; text-align: center; }
.boot-art { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 46%; }
.boot-screen::after { content: ''; position: absolute; inset: 0; background: linear-gradient(#07182b66, transparent 30%, transparent 55%, #07182bcc); pointer-events: none; }
.boot-brand, .boot-bottom { position: relative; z-index: 1; }
.boot-brand { width: min(540px, 85vw); filter: drop-shadow(0 3px 10px #07182b50); }
.boot-bottom { width: min(340px, 85vw); }
.boot-caption { margin: 0 0 20px; text-transform: uppercase; letter-spacing: .26em; font-size: 10px; font-weight: 800; color: #b4d3e8; }
.boot-status { margin: 12px 0 0; min-height: 2.6em; font-size: 13px; color: #e1eff9; }
.boot-track { height: 4px; border-radius: 4px; overflow: hidden; background: #e0f7ff30; }
.boot-fill { display: block; width: 4%; height: 100%; border-radius: inherit; background: #79efff; box-shadow: 0 0 12px #79efff; transition: width .3s ease; }
.boot-retry { border: 1px solid #8bddec; border-radius: 8px; padding: 10px 22px; color: #f4fbff; background: #123649; font: inherit; cursor: pointer; }
.boot-screen[hidden], .boot-retry[hidden] { display: none; }
.boot-screen.is-leaving { opacity: 0; transition: opacity .25s ease; pointer-events: none; }
/* Vue de trois quarts arrière : conserver le rider à gauche dans le recadrage mobile. */
@media (orientation: portrait) { .boot-art { object-position: 27% 45%; } .boot-brand { margin-top: 2vh; font-size: 45px; } .boot-bottom { margin-bottom: 2vh; } }
@media (prefers-reduced-motion: reduce) { .boot-fill, .boot-screen.is-leaving { transition: none; } }
