/* Independent of Vite: the first paint also works while the app bundle loads. */
.pwa-splash { display: none; }
html[data-pwa-launch] .pwa-splash {
    --launch-bg: var(--ds-logo-bg, #171717);
    --launch-accent: var(--ds-gold, #c3a672);
    display: grid;
    position: fixed;
    inset: 0;
    z-index: 2147483647;
    place-items: center;
    padding: calc(2rem + env(safe-area-inset-top, 0px)) calc(2rem + env(safe-area-inset-right, 0px)) calc(2rem + env(safe-area-inset-bottom, 0px)) calc(2rem + env(safe-area-inset-left, 0px));
    background: var(--launch-bg);
    color: var(--launch-accent);
    pointer-events: none;
    animation: launch-safety 0s 5s forwards;
    transition: opacity 360ms ease, visibility 360ms;
}
.pwa-splash__identity { max-width: 100%; width: min(68vw, 22rem); text-align: center; }
.pwa-splash .pwa-splash__logo {
    display: block; width: 100%; height: auto; padding: 0; border-radius: 0;
    background: var(--launch-bg);
}
.pwa-splash__line {
    display: block; position: relative; overflow: hidden;
    width: 4rem; height: 2px; margin: 2rem auto 0;
    background: var(--ds-border, #3c3830);
}
.pwa-splash__line::after {
    content: ''; display: block; width: 40%; height: 100%;
    background: var(--launch-accent);
    animation: launch-line 1.6s ease-in-out infinite;
}
.pwa-splash__caption {
    position: absolute; bottom: calc(2.5rem + env(safe-area-inset-bottom, 0px));
    left: calc(2rem + env(safe-area-inset-left, 0px)); right: calc(2rem + env(safe-area-inset-right, 0px));
    margin: 0; text-align: center; font: 500 10px/1.5 'Involve', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    letter-spacing: .24em; text-transform: uppercase; color: var(--launch-accent);
}
html[data-pwa-launch='leaving'] .pwa-splash { opacity: 0; visibility: hidden; }
@keyframes launch-line { from { transform: translateX(-100%); } to { transform: translateX(350%); } }
@keyframes launch-safety { to { opacity: 0; visibility: hidden; } }
@media (max-height: 28rem) { .pwa-splash__identity { width: min(45vw, 17rem); } .pwa-splash__caption { bottom: calc(1rem + env(safe-area-inset-bottom, 0px)); } .pwa-splash__line { margin-top: 1.25rem; } }
@media (prefers-reduced-motion: reduce) {
    html[data-pwa-launch] .pwa-splash { transition: none; }
    .pwa-splash__line::after { animation: none; transform: translateX(75%); }
}
