:root{color-scheme:dark;--glass:rgba(22,27,33,.82);--border:rgba(255,255,255,.16);--text:#fff;--muted:#c8ced6;--accent:#e5e8d9;--safe-bottom:max(18px,env(safe-area-inset-bottom))}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#171c22;color:var(--text);font:14px/1.45 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}button{font:inherit;cursor:pointer;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:2px solid #fff;outline-offset:4px}button:disabled{cursor:wait;opacity:.4}button svg,.orientation-hint svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;display:block}#tour-app{position:relative;width:100%;height:100%;height:100dvh;isolation:isolate;background:#171c22}#panorama{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.ui{position:absolute;z-index:4}.tour-heading{top:32px;left:36px;display:flex;align-items:center;gap:14px;pointer-events:none;text-shadow:0 2px 18px #0008}.project-symbol{font-size:18px;border:1px solid #ffffff75;width:54px;height:54px;border-radius:50%;display:grid;place-content:center;position:relative;font-weight:500;letter-spacing:-1px}.project-symbol span{position:absolute;top:12px;right:9px;font-size:11px}.tour-heading h1{font-size:19px;font-weight:500;letter-spacing:.2px;margin:0 0 3px}.tour-heading p{font-size:11px;color:#e2e5e9;margin:0;letter-spacing:1.2px}.top-actions{top:34px;right:34px;display:flex;gap:7px}.icon-button{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--border);border-radius:8px;background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.icon-button:hover{background:#30363deb}.orientation-hint{left:50%;top:52%;transform:translate(-50%,-50%);padding:13px 18px;border-radius:30px;background:#20262bb3;backdrop-filter:blur(12px);display:flex;gap:10px;align-items:center;font-size:12px;letter-spacing:.15px;pointer-events:none;opacity:0;transition:opacity .5s;white-space:nowrap}.orientation-hint.visible{opacity:1}.tour-bottom{bottom:var(--safe-bottom);left:50%;transform:translateX(-50%);width:min(1100px,calc(100% - 56px));display:flex;flex-direction:column;align-items:center;gap:13px}.gallery{width:100%;border:1px solid var(--border);border-radius:10px;background:var(--glass);padding:11px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 10px 45px #0003}.gallery[hidden]{display:none}.gallery-track{display:flex;gap:9px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#68717b transparent;padding-bottom:3px;scroll-behavior:smooth}.thumb{position:relative;display:block;flex:0 0 130px;width:130px;height:79px;padding:0;border:2px solid transparent;border-radius:5px;overflow:hidden;background:#30363c;text-align:left;transition:border-color .2s,opacity .2s}.thumb img{display:block;width:100%;height:100%;object-fit:cover}.thumb::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 35%,#0009)}.thumb span{position:absolute;z-index:1;bottom:7px;left:9px;font-size:11px;font-weight:500;text-shadow:0 1px 4px #000}.thumb[aria-pressed=true]{border-color:#fff}.thumb[aria-pressed=true]::before{content:'';position:absolute;z-index:2;inset:0;border:1px solid #1116;pointer-events:none}.thumb:hover{border-color:#ffffff9c}.control-bar{display:flex;align-items:center;gap:12px;width:auto;max-width:100%;padding:7px 10px;border-radius:10px;border:1px solid var(--border);background:rgba(22,27,33,.93);box-shadow:0 8px 40px #0004;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.scene-navigation{display:flex;align-items:center;gap:7px;flex:none}.scene-name{min-width:150px;padding:0 7px;display:flex;flex-direction:column;gap:1px}.scene-name strong{font-size:12px;font-weight:500;white-space:nowrap}.scene-name>span{font-size:10px;letter-spacing:1px;color:var(--muted);font-variant-numeric:tabular-nums}.bare-button{display:grid;place-items:center;width:36px;height:36px;border:0;background:none;border-radius:6px;flex:none}.bare-button:hover{background:#ffffff17}.bare-button[aria-pressed=true]{color:#e8ecc5;background:#ffffff13}.bare-button[aria-pressed=true]::after{content:'';position:absolute;width:3px;height:3px;background:#e8ecc5;border-radius:50%;margin-top:31px}.bare-button svg{width:19px;height:19px}.bar-divider{width:1px;height:24px;background:var(--border)}.view-actions{display:flex;align-items:center;gap:2px}.zoom-level{font-size:10px;min-width:30px;text-align:center;color:var(--muted);font-variant-numeric:tabular-nums}.tour-credit{font-size:9px;color:#e4e7eb;letter-spacing:2px;text-shadow:0 1px 4px #000;line-height:1}.tour-credit span{margin:0 6px}.loader{position:absolute;inset:0;z-index:6;background:#171c2266;display:grid;place-items:center;pointer-events:none;transition:opacity .25s}.loader[hidden]{display:none}.loader-inner{display:flex;flex-direction:column;align-items:center;padding:26px 32px;background:rgba(22,27,33,.86);backdrop-filter:blur(12px);border-radius:12px;gap:10px;box-shadow:0 15px 70px #0004}.loader-ring{width:27px;height:27px;border:1.5px solid #ffffff35;border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:6px}.loader-inner strong{font-size:13px;font-weight:500}.loader-inner>span:last-child{font-size:11px;color:var(--muted)}.error-panel{position:absolute;z-index:10;inset:0;display:grid;place-items:center;padding:24px;background:#171c22ed}.error-panel[hidden]{display:none}.error-panel>div{max-width:470px;text-align:center}.error-panel h2{font-size:22px;font-weight:500}.error-panel p{font-size:14px;color:var(--muted);line-height:1.65}.error-panel button{margin-top:18px;background:#f0f2ee;color:#20252b;border:0;border-radius:6px;padding:11px 18px;font-size:13px}.toast{position:absolute;z-index:12;top:105px;left:50%;transform:translateX(-50%);background:#20262bee;border:1px solid var(--border);padding:12px 18px;border-radius:8px;font-size:12px;max-width:calc(100% - 40px);text-align:center}.toast[hidden]{display:none}dialog{border:1px solid #6b737b;border-radius:14px;background:#20262b;color:#fff;width:min(480px,calc(100% - 36px));padding:34px;box-shadow:0 25px 100px #0009}dialog::backdrop{background:#0006;backdrop-filter:blur(5px)}.dialog-close{position:absolute;top:13px;right:13px;background:none;border:0;font-size:24px;width:32px;height:32px;color:var(--muted)}.dialog-eyebrow{font-size:9px;color:var(--muted);letter-spacing:1.5px;margin-top:4px}dialog h2{font-size:26px;font-weight:500;line-height:1.2;margin:20px 0}dialog p{font-size:13px;color:#e1e5e9;line-height:1.7}dialog dl{font-size:12px;margin:22px 0}dialog dt{font-weight:500;margin-top:14px}dialog dd{margin:4px 0 0;color:var(--muted);line-height:1.65}.help-note{font-size:11px!important;border-top:1px solid var(--border);padding-top:15px;margin-top:20px;color:var(--muted)!important}.pnlm-about-msg,.pnlm-panorama-info,.pnlm-load-box{display:none!important}.pnlm-container{background:#171c22}.pnlm-load-button{display:none}body.is-busy .thumb{pointer-events:none}body.is-busy .scene-navigation .bare-button{pointer-events:none}
.tour-bottom{transform:translateX(-50%) scale(1);transform-origin:center bottom}.top-actions{transform:scale(1);transform-origin:right top}
.scene-name{width:220px;min-width:0;max-width:220px}.scene-name strong{white-space:normal;overflow-wrap:break-word;line-height:1.25}.thumb span{right:7px;white-space:normal;overflow-wrap:break-word;line-height:1.2}.loader-inner>span:last-child{max-width:300px;text-align:center}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:760px){.tour-heading{left:19px;top:max(20px,env(safe-area-inset-top));gap:10px}.project-symbol{height:42px;width:42px;font-size:14px}.project-symbol span{top:8px;right:7px;font-size:9px}.tour-heading h1{font-size:15px;letter-spacing:0}.tour-heading p{font-size:9px;letter-spacing:.7px}.top-actions{right:16px;top:max(20px,env(safe-area-inset-top));gap:5px}.icon-button{width:35px;height:35px;border-radius:7px}.icon-button svg{width:18px;height:18px}#share{display:none}.tour-bottom{width:calc(100% - 26px);gap:10px;bottom:max(13px,env(safe-area-inset-bottom))}.gallery{padding:8px;border-radius:8px}.thumb{flex-basis:104px;width:104px;height:66px}.thumb span{font-size:10px;bottom:5px;left:6px}.gallery-track{gap:7px}.control-bar{width:100%;justify-content:space-between;gap:5px;padding:6px 5px;border-radius:8px}.scene-navigation{gap:0;flex:1;justify-content:space-between}.scene-name{min-width:0;padding:0 3px;flex:1}.scene-name strong{font-size:11px}.scene-name>span{font-size:9px}.bare-button{width:31px;height:34px}.bare-button svg{width:17px;height:17px}.view-actions{gap:0}.bar-divider{margin:0 4px}.zoom-level{display:none}.tour-credit{font-size:8px;letter-spacing:1.5px}.orientation-hint{font-size:11px;padding:11px 14px;top:48%;gap:8px}.orientation-hint svg{width:19px;height:19px}#reset-view{display:none}.toast{top:85px}.loader-inner{padding:20px 25px}dialog{padding:28px}}
@media(max-width:380px){.tour-heading h1{font-size:13px}.tour-heading p{font-size:8px}.project-symbol{width:36px;height:36px;font-size:12px}.project-symbol span{right:5px;top:7px}.top-actions{right:12px}.tour-heading{left:13px;gap:8px}.icon-button{height:32px;width:32px}.scene-name strong{font-size:10px}.bare-button{width:29px}.bar-divider{margin:0 2px}.scene-name>span{font-size:8px}.control-bar{padding:5px 3px}}
@media(max-height:500px) and (orientation:landscape){.tour-heading{top:16px;left:20px}.top-actions{top:16px;right:18px}.gallery{max-width:780px;padding:6px}.thumb{height:54px;flex-basis:100px;width:100px}.tour-bottom{gap:7px;bottom:9px}.tour-credit{display:none}.control-bar{padding:3px 7px;max-width:620px}.bare-button{height:30px}.orientation-hint{top:40%}}
@media(max-width:760px){.scene-navigation{min-width:0}.scene-name{width:auto;max-width:none}.thumb span{right:5px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}.loader-ring{animation-duration:2s}}

/* Opening gate: the first panorama, previews and thumbnails are ready before the tour opens. */
#panorama{filter:blur(0);transition:filter 1s ease}
body.is-preloading #panorama{filter:blur(24px)}
body.is-preloading .ui{visibility:hidden}
.loader{z-index:8;pointer-events:auto;background:transparent;opacity:1;transition:opacity 1s ease;overflow:hidden}
.loader.is-revealing{opacity:0;pointer-events:none}
.loader-background{position:absolute;inset:-40px;background:#171c22 center/cover no-repeat;filter:blur(25px) brightness(.7);transform:scale(1.04)}
.preload-ring{position:relative;width:64px;height:64px;overflow:visible;filter:drop-shadow(0 2px 12px #0005);transition:opacity .3s ease}
.preload-ring circle{fill:none;stroke-width:2.5}
.ring-track{stroke:#ffffff35}
.ring-progress{stroke:white;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transform:rotate(-90deg);transform-origin:32px 32px;transition:stroke-dashoffset .14s linear}
.loader.is-revealing .preload-ring{opacity:0}
#scene-fade{position:absolute;inset:0;z-index:3;background:#000;opacity:0;pointer-events:none}
body.is-busy #panorama{pointer-events:none}
@media(prefers-reduced-motion:reduce){#panorama,.loader,.preload-ring,.ring-progress{transition:none}}

/* Two panorama groups and an aligned comparison of surrounding development. */
.view-toolbar{display:flex;align-items:stretch;justify-content:center;gap:10px;max-width:100%}
.building-toggle{display:flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:10px 15px;border:1px solid #82b9ff99;border-radius:8px;background:#1459ac;box-shadow:0 3px 18px #08264d33;font-size:12px;font-weight:500}
.building-toggle:hover{background:#1c6bcb}
.building-toggle[aria-pressed=true]{background:#2380e5;border-color:#b4d8ff}
.building-toggle:disabled{opacity:.65;cursor:default}
.building-toggle[hidden]{display:none}
.building-toggle svg{flex-shrink:0;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.view-modes{display:flex;gap:4px;padding:4px;background:var(--glass);border:1px solid var(--border);border-radius:10px;backdrop-filter:blur(16px);box-shadow:0 5px 22px #0002}
.view-modes button{border:0;border-radius:6px;background:transparent;padding:10px 18px;font-size:12px;color:#d9e0e8}
.view-modes button[aria-pressed=true]{background:#ffffffed;color:#171c22}
.view-modes button:not([aria-pressed=true]):hover{background:#ffffff14}
.gallery{width:auto;max-width:100%}.gallery-track{justify-content:flex-start}.thumb[hidden]{display:none}
.floor-hotspot{width:0;height:0;background:none}
.floor-pin{box-sizing:border-box;position:absolute;left:0;top:0;transform:translate(calc(-50% + var(--pin-offset-x,0px)),calc(-50% + var(--pin-offset,0px)));display:grid;place-items:center;white-space:nowrap;width:32px;height:32px;padding:0;border:1px solid #ffffffba;border-radius:50%;background:#202933ed;box-shadow:0 3px 16px #0005;font-size:12px;font-weight:600;transition:background .2s}
.floor-pin:hover{background:#175caf}.floor-pin:focus-visible{outline:3px solid #66aaff;outline-offset:4px}
.aerial-pin{display:flex;justify-content:center;align-items:center;gap:6px;width:58px;min-width:58px;height:38px;padding:0 9px;border-radius:19px;font-size:13px}
.aerial-pin svg{width:18px;height:24px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.inside-pin svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.scene-loading{position:absolute;z-index:5;left:50%;top:50%;width:32px;height:32px;margin:-16px 0 0 -16px;border:2px solid #ffffff55;border-top-color:#fff;border-radius:50%;filter:drop-shadow(0 2px 8px #000);animation:spin 1s linear infinite;pointer-events:none}
.scene-loading[hidden]{display:none}
body.is-busy .floor-hotspot{pointer-events:none}
@media(max-width:760px){.view-toolbar{width:100%;gap:8px}.building-toggle{flex:0 1 122px;min-width:0;min-height:42px;padding:7px 8px;font-size:11px;line-height:1.2;gap:6px}.building-toggle svg{width:17px;height:17px}.view-modes{flex:1;min-width:0}.view-modes button{flex:1;min-width:0;padding:8px 6px;font-size:11px;line-height:1.2}.floor-pin{font-size:11px}.tour-bottom{gap:9px}}
@media(max-height:500px) and (orientation:landscape){.view-modes button{padding:6px 14px}.tour-bottom{gap:5px}}
