/* Scoped loading identity; underlying content remains usable if this fails. */
.gg-loading{--gg-load-bg:#fcf8ed;--gg-load-ink:#104763;--gg-load-accent:#b98223;position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;isolation:isolate;background:var(--gg-load-bg);color:var(--gg-load-ink);font:14px/1.5 system-ui,sans-serif;animation:gg-loading-failsafe 0s 4.5s forwards}
.gg-loading[data-variant=dark]{--gg-load-bg:#092b3b;--gg-load-ink:#fcf8ed;--gg-load-accent:#dfb65b}
.gg-loading::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 40%,color-mix(in srgb,var(--gg-load-accent) 9%,transparent),transparent 60%);pointer-events:none}
.gg-loading-content{width:min(520px,82vw);text-align:center;transform:translateY(-3vh)}
.gg-loading-art{display:block;width:100%;height:auto;aspect-ratio:520/390;object-fit:contain}
.gg-loading-copy{font:12px/1.5 system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;margin:22px 0 0;color:var(--gg-load-ink);opacity:.76}
.gg-loading-skip{position:absolute;bottom:max(26px,env(safe-area-inset-bottom));right:max(28px,env(safe-area-inset-right));color:inherit;background:none;border:1px solid color-mix(in srgb,currentColor 28%,transparent);border-radius:30px;padding:10px 20px;min-height:44px;font:inherit;cursor:pointer}
.gg-loading-skip:hover{background:color-mix(in srgb,var(--gg-load-accent) 12%,transparent)}
.gg-loading-skip:focus-visible{outline:3px solid var(--gg-load-accent);outline-offset:4px}
.gg-loading.is-leaving{opacity:0;pointer-events:none;transition:opacity .24s ease-out}
@keyframes gg-loading-failsafe{to{visibility:hidden;pointer-events:none}}
@media(prefers-reduced-motion:reduce){.gg-loading.is-leaving{transition:none}}
@media(max-width:480px){.gg-loading-content{width:86vw}.gg-loading-copy{font-size:11px;letter-spacing:.1em}.gg-loading-skip{right:20px}}
