*,:before,:after{box-sizing:border-box}html,body,#root{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;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;position:fixed;inset:0;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;container-type:size}.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%;justify-content:center;align-items:center;width:44px;height:44px;padding:0;transition:opacity .3s,transform .2s,box-shadow .2s;display:inline-flex;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;pointer-events:none;width:42%;height:42%;display:flex;position:relative}.hotspot-button__icon svg{width:100%;height:100%;display:block}.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__viewport--zoomed{cursor:grab}.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;overflow:hidden}.detail-overlay__zoom{transform-origin:50%;will-change:transform;touch-action:none;justify-content:center;align-items:center;max-width:100%;max-height:100%;display:flex}.detail-overlay__image-wrap{max-width:100%;max-height:100%;line-height:0;display:inline-block;position:relative;overflow:visible}.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);display:block}.qr-hotspot{z-index:5;aspect-ratio:1;cursor:pointer;touch-action:manipulation;background:0 0;border:none;padding:0;position:absolute;overflow:visible;transform:translate(-50%,-50%)}.qr-hotspot:before{content:"";width:max(40px,110%);height:max(40px,110%);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.qr-hotspot__frame{pointer-events:none;background:0 0;border:2px solid #c41e3a8c;position:absolute;inset:-4px}.qr-hotspot__pulse{transform-origin:50%;pointer-events:none;background:0 0;border:2px solid #c41e3abf;animation:1.8s ease-out infinite qr-pulse;position:absolute;inset:-4px}@keyframes qr-pulse{0%{opacity:.75;transform:scale(1)}to{opacity:0;transform:scale(1.4)}}@keyframes qr-pulse-compact{0%{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(1.04)}}.qr-hotspot--compact:before{width:max(44px,165%);height:max(44px,165%)}.qr-hotspot--compact .qr-hotspot__frame,.qr-hotspot--compact .qr-hotspot__pulse{border:1px solid #c41e3a80;inset:0}.qr-hotspot--compact .qr-hotspot__pulse{border-color:#c41e3a99;animation-name:qr-pulse-compact}.qr-content-overlay{z-index:40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0a0ab8;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:absolute;inset:0}.qr-content-overlay__panel{color:#f5f5f5;background:#1c1c1c;border-radius:14px;width:min(420px,100%);padding:1.25rem 1.35rem 1.4rem;box-shadow:0 16px 48px #00000073}.qr-content-overlay__header{align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.qr-content-overlay__title{flex:1;margin:0;font-size:1.05rem;font-weight:600;line-height:1.35}.qr-content-overlay__close{color:#fff;cursor:pointer;background:#ffffff14;border:none;border-radius:8px;flex-shrink:0;width:36px;height:36px;font-size:1rem}.qr-content-overlay__close:hover{background:#ffffff24}.qr-content-overlay__description{color:#ffffffc7;margin:0 0 1.15rem;font-size:.9375rem;line-height:1.5}.qr-content-overlay__actions{flex-wrap:wrap;gap:.6rem;display:flex}.qr-content-overlay__cta,.qr-content-overlay__secondary{cursor:pointer;border-radius:10px;min-height:44px;padding:.55rem 1rem;font-size:.9375rem;font-weight:600}.qr-content-overlay__cta{color:#fff;background:#c41e3a;border:none}.qr-content-overlay__cta:hover{background:#d42845}.qr-content-overlay__secondary{color:#fff;background:0 0;border:1px solid #ffffff38}.qr-content-overlay__secondary:hover{background:#ffffff14}.qr-content-overlay__url{color:#ffffff73;word-break:break-all;margin:.9rem 0 0;font-size:.75rem;line-height:1.4}@media (width<=768px){.detail-overlay__header{gap:.5rem;padding:.625rem .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:.875rem;display:-webkit-box}.detail-overlay__indicators{flex-wrap:wrap;gap:.375rem;max-width:100%}.detail-overlay__dot{width:7px;height:7px}.detail-overlay__body{padding:.375rem .5rem calc(.625rem + env(safe-area-inset-bottom,0))}.detail-overlay__nav{gap:.4rem;padding-top:.625rem}.detail-overlay__nav-btn,.detail-overlay__back{max-width:none;min-height:48px;padding-inline:.65rem;font-size:.8125rem}.detail-overlay__image{max-width:100%;max-height:calc(100dvh - 200px)}.hotspot-button{border-width:1.5px;width:clamp(12px,6.5cqmin,20px);height:clamp(12px,6.5cqmin,20px);box-shadow:0 2px 8px #0006}.hotspot-button:before{content:"";width:max(40px,100%);height:max(40px,100%);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hotspot-button__pulse{pointer-events:none;border-width:1.5px;inset:-30%}.hotspot-button__icon{width:46%;height:46%}.hotspot-button__tooltip{display:none}}@media (prefers-reduced-motion:reduce){.room-viewer__overview--animating,.room-viewer__frame--animating,.detail-overlay{transition:none!important}.hotspot-button__pulse,.qr-hotspot__pulse{animation:none}.detail-overlay__track{transition:none!important}.detail-overlay__dot{transition:none}}@media (height<=480px) and (orientation:landscape){.detail-overlay__header{gap:.35rem;padding:.35rem .75rem}.detail-overlay__title{-webkit-line-clamp:1;font-size:.8rem}.detail-overlay__body{padding:.25rem .5rem calc(.35rem + env(safe-area-inset-bottom,0))}.detail-overlay__nav{padding-top:.35rem}.detail-overlay__nav-btn,.detail-overlay__back{min-height:40px;padding-block:.35rem}.detail-overlay__image{max-height:calc(100dvh - 120px)}}
