/* Additive preparation/error UI; existing completed layout remains the baseline. */
.motion-loading{position:fixed;inset:0;z-index:24;pointer-events:none;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;color:#f2ede3;text-shadow:0 2px 12px #000;background:#08070722}
.motion-loading[hidden]{display:none}
.motion-loading strong{font-size:clamp(24px,4vw,38px);font-weight:400;letter-spacing:.04em}
.motion-loading span{font-size:12px;background:#151313d9;padding:6px 10px;border-radius:2px}
.loading-motion .stage{position:fixed;inset:0;height:100svh;min-height:0;margin:0}
.loading-motion .stage .still,.loading-motion .stage .still img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1}
.loading-motion #scene{opacity:0!important}
.motion-retry{min-height:44px;border:1px solid #f2ede350;background:#151313ee;color:inherit;padding:8px 10px;font-size:11px;cursor:pointer}
.motion-retry[hidden]{display:none}
@media(prefers-reduced-motion:reduce){#scene,.still,.motion-loading{transition:none!important;animation:none!important}}

/* State attributes remove controls from layout, focus and the accessibility tree. */
.motion-panel [hidden],.motion-panel .motion-message[hidden]{display:none!important}
