#loading>div { width:min(420px,82vw); text-align:center; }
#loading .lb { width:100%; max-width:280px; margin:16px auto; }
#loading-message { color:#c3cddd; font:14px/1.65 'Malgun Gothic',sans-serif; margin:16px 0 0; }
#loading-actions { display:flex; justify-content:center; margin-top:22px; }
#loading-actions:empty { display:none; }
#loading-actions .gbtn { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; height:46px; padding:0 24px; font-size:16px; }
#loading.problem .lb { display:none; }
#loading.problem h3 { font-size:24px; color:#f3cf79; }
.asset-gate{position:fixed;inset:0;z-index:20000;display:grid;place-items:center;background:#071019df;color:#f3e6b7;font-family:inherit;outline:none;pointer-events:auto}
.asset-gate>div{width:min(400px,88vw);padding:24px;background:#172635;border:3px solid #d5bf80;box-shadow:0 0 0 3px #0a111b;text-align:center}
.asset-gate h3{margin:0 0 16px;font-size:20px}.asset-gate p{font-size:14px;line-height:1.7;color:#d6e2eb;min-height:24px}
.asset-gate progress{width:100%;height:14px;accent-color:#e9bd58}.asset-actions{display:flex;justify-content:center;gap:12px;margin-top:18px}
.asset-actions button{font:inherit;color:#f3e6b7;background:#263e51;border:2px solid #b5a675;padding:9px 16px;cursor:pointer}.asset-actions button[hidden]{display:none}

#game-update{position:fixed;right:12px;top:12px;z-index:21000;max-width:80vw;padding:10px 14px;color:#fff3c4;background:#243a4e;border:2px solid #d5bf80;font:14px/1.4 sans-serif;cursor:pointer}#game-update[hidden]{display:none}#game-update:disabled{opacity:.7;cursor:default}

/* AAA 도트 패스: 불러오는 동안 막대 끝을 달리는 리아(HD 도트 걷기 4프레임, assets/ui/kit/loader_run.png) */
#loading .lb { position: relative; overflow: visible; }
#loading .lb b { position: relative; }
#loading .lb b::after { content: ''; position: absolute; right: -26px; bottom: 2px; width: 48px; height: 48px;
  background: url(assets/ui/kit/loader_run.png) 0 0 / 192px 48px no-repeat; image-rendering: pixelated; animation: lbRun .5s steps(4) infinite; pointer-events: none; }
#loading.problem .lb b::after { display: none; }
@keyframes lbRun { to { background-position: -192px 0; } }
@media (prefers-reduced-motion: reduce) { #loading .lb b::after { animation: none; } }
