/* src/components/basic/XWUISplashScreen/XWUISplashScreen.css */
/* ──────────────────────────────────────────────────────────────
   XWUISplashScreen - Boot splash with logo, spinner, and messages
   Reuses the fade/skip pattern from XWUIGameSplashScreen with basic tokens.
   ────────────────────────────────────────────────────────────── */

.xwui-splash-screen {
    position: fixed;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-md, 1rem);
    background: var(--xwui-splash-bg, var(--bg-primary, #ffffff));
    color: var(--color-text-primary, #111827);
    z-index: var(--xwui-splash-z, 10000);
    opacity: 0;
    transition: opacity var(--splash-fade-time, 600ms) ease-in-out;
    -webkit-user-select: none;
            user-select: none;
}

.xwui-splash-screen--visible {
    opacity: 1;
}

.xwui-splash-screen--fading {
    opacity: 0;
    pointer-events: none;
}

.xwui-splash-screen__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-md, 1rem);
    max-width: min(90vw, 28rem);
    text-align: center;
}

.xwui-splash-screen__logo-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    animation: xwui-splash-logo-enter 0.8s ease-out both;
}

.xwui-splash-screen__logo {
    max-width: var(--xwui-splash-logo-size, 220px);
    max-height: var(--xwui-splash-logo-size, 220px);
    object-fit: contain;
}

.xwui-splash-screen__spinner-wrap {
    flex-shrink: 0;
}

.xwui-splash-screen__message {
    font-family: var(--font-family-base, 'Inter', sans-serif);
    font-size: var(--font-size-sm, 0.875rem);
    line-height: 1.5;
    color: var(--color-text-secondary, #4b5563);
    min-height: 1.5em;
}

@keyframes xwui-splash-logo-enter {
    0% { transform: scale(0.92); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
}

.xwui-splash-screen__skip-hint {
    position: absolute;
    bottom: var(--xwui-splash-hint-bottom, 48px);
    font-family: var(--font-family-base, 'Inter', sans-serif);
    font-size: var(--xwui-splash-hint-size, 12px);
    color: var(--xwui-splash-hint-color, rgba(100, 116, 139, 0.55));
    letter-spacing: 0.08em;
    text-transform: uppercase;
    animation: xwui-splash-hint-pulse 2s ease-in-out infinite;
}

@keyframes xwui-splash-hint-pulse {
    0%, 100% { opacity: 0.45; }
    50% { opacity: 0.85; }
}

[data-theme="dark"] .xwui-splash-screen,
.xwui-theme-dark .xwui-splash-screen {
    --xwui-splash-hint-color: rgba(226, 232, 240, 0.35);
}

.xwui-shell-app-splash-host {
    position: fixed;
    inset: 0;
    z-index: 10000;
    pointer-events: auto;
}
