*,:before,:after{box-sizing:border-box}html,body,#root{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;touch-action:manipulation;background:#111;width:100%;height:100%;margin:0;font-family:Be Vietnam Pro,system-ui,-apple-system,sans-serif;overflow:hidden}button{font:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.room-viewer{background:#1a1a1a;width:100vw;height:100dvh;position:relative;overflow:hidden}.room-viewer__stage{width:100%;height:100%;position:relative}.room-viewer__overview{will-change:opacity;position:absolute;inset:0}.room-viewer__overview--animating{transition:opacity .6s}.room-viewer__frame{will-change:transform;position:absolute}.room-viewer__frame--animating{transition:transform .6s cubic-bezier(.4,0,.2,1)}.room-viewer__overview--faded{opacity:0;pointer-events:none}.room-viewer__background{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.hotspot-button{z-index:10;color:#fff;cursor:pointer;background:#c41e3a;border:3px solid #fff;border-radius:50%;width:44px;height:44px;padding:0;transition:opacity .3s,transform .2s,box-shadow .2s;position:absolute;transform:translate(-50%,-50%);box-shadow:0 4px 16px #00000059}.hotspot-button:hover{transform:translate(-50%,-50%)scale(1.1);box-shadow:0 6px 20px #c41e3a80}.hotspot-button:active{transform:translate(-50%,-50%)scale(1.05)}.hotspot-button:hover .hotspot-button__tooltip,.hotspot-button:focus-visible .hotspot-button__tooltip{opacity:1;transform:translate(-50%)}.hotspot-button--hidden{opacity:0;pointer-events:none}.hotspot-button__pulse{border:2px solid #c41e3a99;border-radius:50%;animation:2s ease-out infinite hotspot-pulse;position:absolute;inset:-6px}.hotspot-button__icon{z-index:1;font-family:Georgia,Times New Roman,serif;font-size:1.25rem;font-style:italic;font-weight:700;line-height:1;position:relative}.hotspot-button__tooltip{z-index:2;color:#fff;white-space:nowrap;pointer-events:none;opacity:0;background:#141414eb;border-radius:8px;padding:.4rem .75rem;font-size:.8125rem;font-style:normal;font-weight:500;transition:opacity .18s,transform .18s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,6px);box-shadow:0 4px 16px #0000004d}.hotspot-button__tooltip:after{content:"";border:6px solid #0000;border-top-color:#141414eb;position:absolute;top:100%;left:50%;transform:translate(-50%)}@keyframes hotspot-pulse{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}.detail-overlay{z-index:20;opacity:0;pointer-events:none;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0);touch-action:manipulation;background:#121212;flex-direction:column;transition:opacity .4s .2s;display:flex;position:absolute;inset:0}.detail-overlay--visible{opacity:1;pointer-events:auto}.detail-overlay__header{background:#1a1a1a;border-bottom:1px solid #ffffff1a;flex-direction:column;align-items:center;gap:.625rem;padding:.875rem 1.25rem;display:flex}.detail-overlay__header-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.detail-overlay__title{color:#fff;text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin:0;font-size:clamp(.9rem,2vw,1.05rem);font-weight:600;line-height:1.35;overflow:hidden}.detail-overlay__sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.detail-overlay__indicators{justify-content:center;align-items:center;gap:.5rem;display:flex}.detail-overlay__dot{background:#ffffff4d;border-radius:50%;width:8px;height:8px;transition:background .2s,transform .2s}.detail-overlay__dot--active{background:#c41e3a;transform:scale(1.2)}.detail-overlay__counter{color:#ffffff8c;white-space:nowrap;margin:0;font-size:.8125rem;font-weight:500}.detail-overlay__back{color:#fff;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #ffffff26;border-radius:4px;flex:1.4;max-width:200px;min-height:44px;padding:.55rem 1rem;font-size:.875rem;font-weight:500;transition:background .15s}.detail-overlay__back-short{display:none}.detail-overlay__back:hover{background:#ffffff14}.detail-overlay__body{flex-direction:column;flex:1;min-height:0;padding:1.25rem;display:flex}.detail-overlay__content{flex:1;justify-content:center;align-items:center;min-width:0;min-height:0;display:flex}.detail-overlay__nav{flex-shrink:0;justify-content:center;align-items:center;gap:.75rem;padding-top:1rem;display:flex}.detail-overlay__nav-btn{color:#fff;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #c41e3a99;border-radius:4px;flex:1;min-width:44px;max-width:140px;min-height:44px;padding:.65rem 1.1rem;font-size:.875rem;font-weight:600;transition:background .15s}.detail-overlay__nav-btn:hover{background:#c41e3a40}.detail-overlay__figure{justify-content:center;align-items:center;width:100%;height:100%;margin:0;padding:0;display:flex}.detail-overlay__viewport{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;width:100%;height:100%;overflow:hidden}.detail-overlay__viewport:active{cursor:grabbing}.detail-overlay__track{will-change:transform;width:100%;height:100%;display:flex}.detail-overlay__slide{flex:0 0 100%;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.detail-overlay__image{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:100%;max-height:calc(100dvh - 180px)}@media (width<=768px){.detail-overlay__header{padding:.75rem}.detail-overlay__back-full{display:none}.detail-overlay__back-short{display:inline}.detail-overlay__title{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.9rem;display:-webkit-box}.detail-overlay__body{padding:.5rem .75rem calc(.75rem + env(safe-area-inset-bottom,0))}.detail-overlay__nav{gap:.5rem;padding-top:.75rem}.detail-overlay__nav-btn,.detail-overlay__back{max-width:none;padding-inline:.75rem;font-size:.8125rem}.detail-overlay__image{max-height:calc(100dvh - 220px)}}@media (prefers-reduced-motion:reduce){.detail-overlay__track{transition:none!important}.detail-overlay__dot{transition:none}}@media (width<=640px){.hotspot-button{border-width:2px;width:40px;height:40px}.hotspot-button__icon{font-size:1.25rem}.hotspot-button__tooltip{display:none}}
