.page-loading{min-height:calc(100svh - 220px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:40px 24px;text-align:center;color:#233345;font:500 16px/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif}
.page-loading[hidden],#page-content[hidden],.page-loading [hidden]{display:none!important}
.page-loading p{margin:0;max-width:32em}.page-loading a{color:#285c92;text-underline-offset:4px;font-size:14px;padding:10px 16px}
.loading-layers{position:relative;width:72px;height:72px;margin-bottom:8px}
.loading-layers span{position:absolute;width:46px;height:34px;left:13px;top:9px;border:1.5px solid #285c92;border-radius:7px;background:#d5e4dd;transform:translateY(var(--layer)) rotate(-12deg);animation:layer-breathe 1.8s ease-in-out infinite;animation-delay:var(--delay)}
.loading-layers span:nth-child(1){--layer:22px;--delay:0s;background:#b9d9e0}.loading-layers span:nth-child(2){--layer:11px;--delay:.15s;background:#d5e4dd}.loading-layers span:nth-child(3){--layer:0px;--delay:.3s;background:#f3f3ee}
@keyframes layer-breathe{0%,100%{transform:translateY(var(--layer)) rotate(-12deg)}50%{transform:translateY(calc(var(--layer) - 7px)) rotate(-7deg)}}
.page-loading[data-state="error"] .loading-layers span{animation:none;border-color:#805000}
.loading-no-script{padding:24px;text-align:center}.local-loading{min-height:3em;color:#5b6673}.local-loading:not(:empty){padding:16px;background:linear-gradient(100deg,#edf0ed,#f7f8f5,#edf0ed);border-radius:8px}
button[aria-busy="true"]{cursor:wait}
@media(max-width:680px){.page-loading{min-height:calc(100svh - 190px);padding:32px 20px}}
@media(prefers-reduced-motion:reduce){.loading-layers span{animation:none}}

.page-loading:has(+ noscript .loading-no-script){display:none}

/* A CSS fallback keeps retry reachable even if JavaScript fails to download. */
.page-loading #account-retry[hidden]{display:block!important;visibility:hidden;animation:loading-retry-reveal 0s 8s forwards}
@keyframes loading-retry-reveal{to{visibility:visible}}

.region-loading{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:112px;padding:18px 12px;color:#233345;text-align:center;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.region-loading .loading-layers{transform:scale(.62);height:52px;margin:-8px 0 -5px}
.region-loading[data-state="error"] .loading-layers{display:none}
.region-loading button{font:inherit;padding:8px 16px;max-width:100%}
.loading-status[aria-busy="true"]::before{content:"";display:inline-block;width:16px;height:12px;border:1px solid #285c92;border-radius:3px;background:#f3f3ee;box-shadow:-2px 3px #d5e4dd,-4px 6px #b9d9e0;margin:0 12px 6px 4px;vertical-align:middle;animation:small-layer-breathe 1.8s ease-in-out infinite}
@keyframes small-layer-breathe{50%{transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.loading-status[aria-busy="true"]::before{animation:none}}
