*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#17172a;--bg2:#1e1e33;--bg3:#28283e;--bg4:#33334a;--text:#cdd6f4;--text2:#b3bdd7;--text3:#9aa3bd;--accent:#89b4fa;--accent2:#b4befe;--green:#1a9641;--lgreen:#a6d96a;--yellow:#ffffbf;--orange:#fdae61;--red:#d7191c;--border:#3a3a55;--chart-demand:#cc79a7;--chart-supply:#56b4e9;--chart-gap:#e69f00;--chart-added:#009e73;--c-flood:#3b82f6;--c-zoning:#8b5cf6;--c-transit:#06b6d4;--c-vacancy:#f59e0b;--c-assemblage:#10b981;--c-env:#ef4444;--gap-warn:#fdae61;--gap-severe:#d7191c;--surplus:#a6d96a;--map-overlay-top:16px;--map-overlay-left:64px;--motion-fast:.12s;--motion-base:.18s;--motion-state:.28s;--motion-pane:.4s;--motion-ease:cubic-bezier(.2,.6,.2,1);--motion-ease-out:cubic-bezier(0,0,.2,1)}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);overflow:hidden;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}body{line-height:1.5}button,input,select,textarea{font-family:inherit;font-variant-numeric:inherit}.skip-link{position:fixed;left:12px;top:10px;z-index:2147483600;transform:translateY(-160%);padding:8px 10px;border-radius:6px;background:var(--accent);color:var(--bg);font-size:12px;font-weight:800;text-decoration:none;box-shadow:0 12px 30px #00000073}.skip-link:focus{transform:translateY(0)}#app{display:grid;grid-template-rows:60px 1fr 84px;grid-template-columns:320px 1fr 0px;height:100vh;width:100vw}#app.detail-open{grid-template-columns:320px 1fr 340px}header{grid-column:1/-1;background:linear-gradient(to bottom,var(--bg2),var(--bg));display:flex;align-items:center;padding:0 18px;border-bottom:1px solid var(--border);gap:10px}header h1{font-size:22px;font-weight:750;line-height:1;color:var(--text);white-space:nowrap;letter-spacing:0;flex:0 0 auto}header .subtitle{font-size:11px;color:var(--text3);letter-spacing:.2px}header .spacer{flex:1}header .header-btn{min-height:32px;font-size:11px;padding:6px 10px;border-radius:5px;border:1px solid var(--border);background:var(--bg3);color:var(--text2);cursor:pointer;transition:background var(--motion-base) var(--motion-ease),border-color var(--motion-base) var(--motion-ease),color var(--motion-base) var(--motion-ease);font-weight:650;letter-spacing:.1px}header .header-btn:hover{background:var(--accent);color:var(--bg);border-color:var(--accent)}.dial-state-wrap{position:relative;display:flex;align-items:center}.dial-state-btn{min-height:32px;max-width:310px;display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid rgba(137,180,250,.22);background:#89b4fa14;color:var(--text2);font:700 10.5px/1.1 inherit;letter-spacing:.2px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease)}.dial-state-btn:hover,.dial-state-btn:focus-visible{background:#89b4fa2e;border-color:#89b4fa6b;color:var(--text)}.dial-state-btn:after{content:"\25be";font-size:9px;color:var(--accent2);margin-left:2px}.dial-state-btn.dial-badge-pulsed{animation:dialBadgePulse .2s var(--motion-ease-out) 1}@keyframes dialBadgePulse{0%{box-shadow:0 0 #89b4fa00}55%{box-shadow:0 0 0 5px #89b4fa38}to{box-shadow:0 0 #89b4fa00}}.dial-state-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:2147482200;width:min(360px,calc(100vw - 24px));padding:12px;border:1px solid rgba(137,180,250,.26);border-radius:8px;background:#121626fa;box-shadow:0 22px 52px #00000094;backdrop-filter:blur(14px) saturate(140%)}.dial-state-popover[hidden]{display:none!important}.dial-state-title{font-size:10.5px;font-weight:800;letter-spacing:.85px;text-transform:uppercase;color:var(--accent2);margin-bottom:8px}.dial-state-grid{display:grid;grid-template-columns:minmax(96px,.9fr) minmax(0,1.6fr);gap:1px;background:#ffffff0f;border:1px solid rgba(255,255,255,.06);border-radius:6px;overflow:hidden;font-size:10.5px}.dial-state-grid div{background:#17172afa;padding:6px 7px;line-height:1.25;color:var(--text2)}.dial-state-grid div:nth-child(odd){color:var(--text3);font-weight:700;text-transform:uppercase;letter-spacing:.55px;font-size:10px}.dial-state-copy{margin-top:9px;width:100%;min-height:30px;border:1px solid rgba(137,180,250,.22);border-radius:5px;background:var(--bg3);color:var(--text2);font:700 10px/1 inherit;letter-spacing:.4px;text-transform:uppercase;cursor:pointer}.dial-state-copy:hover,.dial-state-copy:focus-visible{background:var(--accent);border-color:var(--accent);color:var(--bg)}.tab-strip{display:flex;gap:2px;margin-left:8px}.tab-btn{font-size:11.5px;line-height:1.15;padding:7px 10px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--text3);cursor:pointer;font-weight:650;letter-spacing:.1px;transition:background var(--motion-base) var(--motion-ease),border-color var(--motion-base) var(--motion-ease),color var(--motion-base) var(--motion-ease);position:relative;top:0}.tab-btn:hover{color:var(--text);background:#89b4fa0f}.tab-btn.active{color:var(--bg);background:var(--accent);border-color:var(--accent);box-shadow:none;font-weight:750}.basemap-toggle{display:flex;background:var(--bg3);border-radius:5px;padding:2px;border:1px solid var(--border)}.basemap-btn{font-size:10.5px;line-height:1.1;min-height:32px;padding:6px 8px;border:none;background:transparent;color:var(--text3);cursor:pointer;border-radius:3px;font-weight:650;letter-spacing:.1px;transition:background var(--motion-base) var(--motion-ease),color var(--motion-base) var(--motion-ease)}.basemap-btn:hover{color:var(--text)}.basemap-btn.active{background:var(--accent);color:var(--bg);font-weight:600}body[data-basemap=satellite] .hero-wrap,body[data-basemap=satellite] .legend,body[data-basemap=satellite] #chart-wrap,body[data-basemap=satellite] #absorption-badge{background:#171724d1;backdrop-filter:blur(14px) saturate(140%)}body[data-basemap=satellite] .leaflet-tile-pane .leaflet-layer:first-child img{filter:brightness(.55) saturate(.8) contrast(.95)}[data-tip]{position:relative}[data-tip]:after{display:none!important}#global-tooltip{position:fixed;left:0;top:0;z-index:2147483000;max-width:min(280px,calc(100vw - 20px));padding:7px 9px;border-radius:6px;border:1px solid rgba(137,180,250,.34);background:#101424fa;color:#e7efff;box-shadow:0 16px 36px #000000ad,0 0 0 1px #ffffff09;font-size:11px;font-weight:400;line-height:1.42;text-transform:none;letter-spacing:normal;text-align:left;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .12s ease;overflow-wrap:anywhere}#global-tooltip.visible{opacity:1;visibility:visible}.guide-target{box-shadow:0 0 0 2px #b4befee0,0 0 0 8px #89b4fa2e!important;border-radius:8px;transition:box-shadow var(--motion-base) var(--motion-ease)}.onboarding-guide{position:fixed;top:70px;right:18px;left:auto;z-index:2147482500;width:min(410px,calc(100vw - 356px));max-height:calc(100vh - 96px);overflow:auto;padding:15px 16px 14px;border:1px solid rgba(137,180,250,.28);border-radius:8px;background:#121626f5;color:var(--text);box-shadow:0 24px 70px #000000a3,0 0 0 1px #ffffff09;backdrop-filter:blur(16px) saturate(140%)}.onboarding-guide[hidden]{display:none!important}.guide-demo{height:116px;margin:2px 0 11px;border:1px solid rgba(137,180,250,.16);border-radius:8px;background:linear-gradient(135deg,#040b11b8,#1e1e33c7);overflow:hidden;position:relative}.guide-demo[hidden]{display:none!important}.guide-demo .demo-map{position:absolute;inset:12px 112px 12px 12px;border-radius:6px;background:linear-gradient(145deg,#89b4fa1f,#10b98112);box-shadow:inset 0 0 0 1px #ffffff0f}.guide-demo .demo-map:before{content:"";position:absolute;inset:10px;background:radial-gradient(circle at 24% 30%,var(--accent) 0 5px,transparent 6px),radial-gradient(circle at 62% 46%,var(--orange) 0 7px,transparent 8px),radial-gradient(circle at 42% 72%,var(--lgreen) 0 6px,transparent 7px),radial-gradient(circle at 78% 22%,var(--red) 0 4px,transparent 5px);opacity:.72;animation:demoRepaint 2s var(--motion-ease) infinite}.guide-demo .demo-side{position:absolute;right:12px;top:12px;bottom:12px;width:86px;display:grid;gap:7px}.guide-demo .demo-chip,.guide-demo .demo-number{border-radius:5px;background:#ffffff0f;box-shadow:inset 0 0 0 1px #ffffff0d}.guide-demo .demo-chip{height:25px;position:relative;overflow:hidden}.guide-demo .demo-chip:after{content:"";position:absolute;left:6px;top:7px;height:11px;width:38px;border-radius:999px;background:var(--accent);animation:demoToggle 2s var(--motion-ease) infinite}.guide-demo .demo-number{height:24px;position:relative}.guide-demo .demo-number:after{content:"";position:absolute;left:7px;top:8px;height:8px;width:56px;border-radius:999px;background:var(--orange);transform-origin:left center;animation:demoNumber 2s var(--motion-ease) infinite}.guide-demo .demo-scrub{position:absolute;left:20px;right:116px;bottom:19px;height:4px;border-radius:999px;background:#ffffff24}.guide-demo .demo-scrub:after{content:"";position:absolute;top:-5px;left:30%;width:14px;height:14px;border-radius:50%;background:var(--accent2);animation:demoScrub 2s var(--motion-ease) infinite}@keyframes demoToggle{0%,28%{transform:translate(0);background:var(--accent)}45%,to{transform:translate(28px);background:var(--lgreen)}}@keyframes demoRepaint{0%,32%{filter:hue-rotate(0deg) brightness(.88);opacity:.58}48%,to{filter:hue-rotate(28deg) brightness(1.18);opacity:.9}}@keyframes demoNumber{0%,30%{transform:scaleX(.52);background:var(--orange)}50%,to{transform:scaleX(.95);background:var(--lgreen)}}@keyframes demoScrub{0%,35%{left:28%}70%,to{left:82%}}.guide-close{position:absolute;top:7px;right:8px;width:28px;height:28px;border:0;border-radius:4px;background:transparent;color:var(--text3);font-size:17px;line-height:1;cursor:pointer}.guide-close:hover{background:var(--bg3);color:var(--text)}.guide-title{padding-right:30px;font-size:17px;line-height:1.18;font-weight:750;color:var(--text);letter-spacing:0;margin-bottom:8px}.guide-body{font-size:11.5px;line-height:1.48;color:var(--text2);margin-bottom:10px}.guide-list{display:grid;gap:6px;margin:0 0 12px;list-style:none}.guide-list li{position:relative;padding-left:14px;font-size:10.5px;line-height:1.42;color:var(--text2)}.guide-list li:before{content:"";position:absolute;left:0;top:.58em;width:5px;height:5px;border-radius:50%;background:var(--accent)}.guide-look{font-size:10.5px;line-height:1.35;color:var(--text3);border-top:1px solid rgba(255,255,255,.06);padding-top:9px;margin-bottom:12px}.guide-look b{color:var(--text2)}.guide-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.guide-btn{min-height:30px;border:1px solid rgba(137,180,250,.22);border-radius:5px;background:var(--bg3);color:var(--text2);font-family:inherit;font-size:10px;font-weight:700;line-height:1.1;letter-spacing:.25px;padding:7px 10px;cursor:pointer}.guide-btn:hover,.guide-btn:focus-visible{background:var(--accent);border-color:var(--accent);color:var(--bg)}.guide-btn:disabled{opacity:.38;cursor:default}.guide-btn:disabled:hover{background:var(--bg3);border-color:#89b4fa38;color:var(--text2)}.guide-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--bg)}.guide-btn.subtle{background:transparent;border-color:transparent;color:var(--text3)}.guide-btn.subtle:hover,.guide-btn.subtle:focus-visible{background:#89b4fa1a;border-color:#89b4fa33;color:var(--text)}.guide-progress{margin-left:auto;font-size:9.5px;color:var(--text3);white-space:nowrap}.onboarding-guide.detail-demo{right:360px;width:min(390px,calc(100vw - 716px))}.onboarding-guide.chart-demo{right:414px;width:min(390px,calc(100vw - 452px))}body[data-tab=gap] .onboarding-guide{top:auto;bottom:104px;right:360px;width:min(360px,calc(100vw - 700px));max-height:calc(100vh - 178px)}body[data-tab=mesh] .onboarding-guide{top:58px;left:18px;right:auto;width:min(410px,calc(100vw - 36px));background:#040b11d1;border-color:#89b4fa38}body[data-tab=mesh] #guide-btn{display:inline-flex!important;position:absolute;right:12px;top:5px;align-items:center;justify-content:center;min-height:30px}.showpiece-callout{position:fixed;z-index:2147482400;width:min(278px,calc(100vw - 24px));padding:11px 38px 11px 12px;border:1px solid rgba(253,174,97,.36);border-radius:8px;background:#1e1610f7;color:var(--text);box-shadow:0 18px 42px #00000085;font-size:11px;line-height:1.35;transform:translateY(6px);opacity:0;visibility:hidden;transition:opacity var(--motion-base) var(--motion-ease),transform var(--motion-base) var(--motion-ease),visibility var(--motion-base)}.showpiece-callout.visible{opacity:1;visibility:visible;transform:translateY(0)}.showpiece-callout:before{content:"";position:absolute;left:18px;top:-7px;width:12px;height:12px;background:#1e1610f7;border-left:1px solid rgba(253,174,97,.36);border-top:1px solid rgba(253,174,97,.36);transform:rotate(45deg)}.showpiece-close{position:absolute;right:6px;top:5px;width:28px;height:28px;border:0;border-radius:4px;background:transparent;color:#ffd899;font-size:16px;line-height:1;cursor:pointer}.showpiece-close:hover,.showpiece-close:focus-visible{background:#fdae6124}.help-ico{display:inline-flex;align-items:center;justify-content:center;min-width:20px;min-height:20px;width:20px;height:20px;border-radius:50%;background:#89b4fa26;color:var(--text2);font-size:10px;font-weight:800;cursor:help;margin-left:4px;vertical-align:middle;line-height:1;flex-shrink:0}.help-ico:hover,.help-ico:focus-visible{background:var(--accent);color:var(--bg)}.panel-close{position:absolute;top:6px;right:6px;min-width:28px;min-height:28px;background:transparent;border:none;color:var(--text3);font-size:16px;line-height:1;cursor:pointer;padding:2px 6px;border-radius:4px;opacity:.75;transition:background var(--motion-base) var(--motion-ease),color var(--motion-base) var(--motion-ease),opacity var(--motion-base) var(--motion-ease);z-index:2}.panel-close:hover{opacity:1;background:var(--bg3);color:var(--text)}body.sidebar-collapsed #app{grid-template-columns:0 1fr 0}body.sidebar-collapsed #app.detail-open{grid-template-columns:0 1fr 340px}body.sidebar-collapsed #left-panel{display:none}body.sidebar-collapsed #sidebar-toggle-btn{transform:rotate(180deg)}#sidebar-toggle-btn{font-family:inherit;width:28px;padding:4px 0;transition:transform var(--motion-state) var(--motion-ease)}.tab-pane{display:none}.tab-pane.active{display:contents}body[data-tab=gap] [data-tab-only=zoning],body[data-tab=gap] [data-tab-only=mesh],body[data-tab=zoning] [data-tab-only=gap],body[data-tab=zoning] [data-tab-only=mesh],body[data-tab=mesh] [data-tab-only=gap],body[data-tab=mesh] [data-tab-only=zoning]{display:none!important}body[data-tab=gap] [data-tab-scope]:not([data-tab-scope~=gap]),body[data-tab=zoning] [data-tab-scope]:not([data-tab-scope~=zoning]),body[data-tab=mesh] [data-tab-scope]:not([data-tab-scope~=mesh]){display:none!important}#left-panel{grid-row:2;grid-column:1;background:var(--bg);border-right:1px solid var(--border);overflow-y:auto;overscroll-behavior:contain;overflow-anchor:none;scroll-behavior:auto;padding:16px 14px;font-size:12px;scrollbar-width:thin;scrollbar-color:var(--bg3) transparent;contain:layout paint style;isolation:isolate;transform:translateZ(0);backface-visibility:hidden;will-change:scroll-position}#left-panel::-webkit-scrollbar{width:6px}#left-panel::-webkit-scrollbar-thumb{background:var(--bg3);border-radius:3px}#left-panel::-webkit-scrollbar-thumb:hover{background:var(--border)}#left-panel .sidebar-jump-nav{position:sticky;top:-16px;z-index:7;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:-4px 0 14px;padding:8px 0 10px;background:linear-gradient(to bottom,var(--bg) 0%,var(--bg) 84%,rgba(23,23,42,0));box-shadow:0 1px #3a3a55b8}.sidebar-jump-btn{border:1px solid rgba(137,180,250,.14);border-radius:5px;background:#1e1e33fa;color:var(--text2);font-size:9.5px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;padding:7px 6px;cursor:pointer;transition:background var(--motion-base) var(--motion-ease),border-color var(--motion-base) var(--motion-ease),color var(--motion-base) var(--motion-ease)}.sidebar-jump-btn:hover,.sidebar-jump-btn:focus-visible{background:#89b4fa29;color:var(--text);border-color:#89b4fa57}#left-panel .section{scroll-margin-top:62px}.section.section-attention{animation:sectionPulse 1.8s ease-out 1}@keyframes sectionPulse{0%{box-shadow:0 0 #89b4fa00}20%{box-shadow:0 0 0 3px #89b4fa8c,0 0 0 10px #89b4fa1f}to{box-shadow:0 0 #89b4fa00}}#map-container{grid-row:2;grid-column:2;position:relative;overflow:hidden}#map{width:100%;height:100%}#envelope-field-wrap{position:absolute;inset:0;z-index:1200;background:#061015;overflow:hidden}#native-envelope-root{position:absolute;inset:0;background:radial-gradient(circle at 18% 14%,rgba(137,180,250,.12),transparent 28%),radial-gradient(circle at 80% 72%,rgba(176,208,233,.07),transparent 26%),linear-gradient(180deg,#040b11,#071119);color:#dfeef8;overflow:hidden}#native-envelope-root:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:56px 56px;opacity:.18;pointer-events:none}#native-envelope-three{position:absolute;inset:0;z-index:2}#native-envelope-three canvas{display:block;width:100%;height:100%;outline:none;cursor:grab;touch-action:none}#native-envelope-three canvas:active{cursor:grabbing}.native-field-mode-tabs{position:absolute;top:18px;left:50%;transform:translate(-50%);z-index:5;display:flex;gap:6px;padding:5px;border:1px solid rgba(137,180,250,.16);border-radius:999px;background:#040b118f;backdrop-filter:blur(14px) saturate(140%);box-shadow:0 18px 42px #00000042}.native-field-mode-btn{min-height:32px;border:1px solid transparent;border-radius:999px;background:#ffffff07;color:#d7e6f4e0;padding:7px 12px;font:700 10px/1.1 Arial Narrow,Aptos Narrow,Arial,sans-serif;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:background var(--motion-base) var(--motion-ease),color var(--motion-base) var(--motion-ease),border-color var(--motion-base) var(--motion-ease)}.native-field-mode-btn:hover{color:#dfeef8;background:#4f8cff1a}.native-field-mode-btn.active{color:#e8f5ff;background:#4f8cff2e;border-color:#89b4fa47;box-shadow:0 0 22px #4f8cff29}.native-export-controls{position:absolute;top:18px;right:22px;z-index:5;display:flex;gap:6px;padding:5px;border:1px solid rgba(137,180,250,.15);border-radius:999px;background:#040b116b;backdrop-filter:blur(14px) saturate(140%);box-shadow:0 18px 42px #00000038}.native-export-btn{min-height:32px;border:1px solid rgba(137,180,250,.18);border-radius:999px;background:#ffffff07;color:#dfeef8db;padding:7px 10px;font:700 10px/1 Arial Narrow,Aptos Narrow,Arial,sans-serif;letter-spacing:1px;text-transform:uppercase;cursor:pointer}.native-export-btn:hover{color:#eef9ff;background:#4f8cff21;border-color:#89b4fa47}.native-context-card{position:absolute;left:24px;bottom:24px;z-index:5;width:min(360px,calc(100% - 48px));padding:16px 18px 15px;border:1px solid rgba(137,180,250,.16);border-radius:8px;background:#040b118a;backdrop-filter:blur(16px) saturate(145%);box-shadow:0 22px 54px #00000052;pointer-events:none}.native-context-kicker{font:700 9px/1 Arial Narrow,Aptos Narrow,Arial,sans-serif;letter-spacing:1.2px;text-transform:uppercase;color:#d7e6f4d1;margin-bottom:8px}.native-context-title{font:700 18px/1.05 Baskerville,Georgia,serif;letter-spacing:.02em;color:#edf8ff;margin-bottom:7px}.native-context-body{font:400 12px/1.45 Baskerville,Georgia,serif;color:#ecf7ffdb}.native-context-meta{margin-top:10px;padding-top:9px;border-top:1px solid rgba(137,180,250,.12);display:flex;flex-wrap:wrap;gap:6px 12px;font:700 9.5px/1.2 Arial Narrow,Aptos Narrow,Arial,sans-serif;letter-spacing:.8px;text-transform:uppercase;color:#d7e6f4db}.native-scale-card{position:absolute;right:24px;bottom:24px;z-index:5;display:flex;align-items:center;gap:14px;padding:11px 13px;border:1px solid rgba(137,180,250,.14);border-radius:8px;background:#040b1175;backdrop-filter:blur(14px) saturate(140%);box-shadow:0 18px 42px #0000003d;pointer-events:none}.native-north{display:flex;flex-direction:column;align-items:center;gap:2px;font:700 10px/1 Arial Narrow,Aptos Narrow,Arial,sans-serif;color:#dff5ff;letter-spacing:1.1px}.native-north:before{content:"";width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:18px solid #dff5ff;filter:drop-shadow(0 0 8px rgba(79,196,255,.45))}.native-scale-line{width:94px;height:14px;border-left:1px solid rgba(223,238,248,.8);border-right:1px solid rgba(223,238,248,.8);border-bottom:2px solid rgba(223,238,248,.8)}.native-scale-label{font:700 9.5px/1 Arial Narrow,Aptos Narrow,Arial,sans-serif;letter-spacing:1px;text-transform:uppercase;color:#dfeef8bd;text-align:center;margin-top:4px}#right-panel{grid-row:2;grid-column:3;background:var(--bg);border-left:1px solid var(--border);overflow-y:auto;padding:14px;font-size:12px;display:none}#app.detail-open #right-panel{display:block}#app.panel-intro-open{grid-template-columns:320px 1fr 340px}#app.panel-intro-open #right-panel{display:block}#app.panel-intro-open.detail-open{grid-template-columns:320px 1fr 340px}.detail-content[hidden],#right-panel-intro[hidden]{display:none!important}.panel-intro-kicker{font-size:10.5px;font-weight:800;letter-spacing:.85px;text-transform:uppercase;color:var(--accent2);margin-bottom:8px}.panel-intro-title{font-size:16px;line-height:1.15;color:var(--text);margin-bottom:8px;font-weight:750;letter-spacing:0}.panel-intro-copy{font-size:11.5px;line-height:1.5;color:var(--text2);margin-bottom:10px}.panel-intro-list{list-style:none;display:grid;gap:6px;margin:0 0 11px}.panel-intro-list li{position:relative;padding-left:14px;font-size:10.8px;line-height:1.35;color:var(--text2)}.panel-intro-list li:before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:var(--accent)}.panel-intro-action{width:100%;min-height:34px;border:1px solid rgba(137,180,250,.24);border-radius:6px;background:#89b4fa1f;color:var(--text);font:700 10.5px/1.1 inherit;letter-spacing:.35px;text-transform:uppercase;cursor:pointer}.panel-intro-action:hover,.panel-intro-action:focus-visible{background:var(--accent);border-color:var(--accent);color:var(--bg)}#right-panel.first-populate .detail-table tr:nth-of-type(n+1):nth-of-type(-n+5),#right-panel.first-populate .score-breakdown .score-row:nth-of-type(n+1):nth-of-type(-n+5){animation:detailFirstPulse 1.5s var(--motion-ease-out) 1}@keyframes detailFirstPulse{0%,to{background:transparent;box-shadow:none}24%{background:#89b4fa1a;box-shadow:0 0 0 1px #89b4fa2e inset}}.detail-source-cue{display:inline-block;margin-left:6px;padding:1px 5px;border-radius:999px;background:#89b4fa21;color:var(--accent2);font-size:9.5px;font-weight:800;letter-spacing:.35px;text-transform:uppercase;vertical-align:1px}body[data-tab=mesh] #app,body[data-tab=mesh] #app.detail-open{grid-template-columns:320px minmax(0,1fr) 0px;grid-template-rows:42px minmax(0,1fr) 76px}body[data-tab=mesh] #app.panel-intro-open{grid-template-columns:320px minmax(0,1fr) 0px}body[data-tab=mesh] header{background:#061015;border-bottom:0;justify-content:center;padding:0 12px}body[data-tab=mesh] header h1,body[data-tab=mesh] header .spacer,body[data-tab=mesh] .basemap-toggle,body[data-tab=mesh] .header-btn{display:none!important}body[data-tab=mesh] .dial-state-wrap{position:absolute;left:12px;top:5px;z-index:2}body[data-tab=mesh] .dial-state-btn{max-width:280px;min-height:30px;background:#040b119e}body[data-tab=mesh] .tab-strip{margin-left:0}body[data-tab=mesh] .tab-btn{padding:6px 13px;border-radius:999px;top:0;background:#ffffff06}body[data-tab=mesh] .tab-btn.active{background:#89b4fa24;border-color:#89b4fa38;box-shadow:none}body[data-tab=mesh] [data-tip]:after{display:none!important}body[data-tab=mesh] #right-panel{display:none!important}body[data-tab=mesh] #left-panel{display:block;background:#071119;border-right:1px solid rgba(137,180,250,.12)}body[data-tab=mesh] #map-container{grid-row:2;grid-column:2}body[data-tab=mesh] #bottom-bar{display:flex;grid-row:3;grid-column:1/-1;background:#061015;border-top:1px solid rgba(137,180,250,.12)}body[data-tab=mesh] #hero-wrap,body[data-tab=mesh] #zoning-hero,body[data-tab=mesh] #hero-reopen-btn,body[data-tab=mesh] #zoning-hero-reopen-btn,body[data-tab=mesh] #chart-wrap,body[data-tab=mesh] #chart-reopen-btn,body[data-tab=mesh] #absorption-badge,body[data-tab=mesh] #absorption-reopen-btn,body[data-tab=mesh] #legend,body[data-tab=mesh] #legend-reopen-btn{display:none!important}#bottom-bar{grid-column:1/-1;background:linear-gradient(to top,var(--bg2),var(--bg));border-top:1px solid var(--border);padding:12px 22px;display:flex;align-items:center;gap:18px;font-size:11px;color:var(--text2)}body[data-tab=gap] #time-readout{display:none}#time-slider-wrap{flex:1;display:flex;align-items:center;gap:16px;position:relative;min-width:0}#time-year{font-size:28px;font-weight:700;color:var(--text);min-width:72px;letter-spacing:0;font-variant-numeric:tabular-nums;line-height:1}#time-slider-track{flex:1;position:relative;height:28px;display:flex;align-items:center}#time-slider{width:100%;-webkit-appearance:none;appearance:none;height:6px;background:var(--bg4);border-radius:4px;outline:none;cursor:pointer;margin:0;transition:background var(--motion-fast) var(--motion-ease)}#time-slider:hover{background:var(--bg3)}#time-slider::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--accent);cursor:pointer;border:3px solid var(--bg);box-shadow:0 0 0 2px var(--accent),0 2px 6px #0006;transition:transform var(--motion-fast) var(--motion-ease)}#time-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}#time-slider::-webkit-slider-thumb:active{transform:scale(1.15)}#time-slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--accent);cursor:pointer;border:3px solid var(--bg);box-shadow:0 0 0 2px var(--accent),0 2px 6px #0006}#time-dots{position:absolute;left:14px;right:14px;top:50%;transform:translateY(-50%);pointer-events:none;display:flex;justify-content:space-between}#time-dots span{width:3px;height:3px;border-radius:50%;background:var(--text3);opacity:.4}#time-readout{display:flex;gap:22px;font-size:12px;font-variant-numeric:tabular-nums}#time-readout span{display:flex;align-items:baseline;gap:5px}#time-readout b{color:var(--text);font-weight:600;font-size:14px}#play-btn{width:36px;height:36px;border-radius:50%;border:none;background:var(--bg3);color:var(--text);cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;transition:background var(--motion-base) var(--motion-ease),color var(--motion-base) var(--motion-ease),transform var(--motion-fast) var(--motion-ease);flex-shrink:0}#play-btn:hover{background:var(--accent);color:var(--bg);transform:scale(1.05)}#play-btn:active{transform:scale(.95)}#loading{position:fixed;inset:0;background:#1e1e2ef5;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;transition:opacity var(--motion-state) var(--motion-ease)}#loading.hidden{opacity:0;pointer-events:none;visibility:hidden}#loading .spinner{width:42px;height:42px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#loading p{margin-top:14px;color:var(--text2);font-size:13px}#loading .sub{color:var(--text3);font-size:11px;margin-top:4px}.warn-banner{background:#fdae611f;border:1px solid rgba(253,174,97,.4);color:var(--orange);padding:8px 30px 8px 12px;border-radius:5px;font-size:11px;margin-bottom:10px;line-height:1.4;position:relative}.warn-banner b{color:#ffd899}.warn-dismiss{position:absolute;top:4px;right:6px;background:none;border:none;color:var(--orange);font-size:16px;cursor:pointer;padding:2px 6px;line-height:1;opacity:.6}.warn-dismiss:hover{opacity:1}.section{margin-bottom:16px;contain:layout paint style}.section-title{font-size:10.5px;font-weight:750;text-transform:uppercase;color:var(--text2);letter-spacing:.9px;margin-bottom:10px;display:flex;align-items:center;justify-content:flex-start;gap:4px;cursor:pointer;user-select:none;transition:color var(--motion-base) var(--motion-ease)}.section-title:hover{color:var(--text)}.section-title:after{content:"";display:inline-block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--text3);transition:transform var(--motion-base) var(--motion-ease);flex-shrink:0;margin-left:auto}.section.collapsed .section-title:after{transform:rotate(-90deg)}.section.collapsed .section-body{display:none}.section-sub{font-weight:400;font-size:9.5px;text-transform:none;color:var(--text3);letter-spacing:.1px}.scope-badge{display:inline-flex;align-items:center;gap:3px;margin-left:6px;padding:2px 6px;border-radius:999px;border:1px solid rgba(137,180,250,.2);background:#89b4fa14;color:var(--accent2);font-size:9px;font-weight:800;letter-spacing:.55px;text-transform:uppercase;white-space:nowrap;flex-shrink:0}.scope-badge.display{border-color:#a6adc82e;background:#a6adc812;color:var(--text3)}.preset-note,.control-note{font-size:10px;line-height:1.45;color:var(--text3);margin-top:8px}.preset-note b,.control-note b{color:var(--text2);font-weight:600}.preset-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:10px}.preset-btn{padding:11px 10px;border-radius:7px;border:1px solid var(--border);background:var(--bg2);color:var(--text2);cursor:pointer;transition:background var(--motion-base) var(--motion-ease),border-color var(--motion-base) var(--motion-ease),color var(--motion-base) var(--motion-ease);font-size:11px;text-align:left;position:relative;overflow:hidden}.preset-btn:hover{background:var(--bg3);color:var(--text);border-color:var(--text3)}.preset-btn.active{background:var(--accent);color:var(--bg);border-color:var(--accent);box-shadow:0 2px 8px #89b4fa40}.preset-btn .preset-name{font-weight:600;font-size:12px;display:block;margin-bottom:2px;letter-spacing:0}.preset-btn .preset-desc{font-size:10px;text-transform:uppercase;letter-spacing:.65px;opacity:.75;font-weight:650}.preset-btn.active .preset-desc{opacity:.95}.preset-drift{display:inline-block;padding:2px 7px;border-radius:4px;background:var(--orange);color:var(--bg);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;vertical-align:1px}.preset-drift.pulse{animation:pulsehi .6s ease-out 1}@keyframes pulsehi{0%{transform:scale(1.3);box-shadow:0 0 0 4px #fdae6166}to{transform:scale(1);box-shadow:0 0 #fdae6100}}.reset-preset-btn{font-size:10px;padding:3px 8px;border-radius:4px;border:1px solid var(--border);background:transparent;color:var(--text2);cursor:pointer;margin-left:8px;transition:background var(--motion-base) var(--motion-ease),border-color var(--motion-base) var(--motion-ease),color var(--motion-base) var(--motion-ease)}.reset-preset-btn:hover{background:var(--bg3);color:var(--text);border-color:var(--text3)}.compare-control{display:grid;gap:8px;margin-top:10px}.compare-toggle{width:100%;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid rgba(253,174,97,.24);border-radius:7px;background:#fdae6112;color:var(--text2);font-family:inherit;text-align:left;cursor:pointer;transition:background var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease),transform var(--motion-fast) var(--motion-ease)}.compare-toggle:hover,.compare-toggle:focus-visible{background:#fdae6121;border-color:#fdae616b;color:var(--text)}.compare-toggle[aria-pressed=true]{background:#fdae612e;border-color:#fdae6194;color:#ffd899;box-shadow:0 0 0 1px #fdae611f inset}.compare-toggle b{display:block;font-size:11.5px;line-height:1.1;color:inherit}.compare-toggle small{display:block;margin-top:2px;font-size:9px;line-height:1.2;color:var(--text3);letter-spacing:.3px;text-transform:uppercase}.compare-toggle .compare-state{flex-shrink:0;font-size:9px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:var(--orange)}.compare-panel{position:relative;border:1px solid rgba(253,174,97,.2);border-radius:7px;background:#0d121bc7;padding:9px;box-shadow:0 10px 24px #0000002e}.compare-panel[hidden]{display:none}.compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.compare-pane{min-width:0;border:1px solid rgba(255,255,255,.07);border-radius:6px;background:#ffffff09;padding:8px}.compare-pane h4{font-size:9px;line-height:1.2;text-transform:uppercase;letter-spacing:.85px;color:var(--text3);margin:0 0 6px}.compare-pane h4 b{display:block;margin-top:2px;font-size:11px;letter-spacing:0;text-transform:none;color:var(--text)}.compare-metrics{display:grid;gap:4px;font-size:10px;line-height:1.25;color:var(--text2)}.compare-metrics div{display:flex;justify-content:space-between;gap:8px;min-width:0}.compare-metrics span{color:var(--text3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compare-metrics b{color:var(--text);font-variant-numeric:tabular-nums}.compare-delta{margin-top:7px;padding-top:7px;border-top:1px dashed rgba(255,255,255,.1);font-size:10px;line-height:1.35;color:var(--text2)}.compare-delta b{color:var(--orange)}.compare-delta b.good{color:var(--lgreen)}.compare-annotation{position:absolute;left:50%;top:50%;z-index:4;width:min(246px,calc(100% - 18px));transform:translate(-50%,-50%);padding:9px 10px;border:1px solid rgba(137,180,250,.28);border-radius:7px;background:#171724fa;box-shadow:0 16px 36px #00000070;font-size:10.5px;line-height:1.35;color:var(--text2)}.compare-annotation[hidden]{display:none}.compare-annotation b{display:block;margin-bottom:3px;color:var(--accent2);font-size:9px;letter-spacing:.85px;text-transform:uppercase}.screen-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-bottom:7px}.screen-btn{min-height:44px;padding:7px 8px;border-radius:6px;border:1px solid var(--border);background:var(--bg2);color:var(--text2);font-family:inherit;text-align:left;cursor:pointer;transition:background var(--motion-base) var(--motion-ease),border-color var(--motion-base) var(--motion-ease),color var(--motion-base) var(--motion-ease)}.screen-btn:hover,.screen-btn:focus-visible{background:var(--bg3);color:var(--text);border-color:var(--text3)}.screen-btn.active{background:var(--accent);border-color:var(--accent);color:var(--bg);box-shadow:none}.screen-name{display:block;font-size:11px;font-weight:750;margin-bottom:1px}.screen-desc{display:block;font-size:9.5px;line-height:1.25;color:var(--text3)}.screen-btn.active .screen-desc{color:#17172ab8}.screen-summary{font-size:10px;line-height:1.4;color:var(--text2);padding:7px 8px;border:1px solid rgba(137,180,250,.13);border-radius:5px;background:#89b4fa0e;margin-bottom:7px}.screen-summary b{color:var(--text)}.screen-custom{border-top:1px solid var(--border);padding-top:8px;margin-top:8px}.screen-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:7px}.screen-type-grid .check-item{margin-bottom:0}.copilot-compose{display:grid;gap:7px}.copilot-textarea{width:100%;min-height:82px;resize:vertical;border:1px solid var(--border);border-radius:6px;background:var(--bg2);color:var(--text);font:400 11.5px/1.45 inherit;padding:8px 9px;outline:none}.copilot-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px #89b4fa24}.copilot-actions{display:flex;gap:7px;align-items:center}.compose-btn{min-height:32px;border:1px solid rgba(137,180,250,.22);border-radius:5px;background:var(--bg3);color:var(--text2);font:700 10px/1 inherit;letter-spacing:.45px;text-transform:uppercase;padding:7px 10px;cursor:pointer}.compose-btn:hover,.compose-btn:focus-visible{background:var(--accent);border-color:var(--accent);color:var(--bg)}.compose-btn.pulse{animation:composePulse .6s var(--motion-ease-out) 1}@keyframes composePulse{0%{box-shadow:0 0 #89b4fa00}35%{box-shadow:0 0 0 5px #89b4fa47}to{box-shadow:0 0 #89b4fa00}}.copilot-status{font-size:10px;line-height:1.35;color:var(--text3)}.prompt-chips{display:flex;flex-wrap:wrap;gap:6px}.prompt-chip{min-height:28px;border:1px solid rgba(137,180,250,.16);border-radius:999px;background:#89b4fa14;color:var(--text2);font:700 9.5px/1 inherit;padding:6px 9px;cursor:pointer}.prompt-chip:hover,.prompt-chip:focus-visible{background:#89b4fa2e;border-color:#89b4fa57;color:var(--text)}.slider-row{margin-bottom:9px;position:relative}.slider-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:3px;font-size:10.5px;gap:4px}.slider-label .label-text{display:flex;align-items:center;gap:5px;flex:1;min-width:0}.slider-label .label-text .color-dot{flex-shrink:0}.slider-label .label-text .label-main{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slider-label .pct{font-weight:600;min-width:38px;text-align:right;color:var(--text);font-size:11px}.slider-label .preset-hint{font-size:9.5px;color:var(--text3);margin-right:4px;font-variant-numeric:tabular-nums}.slider-label .reset-slider{font-size:10px;color:var(--text3);cursor:pointer;padding:1px 4px;border-radius:3px;display:none}.slider-label .reset-slider:hover{color:var(--text);background:var(--bg3)}.slider-row:not(.drifted) .preset-hint{display:none}.slider-row.drifted .reset-slider{display:inline-block}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:5px;border-radius:3px;outline:none;cursor:pointer;background:var(--bg3);transition:background var(--motion-fast) var(--motion-ease)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;cursor:pointer;border:2px solid var(--bg);box-shadow:0 1px 4px #0006;transition:transform var(--motion-fast) var(--motion-ease)}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}input[type=range]::-webkit-slider-thumb:active{transform:scale(1.25)}input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;cursor:pointer;border:2px solid var(--bg);box-shadow:0 1px 4px #0006}input[type=range]:disabled{opacity:.4;cursor:not-allowed}.slider-caption{font-size:9.5px;color:var(--text3);margin-top:2px;font-style:italic}.slider-contribution{font-size:9.5px;color:var(--text2);text-align:right;font-variant-numeric:tabular-nums}.check-group{display:flex;flex-wrap:wrap;gap:4px 8px}.check-item{display:flex;align-items:center;gap:5px;font-size:10.5px;cursor:pointer;line-height:1.3}.check-item input{accent-color:var(--accent);cursor:pointer}.layer-toggle-list{display:flex;flex-direction:column;gap:7px}.layer-toggle-item{align-items:flex-start;gap:7px;margin-bottom:0}.layer-toggle-item.disabled{opacity:.48;cursor:not-allowed}.layer-toggle-item.disabled input{cursor:not-allowed}.layer-toggle-item .scope-badge{margin-left:0;font-size:7.5px;padding:1px 5px}.layer-toggle-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.layer-toggle-title{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.layer-toggle-help{font-size:9.5px;line-height:1.35;color:var(--text3)}.color-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.color-swatch{width:11px;height:3px;border-radius:2px;display:inline-block;flex-shrink:0}.color-swatch.line-solid{background:var(--swatch-color)!important}.color-swatch.line-dashed{height:4px;background:repeating-linear-gradient(90deg,var(--swatch-color) 0 5px,transparent 5px 8px)!important}.dual-range-wrap{position:relative;height:24px;margin:4px 0}.dual-range-wrap input[type=range]{position:absolute;width:100%;pointer-events:none;background:transparent;height:5px;top:9px}.dual-range-wrap input[type=range]::-webkit-slider-thumb{pointer-events:all}.range-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--text3)}.search-input{width:100%;padding:6px 9px;border-radius:4px;border:1px solid var(--border);background:var(--bg2);color:var(--text);font-size:11.5px;outline:none}.search-input:focus{border-color:var(--accent)}.muni-total{font-size:10.5px;color:var(--text2);padding-top:8px;margin-top:6px;border-top:1px dashed var(--border)}.muni-total b{color:var(--text)}.slider-row.missing-data{opacity:.78}.slider-row.missing-data .label-main{text-decoration:line-through;color:var(--text3)}.slider-row.missing-data input[type=range]{filter:grayscale(1);opacity:.45;cursor:not-allowed}.muni-missing{margin-top:4px;color:#ffd899;font-size:9.7px;line-height:1.35}.muni-stackbar{width:100%;height:14px;border-radius:3px;overflow:hidden;display:flex;margin-top:6px;background:var(--bg3);box-shadow:inset 0 0 0 1px #ffffff0a}.muni-stackbar-seg{height:100%;transition:flex-basis var(--motion-base) var(--motion-ease-out),flex-grow var(--motion-base) var(--motion-ease-out)}.muni-stackbar-seg:hover{filter:brightness(1.15)}.muni-stacklegend{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:6px;font-size:9.5px;color:var(--text3)}.muni-stacklegend .tag{display:flex;align-items:center;gap:4px}.muni-stacklegend .tag b{color:var(--text2)}.muni-stacklegend .swatch{width:8px;height:8px;border-radius:2px;display:inline-block;flex-shrink:0}.supply-total{font-size:10.5px;color:var(--text2);text-align:right;padding-top:5px;margin-top:4px;border-top:1px dashed var(--border)}.supply-total b{color:var(--text)}#cold-claim{position:absolute;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;pointer-events:none;opacity:0;visibility:hidden;transition:opacity var(--motion-pane) var(--motion-ease-out),visibility var(--motion-pane)}#cold-claim .cold-claim-inner{max-width:780px;color:#fff;font-size:36px;line-height:1.08;font-weight:750;letter-spacing:0;text-shadow:0 4px 28px rgba(0,0,0,.72)}body.cold-sequence-active #cold-claim{opacity:1;visibility:visible}body.cold-sequence-active #hero-wrap{opacity:.4;transition:opacity var(--motion-state) var(--motion-ease)}body.cold-sequence-active.cold-hero-live #hero-wrap{opacity:1}body.cold-sequence-active #chart-wrap,body.cold-sequence-active #legend,body.cold-sequence-active #absorption-badge,body.cold-sequence-active .map-hint{opacity:0;visibility:hidden;pointer-events:none}body.cold-sequence-active.cold-overlays-live #chart-wrap,body.cold-sequence-active.cold-overlays-live #legend,body.cold-sequence-active.cold-overlays-live #absorption-badge,body.cold-sequence-active.cold-overlays-live .map-hint{opacity:1;visibility:visible;pointer-events:auto;transition:opacity var(--motion-state) var(--motion-ease)}#tldr-expander{position:absolute;top:var(--map-overlay-top);left:var(--map-overlay-left);z-index:1001;width:min(400px,calc(100% - 500px));border:1px solid rgba(137,180,250,.15);border-radius:10px;background:#171724eb;backdrop-filter:blur(10px);box-shadow:0 8px 24px #00000057;overflow:hidden}#tldr-expander[hidden]{display:none!important}.tldr-toggle{width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;background:transparent;color:var(--text2);padding:11px 14px;font:700 10px/1 inherit;letter-spacing:.9px;text-transform:uppercase;cursor:pointer}.tldr-toggle:after{content:"\25be";font-size:10px;color:var(--accent2);transition:transform var(--motion-fast) var(--motion-ease)}#tldr-expander.open .tldr-toggle:after{transform:rotate(180deg)}.tldr-body{display:none;padding:0 14px 13px;color:var(--text2)}#tldr-expander.open .tldr-body{display:block}.tldr-flow{display:flex;align-items:center;gap:6px;margin:4px 0 9px;font-size:9px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--text3)}.tldr-flow span{padding:4px 6px;border:1px solid rgba(137,180,250,.14);border-radius:999px;background:#89b4fa0f;color:var(--text2)}.tldr-flow i{font-style:normal;color:var(--accent2)}.tldr-list{list-style:none;display:grid;gap:7px;margin:0 0 10px}.tldr-list li{position:relative;padding-left:12px;font-size:10.7px;line-height:1.38;color:var(--text2)}.tldr-list li:before{content:"";position:absolute;left:0;top:.55em;width:4px;height:4px;border-radius:50%;background:var(--accent)}.tldr-list b{color:var(--text)}.tldr-method-btn{min-height:30px;border:1px solid rgba(137,180,250,.22);border-radius:5px;background:#89b4fa14;color:var(--text2);font:700 10px/1 inherit;letter-spacing:.45px;text-transform:uppercase;padding:7px 9px;cursor:pointer}.tldr-method-btn:hover,.tldr-method-btn:focus-visible{background:var(--accent);border-color:var(--accent);color:var(--bg)}.hero-wrap{position:absolute;top:var(--map-overlay-top);left:var(--map-overlay-left);background:#171724f0;border:1px solid rgba(137,180,250,.15);border-radius:10px;padding:13px 34px 13px 18px;z-index:1000;backdrop-filter:blur(10px);box-shadow:0 8px 24px #0006;max-width:min(780px,calc(100% - 500px))}#hero-wrap{width:min(660px,calc(100% - 460px));max-width:660px}#zoning-hero{width:min(680px,calc(100% - 40px));max-width:min(680px,calc(100% - 40px))}body[data-tab=gap] #hero-wrap{top:74px}.hero-wrap.hidden{display:none}.hero-close{position:absolute;top:8px;right:8px;min-width:32px;min-height:32px;background:transparent;border:none;color:var(--text3);font-size:18px;line-height:1;cursor:pointer;padding:4px 8px;border-radius:5px;transition:background var(--motion-base) var(--motion-ease),color var(--motion-base) var(--motion-ease)}.hero-close:hover{background:var(--bg3);color:var(--text)}.overlay-reopen-btn{position:absolute;top:var(--map-overlay-top);left:var(--map-overlay-left);min-height:34px;background:#171724eb;border:1px solid rgba(137,180,250,.2);color:var(--text2);padding:7px 12px;border-radius:6px;font-size:10.5px;cursor:pointer;z-index:999;backdrop-filter:blur(8px);text-transform:uppercase;letter-spacing:.65px;font-weight:700;transition:background var(--motion-base) var(--motion-ease),border-color var(--motion-base) var(--motion-ease),color var(--motion-base) var(--motion-ease)}.overlay-reopen-btn:hover{background:var(--accent);color:var(--bg);border-color:var(--accent)}.hero-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)}.hero-answer{font-size:12.5px;line-height:1.38;color:var(--text);margin:0 18px 10px 0;max-width:600px}.hero-answer b{color:var(--accent2)}.hero-answer .warn{color:var(--orange);font-weight:700}.hero-answer .closed{color:var(--lgreen);font-weight:700}.hero-cell{text-align:left;position:relative;min-width:54px;border-radius:4px}.hero-cell.secondary{padding:0 10px 0 0}.hero-cell:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.hero-label{font-size:10.5px;text-transform:uppercase;color:var(--text2);letter-spacing:.65px;margin-bottom:4px;font-weight:750;line-height:1.2}.hero-val{font-size:28px;font-weight:700;color:var(--text);line-height:.95;letter-spacing:0;font-variant-numeric:tabular-nums;transition:color var(--motion-base) var(--motion-ease)}.hero-demand-primary,#hero-wrap .hero-demand-primary{display:block}.hero-demand-number .hero-val{font-size:40px;color:var(--accent2)}.hero-region-context{font-size:11.5px;line-height:1.4;color:var(--text2);max-width:600px;margin-top:10px}.hero-region-context b{color:var(--text)}.hero-unit{font-size:10px;color:var(--text2);margin-top:4px;text-transform:uppercase;letter-spacing:.35px;font-weight:650}.hero-val.gap-moderate{color:var(--gap-warn)}.hero-val.gap-severe{color:var(--gap-severe)}.hero-val.gap-surplus{color:var(--surplus)}.hero-val.fade{animation:heroFade .22s ease-out}@keyframes heroFade{0%{opacity:.3;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.hero-divider,.hero-tooltip{display:none}.hero-demand-bar{display:flex;flex-direction:column;gap:7px}.hero-demand-bar-label{font-size:10px;text-transform:uppercase;color:var(--text3);letter-spacing:.65px;font-weight:650;display:flex;justify-content:space-between;align-items:baseline;gap:8px}.hero-demand-bar-label .lead{color:var(--text2);font-weight:500;text-transform:none;letter-spacing:0;text-align:right}.hero-demand-bar-track{height:28px;display:flex;border-radius:6px;overflow:hidden;background:var(--bg3);box-shadow:inset 0 0 0 1px #ffffff0d}.hero-demand-bar-seg{height:100%;transition:flex-basis var(--motion-state) var(--motion-ease-out),flex-grow var(--motion-state) var(--motion-ease-out);position:relative}.hero-demand-bar-seg:hover{filter:brightness(1.2)}.hero-demand-bar-tags{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:6px;font-size:9.5px;color:var(--text3)}#hero-wrap .hero-demand-bar-tags{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}.hero-demand-bar-tags .tag{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"sw label" "sw count";gap:0 6px;align-items:center;padding:5px 6px;border:1px solid rgba(255,255,255,.06);border-radius:6px;background:#ffffff06;min-width:0}.hero-demand-bar-tags .swatch{grid-area:sw;width:8px;height:24px;border-radius:2px;flex-shrink:0}.hero-demand-bar-tags .tag .name{grid-area:label;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text2)}.hero-demand-bar-tags .tag b{grid-area:count;color:var(--text);font-weight:700}.hero-demand-bar-tags .tag em{color:var(--text3);font-style:normal;font-weight:600}.hero-difference-note{margin-top:9px;padding-top:8px;border-top:1px solid rgba(255,255,255,.06);font-size:10px;line-height:1.35;color:var(--text3);max-width:520px}.hero-difference-note b{color:var(--text2);font-weight:600}.hero-exclusion-note{display:none;margin-top:8px;padding:8px 10px;border:1px solid rgba(253,174,97,.22);border-radius:6px;background:#fdae6114;font-size:10.5px;line-height:1.35;color:var(--text2);max-width:520px}.hero-exclusion-note b{color:#ffd899;font-weight:700}.hero-exclusion-note button{float:right;margin-left:10px;margin-top:-1px;min-height:24px;border:1px solid rgba(253,174,97,.34);border-radius:4px;background:#fdae611f;color:#ffd899;font-size:10px;line-height:1.1;font-weight:750;letter-spacing:.55px;text-transform:uppercase;padding:5px 8px;cursor:pointer}.hero-exclusion-note button:hover{background:#fdae6138;border-color:#fdae6185}.hero-narrative{margin-top:10px;padding-top:8px;border-top:1px solid rgba(255,255,255,.06);font-size:11px;line-height:1.45;color:var(--text2);max-width:520px}.hero-narrative b{color:var(--accent2);font-weight:600}.hero-narrative em{color:var(--orange);font-style:normal;font-weight:600}.hero-narrative em.closes{color:var(--lgreen)}#hero-wrap .hero-row{grid-template-columns:1.25fr 1fr 1fr;gap:12px}#hero-wrap .hero-technical-details{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.06);color:var(--text2);font-size:10.5px}#hero-wrap .hero-technical-details summary{cursor:pointer;color:var(--text3);font-weight:750;letter-spacing:.45px;text-transform:uppercase;list-style:none}#hero-wrap .hero-technical-details summary::-webkit-details-marker{display:none}#hero-wrap .hero-technical-details summary:after{content:" \25be";color:var(--accent2)}#hero-wrap .hero-technical-details[open] summary:after{content:" \25b4"}#hero-wrap .hero-technical-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}#zoning-hero .hero-row{grid-template-columns:repeat(auto-fit,minmax(116px,1fr));gap:12px}#zoning-hero .hero-cell{min-width:0}#zoning-hero .hero-val{font-size:26px}#hero-wrap .hero-val{font-size:24px}#hero-wrap .hero-demand-number .hero-val{font-size:34px}#hero-wrap .hero-difference-note,#hero-wrap .hero-exclusion-note{max-width:none}.zoning-meter{margin-top:10px;padding-top:9px;border-top:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;gap:6px}.zoning-meter-label{display:flex;justify-content:space-between;gap:12px;font-size:9px;text-transform:uppercase;letter-spacing:.9px;color:var(--text3);font-weight:700}.zoning-meter-track{height:8px;border-radius:999px;background:var(--bg3);overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0d}.zoning-meter-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--orange),var(--lgreen));transition:width var(--motion-base) var(--motion-ease-out)}.zoning-meter-note{font-size:10.5px;line-height:1.35;color:var(--text2)}.zoning-meter-note b{color:var(--text)}.zoning-chart-panel{margin-top:10px;padding-top:9px;border-top:1px solid rgba(255,255,255,.06)}.zoning-chart-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:5px}.zoning-chart-title{font-size:9px;text-transform:uppercase;letter-spacing:.9px;color:var(--text3);font-weight:700}.zoning-chart-note{font-size:9.5px;color:var(--text3);text-align:right}.zoning-chart-frame{width:100%;height:148px;position:relative}.zoning-chart-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:5px;font-size:9.5px;color:var(--text2)}.zoning-chart-legend span{display:flex;align-items:center;gap:5px}#chart-wrap{position:absolute;top:16px;right:16px;width:380px;height:240px;background:#171724f0;border:1px solid rgba(137,180,250,.15);border-radius:10px;padding:12px 14px 8px;z-index:999;backdrop-filter:blur(10px);box-shadow:0 8px 24px #0006;transition:width var(--motion-state) var(--motion-ease),height var(--motion-state) var(--motion-ease),padding var(--motion-state) var(--motion-ease)}#chart-wrap.collapsed{width:180px;height:40px;padding:10px 14px;cursor:pointer}#chart-wrap.collapsed canvas,#chart-wrap.collapsed .chart-legend{display:none}#chart-wrap.hidden{display:none}#chart-reopen-btn{position:absolute;top:16px;right:16px;min-height:34px;background:#171724eb;border:1px solid rgba(137,180,250,.2);color:var(--text2);padding:7px 12px;border-radius:6px;font-size:10.5px;cursor:pointer;z-index:999;backdrop-filter:blur(8px);text-transform:uppercase;letter-spacing:.65px;font-weight:700;transition:background var(--motion-base) var(--motion-ease),border-color var(--motion-base) var(--motion-ease),color var(--motion-base) var(--motion-ease)}#chart-reopen-btn:hover{background:var(--accent);color:var(--bg);border-color:var(--accent)}.chart-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.chart-title{font-size:10.5px;font-weight:700;text-transform:uppercase;color:var(--text2);letter-spacing:1px}.chart-subtitle{font-size:9.5px;color:var(--text3);margin-left:8px;font-weight:400}.chart-actions{display:flex;gap:4px;align-items:center}.chart-mode-btn{min-height:28px;border:1px solid rgba(137,180,250,.16);border-radius:5px;background:#89b4fa12;color:var(--text2);font-size:9px;font-weight:800;letter-spacing:.75px;text-transform:uppercase;padding:5px 7px;cursor:pointer}.chart-mode-btn:hover,.chart-mode-btn.active{background:var(--accent);border-color:var(--accent);color:var(--bg)}.chart-collapse{min-width:28px;min-height:28px;background:none;border:none;color:var(--text2);cursor:pointer;font-size:14px;padding:2px 6px;border-radius:4px;line-height:1}.chart-collapse:hover{background:var(--bg3);color:var(--text)}.chart-legend{display:flex;gap:16px;font-size:9.5px;color:var(--text2);margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.05)}.chart-legend span{display:flex;align-items:center;gap:6px;cursor:pointer;user-select:none;transition:opacity var(--motion-base) var(--motion-ease)}.chart-legend span:hover{color:var(--text)}.chart-legend span.hidden{opacity:.35;text-decoration:line-through}#narrative-card{margin-top:14px;padding:12px 0 0;border-top:1px solid var(--border);font-size:11px;color:var(--text2);line-height:1.5}#narrative-card h4{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.1px;color:var(--text2);margin-bottom:8px}#narrative-card ul{list-style:none;padding:0}#narrative-card li{margin-bottom:6px;position:relative;padding-left:12px}#narrative-card li:last-child{margin-bottom:0}#narrative-card li:before{content:"";position:absolute;left:2px;top:6px;width:4px;height:4px;border-radius:50%;background:var(--accent);opacity:.6}#narrative-card li b{color:var(--text);font-weight:600}#absorption-badge{position:absolute;bottom:12px;left:12px;background:#171724e0;border:1px solid rgba(137,180,250,.08);padding:5px 26px 5px 10px;border-radius:14px;font-size:10px;color:var(--text3);z-index:998;backdrop-filter:blur(8px);font-variant-numeric:tabular-nums}#absorption-badge b{color:var(--text2);font-weight:600}#absorption-badge .panel-close{top:1px;right:1px;font-size:13px;padding:1px 5px}#absorption-reopen-btn,#legend-reopen-btn{position:absolute;bottom:12px;background:#171724eb;border:1px solid rgba(137,180,250,.2);color:var(--text2);padding:5px 10px;border-radius:14px;font-size:10px;cursor:pointer;z-index:998;backdrop-filter:blur(8px);text-transform:uppercase;letter-spacing:.6px;font-weight:600}#absorption-reopen-btn{left:12px}#legend-reopen-btn{right:12px}#absorption-reopen-btn:hover,#legend-reopen-btn:hover{background:var(--accent);color:var(--bg);border-color:var(--accent)}.legend{position:absolute;bottom:12px;right:16px;background:#171724e0;padding:8px 11px;border-radius:8px;z-index:1000;font-size:10px;color:var(--text);backdrop-filter:blur(8px);border:1px solid rgba(137,180,250,.08);box-shadow:0 2px 8px #0000004d;max-width:200px}.legend-title{font-weight:700;margin-bottom:8px;color:var(--text);text-transform:uppercase;letter-spacing:1px;font-size:9.5px}.legend-group{margin-top:8px;padding-top:7px;border-top:1px solid rgba(255,255,255,.06)}.legend-group-label{font-size:9px;color:var(--text3);text-transform:uppercase;letter-spacing:.9px;margin-bottom:4px;font-weight:600}.legend-row{display:flex;align-items:center;gap:7px;margin-bottom:4px;line-height:1.3}.legend-row:last-child{margin-bottom:0}.legend-row .sub{color:var(--text2);font-size:9.5px;margin-left:auto;font-variant-numeric:tabular-nums}.legend-swatch{width:14px;height:10px;border-radius:2px;display:inline-block;flex-shrink:0}.legend-swatch.hatched{background:repeating-linear-gradient(45deg,rgba(127,66,66,.5),rgba(127,66,66,.5) 3px,transparent 3px,transparent 6px);border:1px dashed rgba(176,96,96,.6)}.legend-grades{display:flex;gap:3px;align-items:center}.legend-grades .legend-swatch{width:10px;height:10px}.legend-base-group{display:contents}.legend-note{font-size:9px;line-height:1.35;color:var(--text3);margin:5px 0 4px}.legend-note b{color:var(--text2);font-weight:600}.map-hint{position:absolute;left:12px;bottom:48px;z-index:997;max-width:320px;padding:7px 10px;border-radius:8px;background:#171724e6;border:1px solid rgba(137,180,250,.18);color:var(--text2);font-size:10.5px;line-height:1.35;backdrop-filter:blur(8px);box-shadow:0 2px 8px #00000047}.map-hint b{color:var(--accent2)}body[data-tab=mesh] .map-hint{display:none!important}.maplibregl-popup.map-hover-tooltip{z-index:1600;max-width:min(300px,calc(100vw - 24px))}.maplibregl-popup.map-hover-tooltip .maplibregl-popup-content{background:#101424fa;color:#e7efff;border:1px solid rgba(137,180,250,.34);border-radius:6px;box-shadow:0 16px 36px #000000ad,0 0 0 1px #ffffff09;padding:7px 9px;font-size:11px;line-height:1.42}.maplibregl-popup.map-hover-tooltip .maplibregl-popup-content b{color:#fff;font-weight:800}.maplibregl-popup.map-hover-tooltip.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{border-top-color:#101424fa}.maplibregl-popup.map-hover-tooltip.maplibregl-popup-anchor-top .maplibregl-popup-tip{border-bottom-color:#101424fa}.maplibregl-popup.map-hover-tooltip.maplibregl-popup-anchor-left .maplibregl-popup-tip{border-right-color:#101424fa}.maplibregl-popup.map-hover-tooltip.maplibregl-popup-anchor-right .maplibregl-popup-tip{border-left-color:#101424fa}.maplibregl-popup.map-hover-tooltip.maplibregl-popup-anchor-top-left .maplibregl-popup-tip,.maplibregl-popup.map-hover-tooltip.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{border-bottom-color:#101424fa}.maplibregl-popup.map-hover-tooltip.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip,.maplibregl-popup.map-hover-tooltip.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{border-top-color:#101424fa}.maplibregl-popup.sending-flood-popup{z-index:1105;max-width:min(320px,calc(100vw - 32px))}.maplibregl-popup.sending-flood-popup .maplibregl-popup-content,.leaflet-tooltip.sending-flood-popup{background:#171724f7;color:var(--text);border:1px solid rgba(137,180,250,.24);border-radius:8px;box-shadow:0 14px 34px #0000007a;padding:10px 12px;font-size:11px;line-height:1.42}.maplibregl-popup.sending-flood-popup .maplibregl-popup-content{min-width:236px}.maplibregl-popup.sending-flood-popup .maplibregl-popup-close-button{color:var(--text2);font-size:17px;padding:4px 7px;border-radius:4px}.maplibregl-popup.sending-flood-popup .maplibregl-popup-close-button:hover{background:#89b4fa1f;color:var(--text)}.maplibregl-popup.sending-flood-popup.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{border-top-color:#171724f7}.maplibregl-popup.sending-flood-popup.maplibregl-popup-anchor-top .maplibregl-popup-tip{border-bottom-color:#171724f7}.maplibregl-popup.sending-flood-popup.maplibregl-popup-anchor-left .maplibregl-popup-tip{border-right-color:#171724f7}.maplibregl-popup.sending-flood-popup.maplibregl-popup-anchor-right .maplibregl-popup-tip{border-left-color:#171724f7}.maplibregl-popup.sending-flood-popup.maplibregl-popup-anchor-top-left .maplibregl-popup-tip,.maplibregl-popup.sending-flood-popup.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{border-bottom-color:#171724f7}.maplibregl-popup.sending-flood-popup.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip,.maplibregl-popup.sending-flood-popup.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{border-top-color:#171724f7}.sf-popup{min-width:218px;max-width:286px}.sf-popup-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;margin-bottom:5px;padding-right:10px}.sf-popup-title{font-weight:800;color:var(--text);letter-spacing:.2px}.sf-popup-tag{flex-shrink:0;border:1px solid rgba(166,173,200,.2);border-radius:999px;padding:2px 6px;color:var(--text3);font-size:8px;font-weight:800;letter-spacing:.7px;text-transform:uppercase}.sf-popup-address{color:var(--text2);margin-bottom:7px;line-height:1.35}.sf-popup-row{display:grid;grid-template-columns:minmax(94px,auto) minmax(0,1fr);gap:8px;margin-top:3px}.sf-popup-label{color:#b7c9df;font-weight:700}.sf-popup-value{color:var(--text);min-width:0}.sf-popup-note{margin-top:8px;padding-top:7px;border-top:1px solid rgba(255,255,255,.08);color:var(--text2);font-size:10px;line-height:1.35}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;gap:10px}.detail-header h2{font-size:12.5px;font-weight:650;line-height:1.3;color:var(--text2);letter-spacing:.02em;text-transform:uppercase;margin-bottom:6px}.close-btn{min-width:32px;min-height:32px;background:none;border:none;color:var(--text2);font-size:18px;cursor:pointer;padding:0 4px;border-radius:5px}.close-btn:hover{color:var(--text)}.grade-badge{display:inline-block;padding:5px 9px;border-radius:5px;font-size:15px;line-height:1;font-weight:800;color:#111827;letter-spacing:.02em}.grade-A{background:var(--green)}.grade-B{background:var(--lgreen)}.grade-C{background:var(--yellow)}.grade-D{background:var(--orange)}.grade-F{background:var(--red)}#radar-container{width:100%;height:150px;margin:8px 0 10px}.detail-table{width:100%;font-size:11px;border-collapse:collapse}.detail-table td{padding:3px 4px;border-bottom:1px solid var(--border)}.detail-table td:first-child{color:var(--text2);width:42%}.detail-table tr.detail-section-row td{padding:12px 4px 5px;border-bottom:none;color:var(--accent2);font-size:11px;font-weight:800;letter-spacing:.75px;text-transform:uppercase}.detail-table tr.detail-statement-row td{padding:9px 10px;border:1px solid rgba(137,180,250,.14);border-radius:6px;background:#89b4fa0f;display:table-cell;color:var(--text);font-size:12px;line-height:1.45}.detail-table tr.detail-statement-row b{color:var(--accent2)}.detail-table tr.detail-extra-row{display:none}.detail-content.detail-more-open .detail-table tr.detail-extra-row{display:table-row}.detail-more-toggle-row td{padding:8px 0 4px!important;border-bottom:none!important}.detail-more-toggle{width:100%;min-height:30px;border:1px solid rgba(137,180,250,.18);border-radius:6px;background:#89b4fa12;color:var(--text2);font-size:10.5px;font-weight:800;letter-spacing:.45px;text-transform:uppercase;cursor:pointer}.detail-more-toggle:hover,.detail-more-toggle:focus-visible{background:var(--accent);border-color:var(--accent);color:var(--bg)}.score-breakdown{display:none;margin-top:10px}.detail-content.detail-more-open .score-breakdown{display:block}.score-row{display:flex;align-items:center;gap:6px;margin-bottom:4px;font-size:10.5px}.score-bar{flex:1;height:5px;background:var(--bg3);border-radius:3px;overflow:hidden}.score-bar-fill{height:100%;border-radius:3px;transition:width var(--motion-state) var(--motion-ease)}.score-val{min-width:30px;text-align:right;font-size:10px;color:var(--text2)}.vac-badge{display:inline-block;padding:1px 6px;border-radius:3px;font-size:10px;font-weight:600}.vac-Vacant{background:#ef4444;color:#fff}.vac-Parking{background:#f59e0b;color:#000}.vac-Underutilized{background:#8b5cf6;color:#fff}.vac-Built{background:#6b7280;color:#fff}.vac-Institutional{background:#374151;color:#9ca3af}#modal-overlay{position:fixed;inset:0;background:#000000a6;z-index:10000;display:none;align-items:center;justify-content:center}#modal-overlay.open{display:flex}#modal{background:var(--bg2);border:1px solid var(--border);border-radius:10px;max-width:720px;width:92%;max-height:85vh;overflow-y:auto;padding:28px;color:var(--text);font-size:13px;line-height:1.6;position:relative}#modal h2{font-size:17px;margin-bottom:14px;color:var(--accent);letter-spacing:0}#modal h3{font-size:13px;font-weight:700;margin-top:18px;margin-bottom:6px;color:var(--text);letter-spacing:.01em}#modal p,#modal li{color:var(--text2);margin-bottom:6px}#modal ul{padding-left:20px}#modal code{background:var(--bg3);padding:1px 5px;border-radius:3px;font-size:11px;color:var(--text);font-family:ui-monospace,Menlo,monospace}#modal .modal-close{position:absolute;top:14px;right:14px;background:none;border:none;color:var(--text2);font-size:22px;cursor:pointer}#modal .modal-close:hover{color:var(--text)}.method-toc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:8px 0 16px;padding:10px;border:1px solid rgba(137,180,250,.15);border-radius:8px;background:#040b113d}.method-toc-title{grid-column:1/-1;font-size:9px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--accent2)}.method-toc a{min-height:28px;display:flex;align-items:center;border:1px solid rgba(255,255,255,.06);border-radius:5px;background:#ffffff09;color:var(--text2);padding:5px 7px;text-decoration:none;font-size:10.5px;line-height:1.2}.method-toc a:hover,.method-toc a:focus-visible{background:#89b4fa21;border-color:#89b4fa47;color:var(--text)}.method-section{scroll-margin-top:18px}.method-summary{display:grid;gap:8px;margin:6px 0 16px;padding:12px;border:1px solid rgba(137,180,250,.18);border-radius:8px;background:#89b4fa0f}.method-summary-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.method-summary-step{padding:7px 8px;border-radius:6px;background:#00000029;font-size:10.5px;line-height:1.25;color:var(--text2);min-width:0}.method-summary-step b{display:block;color:var(--text);font-size:9px;letter-spacing:.8px;text-transform:uppercase;margin-bottom:3px}.method-summary-note{font-size:11px;line-height:1.4;color:var(--text2)}.method-summary-note b{color:var(--text)}.source-grid{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1.8fr) minmax(96px,.75fr);gap:1px;margin:10px 0 12px;background:var(--border);border:1px solid var(--border);border-radius:6px;overflow:hidden;font-size:11.5px}.source-grid div{background:var(--bg2);padding:7px 8px;line-height:1.35;color:var(--text2)}.source-grid .head{background:var(--bg3);color:var(--text);font-weight:700;text-transform:uppercase;letter-spacing:.6px;font-size:9px}.source-grid .ok{color:var(--lgreen);font-weight:700}.source-grid .warn{color:var(--orange);font-weight:700}.source-grid code{font-size:10px}#mobile-summary{display:none}.mobile-summary-map{height:118px;border-radius:8px;margin:10px 0;background:linear-gradient(rgba(255,255,255,.024) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.024) 1px,transparent 1px),radial-gradient(circle at 28% 42%,rgba(137,180,250,.44),transparent 12%),radial-gradient(circle at 66% 48%,rgba(253,174,97,.38),transparent 13%),linear-gradient(145deg,#040b11e6,#1e1e33f5);background-size:28px 28px,28px 28px,auto,auto,auto;border:1px solid rgba(137,180,250,.16)}.mobile-summary-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.mobile-stat{padding:8px;border:1px solid rgba(137,180,250,.14);border-radius:7px;background:#89b4fa0e}.mobile-stat b{display:block;color:var(--text);font-size:17px;line-height:1;font-weight:800}.mobile-stat span{display:block;margin-top:4px;color:var(--text3);font-size:8.5px;line-height:1.2;text-transform:uppercase;letter-spacing:.55px}.mobile-summary-copy{font-size:12px;line-height:1.45;color:var(--text2);margin-top:10px}.mobile-summary-copy b{color:var(--text)}.mobile-summary-actions{display:grid;gap:7px;margin-top:10px}.mobile-summary-actions button,.mobile-summary-actions a{min-height:34px;border:1px solid rgba(137,180,250,.22);border-radius:6px;background:var(--bg3);color:var(--text2);font:700 10px/1 inherit;letter-spacing:.5px;text-transform:uppercase;text-decoration:none;display:flex;align-items:center;justify-content:center;cursor:pointer}.mobile-summary-actions button:hover,.mobile-summary-actions button:focus-visible,.mobile-summary-actions a:hover,.mobile-summary-actions a:focus-visible{background:var(--accent);border-color:var(--accent);color:var(--bg)}.mobile-dial-warning{display:none;margin:0 0 10px;padding:8px 10px;border:1px solid rgba(253,174,97,.3);border-radius:6px;background:#fdae6117;color:#ffd899;font-size:10.5px;line-height:1.35}.leaflet-tooltip-pane{z-index:1600!important;pointer-events:none}.leaflet-tooltip{background:#101424fa;border:1px solid rgba(137,180,250,.34);color:#e7efff;border-radius:6px;font-size:11px;line-height:1.42;box-shadow:0 16px 36px #000000ad,0 0 0 1px #ffffff09}.leaflet-tooltip.map-hover-tooltip{max-width:min(300px,calc(100vw - 24px));padding:7px 9px;white-space:normal}.leaflet-tooltip.map-hover-tooltip b{color:#fff;font-weight:800}.leaflet-tooltip-top:before{border-top-color:#89b4fa57}.leaflet-tooltip-bottom:before{border-bottom-color:#89b4fa57}.leaflet-tooltip-left:before{border-left-color:#89b4fa57}.leaflet-tooltip-right:before{border-right-color:#89b4fa57}.leaflet-popup-content-wrapper{background:var(--bg2);color:var(--text);border:1px solid var(--border)}.muni-label-wrap{background:transparent!important;border:none!important}.muni-map-label{font-size:10px;font-weight:700;letter-spacing:1.5px;text-align:center;color:#b4befe;text-shadow:0 0 3px rgba(0,0,0,.9),0 0 6px rgba(0,0,0,.6);pointer-events:none;white-space:nowrap}.muni-map-label.revere-label{font-size:13px;letter-spacing:2.5px;color:#fff}.muni-map-label .muni-label-sub{font-size:8px;letter-spacing:1px;font-weight:500;color:var(--accent2);margin-top:1px;text-transform:uppercase}@media(max-width:1380px){header h1{font-size:18px}.dial-state-btn{max-width:240px}.tab-btn{padding-left:8px;padding-right:8px;font-size:11px}header .header-btn{padding-left:8px;padding-right:8px}}@media(max-width:1280px){#chart-wrap{width:320px;height:220px}.hero-row{gap:18px}.hero-val{font-size:26px}.hero-wrap{max-width:calc(100% - 440px)}}#app.detail-open #chart-wrap,#app.panel-intro-open #chart-wrap{width:280px;height:220px}#app.detail-open .hero-wrap,#app.panel-intro-open .hero-wrap{max-width:calc(100% - 400px);padding:10px 14px}#app.detail-open .hero-row{gap:16px}#app.panel-intro-open .hero-row{gap:12px}#app.detail-open .hero-val,#app.panel-intro-open .hero-val{font-size:24px}@media(max-width:900px){#app,#app.detail-open{grid-template-columns:1fr;grid-template-rows:108px auto 1fr auto 80px}#app,header,#left-panel,#map-container,#bottom-bar{min-width:0;width:100%}header{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto auto;grid-template-rows:auto auto;gap:6px;padding:7px 10px;overflow:visible;align-content:center}header::-webkit-scrollbar{display:none}header h1{display:block;grid-column:1;grid-row:2;font-size:12px;line-height:1.1;min-width:0;overflow:hidden;text-overflow:ellipsis}header .spacer{display:none}.tab-strip{grid-column:1/-1;grid-row:1;margin-left:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;width:100%}.tab-btn{font-size:10px;line-height:1.2;min-height:42px;padding:7px 6px;white-space:normal;overflow-wrap:anywhere;min-width:0;border-radius:6px;top:0;text-align:center}.basemap-toggle{display:none}header .header-btn{min-height:32px;padding:5px 8px;white-space:nowrap;min-width:0}#sidebar-toggle-btn{grid-column:2;grid-row:2}#share-btn{grid-column:3;grid-row:2}#guide-btn{grid-column:4;grid-row:2}#methodology-btn{grid-column:5;grid-row:2}#left-panel{grid-row:2;grid-column:1;max-height:230px;border-right:none;border-bottom:1px solid var(--border);padding:10px 14px}.sidebar-jump-nav{top:-10px;margin:0 0 12px;padding:6px 0 8px;width:100%;min-width:0}.sidebar-jump-btn{min-width:0;font-size:8.5px;padding:6px 4px}.section-title{flex-wrap:wrap;align-items:flex-start;gap:4px 6px;line-height:1.25;letter-spacing:.75px}.section-title:after{margin-left:0;margin-top:4px}.section-sub{flex-basis:100%;font-size:9.5px;line-height:1.25}.scope-badge{margin-left:0;white-space:normal;line-height:1.15}.preset-btn{min-width:0}.preset-btn .preset-name{font-size:11px}.compare-grid,.screen-strip,.screen-type-grid{grid-template-columns:1fr}.slider-label{align-items:flex-start;gap:6px}.slider-label .label-text{align-items:flex-start;flex-wrap:wrap;line-height:1.25}.slider-label .label-text .label-main{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}.slider-label .pct{flex-shrink:0;max-width:44%;overflow-wrap:anywhere;line-height:1.2}.check-item{min-height:28px;align-items:flex-start}.check-item input{margin-top:2px;min-width:16px;min-height:16px}#map-container{grid-row:3;grid-column:1;min-height:300px}body[data-tab=mesh] #app,body[data-tab=mesh] #app.detail-open{grid-template-columns:1fr;grid-template-rows:48px minmax(180px,230px) minmax(0,1fr) 80px}body[data-tab=mesh] header{min-height:48px;padding:4px 12px;align-content:center}body[data-tab=mesh] .tab-strip{align-items:center}body[data-tab=mesh] .tab-btn{min-height:34px}body[data-tab=mesh] #left-panel{grid-row:2;grid-column:1;display:block;max-height:230px;border-right:none;border-bottom:1px solid var(--border)}body[data-tab=mesh] #map-container{grid-row:3;grid-column:1;min-height:0;height:100%}body[data-tab=mesh] #bottom-bar{grid-row:4;grid-column:1}#right-panel{grid-row:4;grid-column:1;max-height:260px;border-left:none;border-top:1px solid var(--border)}#app.detail-open #right-panel{display:block}#bottom-bar{grid-row:5;padding:10px 12px;gap:10px}#time-slider-wrap{gap:8px}#time-year{font-size:24px;min-width:58px}#time-readout{display:none}#play-btn{width:34px;height:34px}#chart-wrap,#chart-reopen-btn{display:none!important}#narrative-card,#absorption-badge{position:static;margin:10px;width:auto}.hero-wrap{position:absolute;top:10px;left:58px;right:auto;margin:0;max-width:none;width:calc(100% - 68px);min-width:0;max-height:270px;overflow-y:auto;padding:10px 42px 10px 12px}.hero-answer{font-size:11px;margin:0 18px 8px 0}.hero-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;align-items:start}.hero-demand-primary{grid-template-columns:1fr;gap:8px;padding-right:20px}.hero-demand-number .hero-val{font-size:30px}.hero-region-context{font-size:10.5px}.hero-cell,.hero-demand-bar,.hero-demand-bar-label,.hero-demand-bar-tags{min-width:0}.hero-demand-bar-track{height:22px}.hero-demand-bar-tags{grid-template-columns:1fr}.hero-divider{display:none}.hero-val{font-size:22px}.hero-label{font-size:8.5px;letter-spacing:.55px;overflow-wrap:anywhere}.hero-unit{font-size:8.5px;letter-spacing:.35px;overflow-wrap:anywhere}.hero-difference-note,.hero-exclusion-note,.hero-narrative{max-width:none}.overlay-reopen-btn{top:10px;left:58px;max-width:calc(100% - 68px);white-space:normal;line-height:1.2;text-align:left}.map-hint{display:none}.legend{right:10px;bottom:10px;max-width:min(240px,calc(100% - 20px));max-height:46vh;overflow:auto;padding:8px 10px;font-size:9.8px}.legend-title{font-size:8.5px;margin-bottom:5px;letter-spacing:.8px}.legend-group{margin-top:6px;padding-top:6px}.legend-group-label{font-size:8px;line-height:1.25;margin-bottom:3px;letter-spacing:.7px}.legend-row{gap:5px;margin-bottom:3px;line-height:1.2}.legend-row .sub{font-size:8.7px}.legend-swatch{width:10px;height:8px}.legend-note{font-size:8.3px;line-height:1.25;margin:4px 0}#legend-content.has-sending-flood-legend .legend-base-group{display:none}.sf-popup{max-width:250px}.sf-popup-row{grid-template-columns:1fr;gap:1px;margin-top:5px}.native-field-mode-tabs{top:14px;left:12px;right:12px;transform:none;justify-content:center;gap:4px}.native-field-mode-btn{flex:1;min-width:0;min-height:38px;padding:8px 6px;font-size:9px;letter-spacing:.65px;line-height:1.15;white-space:normal;overflow-wrap:anywhere}.native-export-controls{top:66px;left:12px;right:12px;justify-content:flex-end}.native-export-btn{min-width:54px}.native-context-card{left:14px;right:14px;bottom:84px;width:auto}.native-context-title{font-size:17px}.native-context-body{font-size:12px}.native-scale-card{left:14px;right:auto;bottom:14px}.onboarding-guide{inset:104px 12px auto;width:auto;max-height:calc(100vh - 118px);padding:13px 14px}.onboarding-guide.detail-demo,.onboarding-guide.chart-demo{right:12px;width:auto}body[data-tab=mesh] .onboarding-guide{top:54px;left:12px;right:12px;width:auto;max-height:calc(100vh - 68px)}body[data-tab=mesh] #guide-btn{right:8px;top:6px;min-height:28px;padding:5px 8px}.detail-header{gap:10px}.detail-table,.detail-table tbody,.detail-table tr,.detail-table td{display:block;width:100%}.detail-table td{padding:4px 2px}.detail-table td:first-child{width:100%;border-bottom:none;color:var(--text2);font-weight:700}.detail-table tr{padding:5px 0;border-bottom:1px solid var(--border)}.detail-table tr.detail-section-row{border-bottom:none}.source-grid{grid-template-columns:1fr}.source-grid .head{display:none}.method-summary-flow,.method-toc{grid-template-columns:1fr}}@media(max-width:767px){#app,#app.detail-open,#app.panel-intro-open{grid-template-columns:1fr;grid-template-rows:112px auto auto minmax(190px,1fr) auto 78px}header h1{font-size:15px;font-weight:750;letter-spacing:0;white-space:normal;overflow:visible;text-overflow:clip}.dial-state-wrap{grid-column:2/-1;grid-row:2;justify-self:end;max-width:100%}.dial-state-btn{max-width:210px;min-height:30px;font-size:9.5px;padding:5px 8px}.dial-state-popover{right:0;top:36px}#mobile-summary{display:block;grid-column:1;grid-row:2;padding:12px 14px;border-bottom:1px solid var(--border);background:var(--bg);color:var(--text)}#mobile-summary h2{font-size:18px;line-height:1.05;font-weight:800;letter-spacing:0;margin-bottom:4px}#mobile-summary .mobile-sub{font-size:10px;line-height:1.25;color:var(--text3);text-transform:uppercase;letter-spacing:.75px}#left-panel{grid-row:3;display:none;max-height:300px}body.mobile-dials-open #left-panel{display:block}body[data-tab=mesh] #left-panel{display:none}body[data-tab=mesh].mobile-dials-open #left-panel,body.mobile-dials-open .mobile-dial-warning{display:block}#map-container{grid-row:4;min-height:190px;pointer-events:none}body.mobile-dials-open #map-container{pointer-events:auto}#right-panel{grid-row:5;display:none}#app.detail-open #right-panel,#app.panel-intro-open #right-panel{display:block}#bottom-bar{grid-row:6}#tldr-expander,.hero-wrap,.overlay-reopen-btn,.legend{display:none!important}.onboarding-guide{top:118px;max-height:calc(100vh - 132px)}#cold-claim{display:none!important}}@media(max-width:520px){#app,#app.detail-open{grid-template-rows:112px auto 1fr auto 78px}#left-panel{max-height:220px}.preset-strip{grid-template-columns:1fr}.hero-row{grid-template-columns:1fr;gap:9px}.hero-wrap{max-height:260px}.hero-val{font-size:21px}.legend{font-size:9.5px}.guide-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.guide-progress{grid-column:1/-1;margin-left:0;text-align:right}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{#left-panel,#right-panel,#bottom-bar,header,.leaflet-control-container,#absorption-badge{display:none!important}#app{display:block}#map-container{page-break-after:always}body{background:#fff;color:#000}.hero-wrap,#narrative,#chart-wrap,#narrative-card{background:#fff!important;color:#000!important;border:1px solid #ccc!important}}input:focus-visible,button:focus-visible,.preset-btn:focus-visible,.help-ico:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
