/* Fourth left-side selection, available from every world. */
#app .scene-picker.pure-mode-picker { display:flex!important; }
#app:not([data-world="cosmic"]) .pure-mode-picker > :not(#pureVisualizerButton) { display:none!important; }
#app #pureVisualizerButton { color:#94ffe4; border:1px solid #5aebc9; background:linear-gradient(100deg,#124039ee,#081720ee); min-height:44px; }
#app #pureVisualizerButton:focus-visible { outline:3px solid #fff; outline-offset:3px; }
@media (max-width:1280px), (max-height:600px) {
 #app .pure-mode-picker { width:min(340px,calc(100% - 32px)); }
 #app #pureVisualizerButton { flex-basis:100%; justify-content:center; }
 #app #acidTools { bottom:160px; }
}
/* Keep the original iframe mounted and laid out. Visibility is presentation only. */
body.pure-visualizer-open { overflow:hidden!important; overscroll-behavior:none; }
body.pure-visualizer-open > :not(#app) { visibility:hidden!important; pointer-events:none!important; }
#app.pure-visualizer { position:fixed; inset:0; width:100%; height:100dvh; min-height:0; display:block; margin:0; padding:0; background:#050611; z-index:100; }
#app.pure-visualizer > :not(#stage),
#app.pure-visualizer #stage > :not(#projectm-canvas):not(#pureVisualizerExit):not(#pureVisualizerStatus) { visibility:hidden!important; pointer-events:none!important; }
#app.pure-visualizer #stage { position:absolute; inset:0; width:100%; height:100%; min-height:0; margin:0; padding:0; }
#app.pure-visualizer #stage::after { display:none; }
#app.pure-visualizer #projectm-canvas { display:block!important; visibility:visible; width:100%; height:100%; }
#pureVisualizerExit { position:absolute; top:max(16px,env(safe-area-inset-top)); left:max(16px,env(safe-area-inset-left)); z-index:100; display:flex; align-items:center; gap:10px; min-height:48px; max-width:calc(100% - 32px); padding:10px 17px; border:1px solid #94ffe4; border-radius:24px; background:#080d18ed; color:#f4fffc; box-shadow:0 3px 22px #000a; font:700 12px/1.3 "Segoe UI",sans-serif; letter-spacing:.5px; touch-action:manipulation; }
#pureVisualizerExit span[aria-hidden] { font-size:24px; line-height:1; }
#pureVisualizerExit:hover { background:#16372ff5; border-color:#fff; }
#pureVisualizerExit:focus-visible { outline:3px solid #fff; outline-offset:4px; }
#pureVisualizerStatus { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media (forced-colors:active) { #pureVisualizerExit { background:ButtonFace; color:ButtonText; border-color:ButtonText; } }


#app.zen .zen-exit:focus { opacity:1; }

/* First engine startup can be slow; paint this before starting the existing engine. */
#app.pure-visualizer #pureVisualizerStatus[data-loading="true"] { top:50%; left:50%; width:max-content; max-width:calc(100% - 40px); height:auto; margin:0; padding:12px 18px; transform:translate(-50%,-50%); overflow:visible; clip-path:none; white-space:normal; border:1px solid #94ffe455; border-radius:10px; background:#080d18ed; color:#eafff7; font:600 14px/1.5 "Segoe UI",sans-serif; text-align:center; z-index:10; }
