.facade-loading {
    position: fixed;
    inset: auto max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) auto;
    z-index: 2147483000;
    display: grid;
    place-items: center;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity .18s ease, visibility .18s ease;
}
.facade-loading.is-visible { opacity: 1; visibility: visible; }
.facade-loading.is-page { inset: 0; background: rgb(252 252 252 / 88%); }
.facade-loading.is-dark.is-page { background: rgb(8 20 24 / 88%); }
.facade-loading__panel {
    width: 104px;
    padding: 0;
    overflow: hidden;
    background: #fcfcfc;
    border: 1px solid rgb(8 20 24 / 6%);
    border-radius: 22px;
    box-shadow: 0 12px 40px rgb(8 20 24 / 12%);
}
.facade-loading.is-dark .facade-loading__panel { background: #081418; border-color: rgb(252 252 252 / 8%); }
.facade-loading.is-page .facade-loading__panel { width: min(240px, 64vw); border-radius: 32px; }
.facade-loading img, .facade-loading canvas { display: block; width: 100%; height: auto; aspect-ratio: 1; }
.facade-loading [hidden] { display: none !important; }
.facade-loading__label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) { .facade-loading { transition: none; } }
