/* Hôte PWA : uniquement l'écran de démarrage et le bandeau d'erreur (le design est dans PlayTime.UI). */

.boot {
    position: fixed;
    inset: 0;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 1.5rem;
    background: radial-gradient(120% 80% at 50% 10%, #5b3a8a 0%, #2d1b4e 55%, #1a0f30 100%);
    color: #fff;
}

.boot-brand {
    font-family: 'Fraunces', Georgia, serif;
    font-style: italic;
    font-weight: 600;
    font-size: 2.6rem;
    letter-spacing: -0.02em;
    animation: boot-pulse 1.8s ease-in-out infinite;
}

@keyframes boot-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.55; } }

.loading-progress { width: 4.5rem; height: 4.5rem; }

.loading-progress circle {
    fill: none;
    stroke: rgba(255, 255, 255, 0.15);
    stroke-width: 0.35rem;
    transform-origin: 50% 50%;
    transform: rotate(-90deg);
}

.loading-progress circle:last-child {
    stroke: #ffd166;
    stroke-linecap: round;
    stroke-dasharray: calc(3.141 * var(--blazor-load-percentage, 0%) * 0.8), 500%;
    transition: stroke-dasharray 0.05s ease-in-out;
}

#blazor-error-ui {
    display: none;
    position: fixed;
    z-index: 1000;
    inset: auto 1rem calc(1rem + env(safe-area-inset-bottom)) 1rem;
    padding: 0.9rem 1.25rem;
    border-radius: 18px;
    background: #3a1d12;
    color: #fff;
    font-size: 1.2rem;
}

#blazor-error-ui .reload { color: #ffd166; margin-left: 0.5rem; text-decoration: none; }
#blazor-error-ui .dismiss { cursor: pointer; position: absolute; right: 1rem; top: 0.8rem; }
