*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{font:16px/1.5 "Segoe UI",Arial,sans-serif;background:#202621;color:#f5f3ed}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #e7bd8a;outline-offset:4px}button{color:inherit;border:0;background:none}a{color:inherit;text-decoration:none}#tour,#view,#view canvas{position:absolute;inset:0;width:100%;height:100%}#view canvas{touch-action:none;cursor:grab}#view canvas:active{cursor:grabbing}.tourbar{position:absolute;z-index:5;top:20px;left:24px;right:24px;display:flex;align-items:center;justify-content:space-between;padding:12px 18px;background:#171e1be8;border:1px solid #ffffff1b;border-radius:18px;box-shadow:0 8px 28px #0002;backdrop-filter:blur(18px)}.identity{display:flex;gap:14px;align-items:center}.monogram{font:34px Georgia;color:#e3bc92;border-right:1px solid #fff3;padding-right:16px}.identity strong{font-size:13px;letter-spacing:2px}.identity small{display:block;color:#bac4be;font-size:12px;margin-top:2px}nav{display:flex;gap:8px;align-items:center}nav button{font-size:14px;padding:11px 15px;border-radius:10px;color:#dadfd9}nav button:hover,nav button[aria-expanded=true]{background:#ffffff14;color:#f1d4af}#fullscreen{font-size:24px;padding:5px 12px}.scene-card{position:absolute;left:28px;bottom:42px;z-index:2;padding:20px 24px;border-radius:16px;background:linear-gradient(140deg,#19231eeb,#18231fd4);border:1px solid #fff2;min-width:245px;max-width:340px;backdrop-filter:blur(14px)}.eyebrow{font-size:12px;letter-spacing:2px;color:#c8a782;text-transform:uppercase}h1{font:30px/1.15 Georgia,serif;margin:9px 0 7px}#sceneLevel{font-size:14px;color:#bec8c0;margin:0 0 14px}.finish-caption{font-size:12px;color:#e3d0b8;border-top:1px solid #ffffff1c;padding-top:12px;display:block}.navigation{display:flex;align-items:center;position:absolute;bottom:42px;left:50%;transform:translateX(-50%);z-index:3;background:#18231eeb;border:1px solid #fff2;border-radius:99px;padding:5px 9px;box-shadow:0 3px 22px #0003}.navigation button{width:45px;height:44px;border-radius:50%;font-size:26px;line-height:1}.navigation button:hover,.navigation button[aria-pressed=true]{background:#ffffff1c;color:#e8c7a1}.navigation span{height:23px;width:1px;background:#fff2;margin:0 7px}.gesture-hint{position:absolute;bottom:10px;width:100%;text-align:center;margin:0;color:#fff;text-shadow:0 1px 5px #000;font-size:12px;pointer-events:none}#hotspots{position:absolute;inset:0;pointer-events:none;overflow:hidden}.hotspot{position:absolute;left:0;top:0;border:1px solid #fff9;border-radius:50%;width:34px;height:34px;background:#203d34a8;box-shadow:0 0 0 6px #ffffff24,0 2px 15px #0003;pointer-events:auto;transform:translate(-50%,-50%)}.hotspot:after{content:"";position:absolute;inset:10px;border-radius:50%;background:#efd6af}.hotspot span{position:absolute;bottom:44px;left:50%;transform:translateX(-50%);white-space:nowrap;padding:5px 10px;background:#1a2823e8;border-radius:5px;font-size:13px;opacity:0;pointer-events:none}.hotspot:hover span,.hotspot:focus-visible span{opacity:1}.drawer{position:fixed;z-index:8;top:105px;bottom:24px;right:24px;width:370px;max-width:calc(100vw - 32px);overflow:auto;padding:25px;background:#18211ff5;border:1px solid #ffffff20;border-radius:20px;box-shadow:0 20px 65px #0006;backdrop-filter:blur(24px)}[hidden]{display:none!important}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.drawer-head h2{font:26px/1.2 Georgia;margin:8px 0 26px}.close{font-size:28px;line-height:1;padding:4px;color:#bec8c0}.room-row{display:flex;width:100%;gap:14px;text-align:left;padding:13px 10px;border-top:1px solid #ffffff13;border-radius:7px;align-items:center}.room-row:hover,.room-row[aria-current=true]{background:#ffffff0e}.room-number{font-size:12px;color:#b9966d}.room-label{flex:1;font-size:15px}.room-label small{display:block;font-size:12px;color:#a8b4ac}.room-row[aria-current=true] .room-label{color:#f2d6b3}.secondary-link{display:block;font-size:13px;color:#e4c8a6;margin-top:24px;padding-top:18px;border-top:1px solid #fff2}.small{color:#acb8af;font-size:13px;line-height:1.7}.render-note{margin-top:30px;padding-top:20px;border-top:1px solid #fff2}.floor-tabs{display:flex;gap:8px;margin-bottom:18px}.floor-tabs button{padding:8px 12px;border-radius:8px;font-size:14px}.floor-tabs .active{background:#ebd1ac;color:#22342a}#floorplan svg{width:100%;height:auto;max-height:420px}#floorplan .room-zone{cursor:pointer;fill:#35443c;stroke:#94a195;stroke-width:1}#floorplan .room-zone:hover,#floorplan .room-zone.selected{fill:#b59770}#floorplan text{fill:white;font-size:11px;pointer-events:none;text-anchor:middle}.material-option{display:flex;gap:16px;align-items:center;padding:15px;width:100%;border:1px solid #fff2;border-radius:12px;margin:12px 0;text-align:left}.material-option[aria-pressed=true]{border-color:#d7b58b;background:#ffffff09}.material-sample{width:62px;height:62px;border-radius:9px;background-size:cover;flex-shrink:0}.material-label{font-size:16px}.material-label small{display:block;font-size:12px;color:#b7c1b9}.panel-room{color:#d6dfd8}#loading{position:absolute;inset:0;z-index:10;display:grid;align-content:center;justify-content:center;justify-items:center;background:#1b2520ee;text-align:center;gap:10px}#loading p{font-size:15px}.spinner{height:32px;width:32px;border:2px solid #ffffff25;border-top-color:#dcb98c;border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#status{position:absolute;top:95px;left:50%;transform:translateX(-50%);z-index:12;border-radius:7px;background:#243b31e8;padding:6px 13px;font-size:13px;display:none}.map-drawer{width:460px}@media(max-width:760px){.tourbar{left:10px;right:10px;top:10px;padding:9px 10px;border-radius:13px}.identity{gap:8px}.monogram{font-size:26px;padding-right:8px}.identity strong{font-size:10px;letter-spacing:1px}.identity small{font-size:10px}nav{gap:0}nav button{font-size:12px;padding:8px}#fullscreen{display:none}.scene-card{left:14px;bottom:88px;min-width:0;max-width:65vw;padding:12px 16px;border-radius:12px}h1{font-size:24px}#sceneLevel{font-size:12px;margin-bottom:8px}.finish-caption{font-size:11px;padding-top:8px}.navigation{bottom:29px}.navigation button{width:43px;height:39px}.gesture-hint{font-size:10px;bottom:6px}.drawer{top:80px;right:10px;bottom:12px;padding:20px}.drawer-head h2{font-size:24px}.hotspot{width:30px;height:30px}.hotspot:after{inset:9px}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}

.map-legend{display:grid;grid-template-columns:1fr 1fr;gap:5px}.map-legend button{text-align:left;font-size:14px;padding:7px 5px;border-radius:5px}.map-legend button:hover{background:#ffffff15}.navigation button:disabled{opacity:.4;cursor:wait}#loading button{padding:12px 20px;border:1px solid #d7b58b;border-radius:9px} .scene-card{pointer-events:none}@media(max-width:760px){.map-legend{grid-template-columns:1fr}.identity strong,.identity small{font-size:12px}.monogram{display:none}.identity strong{letter-spacing:0}.gesture-hint{font-size:12px}}

.journey{gap:3px}.journey button{border:1px solid #ffffff25;font-size:14px}.journey button[aria-pressed=true]{background:#dbc19c;color:#17291f}.tourbar{flex-wrap:wrap;gap:10px}.live-mode #view,.live-mode #hotspots,.live-mode .scene-card,.live-mode .navigation,.live-mode .gesture-hint,.live-mode .pano-tools,.live-mode #loading{display:none!important}#liveView{position:absolute;inset:105px 0 0;z-index:4;background:#e6eae6;color:#203a35}#liveFrame{width:100%;height:100%;border:0;display:block}#liveLoading{position:absolute;inset:0;margin:0;display:grid;place-items:center;background:#e6eae6}.mode-note{display:block;font-size:12px;color:#aebdb2;margin-top:10px}.customize{padding:13px 16px;width:100%;border-radius:9px;background:#dbc19c;color:#17291f;font-size:15px}@media(max-width:1000px){.identity{display:none}.tourbar{justify-content:center}}@media(max-width:760px){.journey{width:100%;justify-content:center}.journey button{font-size:13px;padding:9px 10px}.tourbar{gap:5px}.pano-tools{justify-content:center}.drawer{top:120px}.live-mode .tourbar{padding-bottom:10px}#liveView{top:72px}.scene-card{max-width:85vw}.mode-note{font-size:11px}}

#shareVisit{font-size:14px;padding:10px 12px;border:1px solid #fff3;border-radius:9px}dialog{border:0;border-radius:16px;max-width:90vw;width:450px;padding:25px;color:#17291f}dialog textarea{display:block;width:100%;height:120px;margin:12px 0}dialog button{color:#17291f}dialog::backdrop{background:#0009}@media(max-width:760px){#shareVisit{position:absolute;right:10px;bottom:8px;font-size:12px;padding:6px}.live-mode #shareVisit{position:static}.live-mode .journey{width:auto}.live-mode .journey button{font-size:12px;padding:8px}#liveView{top:78px}}

.hotspot{width:44px;height:44px;box-shadow:0 0 0 5px #ffffff20,0 2px 15px #0005}.hotspot:after{inset:14px;background:#ffe4b9;box-shadow:0 0 12px #ffd793aa;animation:point-glow 2.8s ease-in-out infinite}.hotspot:before{content:"";position:absolute;inset:-5px;border:2px solid #ffe9c8;border-radius:50%;animation:point-ring 2.8s ease-out infinite;pointer-events:none}.hotspot span{bottom:54px}.hotspot:nth-child(even):before,.hotspot:nth-child(even):after{animation-delay:.8s}.hotspot:hover:after,.hotspot:focus-visible:after{background:white;box-shadow:0 0 18px #fff}.hotspot:hover span,.hotspot:focus-visible span{opacity:1}
@keyframes point-ring{0%{transform:scale(.85);opacity:.65}80%,100%{transform:scale(1.55);opacity:0}}@keyframes point-glow{0%,100%{opacity:.75}50%{opacity:1;box-shadow:0 0 19px #ffe3b8}}
@media(prefers-reduced-motion:reduce){.hotspot:before,.hotspot:after{animation:none}.hotspot:before{opacity:.45}}
