[hidden]{display:none!important}.bar nav{display:flex;gap:16px}.bar nav a,#flatTour{color:var(--green)}#flatTour{margin-top:12px;padding:7px 12px;border-radius:6px}
body:has(#explorer:not([hidden])){overflow:hidden;background:#8f9888}
#explorer{--text:#f4f4f2;--sub:#b6bbc1;--gold:#e7c591;position:fixed;inset:0;z-index:5;color:var(--text);font:14px/1.4 "PT Sans",Arial,sans-serif;isolation:isolate}
#stage,#world{position:absolute;inset:0;width:100%;height:100%}#world{display:block;touch-action:none;cursor:grab}#world:active{cursor:grabbing}
#explorer button,#explorer a{font:inherit;color:inherit}#explorer button{min-height:32px;cursor:pointer}#explorer button:focus-visible,#explorer a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.glass{background:linear-gradient(130deg,rgba(22,29,40,.94),rgba(29,35,43,.86));border:1px solid #ffffff27;border-radius:15px;box-shadow:0 9px 32px #17202724;backdrop-filter:blur(15px)}
.identity{position:absolute;top:16px;left:16px;padding:15px 18px;max-width:320px;pointer-events:none}
#explorer small{display:block;color:var(--sub);font:600 10px/1.35 "PT Sans",Arial,sans-serif;letter-spacing:.10em}.identity h1,#explorer .details h2{font:650 23px/1.14 "PT Sans",Arial,sans-serif;letter-spacing:-.035em;margin:5px 0}.identity p{margin:6px 0;color:#d5d9dc;font-size:13px}.identity span{color:#a3aab1;font-size:10px}
.map-actions{position:absolute;top:16px;right:16px;display:flex;gap:8px;align-items:center}.map-search,.compass{height:44px;display:grid;place-content:center;text-decoration:none}.map-search{display:flex;align-items:center;gap:5px;padding:0 13px;font-size:22px!important}.map-search span{font-size:12px}.compass{width:44px;border-radius:50%}.compass i{display:block;width:11px;height:26px;clip-path:polygon(50% 0,100% 66%,50% 100%,0 34%);background:linear-gradient(#cf675c 50%,#e5e7de 50%);font-size:0}
#blockLabels{position:absolute;inset:0;pointer-events:none}.pin3,.infra-label{position:absolute;left:0;top:0;pointer-events:auto;white-space:nowrap}.pin3{background:#e6c795;border:1px solid #f3e7c6;color:#26302d!important;box-shadow:0 0 0 4px #d8c68730,0 2px 8px #14211d42;border-radius:50%;width:34px;height:34px;min-height:0!important;font-weight:750!important}.pin3:after{content:'';position:absolute;top:100%;left:50%;height:13px;border-left:2px solid #e4c796}.pin3.floor-pin{border-radius:9px;width:28px;height:21px;font-size:12px!important}.floor-pin:after{display:none}.pin3.flat-pin{width:auto;padding:0 9px;height:28px;border-radius:18px}.pin3[aria-pressed=true]{background:#284c42;color:white!important}.infra-label,#hoverFloor,#toast{background:#202733e8;border:1px solid #ffffff30;border-radius:9px;color:white;font-size:12px;padding:6px 10px}#hoverFloor,#toast{position:absolute;pointer-events:none}#toast{top:18px;left:50%;transform:translateX(-50%)}
.dock{position:absolute;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:9px;padding:8px 12px;max-width:calc(100% - 20px);width:max-content}.switchset,.utils,.clock{display:flex;align-items:center;gap:3px}.switchset{background:#ffffff12;border-radius:10px;padding:3px}.dock button,#walkPad button,.details button{border-radius:8px;border:1px solid #ffffff22;background:transparent;color:var(--text)}.switchset button{border-color:transparent;padding:6px 9px;color:#cad0d4!important}.dock button[aria-pressed=true],.details button[aria-pressed=true]{background:#183046;color:#fff!important;border-color:#8b9b9c}.utils button,.switchset button[data-hour]{width:34px;display:grid;place-items:center;padding:4px}.dock svg,.details svg.icon{width:17px;height:17px;display:block;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.clock{gap:7px;font-size:12px;font-variant-numeric:tabular-nums}.clock input{width:77px;accent-color:var(--gold)}.utils button:first-child{font-size:11px!important}
.details{position:absolute;right:16px;bottom:90px;width:300px;padding:16px;max-height:calc(100% - 165px);display:flex;flex-direction:column;overflow:auto}.detail-head,.pair,.navrow,.roomchips{display:flex;align-items:center;gap:8px}.detail-head{justify-content:space-between;flex:none}.detail-head button,.navrow button{width:34px;flex:none}.pair{margin:10px 0}.pair>div{flex:1;background:#ffffff12;border-radius:10px;padding:9px 11px}.pair strong{display:block;font-size:18px}.pair span,.details .info{font-size:11px;color:var(--sub)}.details .rowlist{overflow:auto;min-height:58px;max-height:32vh;margin:10px -6px;scrollbar-width:thin}.rowlist button{border:0;border-radius:6px;width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:8px 10px}.rowlist button+button{border-top:1px solid #ffffff09}.rowlist strong{min-width:30px}.rowlist span{color:var(--sub);font-size:12px}.rowlist i{margin-left:auto;color:#cdbda1;font-style:normal}.details button:hover,.dock button:hover{background:#ffffff22}.details .wide{width:100%;padding:7px 10px;background:#ffffff12}.navrow{justify-content:space-between}.navrow span{font-size:12px;color:var(--sub)}.details .enter{background:#dcbf94;color:#242d2b;font-weight:650;width:100%;margin:7px 0}.roomchips{flex-wrap:wrap;margin:9px 0}.roomchips button{font-size:12px!important;padding:6px 9px}.mini{width:100%;height:95px;border-radius:8px;background:#ffffff0e;margin-top:8px}.mini polygon{cursor:pointer;fill:#273749;stroke:#c2b5a1;stroke-width:1.1}.mini .active{fill:#538276}.mini circle{fill:#f6d29a;stroke:#1a292f;stroke-width:1}#walkPad{position:absolute;left:16px;bottom:86px;display:flex;gap:4px}#walkPad button{background:#202833db;width:38px}#glFallback{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);padding:20px}#glFallback a{display:block;margin-top:8px}.webgl-missing .dock{display:none}
@media(max-width:900px){.details{left:10px;right:10px;width:auto;bottom:78px;max-height:40vh;padding:12px 16px}.details .rowlist{max-height:13vh}.dock{bottom:12px;gap:6px}.tourMode .details{top:12px;bottom:auto;max-height:45vh}.tourMode .identity,.tourMode .map-actions{display:none}.tourMode .mini{height:70px}.identity h1{font-size:20px}}
@media(max-width:660px){.identity{left:9px;top:9px;padding:10px 12px;max-width:68%}.identity h1{font-size:18px}.identity p{font-size:11px;margin:3px 0}.identity span{font-size:9px}.map-actions{right:9px;top:9px;gap:4px}.map-search span{display:none}.map-search,.compass{height:35px;width:35px;padding:0}.dock{flex-wrap:wrap;width:calc(100% - 16px);gap:3px 8px;padding:5px 7px}.dock .switchset button{min-height:28px!important;padding:4px 7px;font-size:12px!important}.dock #angles{order:4;max-width:100%;flex-wrap:wrap;justify-content:center}.dock .utils button,.dock .switchset button[data-hour]{width:27px;min-height:27px!important}.clock input{width:50px}.details{bottom:92px;max-height:35vh}.tourMode .details{top:8px}.details h2{font-size:18px!important}.details .pair{margin:5px 0}.pair>div{padding:4px 8px}.mini{height:56px}.details .rowlist{max-height:12vh}.roomchips{margin:5px 0}.roomchips button{min-height:26px!important}#toast{top:112px;max-width:85%}}

#explorer .details .enter{color:#242d2b}.webgl-missing #flatTour{display:none}

#compareToggle{height:44px;display:flex;align-items:center;gap:7px;padding:0 13px}
#compareToggle svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.6;fill:none}
#compareToggle span{font-size:12px}
#compareToggle[aria-pressed=true]{background:#263b3a;border-color:#e7c591}
#referenceSplit,#referencePhoto,#arrivalBlend,#referenceRange{position:absolute;inset:0;width:100%;height:100%}
#referencePhoto{clip-path:inset(0 calc(100% - var(--split)) 0 0);object-fit:fill;pointer-events:none}
#referenceSplit{--split:50%;overflow:hidden;z-index:2}
#referenceRange{opacity:0;cursor:ew-resize;touch-action:none;margin:0}
.split-line{position:absolute;top:0;bottom:0;left:var(--split);width:2px;transform:translateX(-50%);background:#fff;pointer-events:none;box-shadow:0 0 3px #27302d95}
.split-line b{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;white-space:pre;width:41px;height:41px;border-radius:50%;background:#253034ee;border:2px solid white;color:white;font:600 19px/1 "PT Sans",Arial,sans-serif}
#referenceSplit:has(input:focus-visible) .split-line b{outline:3px solid #e7c591;outline-offset:2px}
.reference-tag{position:absolute;bottom:12px;padding:4px 9px;border-radius:6px;background:#222b2de0;color:white;font-size:12px;pointer-events:none}
.reference-tag.original{left:12px}.reference-tag.model{right:12px}
#explorer.comparing{background:#1e2527}
.comparing #stage{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(100%,calc((100dvh - 160px)*4/3));height:auto;aspect-ratio:4/3}
.comparing #blockLabels,.comparing #hoverFloor,.comparing #daylight,.comparing .clock,.comparing #auto,.comparing #infra,.comparing #motion,.comparing #capture,.comparing #compass,.comparing [data-view=side],.comparing [data-view=corner],.comparing [data-view=far],.comparing .identity{display:none!important}
.comparing #stage:has(#referenceSplit:not([hidden])) #world{pointer-events:none}
#arrivalBlend{pointer-events:none;z-index:1}
#arrivalBlend.fade{animation:arrive-dissolve .32s ease-out both}
@keyframes arrive-dissolve{from{opacity:1}to{opacity:0}}
#explorer.entering #details,#explorer.entering #walkPad,#explorer.entering #blockLabels{visibility:hidden}
#facadeLink{display:block;margin-top:12px;color:var(--green);padding:7px 12px;border-radius:6px}
.webgl-missing #facadeLink{display:none}
@media(max-width:660px){#compareToggle{width:35px;height:35px;justify-content:center;padding:0}#compareToggle span{display:none}.identity{max-width:calc(100% - 142px)}}

#joystick{display:none}
.suiteMode .identity{display:none}
.suiteMode .details{width:282px;gap:8px}
#explorer.suiteMode .details h2{font-size:21px}
.suite-area{margin:0;color:#d5d8d8;font-size:13px}
.finish-switch{display:flex;background:#ffffff0e;padding:3px;border-radius:9px;gap:3px}
.finish-switch button{flex:1}
.room-variants{display:flex;gap:5px;flex:none;border:0;padding:0;margin:0;min-width:0}
.room-variants legend{color:#d5d8d8;font-size:12px;margin:0 0 4px;padding:0}
.room-variants button{padding:5px 8px;font-size:12px!important;line-height:1.2;flex:1 1 auto}
.room-variants button:first-of-type{white-space:nowrap}
#explorer .room-variants button[aria-pressed=true]{background:#d8c6aa;color:#27312f!important;border-color:#e8ddca}
#explorer .finish-switch button[aria-pressed=true]{background:#d8c6aa;color:#27312f!important;border-color:#e8ddca}
.suiteMode .mini{height:124px;margin:0;padding:8px;box-sizing:border-box}
.suiteMode .mini polygon{stroke:#d8cdbb;fill:#414945}
.suiteMode .mini polygon.active{fill:#9f8061}
.suiteMode .mini polygon:focus-visible{outline:none;stroke:white;stroke-width:.18!important}
.suiteMode .mini circle{pointer-events:none}
.suiteMode .mini #eyeHeading{fill:#f6d29a;stroke:#483f32;stroke-width:.035;pointer-events:none}
.suiteMode .rowlist{margin:0;max-height:17vh}
.suiteMode .suite-rooms{background:#ffffff0c}
@media(pointer:coarse),(max-width:700px){
  #walkPad{bottom:max(82px,calc(64px + env(safe-area-inset-bottom)));left:max(20px,env(safe-area-inset-left))}
  #walkPad button[data-step]{display:none}
  #joystick{width:86px;height:86px;border-radius:50%;display:grid;place-items:center;touch-action:none;user-select:none;border:1px solid #fff7;background:radial-gradient(circle,#39423daa,#27302bd6);box-shadow:inset 0 0 0 9px #ffffff09,0 4px 12px #0003}
  #joystick i{display:block;width:33px;height:33px;pointer-events:none;border:1px solid #fffc;border-radius:50%;background:#e9dbc1;box-shadow:0 2px 8px #0004}
}
@media(max-width:900px){
  .suiteMode .details{left:auto;right:9px;width:min(275px,73vw);max-height:40vh;padding:10px 12px;gap:5px}
  #explorer.suiteMode .details h2{font-size:17px}
  .suiteMode .mini{height:69px;padding:2px}
  .suiteMode .details:has(.room-variants){max-height:min(48dvh,405px)}
  .suiteMode .details:has(.room-variants) .mini{flex:0 0 76px}
  .suiteMode .suite-area,.suiteMode .details .info{font-size:11px}
  .suiteMode .roomchips{margin:0}
}
@media(max-height:520px){.suiteMode .details{max-height:60vh}.suiteMode .mini{height:54px}#walkPad{bottom:60px}}

#farViews{position:absolute;top:72px;right:16px;display:flex;align-items:center;gap:10px;padding:6px 8px 6px 12px;font-size:13px}
#farDirection{font:inherit;color:inherit;background:#30363b;border:1px solid #ffffff40;border-radius:7px;padding:6px;min-height:36px}
#farDirection:focus-visible{outline:2px solid #e7c591;outline-offset:2px}
#explorer .finish-switch button,#explorer .room-variants button{min-height:40px;line-height:1.15}
@media(max-width:660px){#farViews{right:9px;top:105px}#farDirection{min-height:40px}}

@media (min-width:661px) and (max-width:1250px){.dock{flex-wrap:wrap}.dock #angles{justify-content:center;flex-wrap:wrap}}

#walkPad{align-items:flex-end;gap:10px}
.direction-pad{display:grid;grid-template-columns:repeat(3,44px);grid-template-areas:". forward ." "left back right";gap:4px}
#walkPad .direction-pad button,#walkPad .tour-zoom button{display:grid;place-items:center;width:44px;height:44px;padding:0;background:#303235;color:#fff;border:1px solid #ffffff38;border-radius:10px;box-shadow:0 2px 4px #0003;touch-action:none;user-select:none}
.direction-pad svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:3.6;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.direction-pad [data-step=forward]{grid-area:forward}
.direction-pad [data-step=back]{grid-area:back}
.direction-pad [data-step=back] svg{transform:rotate(180deg)}
.direction-pad [data-step=left]{grid-area:left}
.direction-pad [data-step=left] svg{transform:rotate(-90deg)}
.direction-pad [data-step=right]{grid-area:right}
.direction-pad [data-step=right] svg{transform:rotate(90deg)}
#walkPad button.is-down,#walkPad button:active{background:#e5c390;color:#202833;box-shadow:inset 0 2px 4px #0004;transform:translateY(2px)}
.tour-zoom{display:grid;gap:4px;margin-left:6px}
#walkPad .tour-zoom button{font-size:23px}
#walkPad button:disabled{opacity:.5}
#walkPad #doorAction{position:absolute;left:0;bottom:calc(100% + 8px);width:max-content;padding:8px 14px;background:#303235;color:white}
@media(max-width:700px){#walkPad{left:10px;gap:5px}#joystick{width:56px;height:56px}}
@media(max-height:520px){.tourMode #walkPad{bottom:56px}}

.season-picker{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--sub)}
.season-picker select{font:inherit;font-weight:600;color:#f5f4ee;background:#29343d;border:1px solid #ffffff38;border-radius:8px;min-height:36px;padding:3px 4px;color-scheme:dark;cursor:pointer}
.season-picker select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.comparing .season-picker{display:none}
@media(max-width:660px){.season-picker span{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}.dock .season-picker select{min-height:32px}}
