.reel{z-index:1;background-color:#f5f5f5;width:100vw;height:100dvh;position:fixed;top:0;left:0;overflow:hidden}.reel .reel-frame{width:100%;height:100%;position:relative}.reel .reel-frame .overlay{z-index:20}.reel .reel-frame .reel-menu{justify-content:center;width:100%;display:flex;position:absolute;bottom:24px}.reel .disclaimer{color:#333;z-index:30;pointer-events:none;background-color:#fffc;border-radius:4px;padding:8px 12px;font-size:12px;position:absolute;top:20px;right:20px;box-shadow:0 2px 4px #0000001a}.reel-status-chip{z-index:99999;color:#fff;pointer-events:none;text-align:right;background:#0009;border-radius:4px;padding:6px 8px;font-family:"monospace";font-size:12px;line-height:1.4;position:fixed;top:75px;right:8px}

.overlay{z-index:10;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.overlay>*{pointer-events:auto}
.controls{box-sizing:border-box;pointer-events:all;background-color:#40585999;border-radius:30px;justify-content:space-between;align-items:center;gap:10px;width:500px;height:42px;padding:12px;display:flex;transform:scaleY(.7273)}.controls .controls-button{cursor:pointer;background-color:#bdc7c7;border-radius:20px;justify-content:center;align-items:center;width:40px;height:26px;transition:background-color .3s;display:flex}.controls .controls-button:hover{background-color:#a8b3b3}.controls .controls-compass-pointer{position:absolute;top:-10px;left:50%;transform:translate(-50%)}.controls .controls-compass{pointer-events:inherit;width:100%;max-width:400px;height:35px;overflow:hidden}.controls .controls-compass .controls-compass-inner{pointer-events:inherit;height:100%;display:flex}.controls .controls-compass .controls-compass-inner .controls-compass-image{pointer-events:inherit;-webkit-user-select:none;user-select:none;-khtml-user-select:none;-o-user-select:none;-webkit-user-drag:none;height:100%}.menu-container{position:relative}.menu-dropdown{z-index:100;background-color:#fff;border-radius:12px;width:260px;margin-bottom:12px;padding:20px;position:absolute;bottom:100%;left:0;box-shadow:0 4px 16px #0003}.toggle-item{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.toggle-label-container{align-items:center;gap:10px;display:flex}.toggle-icon{justify-content:center;align-items:center;width:18px;height:18px;display:flex}.toggle-icon svg{color:#333;width:100%;height:100%}.toggle-label{color:#333;font-size:14px;font-weight:500}.toggle-switch{width:46px;height:24px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background-color:#e1e1e1;border:1px solid #e1e1e1;border-radius:24px;transition:all .3s;position:absolute;inset:0}.toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:20px;height:20px;transition:all .3s;position:absolute;bottom:1px;left:2px;box-shadow:0 2px 4px #0000001a}input:checked+.toggle-slider{background-color:#00b5a0;border-color:#00b5a0}input:checked+.toggle-slider:before{transform:translate(22px)}.status-section{border-top:1px solid #eee;margin-top:24px;padding-top:16px;position:relative}.status-section:before{content:"";background-color:#eee;height:1px;position:absolute;top:-1px;left:-20px;right:-20px}.status-title{color:#333;margin:0 0 16px;font-size:15px;font-weight:600}.status-item{align-items:center;display:flex}.status-indicator{background-color:#45a659;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;margin-right:10px;display:flex}.status-indicator svg{color:#fff;width:12px;height:12px}.status-indicator.available{background-color:#00b5a0}.status-indicator.available:after{content:none}.status-text{color:#333;font-size:14px}
@media screen and (max-width:600px) and (max-height:1000px) and (orientation:portrait),screen and (max-width:1000px) and (max-height:600px) and (orientation:landscape){.controls{width:450px}}@media screen and (max-width:500px) and (max-height:1000px) and (orientation:portrait),screen and (max-width:1000px) and (max-height:500px) and (orientation:landscape){.controls{width:400px}}@media screen and (max-width:400px) and (max-height:1000px) and (orientation:portrait),screen and (max-width:1000px) and (max-height:400px) and (orientation:landscape){.controls{width:300px}}
.frame{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:relative;overflow:hidden}@media (min-aspect-ratio:1.77778){.frame{overflow:hidden auto!important}}@media (max-aspect-ratio:1.77778){.frame{overflow:auto hidden!important}}.frame-image-container{width:100%;height:100%;position:relative}.frame-image{-webkit-user-select:none;user-select:none;-khtml-user-select:none;-o-user-select:none;-webkit-user-drag:none;width:auto;height:calc(100% + 1px);position:absolute}@media (min-aspect-ratio:1.77778){.frame-image{width:100%;height:auto}}.frame-image.frame-click-zoom{transition:transform .15s ease-in-out;transform:scale(2)}.frame-wrapper{z-index:1;width:auto;height:100%;position:absolute}@media (min-aspect-ratio:1.77778){.frame-wrapper{width:100%;height:auto}}
.loading{z-index:20;background-color:#000000b3;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.loading-container{text-align:center;color:#fff;width:300px}.loading-progress-bar{background-color:#fff3;border-radius:5px;width:100%;height:10px;margin-bottom:10px;overflow:hidden}.loading-progress-fill{background-color:#fff;border-radius:5px;height:100%}.loading-text{margin:0;font-size:16px}
.markers-layer{pointer-events:none;z-index:10;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.markers-layer .markers-svg{width:100%;height:100%;margin:auto;display:block}.markers-layer .marker-container{pointer-events:auto;overflow:visible}.markers-layer .markers-html-layer{pointer-events:none;position:absolute;inset:0}.markers-layer .marker-html{pointer-events:auto;overflow:visible}
.apartment-hover-popup{z-index:1000;pointer-events:auto;cursor:pointer;background:#fff;border:1px solid #a9b79f;border-radius:4px;flex-direction:column;align-items:center;gap:16px;width:224px;padding:8px 0 16px;transition:transform .2s,box-shadow .2s;display:flex;position:fixed;box-shadow:0 4px 12px #00000026}.apartment-hover-popup:hover{box-shadow:0 6px 16px #0003}.apartment-hover-popup__close{cursor:pointer;z-index:1001;background:#fff;border:none;border-radius:2px;justify-content:center;align-items:center;width:18px;height:18px;padding:0;transition:opacity .2s;display:none;position:absolute;top:10px;right:10px}.apartment-hover-popup__close:hover{opacity:.7}.apartment-hover-popup__close:active{opacity:.5}.apartment-hover-popup__close svg{display:block}.apartment-hover-popup__image{box-sizing:border-box;width:100%;height:122px;overflow:hidden}.apartment-hover-popup__image img{object-fit:contain;width:100%;height:100%}.apartment-hover-popup__content{box-sizing:border-box;flex-direction:column;gap:8px;width:100%;padding:0 16px;display:flex}.apartment-hover-popup__title{color:#111;text-align:left;font-family:Montserrat,sans-serif;font-size:16px;font-weight:400;line-height:1.4375em}.apartment-hover-popup__row{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.apartment-hover-popup__label{color:#727171;font-family:Montserrat,sans-serif;font-size:12px;font-weight:400;line-height:1.08333em}.apartment-hover-popup__value{color:#727171;font-family:Montserrat,sans-serif;font-size:14px;font-weight:400;line-height:.928571em}.apartment-hover-popup__status-badge{color:#fff;text-align:center;border-radius:2px;padding:4px 8px;font-family:Montserrat,sans-serif;font-size:12px;font-weight:600;line-height:1.08333em}.apartment-hover-popup__button{display:none}
@media screen and (max-width:600px) and (max-height:1000px) and (orientation:portrait),screen and (max-width:1000px) and (max-height:600px) and (orientation:landscape){.apartment-hover-popup{z-index:10000;transform:translate(-50%,-50%);top:50%!important;left:50%!important}.apartment-hover-popup__close{display:flex}.apartment-hover-popup__button{letter-spacing:.02em;color:#3e2b24;cursor:pointer;pointer-events:auto;background:0 0;border:1px solid #3e2b24;border-radius:2px;justify-content:center;align-items:center;gap:10px;width:100%;height:36px;padding:10px 16px;font-family:Josefin Sans,sans-serif;font-size:16px;font-weight:400;line-height:1em;transition:background-color .2s,color .2s;display:flex}}@media screen and (max-width:1000px) and (max-height:500px) and (orientation:landscape){.apartment-hover-popup{flex-direction:row;gap:10px;width:500px;max-height:calc(100dvh - 50px)}.apartment-hover-popup .apartment-hover-popup__content{gap:6px;overflow:auto}.apartment-hover-popup.apartment-hover-popup__close{display:flex}}
.apartment-polygons-layer{pointer-events:none;z-index:15;width:auto;height:calc(100% + 1px);position:absolute;top:0;left:0}@media (min-aspect-ratio:1.77778){.apartment-polygons-layer{width:100%;height:auto}}.apartment-polygons-layer .apartment-polygons-svg{height:100%}.apartment-polygons-layer .apartment-polygon-group .apartment-polygon{pointer-events:auto;fill:#fff;fill-opacity:.1;stroke:#fff;stroke-opacity:.8;transition:all .3s}.apartment-polygons-layer .apartment-polygon-group .apartment-polygon:hover{fill-opacity:.4;stroke-width:3px;stroke-opacity:1}.apartment-polygons-layer .apartment-polygon-group .apartment-polygon:active{fill-opacity:.6}.apartment-polygons-layer .apartment-polygon-group .apartment-polygon--selected{animation:.8s ease-in-out 3 pulse-highlight}.apartment-polygons-layer .apartment-polygon-group .apartment-polygon--available:hover,.apartment-polygons-layer .apartment-polygon-group .apartment-polygon--reserved:hover,.apartment-polygons-layer .apartment-polygon-group .apartment-polygon--sold:hover{filter:brightness(1.1)}.apartment-polygons-layer .apartment-polygon-group .apartment-polygon-label{pointer-events:none;-webkit-user-select:none;user-select:none;text-shadow:-1px -1px #fffc,1px -1px #fffc,-1px 1px #fffc,1px 1px #fffc;opacity:0;font-size:14px;font-weight:600;transition:opacity .3s}.apartment-polygons-layer .apartment-polygon-group:hover .apartment-polygon-label{opacity:1}@media (max-width:768px){.apartment-polygons-layer .apartment-polygon-label{font-size:12px}}@media (min-width:1920px){.apartment-polygons-layer .apartment-polygon-label{font-size:16px}}@keyframes pulse-highlight{0%,to{stroke-width:4px;fill-opacity:.4}50%{stroke-width:6px;fill-opacity:.6}}
.building-hover-popup{z-index:1000;pointer-events:auto;cursor:pointer;background:#fff;border:1px solid #a9b79f;border-radius:4px;flex-direction:column;align-items:center;gap:16px;width:224px;padding:16px;transition:transform .2s,box-shadow .2s;display:flex;position:fixed;box-shadow:0 4px 12px #00000026}.building-hover-popup:hover{box-shadow:0 6px 16px #0003}.building-hover-popup__close{cursor:pointer;z-index:1001;background:#fff;border:none;border-radius:2px;justify-content:center;align-items:center;width:18px;height:18px;padding:0;transition:opacity .2s;display:none;position:absolute;top:10px;right:10px}.building-hover-popup__close:hover{opacity:.7}.building-hover-popup__close:active{opacity:.5}.building-hover-popup__close svg{display:block}@media (max-width:600px){.building-hover-popup__close{display:flex}}.building-hover-popup__content{box-sizing:border-box;flex-direction:column;gap:8px;width:100%;display:flex}.building-hover-popup__title{color:#111;text-align:center;margin-bottom:8px;font-family:Montserrat,sans-serif;font-size:18px;font-weight:600;line-height:1.4375em}.building-hover-popup__row{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.building-hover-popup__label{color:#727171;font-family:Montserrat,sans-serif;font-size:12px;font-weight:400;line-height:1.08333em}.building-hover-popup__value{color:#727171;font-family:Montserrat,sans-serif;font-size:14px;font-weight:400;line-height:.928571em}.building-hover-popup__button{display:none}
@media screen and (max-width:600px) and (max-height:1000px) and (orientation:portrait),screen and (max-width:1000px) and (max-height:600px) and (orientation:landscape){.building-hover-popup{transform:translate(-50%,-50%);top:50%!important;left:50%!important}.building-hover-popup__button{letter-spacing:.02em;color:#3e2b24;cursor:pointer;pointer-events:auto;background:0 0;border:1px solid #3e2b24;border-radius:2px;justify-content:center;align-items:center;gap:10px;width:calc(100% - 32px);height:36px;padding:10px 16px;font-family:Josefin Sans,sans-serif;font-size:16px;font-weight:400;line-height:1em;transition:background-color .2s,color .2s;display:flex}}
.building-polygons-layer{pointer-events:none;z-index:15;width:auto;height:calc(100% + 1px);position:absolute;top:0;left:0}@media (min-aspect-ratio:1.77778){.building-polygons-layer{width:100%;height:auto}}.building-polygons-layer .building-polygons-svg{height:100%}.building-polygons-layer .building-polygon-group .building-polygon{pointer-events:auto;stroke:#fff;stroke-opacity:1;stroke-width:3px;fill-opacity:0;fill:#fff;transition:all .3s}.building-polygons-layer .building-polygon-group .building-polygon:hover{fill-opacity:.3;filter:brightness()}.building-polygons-layer .building-polygon-group .building-polygon:active{fill-opacity:.6}.building-polygons-layer .building-polygon-group .building-polygon-label-wrapper{pointer-events:none;overflow:visible}.building-polygons-layer .building-polygon-label{letter-spacing:.02em;color:#fff;pointer-events:none;-webkit-user-select:none;user-select:none;box-sizing:border-box;-webkit-font-smoothing:antialiased;background-color:#32472b;border:1px solid #fff;border-radius:2px;justify-content:center;align-items:center;width:124px;height:36px;padding:10px 20px 8px;font-family:Josefin Sans,sans-serif;font-size:14px;font-weight:400;line-height:1em;transition:opacity .3s;display:flex;box-shadow:0 2px 2px #00000026}
