:root{--deep:#09241b;--ink:#133e2b;--mint:#c5f088;--bg:#f1f5ec;--muted:#5b7460}
*{box-sizing:border-box}body{font:15px/1.52 "Segoe UI",system-ui,sans-serif;color:var(--ink);margin:0;background:var(--bg)}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}
.wrap{max-width:1350px;padding:0 clamp(16px,3.5vw,50px);margin:auto;width:100%}.header{background:#082318;color:#fff;border-bottom:1px solid #426a50}
.top{display:flex;gap:18px;align-items:center;min-height:69px}.logo{display:flex;gap:12px;align-items:center;color:#e8f5e0;text-decoration:none;font-size:23px;font-weight:900;letter-spacing:-.06em;white-space:nowrap}
.top nav{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:24px}.top nav a{text-decoration:none;color:#d3eacb;font-weight:800;font-size:12px;white-space:nowrap}.top nav a:hover{text-decoration:underline}
.lang{display:flex;border:1px solid #699976;border-radius:23px;gap:2px;padding:3px}.lang button{background:transparent;border:0;color:#d5ecd0;border-radius:22px;padding:6px 10px;font-size:11px;font-weight:900}.lang button[aria-pressed=true]{background:var(--mint);color:#173721}
.hero{background:radial-gradient(circle at 78% 35%,#326d4a,transparent 35%),linear-gradient(110deg,#09261c,#123f2d);color:white;overflow:hidden}
.hero-inner{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr);align-items:center;gap:40px;padding-top:39px;padding-bottom:34px}
.eyebrow{color:var(--mint);letter-spacing:.15em;font-size:11px;font-weight:900;text-transform:uppercase}.eyebrow.green{color:#437e4e}
h1{font-size:clamp(42px,6vw,80px);letter-spacing:-.07em;line-height:1.04;margin:14px 0 18px}h1 em{color:var(--mint);font-style:normal}
.hero p{color:#d0e2d1;font-size:clamp(14px,1.6vw,18px);max-width:730px}.chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:22px}.chips span{border:1px solid #719475;padding:7px 12px;border-radius:18px;font-size:11px;font-weight:900}
.orb{height:225px;border-radius:25px;position:relative;display:grid;place-items:center;background:radial-gradient(circle at 65% 28%,#82a475,#396d60 47%,#0c3b30 85%);overflow:hidden;border:1px solid #81ad79}
.rings{width:200px;height:200px;border:1px solid #e3f3b744;border-radius:100%;display:grid;place-items:center;box-shadow:0 0 0 29px #dbeab40b,0 0 0 69px #dbeab40a}
.rings span{color:#d1f2bb;font-size:100px;transform:rotate(-17deg);filter:drop-shadow(0 10px 14px #143429)}.orb-footer{position:absolute;bottom:13px;font-weight:900;font-size:11px;letter-spacing:.1em;color:#e8f4d5}
.workspace{padding-top:27px;padding-bottom:43px}
.intro{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:18px}.intro h2{font-size:clamp(25px,3.8vw,45px);letter-spacing:-.06em;line-height:1.1;margin:7px 0}.intro p{color:var(--muted);font-size:13px;margin:0}
.status{border-radius:30px;border:1px solid #b6d1b2;background:#fff;padding:9px 15px;color:#296043;font-size:11px;font-weight:900}.status.problem{background:#fff1d5;color:#934c23}
.toolbar{display:flex;gap:16px;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid #ccdccb;border-bottom:none;padding:15px;border-radius:15px 15px 0 0}
.search{display:flex;gap:7px;flex:1;min-width:260px}.search input{border:1px solid #b8c9b8;border-radius:9px;padding:11px 13px;flex:1;min-width:0}.search button,.actions button,.actions a,.map-bottom button{font-size:12px;background:#23663b;color:#fff;border:1px solid #287041;border-radius:10px;text-decoration:none;padding:10px 14px;font-weight:900}.search button:hover,.actions button:hover,.map-bottom button:hover{background:#3b7d49}
#results{width:100%;padding:10px;border:1px solid #a3bba3;border-radius:9px}
.range-group{flex:0 0 260px;display:flex;flex-direction:column;gap:3px}.range-group>span{font-size:12px;font-weight:900}.labels{display:flex;justify-content:space-between;color:#5f775f;font-size:11px}.range-group input{width:100%;accent-color:#438853;margin:0}output{font-size:11px;color:#57745c}
.map-panel{position:relative;background:#395f46;border:1px solid #c8d9c9}.map-panel #map{width:100%;height:clamp(385px,55vw,610px)}.map-overlay{position:absolute;z-index:500;top:13px;left:13px;pointer-events:none}
.pill{font-size:10px;font-weight:900;color:#f2fbe8;background:#082c22d9;padding:8px 13px;border:1px solid #9bc39c;border-radius:20px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#d2f297;box-shadow:0 0 0 3px #bded8138;margin-right:7px}
.map-bottom{position:absolute;z-index:1100;display:flex;flex-wrap:wrap;gap:7px;bottom:17px;left:15px;right:15px;pointer-events:none}.map-bottom button{pointer-events:auto;box-shadow:0 4px 10px #102d1d77}.map-bottom button:disabled,.actions button:disabled{opacity:.55;cursor:not-allowed}.map-bottom button.active{background:#d8f29b;color:#183c2b}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.panel{background:white;border:1px solid #d0dfcb;border-radius:17px;padding:25px;min-width:0;box-shadow:0 10px 25px #214a2210}.tiny{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#488453;font-weight:900}
.panel h3{font-size:24px;letter-spacing:-.05em;margin:8px 0 13px}.panel p{color:#627866;font-size:13px}.number{font-size:55px;font-weight:900;letter-spacing:-.08em;color:#215637}.number small{font-size:21px}
.metric{padding:10px 0;display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #e2e8df;font-size:13px}.metric span{color:#67806b}.metric strong{font-size:13px}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:19px}.actions a{display:inline-flex;align-items:center}
.panel .source{background:#f0f5e9;padding:12px;border-radius:10px}.panel .attribution{font-size:11px;border-top:1px solid #dce6db;padding-top:14px}
footer{background:#09291e;color:#cce9c6;padding:18px 0}footer .wrap{display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap;font-size:12px}footer a{color:#c5ef9b;text-decoration:none;font-weight:900}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #d3ff7f;outline-offset:2px}
@media(max-width:820px){.hero-inner{grid-template-columns:1fr}.orb{display:none}.grid2{grid-template-columns:1fr}.toolbar{align-items:stretch}.range-group{flex:1 1 240px}}
@media(max-width:560px){.top nav a:nth-child(2),.top nav a:nth-child(3){display:none}.top{min-height:62px}.top nav{gap:6px}.logo{font-size:19px}.hero-inner{padding-top:27px;padding-bottom:24px}.hero h1{font-size:43px}.intro{display:block}.intro .status{margin-top:10px}.range-group{flex:1 1 100%}#map{min-height:380px}.map-bottom{bottom:36px;left:8px;gap:5px}.map-bottom button{font-size:10px;padding:8px 9px}.panel{padding:17px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}}

.sat-swipe-line{position:absolute;top:0;bottom:0;left:50%;z-index:700;pointer-events:none;border-left:3px solid #efffb5;filter:drop-shadow(0 1px 4px #122e2077)}
.sat-swipe-line span{position:absolute;top:55px;left:50%;transform:translateX(-50%);white-space:nowrap;border:1px solid #b5eba8;background:#102f27df;color:#f4ffdb;padding:6px 10px;border-radius:18px;font-size:11px;font-weight:900}
.swipe-help,.detail-note{color:#52725b;font-size:12px;line-height:1.6;margin:8px 0 13px}
.detail-links{display:flex;flex-wrap:wrap;gap:12px;padding-top:16px}.detail-links a{display:inline-flex;text-decoration:none;border-radius:13px;padding:13px 17px;font-size:12px;font-weight:900;color:#e5fbd1;background:#206446;border:1px solid #367851}.detail-links a:last-child{background:#113d36}.detail-links a:hover{background:#367b54}
@media(max-width:560px){.detail-links{flex-direction:column}.sat-swipe-line span{top:40px;font-size:10px}}

/* Licensed high-detail imagery opens through provider, not by unlicensed tile embedding. */
.map-detail-cta{position:absolute;z-index:1150;top:14px;right:14px;display:flex;flex-direction:column;gap:2px;align-items:flex-start;background:#d2f4a0;color:#173725;padding:12px 14px;border:1px solid #f5ffe3;border-radius:13px;box-shadow:0 5px 25px #081f1866;text-decoration:none;max-width:230px}
.map-detail-cta strong{font-size:13px;line-height:1.3}.map-detail-cta small{font-size:10px;font-weight:800;line-height:1.35}
.map-detail-cta:hover{background:#ecffcf}
.resolution-warning{position:absolute;top:74px;right:13px;max-width:230px;z-index:1100;border-radius:10px;background:#102d24e8;border:1px solid #d0eaab;color:#f0f6df;font-weight:800;font-size:11px;padding:10px;pointer-events:none}
@media(max-width:560px){.map-detail-cta{top:48px;right:8px;padding:9px 10px;max-width:160px}.map-detail-cta strong{font-size:11px}.map-detail-cta small{font-size:9px}.resolution-warning{top:111px;right:8px;max-width:170px}.sat-swipe-line span{top:11px}}

/* Bing Maps is an official hosted map embed, not harvested or proxied tiles. */
.sat-mode-tabs{display:flex;gap:9px;flex-wrap:wrap;padding:0 0 10px}
.sat-mode-tabs button{font-size:13px;font-weight:900;border:1px solid #b0cfac;border-radius:12px;padding:12px 16px;background:#e5efdf;color:#28573d}
.sat-mode-tabs button[aria-pressed=true]{background:#184b35;color:#f1ffdc;border-color:#287043;box-shadow:0 3px 12px #193a2921}
.mode-explain{color:#51705b;font-size:12px;line-height:1.5;margin:0 0 12px}
.hires-viewer{position:absolute;inset:0;z-index:1050;background:#153c2c}
.hires-viewer iframe{height:100%;width:100%;display:block;border:0;background:#204b32}
.hires-watermark{position:absolute;left:9px;bottom:9px;z-index:1052;display:flex;align-items:center;gap:11px;flex-wrap:wrap;font-size:10px;font-weight:800;color:#f3f8e7;background:#103728d9;border-radius:9px;border:1px solid #c1d3af;padding:7px 10px;max-width:calc(100% - 18px)}
.hires-watermark a{color:#e0fda8;font-weight:900}
.map-panel:not(.hires-active) .hires-viewer{display:none}
.map-panel.hires-active .map-bottom,.map-panel.hires-active .map-overlay,.map-panel.hires-active .sat-swipe-line,.map-panel.hires-active .map-detail-cta,.map-panel.hires-active .resolution-warning{display:none}
#yearCompareGroup[hidden],.swipe-help[hidden]{display:none!important}
@media(max-width:600px){.sat-mode-tabs{display:grid;grid-template-columns:1fr}.sat-mode-tabs button{font-size:12px;padding:10px}.hires-watermark{font-size:9px}.hires-viewer iframe{min-height:380px}}

.bing-top-controls{position:absolute;top:13px;left:13px;right:13px;z-index:1060;display:flex;align-items:center;gap:7px;flex-wrap:wrap;pointer-events:none}
.bing-top-controls>*{pointer-events:auto}
.bing-state{background:#092b20ee;color:#fff;border-radius:9px;border:1px solid #93bb82;padding:8px 11px;font-size:11px;font-weight:850}
.bing-state.error{background:#69431ce8;border-color:#ffe39c}
.bing-top-controls button{background:#e1f8b0;color:#173d2a;border:1px solid #d2f7b3;border-radius:9px;padding:8px 12px;font-size:11px;font-weight:900;box-shadow:0 2px 8px #0c2d1f33}
.bing-top-controls button:last-child{background:#fff;color:#163d2c}
.bing-top-controls button:hover{background:#c5ed93}
@media(max-width:560px){.bing-top-controls{top:8px;left:8px;right:8px;gap:5px}.bing-top-controls button,.bing-state{font-size:10px;padding:7px 9px}.hires-watermark{bottom:7px}}

.bing-outbound{display:inline-flex;align-items:center;border:1px solid #638968;border-radius:9px;background:#f3f8eb;color:#225d39;text-decoration:none;padding:8px 12px;font-size:12px;font-weight:900;margin:0 0 12px}
.bing-outbound:hover{background:#dff0c4}
