:root{color-scheme:light dark;--bg: light-dark(#fbfbfa, #0e1116);--bg-elevated: light-dark(#ffffff, #161b22);--bg-sunken: light-dark(#f1f1ee, #0a0d12);--border: light-dark(#d9d9d4, #2a313a);--border-strong: light-dark(#b8b8b0, #3a4250);--text: light-dark(#1a1a1a, #e6e6e3);--text-muted: light-dark(#5a5a55, #9a9a93);--text-subtle: light-dark(#7a7a73, #6e7681);--accent: light-dark(#2e6cdf, #6ea8ff);--accent-contrast: light-dark(#ffffff, #0a0d12);--score-0: light-dark(#440154, #440154);--score-1: light-dark(#3b528b, #3b528b);--score-2: light-dark(#21918c, #21918c);--score-3: light-dark(#5ec962, #5ec962);--score-4: light-dark(#fde725, #fde725);--lens-fifteen-min: light-dark(#d4456c, #e57396);--lens-walkability: light-dark(#2e6cdf, #6ea8ff);--lens-transit: light-dark(#9b4dca, #c89af0);--lens-syntax: light-dark(#b86b16, #e09a4b);--lens-green: light-dark(#2f9e44, #5fc97b);--lens-disamenities: light-dark(#5a5a55, #9a9a93);--lens-topography: light-dark(#1c7ed6, #74c0fc);--radius: 6px;--radius-lg: 10px;--pad: 12px;--pad-sm: 8px;--pad-lg: 20px;--gap: 12px;--font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--z-map: 0;--z-panel: 10;--z-overlay: 20}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{line-height:1.5;-webkit-text-size-adjust:100%;text-size-adjust:100%;font-family:var(--font-sans);background:var(--bg);color:var(--text)}body{min-height:100dvh;background:var(--bg);color:var(--text)}a{color:var(--accent);text-decoration:none}a:hover,a:focus-visible{text-decoration:underline}code,pre{font-family:var(--font-mono);font-size:.95em}img,svg{display:block;max-width:100%;height:auto}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3,h4{line-height:1.2;font-weight:600}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.2rem}p{max-width:70ch}.page{min-height:100vh;display:flex;flex-direction:column}.page>header{display:flex;align-items:center;gap:var(--gap);padding:var(--pad-sm) var(--pad-lg);background:var(--bg-elevated);border-bottom:1px solid var(--border)}.page>header h1{font-size:1.05rem;font-weight:600}.page>header nav{margin-inline-start:auto;display:flex;gap:var(--pad)}.page>main{flex:1;min-height:0}.page.landing>main{display:grid;place-items:center;padding:var(--pad-lg)}.page.landing .hero{max-width:60ch;text-align:center;display:grid;gap:var(--pad)}.page.landing .hero>.actions{display:flex;gap:var(--pad);justify-content:center;margin-top:var(--pad)}.page.map{position:fixed;inset:0;height:100dvh;overflow:hidden}.page.methodology>main{padding:var(--pad-lg);display:grid;justify-content:center}.page.methodology article{max-width:72ch;display:grid;gap:var(--pad)}.page.methodology article section{display:grid;gap:var(--pad-sm);padding-block:var(--pad);border-top:1px solid var(--border)}.page.methodology article section:first-of-type{border-top:0}.panel{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:var(--pad)}.panel.sidebar{border-radius:0;border-inline-start:0;border-block:0;border-inline-end:1px solid var(--border);overflow:auto;padding:var(--pad)}.description,.tagline{color:var(--text-muted)}.action{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-elevated);color:var(--text);transition:background-color .12s}.action:hover{background:var(--bg-sunken);text-decoration:none}.action.primary{background:var(--accent);color:var(--accent-contrast);border-color:transparent}.action.primary:hover{filter:brightness(1.08)}.page.map>.map{position:absolute;inset:0}.page.map>.map .maplibregl-ctrl-attrib{background:color-mix(in srgb,var(--bg-elevated) 80%,transparent);color:var(--text-muted)}.page.map>.map .maplibregl-ctrl-bottom-left,.page.map>.map .maplibregl-ctrl-bottom-right{margin-bottom:env(safe-area-inset-bottom)}.page.map>.map .maplibregl-popup-content{background:var(--bg-elevated);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:var(--pad-sm) var(--pad);font:inherit}.page.map>.map .maplibregl-popup-tip{border-top-color:var(--bg-elevated);border-bottom-color:var(--bg-elevated)}.panel.controls .layer[data-active=false]{opacity:.5}.page.map>.legend{position:absolute;top:calc(var(--pad) + env(safe-area-inset-top));inset-inline:0;margin-inline:auto;width:max-content;z-index:var(--z-overlay);background:color-mix(in srgb,var(--bg-elevated) 92%,transparent);border:1px solid var(--border);border-radius:var(--radius);padding:var(--pad-sm) var(--pad);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);max-width:16rem}.map-nav,.sheet{background:color-mix(in srgb,var(--bg-elevated) 90%,transparent);border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);z-index:var(--z-overlay)}.map-nav{position:fixed;top:calc(var(--pad) + env(safe-area-inset-top));inset-inline-start:calc(var(--pad) + env(safe-area-inset-left))}.map-nav>summary{display:flex;align-items:center;justify-content:center;width:44px;height:44px;cursor:pointer;list-style:none;border-radius:var(--radius-lg);font-size:1.2rem}.map-nav>summary::-webkit-details-marker{display:none}.map-nav>summary:before{content:"☰"}.map-nav[open]>summary:before{content:"✕"}.map-nav>nav{display:flex;flex-direction:column;gap:2px;padding:var(--pad-sm);border-top:1px solid var(--border)}.map-nav>nav>a{padding:var(--pad-sm) var(--pad);border-radius:var(--radius);white-space:nowrap;font-size:.9rem}.map-nav>nav>a:hover{background:var(--bg-sunken);text-decoration:none}.sheet{position:fixed;border-bottom-left-radius:0;border-bottom-right-radius:0;overflow:hidden;bottom:env(safe-area-inset-bottom);max-height:72dvh}.sheet>summary{list-style:none;display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--pad-sm) var(--pad);cursor:pointer;min-height:48px;justify-content:center;-webkit-user-select:none;user-select:none}.sheet>summary::-webkit-details-marker{display:none}.sheet>summary:before{content:"";display:block;width:36px;height:4px;border-radius:2px;background:var(--border-strong);flex-shrink:0}.sheet>summary>.sheet-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--text-muted)}.sheet>.sheet-body{overflow-y:auto;padding:0 var(--pad) var(--pad);max-height:calc(72dvh - 48px)}.sheet:not([open]){max-height:fit-content}@media(min-width:720px){.sheet-controls{inset-inline-start:calc(var(--pad) + env(safe-area-inset-left));width:min(22rem,calc(100vw - 2 * var(--pad) - env(safe-area-inset-left) - env(safe-area-inset-right)))}.sheet-info{inset-inline-end:calc(var(--pad) + env(safe-area-inset-right));width:min(26rem,calc(100vw - 2 * var(--pad) - env(safe-area-inset-left) - env(safe-area-inset-right)))}}@media(max-width:719px){.sheet-controls,.sheet-info{inset-inline-start:env(safe-area-inset-left);inset-inline-end:env(safe-area-inset-right);width:auto;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.sheet-controls:has(~.sheet-info){bottom:calc(env(safe-area-inset-bottom) + 48px)}.sheet-info{z-index:calc(var(--z-overlay) + 1)}}.page.methodology article h2{font-size:1.25rem;margin-top:var(--pad-sm)}.page.methodology article h3{font-size:1rem;color:var(--text);margin-top:var(--pad-sm)}.page.methodology article :is(p,li){color:var(--text)}.page.methodology article ul{padding-inline-start:1.4rem;display:grid;gap:4px}.page.methodology article code{background:var(--bg-sunken);padding:1px 6px;border-radius:4px;border:1px solid var(--border)}.page.methodology article table{border-collapse:collapse;width:100%}.page.methodology article table :is(th,td){padding:6px 10px;border-bottom:1px solid var(--border);text-align:start}.page.methodology article table th{font-weight:600;color:var(--text-muted)}
