/* The viewport clips a movable world, never a permanently shifted image. */
body.floor-view{height:100dvh;overflow:hidden;background:#172d43}
.floor-view #stage{display:block;flex:1;min-height:0;padding:0;overflow:hidden;touch-action:none;overscroll-behavior:none;outline:none}
.floor-view .scene{position:absolute;left:0;top:0;margin:0;max-width:none;aspect-ratio:auto;overflow:hidden;will-change:transform;animation:none;transition:opacity 160ms ease}
.floor-view .scene>img{object-fit:contain;transform:none}
.floor-view .topbar,.floor-view>footer{background:#102238}
.floor-view>footer{min-height:80px;padding-top:12px}
.floor-view #stage.dragging,.floor-view #stage.dragging .hotspot{cursor:grabbing}
@media(max-width:700px){.floor-view .topbar{gap:6px 14px}.floor-view #hint{display:none}.floor-view .topbar h1{display:none}}
