/* T323: shared appearance for the early HTML shell and a caller-owned scene placeholder.
   Inline the same critical rules before modules; only the owner decides readiness. */
:is(#app-loading,.zet-loading-screen),:is(#app-loading,.zet-loading-screen) *{box-sizing:border-box}
:is(#app-loading,.zet-loading-screen){position:fixed;inset:0;z-index:1000;overflow:auto;background:#172830;color:#f5e2ba;font:16px/1.4 system-ui,-apple-system,Arial,sans-serif;isolation:isolate}
:is(#app-loading,.zet-loading-screen).zet-loading-screen--scene{position:absolute;z-index:5}
:is(#app-loading,.zet-loading-screen)[hidden],:is(#app-loading,.zet-loading-screen) [hidden]{display:none!important}
:is(#app-loading,.zet-loading-screen) picture{position:absolute;inset:0;z-index:-2}
:is(#app-loading,.zet-loading-screen) .loading-art{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
:is(#app-loading,.zet-loading-screen)::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#1728300d 35%,#1728301a 63%,#101f2bb8 100%)}
:is(#app-loading,.zet-loading-screen) .loading-brand{position:absolute;top:max(24px,env(safe-area-inset-top));left:max(32px,env(safe-area-inset-left));width:clamp(200px,23vw,300px);height:auto;aspect-ratio:512/203;margin:0;text-align:center;font-size:clamp(40px,5vw,64px);font-weight:900;line-height:1.6;color:#f5e2ba;text-shadow:0 2px 6px #0008}
:is(#app-loading,.zet-loading-screen) .loading-logo{position:absolute;inset:0;display:block;width:100%;height:auto;filter:drop-shadow(0 3px 9px #0006)}
:is(#app-loading,.zet-loading-screen) .loading-panel{position:absolute;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(460px,calc(100% - 32px));padding:18px 20px;border:1px solid #ddad54;border-radius:9px;background:#142730f2;box-shadow:0 8px 32px #0005}
:is(#app-loading,.zet-loading-screen) .loading-title{margin:0;font-size:20px;line-height:1.25;font-weight:700}
:is(#app-loading,.zet-loading-screen) .loading-detail{margin:8px 0 0;font-size:14px;line-height:1.4;overflow-wrap:anywhere;color:#f0dfbd}
:is(#app-loading,.zet-loading-screen) .loading-progress{display:block;appearance:none;width:100%;height:7px;margin:14px 0 0;border:1px solid #84938c;border-radius:7px;overflow:hidden;background:#10222b;accent-color:#e8b650}
:is(#app-loading,.zet-loading-screen) .loading-progress::-webkit-progress-bar{background:#10222b}
:is(#app-loading,.zet-loading-screen) .loading-progress::-webkit-progress-value{background:#e8b650}
:is(#app-loading,.zet-loading-screen) .loading-progress::-moz-progress-bar{background:#e8b650}
/* A static indeterminate motif: no timer or invented percentage. */
:is(#app-loading,.zet-loading-screen) .loading-progress:indeterminate{background:linear-gradient(90deg,#10222b 0 33%,#e8b650 33% 66%,#10222b 66%)}
:is(#app-loading,.zet-loading-screen) .loading-progress:indeterminate::-webkit-progress-bar{background:transparent}
:is(#app-loading,.zet-loading-screen) .loading-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
:is(#app-loading,.zet-loading-screen) .loading-retry{min-height:44px;min-width:44px;margin-top:14px;padding:10px 16px;border:1px solid #e8b650;border-radius:5px;color:#172830;background:#e8b650;font:650 14px/1.3 system-ui,-apple-system,Arial,sans-serif;cursor:pointer}
:is(#app-loading,.zet-loading-screen) .loading-retry:hover:not(:disabled){background:#f5cd78}
:is(#app-loading,.zet-loading-screen) .loading-retry:focus-visible,:is(#app-loading,.zet-loading-screen) a:focus-visible{outline:3px solid #fff6df;outline-offset:3px}
:is(#app-loading,.zet-loading-screen) .loading-retry:disabled{opacity:.65;cursor:wait}
:is(#app-loading,.zet-loading-screen)[data-state=error] .loading-progress{display:none}
:is(#app-loading,.zet-loading-screen) .loading-notice{font-size:12px;line-height:1.4}
#app-loading [data-server-notice],html[data-progress-mode=server] #app-loading [data-session-notice]{display:none}
html[data-progress-mode=server] #app-loading [data-server-notice]{display:inline}
:is(#app-loading,.zet-loading-screen) a{color:#fff0cf}
@media(orientation:portrait){:is(#app-loading,.zet-loading-screen) .loading-brand{left:50%;transform:translateX(-50%);width:min(236px,66vw);top:max(24px,env(safe-area-inset-top))}:is(#app-loading,.zet-loading-screen) .loading-panel{bottom:max(20px,env(safe-area-inset-bottom));padding:16px}}
@media(max-height:440px){:is(#app-loading,.zet-loading-screen) .loading-brand{width:140px;top:12px;left:16px;transform:none}:is(#app-loading,.zet-loading-screen) .loading-panel{bottom:12px;padding:12px 16px}:is(#app-loading,.zet-loading-screen) .loading-title{font-size:17px}}
@media(prefers-reduced-motion:reduce){:is(#app-loading,.zet-loading-screen) *{animation:none!important;transition:none!important}}
