/* Loading screen, shared across the standalone games. */
#loading-screen {
    position: fixed; inset: 0; z-index: 2147483647;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    background: #2c3e50; color: #fff; padding: 24px; text-align: center;
    font-family: 'Segoe UI', sans-serif; opacity: 1; transition: opacity .3s ease;
}
#loading-screen .spinner {
    width: 50px; height: 50px; box-sizing: border-box;
    border: 5px solid #ffffff4d; border-top-color: #ff750b; border-radius: 50%;
    animation: game-loading-spin 1s linear infinite;
}
#loading-screen h2 { margin: 20px 0 16px; font: 600 1.5rem 'Segoe UI', sans-serif; color: #fff; }
#loading-screen .progress-bar-container {
    width: min(300px, 80vw); height: 15px; background: #ffffff33; border-radius: 10px; overflow: hidden;
}
#loading-screen #progress-bar { width: 0; height: 100%; background: #28a745; transition: width .2s ease; }
#loading-screen #loading-percent { margin: 10px 0 0; font-size: .9rem; color: #fff; }
#loading-screen.game-loading-complete { opacity: 0; pointer-events: none; }
@keyframes game-loading-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
    #loading-screen, #loading-screen #progress-bar { transition: none; }
    #loading-screen .spinner { animation: none; }
}
