/* Shared public controls; panorama/config data stays unchanged. */
#coord[hidden] { display: none !important; }
#sceneLabel { max-width: min(40vw,420px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#status { top: auto; bottom: 16px; max-width: calc(100vw - 40px); font: 13px/1.5 system-ui,sans-serif; }
#controls button { min-height: 44px; border-radius: 8px; background: rgba(15,20,19,.86); }
#controls button:focus-visible, #uiRight button:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
#uiRight { max-height: calc(100dvh - 150px); overflow-y: auto; overscroll-behavior: contain; touch-action: pan-y; padding: 5px; box-sizing: border-box; }
#minimap { border-radius: 10px; box-sizing: border-box; }
.mm-pin { width: 44px; height: 44px; padding: 0; border: 0; background: transparent; box-shadow: none; }
.mm-pin::after { content: ''; position: absolute; width: 16px; height: 16px; top: 14px; left: 14px; border-radius: 50%; background: #f6c55f; border: 2px solid #222; box-sizing: border-box; box-shadow: 0 0 0 4px rgba(246,197,95,.2); }
.mm-pin[aria-pressed="true"]::after { background: #fff; box-shadow: 0 0 0 4px rgba(255,255,255,.4); }
.mm-label { pointer-events: none; }
.room-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 10px; padding: 12px; background: rgba(15,20,19,.92); border: 1px solid rgba(255,255,255,.15); border-radius: 10px; pointer-events: auto; }
.room-list button { min-height: 44px; padding: 10px 12px; border: 1px solid rgba(255,255,255,.25); border-radius: 5px; color: #fff; background: transparent; font: 500 14px/1.4 system-ui,sans-serif; text-align: left; cursor: pointer; overflow-wrap: anywhere; }
.room-list button[aria-pressed="true"] { background: #f6c55f; color: #1c241e; border-color: #f6c55f; }
.tour-home { position: fixed; left: 14px; bottom: max(14px,env(safe-area-inset-bottom)); z-index: 30; display: flex; align-items: center; min-height: 44px; padding: 0 14px; border: 1px solid rgba(255,255,255,.2); border-radius: 8px; background: rgba(15,20,19,.86); color: #fff; font: 500 13px/1.4 system-ui,sans-serif; text-decoration: none; }
body.in-vr .tour-home, body.touring .tour-home { display: none; }
@media (max-width: 900px) {
    #sceneLabel { top: max(12px,env(safe-area-inset-top)); left: 14px; max-width: calc(100vw - 58px); font-size: 15px; }
    #controls { top: calc(max(12px,env(safe-area-inset-top)) + 50px); left: 14px; right: 14px; justify-items: start; }
    #primaryControls { gap: 7px; justify-content: flex-start; }
    #controls button { padding: 10px 12px; font-size: 12px; }
    #status { left: 14px; transform: none; bottom: calc(max(14px,env(safe-area-inset-bottom)) + 55px); max-width: calc(100vw - 58px); }
    #uiRight, body.tour-enabled #uiRight { top: auto; right: 9px; bottom: calc(max(14px,env(safe-area-inset-bottom)) + 54px); max-height: calc(100dvh - 230px); }
    .mm-label { display: none; }
    body:not(.map-hidden) #status { display: none; }
}
@media (orientation: landscape) and (max-width: 980px) {
    #uiRight, body.tour-enabled #uiRight { top: 12px; right: 8px; bottom: auto; width: min(45vw,440px) !important; max-height: calc(100dvh - 82px); }
    #controls { max-width: 48vw; }
    #sceneLabel { max-width: 42vw; }
    #primaryControls { gap: 5px; }
    .room-list { padding: 8px; }
}
