.gp-loading{--gp-accent:#2c6652;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:320px;padding:36px 24px;text-align:center;color:var(--ink,var(--text,#243c30));background:var(--surface,var(--card,#faf8f0));border:1px solid var(--line,var(--border,#dddccc));border-radius:18px;animation:gp-arrive .24s ease-out both}.gp-loading[data-game-tone=plum]{--gp-accent:#7c4863}.gp-loading[data-game-tone=navy]{--gp-accent:#365e7d}.gp-loading[data-game-tone=amber],.gp-loading[data-game-tone=copper]{--gp-accent:#a3763b}.gp-loading[data-game-tone=indigo]{--gp-accent:#62688f}.gp-loading[data-game-tone=orange]{--gp-accent:#b15b36}.gp-loading[data-game-tone=teal]{--gp-accent:#387c7b}.gp-loading-mark{position:relative;display:grid;place-items:center;width:76px;height:76px;color:var(--gp-accent);margin-bottom:12px}.gp-loading-mark>svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.4}.gp-loading-mark>span{position:absolute;inset:0;border-radius:50%;border:1px solid color-mix(in srgb,var(--gp-accent) 22%,transparent);border-top:2px solid var(--gp-accent);animation:gp-orbit 1.4s linear infinite}.gp-loading .gp-loading-kicker{color:var(--gp-accent);font-size:11px;letter-spacing:.14em;margin:0}.gp-loading h3{font:700 25px/1.6 var(--display,"Songti SC",serif);margin:0}.gp-loading>p[role=status]{font-size:12px;line-height:1.8;color:var(--muted,#7b827b);max-width:290px;margin:0}.gp-loading-track{overflow:hidden;width:96px;height:2px;background:color-mix(in srgb,var(--gp-accent) 15%,transparent);margin-top:15px}.gp-loading-track i{display:block;width:35%;height:100%;background:var(--gp-accent);animation:gp-pass 1.3s ease-in-out infinite}.gp-loading-error .gp-loading-mark>span{animation:none;border-color:var(--gp-accent)}.gp-loading-error button{margin-top:14px;min-height:44px}.gp-pack-enter{animation:gp-arrive .3s ease-out both}@keyframes gp-orbit{to{transform:rotate(360deg)}}@keyframes gp-pass{0%{transform:translateX(-110%)}100%{transform:translateX(390%)}}@keyframes gp-arrive{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.gp-loading,.gp-pack-enter,.gp-loading-mark>span,.gp-loading-track i{animation:none}.gp-loading-track i{width:100%;opacity:.45}}
