/* W73 public staging — single mobile observer layout, no world writes. */
#v53-shell-load[hidden]{display:none!important}
#v53-shell-load{position:fixed;left:12px;top:76px;z-index:16;width:min(310px,calc(100vw - 24px));padding:9px 12px;border:1px solid #9be1c37a;border-radius:13px;background:#102b38ed;color:#f4fff9;box-shadow:0 8px 28px #00182583;font:12px/1.38 system-ui;pointer-events:auto;backdrop-filter:blur(12px)}
#v53-shell-load strong{font-weight:800;display:block}
#v53-shell-load small{color:#a8d8ce;display:block;margin-top:3px}
#v53-shell-load button{background:transparent;color:#c4e2dd;border:0;position:absolute;right:4px;top:3px;font-size:17px;padding:3px 8px}
#v53-shell-load.loading strong:before{content:'◌';display:inline-block;font-size:18px;margin-right:6px;animation:v53-turn 1.4s linear infinite}
@keyframes v53-turn{to{transform:rotate(360deg)}}
@media(max-width:700px){
 /* HUD is a compact launcher; it must never consume half the screen at rest. */
 html body #hud{position:fixed!important;left:calc(7px + env(safe-area-inset-left))!important;right:auto!important;top:calc(7px + env(safe-area-inset-top))!important;width:175px!important;min-height:45px!important;max-height:45px!important;padding:7px 46px 7px 10px!important;overflow:hidden!important;z-index:30!important;border-radius:14px!important}
 html body #hud:not(.expanded) .menu,html body #hud:not(.expanded) #status,html body #hud:not(.expanded) #info,html body #hud:not(.expanded) .sub,html body #hud:not(.expanded) .flag{display:none!important}
 html body #hud h1{font-size:16px!important;line-height:27px!important;white-space:nowrap!important;letter-spacing:-.6px!important}
 html body #hud #hud-toggle{display:block!important;position:absolute!important;right:6px!important;top:4px!important;min-height:35px!important;width:36px!important;padding:5px!important;font-size:18px!important;background:#325b65!important}
 html body #hud.expanded{width:min(324px,calc(100vw - 14px))!important;max-height:min(58dvh,430px)!important;padding:10px!important;overflow:auto!important}
 html body #hud.expanded h1{padding-right:47px!important}
 html body #hud.expanded #hud-toggle{right:6px!important}
 html body #hud.expanded .menu{display:flex!important;flex-wrap:wrap!important}
 html body #hud.expanded #status{display:block!important}
 /* Settings live to the right, timeline below; no two permanent banners. */
 html body #w75-audio{position:fixed!important;top:calc(7px + env(safe-area-inset-top))!important;bottom:auto!important;right:calc(7px + env(safe-area-inset-right))!important;left:auto!important;width:44px!important;height:45px!important;max-height:45px!important;min-height:45px!important;padding:4px!important;z-index:31!important;overflow:hidden!important;border-radius:14px!important}
 html body #w75-audio:not(.expanded)>:not(#av-options){display:none!important}
 html body #w75-audio #av-options{display:block!important;float:none!important;margin:0!important;width:35px!important;height:35px!important;font-size:20px!important;padding:5px!important}
 html body #w75-audio.expanded{width:min(310px,calc(100vw - 14px))!important;height:auto!important;max-height:58dvh!important;padding:10px!important;overflow:auto!important}
 html body #w75-audio.expanded>:not(#av-options){display:initial}
 html body #w75-audio.expanded>div{display:block!important}
 html body #w75-audio.expanded>label{display:flex!important}
 html body #w75-audio.expanded strong{padding-right:35px}
 html body #w75-audio.expanded #av-options{float:right!important}
 html body #w78-live-timeline{top:calc(59px + env(safe-area-inset-top))!important;right:calc(7px + env(safe-area-inset-right))!important;left:auto!important;width:45px!important;max-width:45px!important;height:42px!important;max-height:42px!important;overflow:hidden!important;padding:4px!important;z-index:20!important;border-radius:12px!important}
 html body #w78-live-timeline:not(.expanded) #w78-timeline-toggle{font-size:0!important;width:35px!important;height:32px!important;min-height:32px!important;padding:0!important;text-align:center!important}
 html body #w78-live-timeline:not(.expanded) #w78-timeline-toggle:before{content:'🕘';font-size:18px}
 html body #w78-live-timeline.expanded{width:min(310px,calc(100vw - 14px))!important;max-width:calc(100vw - 14px)!important;height:auto!important;max-height:50dvh!important;overflow:auto!important}
 html body #w78-live-timeline.expanded #w78-timeline-toggle{font-size:12px!important}
 html body #w78-source-panel{top:auto!important;bottom:calc(81px + env(safe-area-inset-bottom))!important;left:calc(7px + env(safe-area-inset-left))!important;right:auto!important;width:47px!important;max-height:43px!important;min-height:43px!important;overflow:hidden!important;padding:7px!important;z-index:18!important}
 html body #w78-source-panel:not(.expanded)>:not(#w78-source-toggle){display:none!important}
 html body #w78-source-panel #w78-source-toggle{float:none!important;display:block!important;width:32px!important;height:28px!important;font-size:18px!important}
 html body #w78-source-panel.expanded{width:min(300px,calc(100vw - 14px))!important;min-height:0!important;max-height:42dvh!important;overflow:auto!important}
 html body #w78-source-panel.expanded>:not(#w78-source-toggle){display:block!important}
 html body #w78-source-panel.expanded #w78-source-toggle{float:right!important}
 html body #w78-camera-bar{position:fixed!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;bottom:calc(81px + env(safe-area-inset-bottom))!important;width:auto!important;max-width:calc(100vw - 70px)!important;display:flex!important;gap:3px!important;padding:4px!important;z-index:16!important}
 html body #w78-camera-bar button{font-size:10px!important;padding:6px!important;white-space:nowrap!important}
 html body #v53-dock{bottom:calc(6px + env(safe-area-inset-bottom))!important;z-index:22!important}
 html body #w78-diagnostics{display:none!important}
 html body #w75-bubble{max-width:min(175px,45vw)!important;font-size:11px!important}
 html body #w78-character-card{max-height:56dvh!important;bottom:calc(75px + env(safe-area-inset-bottom))!important;z-index:25!important}
 html body #v53-reader{top:calc(56px + env(safe-area-inset-top))!important;bottom:calc(77px + env(safe-area-inset-bottom))!important;max-height:none!important}
 html body #v53-full-overlay{z-index:1200!important}
 html body #v53-shell-load{left:calc(7px + env(safe-area-inset-left));top:calc(60px + env(safe-area-inset-top));width:min(235px,calc(100vw - 100px));padding:8px 9px;font-size:11px;z-index:19}
 /* Do not obscure gameplay while viewing profiles or a fullscreen section. */
 html body:has(#v53-reader:not([hidden])) #w78-camera-bar,
 html body:has(#w78-character-card:not([hidden])) #w78-camera-bar{opacity:.22;pointer-events:none}
}
@media(prefers-reduced-motion:reduce){#v53-shell-load.loading strong:before{animation:none}}
