/* Only an in-room transaction gets the plain black curtain. Entry stays themed. */
.sanctuary-transition39{position:fixed;inset:0;z-index:2147483000;background:#000;opacity:0;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);pointer-events:auto;isolation:isolate;display:grid;place-items:center;color:#eee}
.sanctuary-transition39[hidden],.sanctuary-transition-error39[hidden]{display:none!important}
#sanctuary-view[data-transition-busy39=true] .sanctuary-room-loading38,#sanctuary-view[data-transition-busy39=true] .sanctuary-window-loading,#sanctuary-view[data-transition-busy39=true] .expanded31b-loading{display:none!important}
#sanctuary-view[data-transition39=error] .sanctuary-transition39{pointer-events:auto}
.sanctuary-transition-error39{max-width:38rem;margin:24px;padding:24px;text-align:center;font:400 16px/1.7 var(--hub-body,system-ui,sans-serif);pointer-events:auto}
.sanctuary-transition-error39 p{margin:0 0 22px}.sanctuary-transition-actions39{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.sanctuary-transition-actions39 button{min-height:44px;padding:10px 18px;border:1px solid #ffffff65;border-radius:6px;background:#111;color:#fff;font:inherit;cursor:pointer}
.sanctuary-transition-actions39 button:focus-visible{outline:3px solid #fff;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.sanctuary-transition39{transition-duration:0ms!important}}
@media(forced-colors:active){.sanctuary-transition39{forced-color-adjust:none;background:#000;color:#fff}.sanctuary-transition-actions39 button{forced-color-adjust:auto}}

/* Slow decodes expose recovery actions before an error; hidden retry stays out of layout. */
.sanctuary-transition-actions39 button[hidden]{display:none!important}
