@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#233d3a;background:#e9e9df;font-synthesis:none;--ink:#233d3a;--muted:#72817a;--line:#233d3a26;--paper:#f6f5ec}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #b57937;outline-offset:5px}button{border:0;background:none}a{color:inherit;text-decoration:none}#viewport{position:fixed;top:0;right:0;bottom:0;left:0}canvas{display:block;width:100%;height:100%;touch-action:none}header{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;margin:0 38px;height:96px;border-bottom:1px solid var(--line);pointer-events:none}header>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:12px;font-size:10px;font-weight:700;letter-spacing:1.5px;line-height:1.5}.brand-icon{font:800 39px Manrope,sans-serif;letter-spacing:-4px;padding-right:5px}.edition{font-size:10px;letter-spacing:2px;text-align:center;margin-left:-35px}.edition span{display:block;color:var(--muted);font-size:9px;letter-spacing:1.4px;margin-top:7px}.text-button{font-size:12px;padding:12px 0}.text-button span{padding-left:17px}.intro{position:fixed;top:145px;left:40px;pointer-events:none;transition:opacity .5s,transform .5s}.eyebrow{font-size:9px;letter-spacing:1.5px;font-weight:600}.live-dot{display:inline-block;width:6px;height:6px;background:#7d8a4c;border-radius:50%;margin-right:6px}h1{font-family:Manrope,sans-serif;font-size:clamp(48px,5vw,78px);letter-spacing:-5px;font-weight:600;line-height:1.1;margin:23px 0 20px}h1 span{display:block;font-family:DM Sans,sans-serif;font-size:18px;letter-spacing:-.5px;margin-top:12px;font-weight:400}.intro p{font-size:13px;line-height:1.8;color:#6a7a71}.primary{pointer-events:auto;margin-top:17px;background:var(--ink);color:#f4f3e9;border-radius:3px;padding:15px 19px;font-size:12px;min-width:183px;text-align:left;box-shadow:0 5px 15px #233d3a13}.primary span{float:right;font-size:16px}.primary:hover{background:#37564c}.model-note{font-size:9px;line-height:1.8;color:var(--muted);margin-top:20px}.top-right{position:fixed;right:44px;top:131px;display:flex;align-items:center;gap:20px}.compass{width:44px;text-align:center;font-size:10px}.compass svg{width:37px;height:37px;display:block;transition:transform .1s}.scale{font-size:8px;line-height:2;letter-spacing:1px;color:var(--muted)}.scale b{font-weight:400;letter-spacing:2px;color:var(--ink)}.controls{position:fixed;bottom:89px;left:50%;transform:translate(-50%);display:flex;padding:6px;background:#f7f6eef0;border:1px solid #ffffffc0;box-shadow:0 8px 40px #263d2b18;border-radius:7px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);gap:8px;white-space:nowrap}.view-tabs{display:flex;gap:3px}.view-tabs button{font-size:9px;color:#829086;padding:13px;border-radius:3px}.view-tabs button span{margin-left:6px;font-size:12px;color:var(--ink)}.view-tabs button.active{background:var(--ink);color:#9aac9a}.view-tabs button.active span{color:var(--paper)}.layer-controls{display:flex;align-items:center;border-left:1px solid var(--line);padding-left:8px}.layer-controls button{font-size:11px;padding:9px 10px;color:#7d887f}.layer-controls button.active{color:var(--ink)}.layer-controls button span{font-size:16px;margin-right:5px}#reset{font-size:22px}footer{position:fixed;bottom:0;left:38px;right:38px;height:65px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:10px;color:#728075}footer b{font-weight:500;color:var(--ink)}footer i{font-style:normal;margin:0 11px;color:#acb2a5}footer #modeLabel{font-size:8px;letter-spacing:1px}.footer-dot{display:inline-block;background:#799049;width:5px;height:5px;border-radius:50%;margin-right:7px}footer button{font-size:10px;color:var(--ink)}#hint{font-size:9px}#loading{position:fixed;left:50%;top:53%;transform:translate(-50%,-50%);width:270px;background:var(--paper);padding:24px;border-radius:5px;box-shadow:0 8px 50px #20372820;font-size:12px}#loadValue{display:block;font-size:10px;color:var(--muted);margin-top:8px}.load-line{height:2px;display:block;background:#83945e;margin-bottom:18px;animation:pulse 1.5s infinite}@keyframes pulse{50%{opacity:.3}}.building-card{position:fixed;right:38px;top:225px;padding:24px;background:#f7f6eef2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:5px;width:290px;box-shadow:0 12px 50px #233d3a20}.building-card h2{font-family:Manrope,sans-serif;font-size:25px;letter-spacing:-1px;margin:14px 0}.building-card p{font-size:12px;line-height:1.7}.fine-print{font-size:9px;line-height:1.7;color:var(--muted)}#closeCard{position:absolute;right:10px;top:7px;font-size:22px}.walk-controls{position:fixed;bottom:163px;left:50%;transform:translate(-50%);padding:12px 18px;display:flex;align-items:center;gap:16px;background:#f7f6eef0;border-radius:6px;box-shadow:0 8px 40px #263d2b18}.walk-controls>div{display:flex;align-items:center;gap:12px}.walk-controls span{font-size:8px;letter-spacing:1px;white-space:nowrap}.walk-controls input{width:190px;accent-color:#3d6152}.walk-controls b{font-size:10px;font-weight:500;white-space:nowrap}.walk-controls button{font-size:15px}body.street .intro{opacity:0;pointer-events:none;transform:translate(-20px)}body.street .intro button{pointer-events:none}body.map .intro p,body.map .primary,body.map .model-note{opacity:0;pointer-events:none}body.map .intro h1{font-size:50px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;background:#172e2870;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;padding:25px}.notes-panel{max-width:760px;max-height:90vh;overflow:auto;background:var(--paper);padding:48px;position:relative;box-shadow:0 20px 100px #10282030;border-radius:6px}.close{position:absolute;right:22px;top:17px;font-size:28px}.notes-panel h2{font:500 43px/1.13 Manrope,sans-serif;letter-spacing:-2px;margin:22px 0}.notes-panel>p{font-size:13px;line-height:1.8;color:#68776d}.note-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 30px;border-top:1px solid var(--line);padding-top:24px;margin-top:25px}.note-grid b{font-size:12px;font-weight:600}.note-grid p{font-size:11px;line-height:1.8;color:#68776d}.notes-panel .accuracy{font-size:10px;border-top:1px solid var(--line);padding-top:20px}.sources{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px;font-size:9px;text-decoration:underline;text-underline-offset:4px}[hidden]{display:none!important}@media(min-width:1600px){.intro{top:170px;left:55px}header{margin:0 55px}footer{left:55px;right:55px}}@media(max-width:900px){header{margin:0 22px;height:76px}.edition{display:none}.intro{left:23px;top:110px}h1{font-size:54px}.intro p{font-size:11px}.top-right{right:20px;top:100px}.scale{display:none}.controls{bottom:88px;gap:0}.view-tabs button{padding:12px 9px}.layer-controls button{padding:8px}footer{left:22px;right:22px}#hint{display:none}footer #modeLabel{display:none}.walk-controls{gap:9px;padding:13px}.walk-controls span{display:none}.walk-controls input{width:170px}.building-card{right:22px;top:185px}}@media(max-width:580px){.intro{top:106px}h1{font-size:46px;letter-spacing:-3px;margin-top:15px}h1 span{font-size:14px}.eyebrow{font-size:8px}.intro p,.model-note{display:none}.primary{margin-top:5px;padding:12px 15px;min-width:155px}.top-right{top:106px}.controls{width:calc(100% - 28px);justify-content:center;bottom:80px}.view-tabs button{font-size:8px;padding:10px 8px}.view-tabs button span{font-size:10px;margin-left:3px}.layer-controls{padding-left:3px}.layer-controls button{font-size:0;padding:6px}.layer-controls button span{font-size:17px;margin:0}#reset{font-size:21px}footer{font-size:9px;height:59px;left:18px;right:18px}footer i{margin:0 5px}footer button{font-size:9px}.walk-controls{bottom:146px;width:calc(100% - 50px);justify-content:center}.walk-controls input{width:140px}.notes-panel{padding:30px 23px}.notes-panel h2{font-size:34px}.note-grid{gap:15px;grid-template-columns:1fr}.modal-backdrop{padding:14px}.building-card{top:auto;bottom:148px;left:20px;right:20px;width:auto;padding:18px}.building-card h2{font-size:21px;margin:8px 0}}body.street header,body.street footer{background:#f6f5eceb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding-left:18px;padding-right:18px;border-color:transparent;border-radius:0 0 5px 5px}body.street .top-right{background:#f6f5ecdd;padding:8px 12px;border-radius:4px}body.street footer{border-radius:5px 5px 0 0}
