/* 01 · deep green satin. Brand wordmark stays white. */
.login-loading{inset:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;border:0;border-radius:0;padding:24px;color:#fffdf3;background:#0b3021;overflow:hidden;isolation:isolate;opacity:1;transition:opacity 180ms ease;outline:0}
html:has(.login-loading[open]),body:has(.login-loading[open]){overflow:hidden}
.login-loading:not([open]){display:none}
.login-loading[open]{display:grid;place-items:center}
.login-loading::backdrop{background:#0b3021}
.login-loading::before,.login-loading::after{content:'';position:absolute;inset:-45%;pointer-events:none;z-index:-1}
.login-loading::before{background:linear-gradient(125deg,transparent 32%,#1b594239 43%,#57816718 47%,#1b594216 52%,transparent 65%);transform:translateX(-6%);animation:vip-satin-light 9s ease-in-out infinite alternate}
.login-loading::after{background:radial-gradient(ellipse at 50% 45%,#21523b38,transparent 38%),radial-gradient(ellipse at 80% 90%,#021c1599,transparent 55%)}
.login-loading.is-leaving{opacity:0;pointer-events:none}
.login-loading-content{display:flex;flex-direction:column;align-items:center;text-align:center;width:min(100%,560px);transform:translateY(-16px)}
.loading-emblem{position:relative;width:128px;height:128px;display:grid;place-items:center;margin-bottom:28px}
.loading-emblem img{width:86px;height:86px;filter:brightness(0) invert(1);animation:vip-logo-breathe 3.6s ease-in-out infinite;opacity:.96}
.loading-arc{position:absolute;inset:0;width:100%;height:100%;overflow:visible;stroke:none;animation:vip-gold-orbit 3.5s linear infinite}
.loading-arc path{fill:none;stroke:#d9c18c;stroke-width:1;stroke-linecap:round}
.loading-arc circle{fill:#f3dfb2;filter:drop-shadow(0 0 3px #d9c18c88)}
.login-loading .loading-wordmark{font-family:Cormorant,Georgia,serif;font-size:23px;font-weight:400;letter-spacing:5px;color:#fffdf8;margin:0 0 30px;padding-left:5px}
.login-loading .loading-copy{margin:0;font-size:16px;font-weight:400;letter-spacing:2px;line-height:1.9;color:#f6f4e9}
.loading-line{height:1px;width:114px;overflow:hidden;background:#d4b6763b;margin-top:32px;position:relative}
.loading-line::after{content:'';position:absolute;inset:0;width:42%;background:linear-gradient(90deg,transparent,#ead6a2,transparent);animation:vip-line-flow 2.4s ease-in-out infinite}
.login-loading .loading-signature{position:absolute;bottom:max(38px,env(safe-area-inset-bottom));left:24px;right:24px;margin:0;text-align:center;color:#cab98c;font-size:10px;letter-spacing:3px;line-height:1.8}
@keyframes vip-satin-light{to{transform:translateX(6%)}}
@keyframes vip-logo-breathe{0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(1.025);opacity:1}}
@keyframes vip-gold-orbit{to{transform:rotate(360deg)}}
@keyframes vip-line-flow{0%{transform:translateX(-110%)}100%{transform:translateX(360%)}}
@media(max-width:700px){.loading-emblem{width:108px;height:108px;margin-bottom:24px}.loading-emblem img{width:74px;height:74px}.login-loading .loading-wordmark{font-size:21px;letter-spacing:4px;margin-bottom:28px}.login-loading .loading-copy{font-size:14px;letter-spacing:1.5px}.login-loading-content{transform:translateY(-12px)}.login-loading .loading-signature{font-size:9px;letter-spacing:2px}}
@media(max-height:450px){.loading-emblem{width:80px;height:80px;margin-bottom:12px}.loading-emblem img{width:56px;height:56px}.login-loading .loading-wordmark{font-size:18px;margin-bottom:12px}.loading-line{margin-top:18px}.login-loading .loading-signature{bottom:14px}.login-loading-content{transform:translateY(-8px)}}
@media(prefers-reduced-motion:reduce){.login-loading{transition:none}.login-loading::before,.loading-emblem img,.loading-arc,.loading-line::after{animation:none}.loading-line::after{transform:translateX(65%)}}
