html, body { min-height: 100%; }

.pf-startup {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: grid;
    place-items: center;
    box-sizing: border-box;
    padding: max(24px, env(safe-area-inset-top)) 24px max(24px, env(safe-area-inset-bottom));
    background: radial-gradient(circle at 50% 35%, #ffffff 0, #f7f9fe 48%, #edf2fb 100%);
    color: #13213b;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    text-align: center;
}

.pf-startup__content { width: min(100%, 360px); }
.pf-startup__logo { width: 88px; height: 88px; margin: 0 auto 20px; display: block; object-fit: contain; }
.pf-startup__title { margin: 0; font-size: clamp(1.55rem, 5vw, 2rem); font-weight: 800; letter-spacing: -.03em; }
.pf-startup__tagline { margin: 10px 0 28px; color: #455675; font-size: 1rem; line-height: 1.5; }
.pf-startup__track { width: min(100%, 220px); height: 5px; margin: 0 auto 16px; overflow: hidden; border-radius: 99px; background: #dbe4f2; }
.pf-startup__track::after { content: ""; display: block; width: 42%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #cf1436, #ef4553); animation: pf-startup-progress 1.4s ease-in-out infinite alternate; }
.pf-startup__status { margin: 0; color: #536482; font-size: .9rem; }
.pf-startup__recovery { display: none; margin: 18px auto 0; color: #52627a; font-size: .9rem; line-height: 1.45; }
.pf-startup__recovery p { margin: 0 0 12px; }
.pf-startup__recovery button { min-width: 132px; border: 0; border-radius: 8px; padding: 11px 18px; background: #cf1436; color: #fff; font: inherit; font-weight: 800; cursor: pointer; }
.pf-startup__recovery button:focus-visible { outline: 3px solid rgba(207,20,54,.25); outline-offset: 3px; }
.pf-startup--stalled .pf-startup__track::after { animation: none; width: 100%; transform: none; background: #f4a8b4; }
.pf-startup--stalled .pf-startup__recovery { display: block; }

@keyframes pf-startup-progress { from { transform: translateX(-100%); } to { transform: translateX(340%); } }
@media (prefers-reduced-motion: reduce) { .pf-startup__track::after { animation: none; width: 100%; } }
