/* World layers move as one. HUD and scene actions never become camera children. */
main.world-stage-mounted>.world-stage-layer{position:absolute;inset:0;z-index:2;pointer-events:none;transform:translateY(0);transform-origin:50% 100%;overflow:visible}
main.world-stage-mounted .map:after{display:none}
.world-stage-layer>.world-stage-veil{position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(90deg,#071f2740,transparent 35%,transparent 75%,#071f2740)}
main.world-stage-composed .goal{top:auto;bottom:var(--stage-goal-bottom,125px);left:50%;right:auto;transform:translateX(-50%);width:min(570px,calc(100% - 60px));max-width:none}
main.world-stage-composed #map :is(.p-work,.p-style){top:240px!important}
main.world-stage-composed #map :is(.p-pier,.p-home){top:314px!important}
main.world-stage-composed #map .p-chill{top:388px!important}
main.world-stage-composed .city-scene-action{top:158px!important}
@media(max-width:720px){main.world-stage-composed .goal{left:12px;right:12px;width:auto;transform:none}main.world-stage-composed .city-scene-action{left:12px!important}}
@media(prefers-reduced-motion:reduce){main.world-stage-mounted>.world-stage-layer{transition:none!important}}

@media(min-width:721px){main.world-stage-composed .map-note{max-width:220px;bottom:calc(var(--stage-goal-bottom,117px) + var(--stage-goal-height,92px) + 12px)}}
/* Original screen-space mobile HUD backing must sit above the new world layer,
   below identity/balance controls. It does not join the camera transform. */
@media(max-width:720px){main.world-stage-mounted::before{z-index:3}}
