@font-face{font-family:LocalSans;src:local('Bahnschrift')}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#c1ccd3;color:#f2f5f7;font:13px/1.55 'Segoe UI','Microsoft YaHei',sans-serif}button,a,input,select{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #ff4665;outline-offset:4px}a{color:inherit}svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}#viewer,#scene,.vignette,#hotspots{position:absolute;inset:0;width:100%;height:100%}#scene{display:block;outline:none;touch-action:none}.vignette{pointer-events:none;background:linear-gradient(180deg,#0b141c49,transparent 22%,transparent 67%,#071019b5);z-index:1}.glass{background:rgba(16,24,32,.87);border:1px solid #ffffff16;backdrop-filter:blur(18px);box-shadow:0 8px 36px #00000012;border-radius:12px}.topbar{position:absolute;z-index:5;inset:20px 24px auto;height:73px;padding:0 20px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;text-decoration:none;gap:13px}.brand-mark{width:44px;height:44px;background:#e52243;border-radius:10px;display:grid;place-items:center}.brand-mark svg{width:33px;height:33px;stroke-width:1.3}.brand b{font-family:LocalSans,'Segoe UI',sans-serif;font-size:17px;letter-spacing:1.7px;font-weight:650}.brand small{display:block;font-size:10px;letter-spacing:2.8px;color:#a9b5bf;margin-top:1px}.coordinates{color:#d1d9df;font-family:LocalSans,sans-serif;font-size:11px;letter-spacing:2px;display:flex;align-items:center;gap:10px}.coordinates i{background:#84bd9e;border-radius:50%;height:5px;width:5px}.coordinates span{margin-left:16px;color:#8997a2;letter-spacing:1px;font-size:10px}.top-actions{display:flex;gap:8px}.icon-button{width:34px;height:34px;border-radius:8px;border:1px solid #ffffff20;display:grid;place-items:center;font-size:17px}.icon-button:hover{background:#ffffff14}.icon-button svg{width:17px;height:17px}.explore{position:absolute;z-index:5;top:114px;left:24px;width:232px;padding:17px 11px 9px}.section-heading{display:flex;align-items:center;margin:0 7px 13px;font-size:13px;position:relative}.section-heading small{font-family:LocalSans,sans-serif;color:#82909d;font-size:8px;letter-spacing:1.1px;margin-left:10px}.section-heading button{margin-left:auto;color:#99a5b1;font-size:18px;padding:0 2px}.location{display:flex;width:100%;align-items:center;text-align:left;padding:9px 9px;border-radius:8px;gap:10px;min-height:53px;transition:background .2s}.location:hover{background:#ffffff0a}.location.active{background:#e3224024;box-shadow:inset 2px 0 #f43858}.loc-no{font-family:LocalSans,sans-serif;font-size:10px;color:#768593;width:16px}.location.active .loc-no{color:#fa506c}.location b{font-size:12px;font-weight:500;letter-spacing:.3px}.location small{display:block;color:#8593a0;font-size:9px;line-height:1.5;margin-top:2px}.loc-arrow{margin-left:auto;color:#556776}.active .loc-arrow{color:#f04d68}.tour-button{display:flex;align-items:center;gap:8px;width:100%;border-top:1px solid #ffffff10;border-bottom:1px solid #ffffff10;margin-top:10px;padding:12px 8px;font-size:11px}.tour-button>span{font-size:18px;color:#f14c68;line-height:1}.tour-button small{margin-left:auto;color:#82909d;font-size:9px}.reference-button{display:flex;justify-content:space-between;width:100%;padding:10px 8px 4px;color:#8393a0;font-size:10px}.view-controls{position:absolute;z-index:5;top:114px;left:50%;transform:translateX(-50%);padding:4px;display:flex;gap:4px}.view-controls button{display:flex;align-items:center;gap:7px;padding:10px 15px;border-radius:8px;font-size:11px;color:#8fa0ae}.view-controls button.active{background:#f2f4f6;color:#17222c}.view-controls svg{width:17px;height:17px}.environment{position:absolute;z-index:5;right:24px;top:114px;width:206px;padding:16px}.env-top{display:flex;justify-content:space-between;font-size:11px}.env-top small{font-size:7px;letter-spacing:1.2px;align-self:center;color:#81909c}.day-night{display:flex;padding:4px;background:#050a1055;border:1px solid #ffffff0a;border-radius:8px;margin:13px 0 11px;gap:4px}.day-night button{width:50%;padding:6px 4px;border-radius:5px;color:#a0afbb;font-size:17px;display:flex;justify-content:center;align-items:center;gap:7px}.day-night span{font-size:11px}.day-night .active{background:#35434f;color:white}.switch-row{display:flex;align-items:center;justify-content:space-between;font-size:10px;margin-top:13px;color:#bcc6ce;cursor:pointer;position:relative}.switch-row input{position:absolute;opacity:0;right:0;width:28px;height:18px;cursor:pointer}.switch{width:26px;height:14px;border-radius:20px;background:#4a5660;position:relative;pointer-events:none}.switch:after{content:'';width:10px;height:10px;border-radius:100%;background:#d5dce1;position:absolute;left:2px;top:2px;transition:transform .2s}.switch-row input:checked+.switch{background:#dc2443}.switch-row input:checked+.switch:after{background:white;transform:translateX(12px)}.quality-row{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#bcc6ce;margin-top:13px;padding-top:12px;border-top:1px solid #ffffff0d}.quality-row select{border:1px solid #ffffff20;background:#202c35;color:#d9e0e5;border-radius:4px;padding:3px 15px 3px 7px;font-size:10px;cursor:pointer}.bottom-bar{position:absolute;z-index:4;bottom:28px;left:35px;right:24px;pointer-events:none;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.place-caption{max-width:600px;padding-bottom:11px}.eyebrow{display:flex;align-items:center;gap:9px;font-family:LocalSans,sans-serif;font-size:10px;letter-spacing:2px;color:#d0d8df}.red-line{height:2px;width:20px;background:#f43858}.model-tag{font-family:'Microsoft YaHei',sans-serif;font-size:9px;letter-spacing:.5px;color:#9caebd;border:1px solid #ffffff25;padding:2px 6px;border-radius:3px;margin-left:5px}.place-caption h1{font-size:33px;font-weight:500;letter-spacing:2px;margin:13px 0 8px;text-shadow:0 2px 12px #0004}.place-caption p{color:#c3cfd8;font-size:11px;letter-spacing:.4px;margin:0}.interaction-hint{pointer-events:auto;position:absolute;left:50%;bottom:3px;transform:translateX(-50%);display:flex;align-items:center;padding:10px 15px;gap:14px;color:#a6b5c0;font-size:10px;white-space:nowrap}.interaction-hint i{height:10px;width:1px;background:#ffffff20}.interaction-hint button{padding:0;font-size:10px;color:#d4dfe7}.minimap{position:relative;width:206px;padding:11px 12px;pointer-events:auto;flex-shrink:0}.minimap>div{display:flex;justify-content:space-between;font-size:10px;color:#d0dae1}.minimap>div small{font-size:8px;color:#8395a3;font-family:LocalSans,sans-serif}.minimap canvas{display:block;width:180px;height:136px;cursor:crosshair}.map-north{position:absolute;right:13px;top:38px;font-size:8px;color:#8495a1}.map-legend{display:flex;align-items:center;gap:5px;color:#8c9da9;font-size:8px}.map-legend i{width:4px;height:4px;border-radius:50%;background:#fc3757}.map-legend span{margin-left:auto;color:#627784}#hotspots{z-index:3;pointer-events:none}.hotspot{position:absolute;pointer-events:auto;display:flex;align-items:center;gap:7px;padding:5px 9px 5px 5px;background:#121d28c9;border:1px solid #ffffff40;border-radius:20px;font-size:10px;box-shadow:0 2px 14px #0003;white-space:nowrap;transform:translate(-50%,-50%);backdrop-filter:blur(8px)}.hotspot .dot{width:17px;height:17px;background:#e62949;display:grid;place-items:center;border-radius:50%;font-size:10px;color:white}.hotspot:hover{background:#e62949;border-color:#fa6d87}.performance{position:absolute;z-index:2;bottom:6px;left:26px;color:#b1c0cc5c;font:8px LocalSans,sans-serif;letter-spacing:1.5px}.loading{position:absolute;z-index:30;inset:0;background:#101a23;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .7s,visibility .7s}.loading.finished{opacity:0;visibility:hidden}.loading-arena{position:relative;width:100px;height:70px;margin-bottom:30px}.loading-arena i{position:absolute;width:100px;height:42px;border:1px solid #f53a5e;border-radius:50%;top:10px;box-shadow:0 0 24px #e71f4c20;animation:breathe 2s infinite}.loading-arena i:nth-child(2){top:20px;animation-delay:.2s}.loading-arena i:nth-child(3){top:30px;animation-delay:.4s}.loading small{letter-spacing:3px;color:#8094a4;font:9px LocalSans,sans-serif}.loading h2{font-size:25px;font-weight:400;letter-spacing:3px;margin:14px 0 7px}.loading p{font-size:10px;color:#7991a1}.load-track{height:2px;width:210px;background:#ffffff12;margin-top:20px;overflow:hidden}.load-track span{display:block;height:100%;width:40%;background:#e62d51;animation:loading 1.5s infinite}#crosshair{position:absolute;z-index:3;top:50%;left:50%;pointer-events:none}#crosshair i{position:absolute;width:12px;height:1px;background:#fff9;transform:translateX(-50%)}#crosshair i+i{transform:translateX(-50%) rotate(90deg)}[hidden]{display:none!important}.walk-prompt{position:absolute;z-index:8;top:48%;left:50%;transform:translate(-50%,-50%);padding:25px 28px;text-align:center;min-width:350px}.walk-prompt b{display:block;font-size:18px;font-weight:500;margin-bottom:10px}.walk-prompt span{display:block;font-size:11px;color:#b3c2ce}.walk-prompt small{display:block;color:#6e8495;font-size:9px;margin-top:7px}.walk-prompt button{background:#db2445;padding:9px 20px;border-radius:5px;margin-top:18px;font-size:11px}.movement{position:absolute;z-index:7;bottom:170px;left:285px;text-align:center}.movement button{background:#172633a8;border:1px solid #ffffff25;height:38px;width:38px;border-radius:7px;margin:2px;touch-action:none}.toast{position:absolute;z-index:60;left:50%;top:186px;transform:translate(-50%,-8px);background:#14232eed;border:1px solid #ffffff25;border-radius:8px;padding:10px 18px;font-size:11px;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;max-width:85vw;text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid #ffffff20;border-radius:15px;background:#14212c;color:#e0e8ee;width:min(700px,92vw);max-height:84vh;padding:32px 35px;box-shadow:0 20px 100px #0008}dialog::backdrop{background:#03090dbb;backdrop-filter:blur(8px)}dialog h2{font-size:22px;font-weight:500;margin:2px 0 12px}dialog h3{font-size:13px;color:#f25772;margin-top:22px}dialog p,dialog li{font-size:12px;color:#aebfcd;line-height:1.9}dialog a{color:#d9e6f1;text-decoration-color:#f14c6880;text-underline-offset:4px}dialog ol,dialog ul{padding-left:20px}.close-dialog{position:absolute;right:14px;top:9px;font-size:27px;color:#8097a9}.fact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.fact-grid div{background:#ffffff06;border-radius:7px;padding:12px}.fact-grid b{display:block;font:21px LocalSans,sans-serif;color:#f2f5f7}.fact-grid small{color:#7f94a5;font-size:10px}kbd{font:10px LocalSans,sans-serif;background:#ffffff12;border:1px solid #ffffff20;border-radius:3px;padding:1px 5px;margin:0 2px}@keyframes breathe{50%{border-color:#ffb4c2;box-shadow:0 0 34px #ff285b32}}@keyframes loading{from{transform:translateX(-100%)}to{transform:translateX(350%)}}
@media(max-height:850px) and (min-width:901px){.explore{top:108px;padding-top:12px}.location{min-height:44px;padding:6px 9px}.location small{font-size:8px}.section-heading{margin-bottom:9px}.tour-button{padding:8px}.place-caption h1{font-size:28px}.minimap canvas{height:112px}.minimap{width:190px}.minimap canvas{width:164px}}
@media(max-width:1100px){.coordinates span{display:none}.explore{width:205px}.environment{width:178px;padding:13px}.place-caption{max-width:470px}.place-caption h1{font-size:26px}.place-caption p{font-size:10px;max-width:390px}.interaction-hint{bottom:-11px;font-size:9px;padding:7px 11px;gap:9px}.environment .env-top small{display:none}}
@media(max-width:760px){.topbar{inset:12px 12px auto;height:61px;padding:0 12px}.brand b{font-size:13px;letter-spacing:1px}.brand small{font-size:8px;letter-spacing:1px}.brand-mark{width:35px;height:35px}.brand-mark svg{width:28px}.top-actions{gap:5px}.icon-button{height:28px;width:28px}.coordinates{display:none}.explore{left:12px;top:132px;width:158px;padding:10px 6px 7px;max-height:54vh;overflow:auto}.section-heading{margin:0 5px 6px;font-size:11px}.section-heading small{display:none}.location{min-height:38px;padding:5px 7px;gap:6px}.location b{font-size:10px}.location small{display:none}.location .loc-no{font-size:8px;width:13px}.loc-arrow{font-size:9px}.tour-button{font-size:10px;padding:7px 6px}.tour-button small{font-size:8px}.reference-button{font-size:8px;padding:9px 5px 0}.explore.collapsed nav,.explore.collapsed .tour-button,.explore.collapsed .reference-button{display:none}.explore.collapsed{width:158px;overflow:visible}.view-controls{left:12px;top:85px;transform:none}.view-controls button{padding:7px 11px;font-size:10px}.view-controls svg{width:15px}.environment{right:12px;top:85px;width:135px;padding:10px}.env-top{font-size:9px}.day-night{margin:8px 0 5px}.day-night button{font-size:14px;padding:4px 1px;gap:4px}.day-night span{font-size:9px}.switch-row{font-size:9px;margin-top:10px}.quality-row{font-size:9px;margin-top:9px;padding-top:8px}.quality-row select{font-size:9px;padding-right:2px}.bottom-bar{left:18px;right:12px;bottom:51px;gap:8px}.place-caption{max-width:calc(100vw - 150px);padding-bottom:0}.place-caption h1{font-size:22px;margin:9px 0 6px;letter-spacing:1px}.place-caption p{font-size:9px;line-height:1.8}.eyebrow{font-size:7px;gap:5px;letter-spacing:1px;flex-wrap:wrap}.model-tag{font-size:7px;padding:1px 3px;letter-spacing:0}.minimap{width:115px;padding:8px}.minimap canvas{width:97px;height:86px}.minimap>div{font-size:8px}.minimap>div small{display:none}.map-north{font-size:7px;top:29px;right:9px}.map-legend{font-size:6px}.map-legend span{display:none}.interaction-hint{bottom:-35px;left:50%;padding:7px 11px}.performance{left:18px;font-size:6px;bottom:5px}.movement{bottom:190px;left:20px}.movement button{width:34px;height:34px}.walk-prompt{min-width:290px;padding:20px}.walk-prompt small{max-width:240px;margin:7px auto 0}.hotspot{font-size:8px;padding:3px 7px 3px 3px;gap:4px}.hotspot .dot{width:14px;height:14px}.toast{top:250px}dialog{padding:25px 22px}.fact-grid{grid-template-columns:repeat(3,1fr)}.fact-grid b{font-size:15px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}

@media(min-width:761px){.place-caption{margin-left:244px;padding-bottom:58px;max-width:calc(100vw - 530px)}.place-caption h1{font-size:26px}.place-caption p{max-width:480px}.bottom-bar .interaction-hint{left:51%}.explore.collapsed nav,.explore.collapsed .tour-button,.explore.collapsed .reference-button{display:none}}
@media(min-width:761px) and (max-width:1100px){.place-caption{margin-left:209px;max-width:calc(100vw - 450px)}.place-caption h1{font-size:22px}}

.section-heading>span{white-space:nowrap}.explore nav{max-height:calc(100vh - 302px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#ffffff25 transparent}.explore nav::-webkit-scrollbar{width:3px}.explore nav::-webkit-scrollbar-thumb{background:#ffffff25;border-radius:3px}@media(max-width:1100px){.section-heading small{font-size:7px;letter-spacing:.6px}}@media(max-width:760px){.explore nav{max-height:37vh}.section-heading small{display:none}}

/* Keep the scene clear: navigation is an on-demand drawer. */
.nav-trigger{position:absolute;z-index:7;top:114px;left:24px;display:flex;align-items:center;gap:9px;padding:10px 14px;font-size:11px;letter-spacing:.4px}
.nav-trigger svg{width:16px;height:16px}.nav-trigger:hover,.nav-trigger[aria-expanded=true]{background:#273642}
#explore{top:164px;width:244px;max-height:calc(100dvh - 190px);display:flex;flex-direction:column;padding:15px 10px 10px;z-index:8}
#explore nav{min-height:0;max-height:calc(100dvh - 315px);overflow:auto}
#explore .section-heading{margin-bottom:10px}#toggle-nav{font-size:23px;line-height:1;width:24px;height:24px}
.place-caption{margin-left:0;padding-bottom:58px;max-width:min(600px,calc(100vw - 270px))}
body.nav-open .place-caption{visibility:hidden}
.movement{position:absolute;bottom:28px;left:24px;z-index:7;user-select:none}
.movement button{height:40px;width:40px;background:#142330d9;border-color:#ffffff30}
.walk-prompt{top:auto;bottom:140px;left:50%;transform:translateX(-50%);min-width:0;padding:9px 14px;display:flex;align-items:center;gap:16px;border-radius:8px}
.walk-prompt span{font-size:11px}.walk-prompt button{margin:0;padding:5px 11px;font-size:10px}
body[data-mode=walk] .place-caption,body[data-mode=walk] .performance{display:none}
body[data-mode=walk] .coordinates,body[data-mode=walk] .brand small{display:none}
body[data-mode=walk] .topbar{top:12px;height:54px}
body[data-mode=walk] .brand-mark{width:33px;height:33px}body[data-mode=walk] .brand-mark svg{width:27px;height:27px}
body[data-mode=walk] .nav-trigger,body[data-mode=walk] .view-controls,body[data-mode=walk] .environment{top:78px}
body[data-mode=walk] #explore{top:128px;max-height:calc(100dvh - 154px)}
body[data-mode=walk] #explore nav{max-height:calc(100dvh - 280px)}
body[data-mode=walk] .environment{width:132px;padding:4px;border-radius:9px}
body[data-mode=walk] .environment .env-top,body[data-mode=walk] .environment .switch-row,body[data-mode=walk] .environment .quality-row{display:none}
body[data-mode=walk] .day-night{margin:0;padding:0;border:none;background:none}
body[data-mode=walk] .day-night button{padding:6px 4px}
body[data-mode=walk] .minimap{width:142px;padding:8px;margin-left:auto}
body[data-mode=walk] .minimap canvas{width:124px;height:94px}
body[data-mode=walk] .minimap>div small,body[data-mode=walk] .map-legend{display:none}
body[data-mode=walk] .bottom-bar{bottom:24px;left:24px}
body[data-mode=walk] .interaction-hint{left:50%;bottom:0;max-width:calc(100vw - 360px);padding:8px 12px;gap:10px;flex-wrap:wrap;justify-content:center;font-size:10px}
body[data-mode=walk] #scene{cursor:grab}body[data-mode=walk].looking #scene{cursor:grabbing}body[data-look=locked] #scene{cursor:none}
body[data-mode=walk] .vignette{background:linear-gradient(180deg,#0b141c30,transparent 18%,transparent 80%,#07101950)}
@media(max-width:1100px){.place-caption{margin-left:0;max-width:calc(100vw - 250px)}}
@media(max-width:760px){
 .nav-trigger{top:132px;left:12px;padding:8px 11px;font-size:10px}
 #explore{left:12px;top:177px;width:min(264px,calc(100vw - 24px));max-height:calc(100dvh - 200px);overflow:visible}
 #explore nav{max-height:calc(100dvh - 319px)}#explore .location{min-height:42px}
 #explore .location small{display:block;font-size:8px}#explore .location b{font-size:11px}
 .place-caption{margin-left:0;max-width:calc(100vw - 150px);padding-bottom:0}
 body[data-mode=walk] .nav-trigger,body[data-mode=walk] .environment{top:128px}
 body[data-mode=walk] .view-controls{top:78px;left:50%;transform:translateX(-50%)}
 body[data-mode=walk] #explore{top:174px;max-height:calc(100dvh - 198px)}
 body[data-mode=walk] #explore nav{max-height:calc(100dvh - 320px)}
 body[data-mode=walk] .environment{width:122px}
 body[data-mode=walk] .bottom-bar{left:12px;right:12px;bottom:17px}
 body[data-mode=walk] .minimap{width:112px}body[data-mode=walk] .minimap canvas{width:94px;height:76px}
 body[data-mode=walk] .interaction-hint{width:calc(100vw - 24px);max-width:none;bottom:102px;font-size:9px;gap:8px;padding:7px 9px}
 .movement{left:12px;bottom:19px}.movement button{width:36px;height:36px}
 .walk-prompt{bottom:166px;white-space:nowrap;min-width:0;padding:8px 12px}
}
