:root { color-scheme: light; }
html[data-bs-theme="dark"] { color-scheme: dark; }
body {
    display: grid;
    place-items: center;
    min-height: 100vh;
    min-height: 100svh;
    margin: 0;
    padding: 1.5rem;
    background: var(--portal-surface, var(--bs-body-bg, #fff));
    color: var(--portal-text, var(--bs-body-color, #1f2937));
    font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}
.popup-loading { display: flex; flex-direction: column; align-items: center; gap: 1rem; width: min(100%, 25rem); padding: 1rem; text-align: center; }
.popup-loading-spinner { width: 2rem; height: 2rem; border-width: .18rem; color: var(--portal-accent, var(--bs-primary, #3f6f9d)); }
.popup-loading-title { margin: .25rem 0 0; font-size: clamp(1.2rem, 4vw, 1.5rem); font-weight: 650; line-height: 1.3; }
.popup-loading-copy { margin: 0; color: var(--portal-text-muted, var(--bs-secondary-color, #526273)); font-size: 1rem; line-height: 1.65; }
@media (prefers-reduced-motion: reduce) { .popup-loading-spinner { animation: none; } }
@media (forced-colors: active) { .popup-loading-spinner { color: Highlight; } }
