/* Shell SPA: intro ↔ map view switching (single document) */

.app-view {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.app-view.is-hidden {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

#view-intro:not(.is-hidden) {
    z-index: 2;
}

#view-map:not(.is-hidden) {
    z-index: 2;
}

body.app-view--intro {
    background: #02080e;
}

body.app-view--map {
    background: #021828;
}

/* Soft crossfade when leaving intro */
#view-intro.app-view--leaving {
    display: flex !important;
    visibility: visible !important;
    pointer-events: none !important;
    z-index: 3;
    animation: tw-view-fade-out 0.55s ease forwards;
}

@keyframes tw-view-fade-out {
    from { opacity: 1; }
    to { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    #view-intro.app-view--leaving {
        animation-duration: 0.15s;
    }
}
