/* Shared Base, Explore, survivor and combat loading surface. */
#game-loading,.combat-loading,.base3d-loading,.outlands-status,.creator-three>.creator-model-loading{
 background:var(--game-popup-bg,#122e3b)!important;color:#e8f0f0;display:grid;place-items:center;
 padding:24px!important;border:0!important;border-radius:0!important;box-shadow:none!important;
}
.base3d-loading,.outlands-status,.creator-three>.creator-model-loading{
 position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
 transform:none!important;translate:none!important;z-index:20;box-sizing:border-box;
}
#game-loading{background:#122e3b!important}
.scene-loading-content{width:min(160px,60vw);display:flex;align-items:center;flex-direction:column;text-align:center}
.scene-loading-walker{--walker-size:112px;width:var(--walker-size);height:var(--walker-size);flex:none;overflow:hidden;contain:paint;opacity:.82;margin-bottom:3px}
.scene-loading-walker>i{display:block;width:calc(var(--walker-size) * 24);height:100%;
 background:url('assets/Current/ui/loading/zombie-walk.webp') 0 0 / 100% 100% no-repeat;
 will-change:transform;animation:zombie-loader-walk 4.033333s steps(24,end) infinite}
.scene-loading-track{height:9px;width:100%;overflow:hidden;border-radius:8px;background:var(--game-popup-raised,#1c4355)}
.scene-loading-track i{display:block;width:100%;height:100%;border-radius:inherit;background:#ffd166;transform:scaleX(0);transform-origin:left center;transition:transform .15s linear}
.scene-loading-content .game-loading-status{min-height:0;margin:13px 0 0;font-size:11px;font-weight:800;line-height:1.5;letter-spacing:.18em;color:#e8f0f0}
#game-loading .game-loading-card{display:grid;justify-items:center;gap:18px}
#game-loading.has-error .scene-loading-walker,#game-loading.has-error .scene-loading-track{display:none}
#game-loading.has-error .game-loading-status{letter-spacing:0;font-size:14px}
.base3d-loading[hidden],.outlands-status[hidden],.creator-model-loading[hidden]{display:none!important}
.character-composition:has([data-character-three]:not([data-preview-state="ready"]))>.character-pet,
.character-composition:has([data-character-three]:not([data-preview-state="ready"]))>.character-pet>:is(img,canvas){visibility:hidden!important}
@keyframes zombie-loader-walk{from{transform:translate3d(0,0,0)}to{transform:translate3d(-100%,0,0)}}
@media(prefers-reduced-motion:reduce){.scene-loading-walker>i{animation:none}.scene-loading-track i{transition:none}}
.reduce-motion .scene-loading-walker>i{animation:none}
.reduce-motion .scene-loading-track i{transition:none}

/* Combat lives in an iframe: cover its complete viewport until first render. */
#loading.combat-loading{position:fixed;inset:0;z-index:100;transition:opacity .18s ease}
#loading.combat-loading .game-loading-status{margin:13px 0 0;font-size:11px;letter-spacing:.18em}
