body[data-route=visit]:has(.visit-immersive){overflow:hidden}
body[data-route=visit]:has(.visit-immersive) #app{position:relative;z-index:2;pointer-events:none}
body[data-route=visit]:has(.visit-immersive) .app-shell,body[data-route=visit]:has(.visit-immersive) .main-shell,body[data-route=visit]:has(.visit-immersive) #main-content{background:transparent!important}
.visit-immersive .room-stage.room3d-ready{background:transparent}.visit-immersive .room-stage.room3d-ready>.scene-background{visibility:hidden}
.visit-heading,.visit-tools,.visit-camera{pointer-events:auto}
body[data-route=visit] #voice-dock{top:auto;bottom:80px;right:12px}
body[data-route=visit]:has(.visit-immersive) .sidebar,body[data-route=visit]:has(.visit-immersive) .topbar,body[data-route=visit]:has(.visit-immersive) .bottom-nav,body[data-route=visit]:has(.visit-immersive) .club-footer{display:none!important}
body[data-route=visit]:has(.visit-immersive) #main-content{position:fixed;inset:0;max-width:none;width:100%;height:100dvh;padding:0!important;overflow:hidden}
.visit-immersive{position:absolute;inset:0;color:var(--text)}
.visit-immersive .friend-salon-stage{position:absolute;inset:0;width:100%;height:100%;max-height:none;border:0;border-radius:0}
.visit-heading{position:fixed;top:0;left:0;right:0;z-index:12;display:flex;align-items:center;gap:8px;min-height:58px;padding:6px 12px;padding-top:max(6px,env(safe-area-inset-top));background:linear-gradient(#0c1b38ed,#102448b5);border-bottom:1px solid #92accc55}
.visit-heading h1{flex:1;min-width:0;margin:0;font-size:16px;line-height:1.3;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.visit-heading .icon-button{flex:0 0 44px}
.visit-tools{position:fixed;top:70px;right:12px;z-index:14;width:min(330px,calc(100vw - 24px));padding:16px;border:1px solid var(--line);border-radius:12px;background:#112448ed;box-shadow:0 12px 30px #0006}
.visit-tools .btn{margin:4px 4px 4px 0}.visit-tools p{margin:10px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.visit-immersive .visit-camera{position:fixed;z-index:12;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);display:grid;grid-template-columns:32px 32px repeat(4,minmax(0,1fr));align-items:center;gap:4px;width:min(520px,calc(100vw - 16px));max-width:calc(100vw - 16px);padding:4px;border:1px solid #92accc66;border-radius:12px;background:#102448db;box-shadow:0 8px 20px #0005}
.visit-camera .btn,.visit-camera .icon-button{margin:0;font-size:11px!important;min-width:0!important;max-width:100%;min-height:44px;padding-inline:4px!important}.visit-camera .icon-button{width:32px;padding:8px}.visit-camera .btn[aria-pressed=true]{background:#ffd16b24;color:var(--gold);border-color:var(--gold)}
@media(max-width:365px){.visit-camera .btn{font-size:10px;padding-inline:5px}.visit-camera .icon-button{width:32px;min-width:32px}}
