:root{color-scheme:light;--ink:#152f38;--muted:#52666c;--line:#d8e2e5;--accent:#166b72;--warm:#ef9655;--panel:#fffffff5;font-family:Inter,Arial,sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0;background:#203a43;color:var(--ink);overflow:hidden}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font-size:.875rem;font-weight:600;min-height:40px;padding:8px 14px}button:hover{background:#eef5f5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ec9252;outline-offset:3px}button:disabled{opacity:.5;cursor:wait}[hidden]{display:none!important}a{color:#176a73;text-underline-offset:3px}header{position:absolute;inset:0 0 auto;z-index:20;display:flex;align-items:center;gap:24px;height:72px;padding:0 24px;background:#122d37;color:white;box-shadow:0 4px 18px #00151b20}.identity{display:flex;align-items:center;gap:10px;color:white;text-decoration:none;flex-shrink:0}.identity b{display:block;font-size:1.18rem;letter-spacing:.07em}.identity small{display:block;font-size:.75rem;letter-spacing:.07em;margin-top:3px;color:#b9cdd3}#search-form{position:relative;display:flex;align-items:center;flex:1;max-width:570px;background:white;border-radius:8px;border:1px solid #ffffff33;padding:4px;box-shadow:0 2px 12px #00182030}.search-icon{font-size:28px;line-height:1;padding:0 9px;color:#40626a}#address{height:36px;border:0;background:none;outline:0;min-width:0;flex:1;font-size:.9375rem;color:var(--ink)}#search-submit{border:0;background:#e8f2f1;color:#23525a;min-height:34px}.header-actions{margin-left:auto;display:flex;align-items:center;gap:18px}.version{font-size:.75rem;letter-spacing:.05em;white-space:nowrap;color:#a7c0c7}.quiet{background:#ffffff0b;border-color:#456069;color:white}.quiet:hover{background:#ffffff1c}#search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;max-height:min(440px,60vh);overflow:auto;padding:6px;border-radius:10px;background:white;color:var(--ink);box-shadow:0 15px 35px #0b273b40;border:1px solid var(--line)}#search-results button{display:block;text-align:left;border:0;border-radius:5px;width:100%;font-weight:500;line-height:1.5;padding:11px 13px}#search-results p{padding:6px 12px;line-height:1.5;font-size:.875rem}.toolbar{position:absolute;z-index:10;left:20px;right:20px;top:86px;background:var(--panel);box-shadow:0 4px 22px #143c4325;border-radius:10px;display:flex;gap:16px;align-items:center;padding:8px 10px;width:fit-content;max-width:calc(100% - 40px);border:1px solid #ffffff99}.modes{display:flex;gap:3px}.modes button{border:0;display:flex;gap:7px;align-items:center;background:transparent;white-space:nowrap;padding:9px 12px}.modes button[aria-pressed=true]{background:var(--ink);color:white}.swatch{width:8px;height:8px;border-radius:50%;display:inline-block}.swatch.heat{background:#f39d59}.swatch.vegetation{background:#63a87a}.swatch.water{background:#51b8d3}.swatch.terrain{background:#a7997e}.period-control{display:flex;gap:8px;align-items:center;border-left:1px solid var(--line);padding-left:16px}.period-control label{font-size:.8rem;color:var(--muted)}select{padding:8px;border:1px solid var(--line);border-radius:5px;background:white;color:var(--ink);font-size:.875rem;max-width:240px}.opacity-control{min-width:100px;max-width:130px}.opacity-control label{font-size:.75rem;display:flex;justify-content:space-between;color:var(--muted)}input[type=range]{width:100%;accent-color:var(--accent);height:16px}.display-controls{border-left:1px solid var(--line);padding-left:12px;display:flex;gap:12px;white-space:nowrap;font-size:.8rem}.display-controls label{display:flex;align-items:center;gap:3px}.display-controls input{accent-color:var(--accent);width:15px;height:15px}#view{position:absolute;inset:72px 0 0}#status{position:absolute;top:158px;left:50%;transform:translateX(-50%);z-index:8;background:#122d37ed;color:white;box-shadow:0 5px 20px #102b3320;border-radius:6px;max-width:80%;font-size:.8rem;padding:9px 14px;text-align:center;pointer-events:none}#status[data-kind=error]{background:#913f32;pointer-events:auto}.map-actions{position:absolute;top:164px;right:20px;display:flex;flex-direction:column;gap:5px;z-index:5}.map-actions button{width:40px;height:40px;padding:0;box-shadow:0 3px 10px #142d3422;font-size:19px}.map-actions #tilt,.map-actions #north{font-size:.9rem}.map-actions #home{font-size:25px}.bottom-strip{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:5;max-width:90%;text-align:center}.places{display:flex;gap:4px;padding:6px;background:#fffffff2;border:1px solid #fff;border-radius:8px;box-shadow:0 5px 22px #12394335;overflow:auto}.places button{border:0;min-height:34px;font-size:.8125rem;white-space:nowrap;padding:7px 12px;background:transparent}.places button:hover{background:#e4f0ef}.map-hint{display:inline-block;padding:5px 12px;margin-top:8px;background:#122d37c9;color:white;border-radius:5px;font-size:.75rem}.legend{position:absolute;bottom:120px;left:20px;width:270px;padding:15px 16px;background:var(--panel);border-radius:9px;border:1px solid #fff;box-shadow:0 5px 22px #1239432b;z-index:5}.legend-title{display:flex;justify-content:space-between;font-size:.85rem;gap:10px}.legend-title span{color:var(--muted)}#legend-gradient{height:9px;margin-top:12px;border-radius:2px;background:linear-gradient(90deg,#285995,#45b6bd,#dbdf9d,#efab50,#e7653c,#9c2849)}#legend-ticks{display:flex;justify-content:space-between;font-size:.75rem;margin-top:5px;font-variant-numeric:tabular-nums}.legend p{font-size:.75rem;line-height:1.4;margin:9px 0 0}.legend #legend-limit{color:var(--muted);margin-top:3px}#location{position:absolute;z-index:9;left:20px;top:156px;width:315px;max-height:calc(100vh - 370px);overflow:auto;background:var(--panel);border:1px solid white;border-radius:10px;padding:16px 18px;box-shadow:0 6px 28px #17384230}.panel-heading{display:flex;align-items:center;justify-content:space-between}.eyebrow{font-size:.75rem;letter-spacing:.065em;font-weight:700;color:var(--muted)}.panel-heading button,.dialog-heading button{font-size:25px;border:0;min-height:28px;padding:0 4px;background:transparent;line-height:1}.panel-heading button{margin-right:-5px}h1{font-size:1.04rem;line-height:1.4;margin:8px 0 4px;font-weight:650}.muted{font-size:.75rem;color:var(--muted);line-height:1.5;margin:0}.local-stat{display:flex;flex-direction:column;padding:16px 0 13px;gap:4px}.local-stat>span:first-child{font-size:.875rem;font-weight:550}.local-stat strong{font-size:2.35rem;letter-spacing:-.04em;font-weight:600;line-height:1.2;font-variant-numeric:tabular-nums}.local-stat>span:last-child{font-size:.75rem;color:var(--muted)}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0}.stats-grid div{display:flex;flex-direction:column;gap:5px}.stats-grid span{font-size:.75rem;color:var(--muted)}.stats-grid b{font-size:1rem;font-variant-numeric:tabular-nums}.data-note{font-size:.75rem;line-height:1.55;margin:12px 0 0}.caution{font-size:.75rem;line-height:1.5;margin:8px 0 0;color:#886334}.caution:empty{display:none}#building-info{font-size:.75rem;line-height:1.5;margin-top:12px;border-top:1px solid var(--line);padding-top:10px}#building-info b{display:block}.text-button{border:0;background:none;font-size:.75rem;padding:8px 0;min-height:30px;color:#216773}#location-extra{font-size:.75rem;color:var(--muted);line-height:1.5}dialog{border:0;padding:0;max-width:760px;width:calc(100% - 36px);max-height:86dvh;color:var(--ink);border-radius:14px;box-shadow:0 20px 80px #081d4977}dialog::backdrop{background:#0c273ba8;backdrop-filter:blur(3px)}.dialog-heading{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);padding:22px 28px;display:flex;justify-content:space-between;align-items:center;z-index:1}.dialog-heading h2{font-size:1.5rem;margin:6px 0 0;letter-spacing:-.025em}.dialog-content{padding:6px 28px 24px;font-size:1rem;line-height:1.7}.dialog-content .lead{font-size:1.15rem;color:#365964}.dialog-content h3{font-size:1.08rem;margin:28px 0 8px}.dialog-content p{margin:10px 0 16px}.dialog-content ul{padding-left:22px}.dialog-content li{margin:10px 0}.downloads{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.downloads a{font-size:.875rem;display:block;border:1px solid var(--line);border-radius:5px;padding:7px 11px;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.esri-view .esri-view-surface--inset-outline:focus::after{outline:none!important}.esri-attribution{max-width:100%;font-size:12px!important}.esri-ui-bottom-right{bottom:0!important}.esri-popup{display:none!important}
@media(min-width:1550px){header{padding-left:28px}.toolbar{left:28px}#location,.legend{left:28px}}
@media(max-width:1200px){.display-controls{display:none}.version{display:none}.toolbar{gap:12px}.period-control{padding-left:12px}.modes button{padding:9px 10px}.opacity-control{width:105px}}
@media(max-width:850px){header{height:116px;padding:12px 14px;flex-wrap:wrap;gap:10px;align-content:flex-start}.identity img{width:29px;height:29px}.identity b{font-size:1rem}.identity small{font-size:.75rem}.header-actions{margin-left:auto;height:33px}.header-actions button{min-height:32px;padding:5px 12px}#search-form{order:3;flex-basis:100%;max-width:100%;height:43px}#view{top:116px}.toolbar{top:127px;left:12px;right:12px;max-width:calc(100% - 24px);width:auto;padding:6px;gap:8px;flex-wrap:wrap}.modes{width:100%;justify-content:space-between}.modes button{font-size:.83rem;padding:8px 10px;min-height:36px;flex:1;justify-content:center}.period-control{border-left:0;padding-left:3px;flex:1;gap:6px}.period-control select{font-size:.8rem;max-width:220px;flex:1;padding:6px;min-width:0}.period-control label{display:none}.opacity-control{width:90px;min-width:90px;padding-right:4px}.opacity-control label{font-size:.75rem}#status{top:224px;max-width:75%;font-size:.75rem}.map-actions{right:12px;top:233px;gap:4px}.map-actions button{width:36px;height:36px;min-height:36px}.legend{bottom:93px;left:12px;width:240px;padding:11px 13px}.legend-title{font-size:.78rem}.legend p{font-size:.75rem}#legend-limit{max-width:220px}.bottom-strip{bottom:24px;width:calc(100% - 24px);max-width:none}.places{width:100%;padding:4px;border-radius:7px}.places button{font-size:.77rem;padding:7px 10px}.map-hint{display:none}#location{left:12px;right:58px;top:230px;width:auto;max-width:345px;max-height:calc(100dvh - 340px);padding:12px 14px}body.has-location .legend{display:none}.local-stat{padding:12px 0 10px}.local-stat strong{font-size:2rem}.stats-grid{padding:9px 0}.dialog-heading{padding:18px}.dialog-heading h2{font-size:1.25rem}.dialog-content{padding:3px 18px 18px}.eyebrow{font-size:.75rem}}
@media(max-height:680px) and (min-width:851px){#location{max-height:calc(100vh - 255px)}body.has-location .legend{display:none}.legend{bottom:113px}}

@media(min-width:851px){body.has-location .legend{left:auto;right:20px}}
@media(max-width:420px){header{padding:10px 12px;gap:8px}.identity{gap:7px}.identity small{letter-spacing:0}.header-actions button{padding:5px 8px}.modes button{gap:5px;padding:8px 5px;font-size:.8125rem}}

#thermal-controls{margin-top:8px;border-top:1px solid var(--line);padding-top:7px;font-size:.75rem}#thermal-controls summary{cursor:pointer;font-weight:650;padding:4px 0}#thermal-controls label{display:block;margin:8px 0 4px}#thermal-controls select{width:100%;max-width:none;font-size:.75rem}#thermal-controls .building-color-toggle{display:flex;gap:5px;align-items:center}#thermal-key i{display:inline-block;width:11px;height:11px;border:1px solid #80949c;vertical-align:middle}.key-gap{background:repeating-linear-gradient(45deg,#caced7 0 3px,#969aac 3px 5px)}.key-water{background:#4387a9}#thermal-source-note:empty,#building-color-status:empty,#pixel-signal:empty{display:none}#thermal-controls p{font-size:.72rem}.legend:has(#thermal-controls[open]){max-height:calc(100dvh - 240px);overflow:auto}@media(max-width:850px){.legend:has(#thermal-controls[open]){max-height:calc(100dvh - 335px)}}

/* v1.6: the map keeps the screen; explanations open only on request. */
.legend{width:270px;padding:10px 13px;bottom:112px;max-height:32dvh;overflow:auto}
.legend-title{align-items:center;gap:6px}.legend-title b{flex:1}
#legend-collapse{border:0;background:none;min-height:26px;width:26px;padding:0;font-size:20px}
#legend-gradient{margin-top:5px}.legend #legend-brief,.legend #legend-quality{font-size:.72rem;line-height:1.3;margin:5px 0 0}
#legend-quality:empty{display:none}#legend-options-open{padding:6px 0 0;min-height:28px;font-size:.73rem}
#legend-options{max-width:480px}#legend-options .dialog-heading{padding:16px 20px}#legend-options .dialog-heading h2{font-size:1.1rem;margin:0}
#legend-options .dialog-content{font-size:.9rem;line-height:1.5;padding:4px 20px 20px}#legend-options p{margin:10px 0}
#legend-options #thermal-controls,#legend-options #thermal-controls select,#legend-options #thermal-controls p{font-size:.85rem}
.new-dot{display:inline-block;width:5px;height:5px;background:#d97935;border-radius:50%;margin-left:-3px;align-self:flex-start;margin-top:2px}
.identity .release{display:none;font-size:.62rem;letter-spacing:0;font-weight:500;color:#c3d9dc;vertical-align:middle}
@media(max-width:1200px){.identity .release{display:inline}}
@media(max-width:850px){.legend{width:252px;left:12px;bottom:84px;padding:9px 12px;max-height:27dvh}.legend-title{font-size:.76rem}#legend-gradient{margin-top:3px}#legend-ticks{font-size:.68rem}.legend #legend-brief,.legend #legend-quality{font-size:.69rem}#legend-options-open{min-height:27px}#location{top:auto;bottom:84px;max-height:38dvh}#location .local-stat{padding:8px 0}#location .local-stat strong{font-size:1.8rem}#location .stats-grid{padding:7px 0}#location .caution{font-size:.7rem}#location-source{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
