*[hidden]{display:none!important}
body.tour-locked #gl,
body.tour-locked #hotspots,
body.tour-locked header,
body.tour-locked .shade,
body.tour-locked .hint{filter:blur(14px);transform:scale(1.035);pointer-events:none}
body.tour-locked:before{content:"";position:fixed;z-index:18;inset:0;background:rgba(9,7,11,.34);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
body.tour-locked #unlock{filter:none;pointer-events:auto}
#viewer:after{content:"";position:absolute;z-index:45;inset:0;background:radial-gradient(circle at 50% 52%,rgba(42,28,48,.5),rgba(8,7,9,.92));opacity:0;pointer-events:none;backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);transition:opacity .34s cubic-bezier(.22,.72,.2,1),backdrop-filter .34s,-webkit-backdrop-filter .34s}
#gl{transform:scale(1);filter:none;transition:transform .72s cubic-bezier(.2,.76,.2,1),filter .3s ease}
body.tour-changing #viewer:after{opacity:1;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);pointer-events:auto}
body.tour-changing #gl{transform:scale(1.045);filter:blur(4px)}
body.tour-changing header,body.tour-changing #hotspots,body.tour-changing .hint{opacity:0;transition:opacity .2s ease}
body.tour-arriving #gl{transition-duration:.8s}
body.tour-arriving header,body.tour-arriving #hotspots,body.tour-arriving .hint{transition:opacity .42s ease .12s}
@media(prefers-reduced-motion:reduce){#viewer:after,#gl{transition-duration:.12s!important}body.tour-changing #gl{transform:scale(1.01);filter:none}}
.room.unavailable{opacity:.36;filter:saturate(.25);cursor:not-allowed}.room.unavailable:hover{background:transparent}
#hotspots{transition:opacity .32s ease}#hotspots.transition-hidden{opacity:0!important;pointer-events:none!important}
#viewer:after{display:none!important}body.tour-crossfading #gl{filter:none;transform:none;animation:none}body.tour-crossfading #hotspots{animation:tourHotspotFade 1.9s cubic-bezier(.22,.72,.2,1) both;pointer-events:none}@keyframes tourHotspotFade{0%,100%{opacity:1}28%,72%{opacity:0}}@media(prefers-reduced-motion:reduce){body.tour-crossfading #hotspots{animation:tourHotspotFade .2s ease both}}
#viewer{overscroll-behavior:none;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#viewer button,#viewer input{touch-action:manipulation}#gl{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.viewer-actions{display:flex;align-items:center;gap:8px}#gyroButton{display:flex;align-items:center;gap:7px}#gyroButton[hidden]{display:none}#gyroButton.active{border-color:rgba(223,134,255,.72);background:rgba(223,134,255,.18);box-shadow:0 0 16px rgba(223,134,255,.28)}.gyro-icon{font-size:17px}.motion-status{position:absolute;z-index:18;left:50%;bottom:58px;transform:translateX(-50%);padding:8px 12px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(20,18,22,.72);color:#fff;white-space:nowrap;backdrop-filter:blur(14px)}@media(max-width:600px){.gyro-label{display:none}#gyroButton{width:38px;padding:0;justify-content:center}}
html,body,#viewer{height:100dvh;min-height:-webkit-fill-available}@media(orientation:landscape) and (max-height:600px){html,body,#viewer{width:100vw;height:100dvh}header{padding:max(8px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) 8px max(10px,env(safe-area-inset-left))}.brand i{width:32px;height:32px}.brand small{display:none}header button{height:32px}.hint{bottom:max(8px,env(safe-area-inset-bottom))}}
