/* A compositor-only laser sweep: no additional scene assets or render loop. */
body #loading,body #scene-asset-status,body:not(.loaded) #loading,body:is(.ui-compact-scene,.ui-enlarged) #loading{position:absolute;inset:50% auto auto 70%;transform:translate(-50%,-50%);width:240px;max-width:calc(100% - 32px);padding:24px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;border:0;border-radius:24px;background:radial-gradient(ellipse,#101719ed 0%,#101719bc 48%,#10171900 73%);z-index:9;text-align:center;pointer-events:none;}
body #loading p,body #scene-asset-status .scene-loading-label{padding:0;margin:0;border:0;border-radius:0;background:none;color:#e9e9e3;font:11px/1.6 var(--ui-mono,var(--mono));letter-spacing:.2px;}
body #loading p:before{display:none;animation:none;}
.scene-scan{position:relative;display:block;width:104px;height:64px;border:1px solid #e89c6338;border-radius:4px;background:repeating-linear-gradient(0deg,transparent 0 11px,#e89c6315 11px 12px);overflow:hidden;}
.scene-scan:before,.scene-scan:after{content:'';position:absolute;top:0;bottom:0;width:1px;background:#ffb47a;opacity:.45;}
.scene-scan:before{left:0}.scene-scan:after{right:0}
.scene-scan>i{position:absolute;inset:0 0 auto;height:2px;background:#ffe1c3;box-shadow:0 0 8px #ffb47a,0 0 18px #fa693a99;transform:translateY(4px);animation:scene-laser 1.8s ease-in-out infinite alternate;}
.scene-scan>i:after{content:'';position:absolute;inset:2px 0 auto;height:16px;background:linear-gradient(#ffb47a30,transparent);}
@keyframes scene-laser{to{transform:translateY(56px)}}
body #scene-asset-status button{pointer-events:auto;margin:0;min-height:44px;padding:8px 14px;border:1px solid #ffb47a70;border-radius:4px;color:#ffca9c;font-size:12px;}
#scene-asset-status[data-failed=true] .scene-scan{display:none;}
body[data-chapter="2"] #loading,body[data-chapter="2"] #scene-asset-status{left:30%;}
body:not(.car-ready) #scene-asset-status{display:none;}
body.loaded #loading{display:none;}
@media(max-width:700px){body #loading,body #scene-asset-status,body:not(.loaded) #loading,body:is(.ui-compact-scene,.ui-enlarged) #loading,body[data-chapter="2"] #loading,body[data-chapter="2"] #scene-asset-status{left:50%;top:72%;width:230px;padding:16px;gap:12px;}.scene-scan{width:88px;height:64px;}}
@media(prefers-reduced-motion:reduce){.scene-scan>i{animation:none;transform:translateY(30px);}}
