@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',system-ui,sans-serif;color:#173d38;background:#f4f6f3;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.top{height:72px;background:#183d38;color:#f2f7f1;padding:0 max(4vw,24px);display:flex;align-items:center;justify-content:space-between}.top>div,.top-right{display:flex;align-items:center;gap:15px}.mark{display:grid;place-items:center;width:34px;height:34px;background:#d4e7d1;color:#153c36;font-family:Manrope;font-weight:800;border-radius:8px}.brand{font-size:11px;font-weight:700;letter-spacing:.16em}.brand i{font-style:normal;color:#97b5a4;padding:0 5px}.top a{color:#eef8ed;text-decoration:none;font-size:12px}.test-pill{font-size:10px;letter-spacing:.12em;border:1px solid #6c9284;padding:6px 9px;border-radius:4px;color:#d7eadd}main{max-width:1560px;margin:auto;padding:47px max(4vw,24px) 55px}.intro{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px}.eyebrow{font-weight:700;letter-spacing:.15em;font-size:10px;color:#64867b}.eyebrow span{padding:0 6px;color:#a2beb0}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,system-ui,sans-serif}h1{font-size:clamp(30px,3.4vw,45px);letter-spacing:-.045em;line-height:1.15;margin:9px 0 10px;color:#173d38}h1 span{color:#cf9a47}.intro p,.panel-head p{color:#718680;line-height:1.55}.live{background:#fff;border:1px solid #e0e9e1;border-radius:12px;display:flex;align-items:center;padding:12px 14px;min-width:240px;gap:10px;box-shadow:0 3px 10px #1c4b3110}.live>span{width:8px;height:8px;background:#70ad83;border-radius:50%}.live b,.live small{display:block}.live b{font-size:12px}.live small{color:#8aa096;font-size:11px;margin-top:3px}.live button,.map-actions button{border:0;background:#eef4ef;color:#446e5d;border-radius:6px;padding:5px 8px}.live button{margin-left:auto;font-size:16px}.filters{display:flex;gap:10px;align-items:end;background:white;padding:14px;border:1px solid #e3eae3;border-radius:12px;box-shadow:0 6px 24px #28443208}.filters label{color:#759086;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.filters select,.search{height:40px;border:1px solid #e2ebe4;background:#fff;border-radius:7px;color:#284c42}.filters select{display:block;padding:0 30px 0 10px;margin-top:5px;max-width:160px}.search{display:flex;align-items:center;gap:8px;flex:1;min-width:170px;padding:0 11px;color:#819b8e}.search span{font-size:23px;line-height:1}.search input{border:0;outline:0;width:100%;color:#183d38}.quiet,.pagination button{border:1px solid #e2ebe4;background:#fff;border-radius:7px;padding:11px 12px;color:#567669;white-space:nowrap}.statusline{min-height:44px;display:flex;justify-content:space-between;align-items:center;color:#718b80;font-size:12px}.chips{display:flex;gap:5px;flex-wrap:wrap}.chip{font-size:11px;border:0;background:#e4eee5;color:#426759;padding:5px 8px;border-radius:20px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:18px}.metric{border:1px solid #e2ebe3;background:#fff;text-align:left;border-radius:11px;padding:19px 20px;color:#153d36;min-height:100px}.metric strong{font:700 29px Manrope;display:block;margin:6px 0 0}.metric span{font-size:11px;color:#789086}.metric small{float:right;border-radius:6px;background:#edf5ed;color:#6f9778;padding:4px 6px;font-size:11px}.metric.active{outline:2px solid #79a58a}.grid{display:grid;grid-template-columns:1.35fr 1fr;gap:16px}.panel{background:#fff;border:1px solid #e0e9e1;border-radius:13px;box-shadow:0 5px 22px #25453108}.map-panel,.breakdown,.directory{padding:22px}.panel-head{display:flex;justify-content:space-between;gap:12px}.panel-head h2{font-size:19px;letter-spacing:-.035em;margin:5px 0}.panel-head p{font-size:12px}.tiny{font-size:11px;color:#82978e}.map-panel{position:relative}.map-actions{position:absolute;top:116px;right:25px;z-index:1;display:flex;gap:5px}.map-actions button{background:#fff;box-shadow:0 1px 8px #536e6129}.map-actions button:last-child{font-size:11px}#map{display:block;width:100%;height:385px;max-height:50vw;background:#eaf1ef;border-radius:9px;margin-top:18px;touch-action:none}.legend{display:flex;gap:16px;align-items:center;flex-wrap:wrap;color:#7d9389;font-size:10px;margin-top:11px}.legend span:last-child{margin-left:auto}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}.exact{background:#477e6c}.approximate{background:#c29542}.break-section{margin-top:22px}.break-section h3{font-size:12px;color:#42675a;margin-bottom:12px}.break-section h3 small{color:#9aaca3;font-weight:400}.bar{width:100%;border:0;background:none;padding:4px 0;display:grid;grid-template-columns:minmax(100px,1fr) minmax(70px,1.2fr) 30px;align-items:center;gap:10px;color:#557369;text-align:left;font-size:11px}.bar .name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.track{height:6px;border-radius:5px;background:#eff4ef;overflow:hidden}.track i{display:block;height:100%;background:#90b6a0;border-radius:5px}.bar:hover .track i,.bar.active .track i{background:#376f5e}.bar b{text-align:right;color:#4b6a5d}.directory{margin-top:16px}.table-wrap{overflow:auto;margin-top:20px}table{border-collapse:collapse;width:100%;min-width:780px;text-align:left}th{color:#9aaba1;font-size:10px;letter-spacing:.09em;text-transform:uppercase;font-weight:700;padding:11px 8px;border-bottom:1px solid #e7ede8}td{padding:13px 8px;border-bottom:1px solid #eff3ef;font-size:12px;color:#59776a}td strong{display:block;color:#234a3d;font-size:12px}td small{display:block;margin-top:3px;color:#9bada1}.badge{display:inline-block;border-radius:20px;padding:5px 9px;background:#f4f0df;color:#9e833e;font-size:10px;white-space:nowrap}.badge.selected{background:#e8f3e9;color:#52815b}.badge.not-selected{background:#f5e9e6;color:#ab705f}.open{border:0;color:#416f59;background:#edf4ed;border-radius:7px;padding:7px 10px;font-size:11px}.pagination{display:flex;justify-content:space-between;align-items:center;padding-top:17px;color:#8b9f95;font-size:11px}.pagination button{padding:7px 9px;font-size:11px;margin-left:5px}.pagination button:disabled{opacity:.4}.footnote{font-size:11px;color:#9aaea1;margin-top:22px}.notice{padding:12px;background:#fff0df;border:1px solid #edd3aa;border-radius:8px;margin-bottom:15px;color:#895e23}.overlay{position:fixed;inset:0;z-index:4}.overlay[hidden]{display:none}.scrim{position:absolute;inset:0;background:#122a26a6;border:0;width:100%}.drawer{position:absolute;right:0;top:0;bottom:0;width:min(720px,96vw);background:#f7f9f6;overflow:auto;box-shadow:-15px 0 50px #0002;padding:26px 30px}.drawer-top{display:flex;justify-content:space-between;align-items:center}.drawer-top button{border:0;background:#eaf1e9;color:#3d6656;font-size:25px;border-radius:8px;width:34px;height:34px}.detail-heading{margin:23px 0}.detail-heading h2{font-size:27px;letter-spacing:-.04em}.detail-heading p{margin-top:7px;color:#7f988a;font-size:12px}.edit-box{background:#e8f1e8;border:1px solid #d5e8d7;border-radius:10px;padding:15px;margin-bottom:14px}.edit-box h3{font-size:14px}.edit-box p{font-size:12px;color:#708a7a;line-height:1.5;margin-top:5px}.edit-box iframe{width:100%;min-height:410px;border:0;margin-top:12px;border-radius:8px;background:#fff}.detail-section{background:#fff;border:1px solid #e3ebe3;border-radius:10px;margin:10px 0;padding:0 16px}.detail-section summary{cursor:pointer;font-weight:700;padding:16px 0}.detail-section summary span{float:right;font-size:10px;font-weight:400;color:#93a99d}.detail-section dl{margin:0}.detail-section dl div{display:grid;grid-template-columns:minmax(135px,40%) 1fr;gap:15px;border-top:1px solid #eff3ee;padding:10px 0;font-size:12px}.detail-section dt{color:#8a9e94}.detail-section dd{margin:0;color:#355c4d;white-space:pre-wrap;overflow-wrap:anywhere}.detail-section a{color:#397962}svg .map-point{cursor:pointer}svg .map-point:focus circle{stroke:#153d36;stroke-width:3}
@media(max-width:900px){.grid{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}.intro{align-items:start;flex-direction:column}.filters{flex-wrap:wrap}.search{flex-basis:100%}#map{max-height:none}.legend span:last-child{margin-left:0}}@media(max-width:520px){main{padding:30px 16px}.brand{font-size:9px}.top{padding:0 16px}.top a{display:none}.metrics{gap:8px}.metric{padding:14px}.metric strong{font-size:23px}.filters label{flex:1}.filters select{width:100%;max-width:none}.drawer{padding:20px}.detail-section dl div{grid-template-columns:1fr;gap:4px}}

/* Exploration controls and analytical views. */
.top{min-height:72px;height:auto;padding-top:12px;padding-bottom:12px;gap:20px}
.top>div:first-child{min-width:0}.brand{line-height:1.5;max-width:670px}.top-right{flex-shrink:0}
.filters{position:relative;z-index:2;align-items:end;flex-wrap:wrap}
.search{flex:1 1 230px}.filter-slot{flex:0 1 160px;min-width:140px;position:relative}.filter-slot.industry-filter{flex:1 1 230px;max-width:310px}
.filter-label{display:block;color:#759086;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px}
.multi{position:relative}.multi summary{height:40px;border:1px solid #dce8df;border-radius:7px;background:#fff;color:#284c42;padding:0 11px;display:flex;align-items:center;gap:8px;justify-content:space-between;cursor:pointer;list-style:none;font-size:12px}.multi summary::-webkit-details-marker{display:none}.multi summary span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.multi summary i{font-style:normal;font-size:16px;color:#799689}.multi summary.has-selection{border-color:#78a88c;background:#f3f8f3}.multi[open] summary{box-shadow:0 0 0 2px #d7eadd}
.multi-menu{position:absolute;top:calc(100% + 7px);left:0;width:max(100%,230px);max-width:min(370px,85vw);background:#fff;border:1px solid #dae7dc;border-radius:9px;box-shadow:0 12px 32px #173d3826;padding:9px;z-index:5}.industry-filter .multi-menu{width:360px}.option-search{width:100%;border:1px solid #dce8df;border-radius:6px;padding:8px;margin-bottom:6px}.multi-actions{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#789086;padding:4px}.multi-actions button{border:0;background:transparent;color:#326d4e;font-size:11px}.multi-options{max-height:250px;overflow:auto}.filters label.multi-option{display:flex;gap:9px;align-items:flex-start;padding:7px 5px;border-radius:5px;color:#355b4a;font-size:12px;font-weight:400;letter-spacing:0;text-transform:none;cursor:pointer}.multi-option:hover{background:#f0f6f0}.multi-option input{accent-color:#337b55;margin:2px 0 0;flex-shrink:0}.multi-option[hidden]{display:none}
.multi-option .option-name{flex:1;min-width:0;line-height:1.35}.multi-option .option-count{flex:none;min-width:26px;text-align:right;color:#698578;font-size:11px;font-variant-numeric:tabular-nums;line-height:1.4}
.statusline{gap:10px;padding:8px 0}.chips{justify-content:flex-end}.chip:hover{background:#d6e9d9}.metric:hover,.quiet:hover,.pagination button:not(:disabled):hover{border-color:#9bbfa6}
.map-wrap{position:relative;margin-top:18px}.map-actions{position:absolute;top:12px;right:12px;z-index:1}.map-actions button{min-width:31px;min-height:31px;font-size:16px}.map-actions button:last-child{font-size:11px}.map-actions button:hover{background:#e5f1e6}#map{margin-top:0;max-height:none;height:auto;aspect-ratio:880/610;cursor:grab;background:#eaf2ef}#map.dragging{cursor:grabbing}#map:focus-visible,.map-point:focus-visible,.year-bar:focus-visible{outline:2px solid #2c7651;outline-offset:3px}.map-point{cursor:pointer}.map-point:hover circle{stroke:#174c33;stroke-width:3}
.map-legend{display:flex;flex-wrap:wrap;gap:9px 20px;align-items:center;margin-top:13px;color:#607d6d;font-size:10px}.map-legend>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.map-legend b{color:#426759}.map-legend small{flex-basis:100%;font-size:10px;color:#81978b}.map-swatch{display:inline-block;width:11px;height:11px;border-radius:50%;vertical-align:-2px;margin-right:3px;border:1px solid #88aa91}.map-swatch.s1{background:#c5e4cd}.map-swatch.s2{background:#76b691}.map-swatch.s3{background:#287651}.map-swatch.s4{background:#08472f}.map-swatch.approx{background:#b1d6b8;border:2px dashed #628472}
.analysis-grid{display:grid;grid-template-columns:1fr 1fr .8fr;gap:16px;margin-top:16px}.chart-panel,.timeline-panel{padding:22px}.chart-panel h2,.timeline-panel h2{font-size:18px;letter-spacing:-.035em;margin:6px 0}.chart-note{font-size:11px;color:#718680;line-height:1.5;min-height:34px}.chart-bars{margin-top:12px}.chart-bars .bar{grid-template-columns:minmax(145px,1.7fr) minmax(40px,.7fr) 26px}.bar{border-radius:4px}.bar:focus-visible{outline:2px solid #528d6b;outline-offset:2px}.bar.active .name{font-weight:700;color:#1d5c3b}.bar:hover{background:#f3f8f3}
.timeline-panel{margin-top:16px}.timeline-scroll{overflow-x:auto;margin-top:12px;scrollbar-color:#bad0bf #f0f5f0}.timeline-scroll svg{display:block;width:100%;height:190px}.year-bar{cursor:pointer}.year-bar rect{fill:#91bda1}.year-bar:hover rect,.year-bar.active rect{fill:#2e7451}.year-unknown:not(:empty){margin-top:8px}.missing{color:#8a9e94}
@media(max-width:1100px){.analysis-grid{grid-template-columns:1fr 1fr}.analysis-grid .chart-panel:last-child{grid-column:1/-1}.filter-slot{flex:1 1 150px}.filter-slot.industry-filter{max-width:none}}
@media(max-width:700px){.analysis-grid{grid-template-columns:1fr}.analysis-grid .chart-panel:last-child{grid-column:auto}.top-right{gap:8px}.brand{font-size:9px;letter-spacing:.1em}.map-panel,.breakdown,.directory,.chart-panel,.timeline-panel{padding:17px}.panel-head{flex-wrap:wrap}.statusline{align-items:start;flex-direction:column}.chips{justify-content:flex-start}.map-legend small{line-height:1.45}}
@media(max-width:520px){.top{align-items:center}.top-right .test-pill{display:none}.filter-slot{flex:1 1 42%;min-width:0}.filter-slot.industry-filter{flex:1 1 100%}.industry-filter .multi-menu{width:min(360px,85vw)}#filter-source .multi-menu{left:auto;right:0}.map-actions{top:8px;right:8px}.map-actions button{min-width:28px;min-height:28px}.timeline-scroll svg{height:170px}}
#map{user-select:none;-webkit-user-select:none}
.filters label.multi-option[hidden]{display:none}

/* MapLibre's vector basemap and controls are scoped to this panel. */
.map-wrap{position:relative;margin-top:18px;overflow:hidden;border-radius:9px;background:#eaf2ef}
#map.maplibregl-map{height:clamp(390px,45vw,540px);max-height:none;aspect-ratio:auto;margin:0;cursor:grab;touch-action:auto}
.map-actions{position:absolute;top:12px;left:12px;right:auto;z-index:2;display:flex;gap:6px}
.map-actions button{min-height:34px;border:1px solid #d9e5dc;border-radius:6px;background:#fff;color:#345e4b;padding:7px 10px;font-size:11px;font-weight:700;box-shadow:0 1px 6px #173d3822}
.map-actions button:last-child{font-size:11px}.map-actions button:disabled{opacity:.45;cursor:default}
.maplibregl-ctrl-top-right{top:2px;right:2px}.maplibregl-ctrl-group{box-shadow:0 1px 6px #173d3830!important;border:1px solid #d9e5dc!important;border-radius:7px!important}
.maplibregl-ctrl-group button{width:33px;height:33px}.maplibregl-ctrl-attrib{font-size:10px!important;background:#ffffffd9!important}.maplibregl-ctrl-scale{font-size:10px!important;color:#3f5e50!important;background:#ffffffb8!important}
.map-legend .approx{background:#b1d6b8;border:2px solid #c08b32}.map-legend a{color:#426e59}
.map-warning{position:absolute;left:12px;right:55px;bottom:35px;z-index:2;padding:8px 10px;background:#fff8e9ed;border:1px solid #ecd49b;border-radius:6px;color:#745720;font-size:11px;line-height:1.4;pointer-events:none}.map-warning[hidden]{display:none}
.maplibregl-popup-content{border-radius:10px!important;padding:15px!important;box-shadow:0 6px 24px #183d3833!important;color:#244b3c}
#map .maplibregl-popup{position:absolute!important;left:12px!important;right:12px!important;top:auto!important;bottom:26px!important;width:auto!important;max-width:320px!important;transform:none!important}
#map .maplibregl-popup-content{max-height:250px;overflow-y:auto}#map .maplibregl-popup-tip{display:none}
.maplibregl-popup-close-button{font-size:21px!important;color:#688578!important;padding:4px 8px!important}.map-popup{min-width:220px;max-width:290px;padding-right:4px}.map-popup h3{font:700 15px Manrope,system-ui,sans-serif;margin:4px 20px 3px 0;line-height:1.3}.map-popup-eyebrow{font-size:9px;letter-spacing:.13em;color:#759687;font-weight:700}.map-popup-subtitle{font-size:11px;line-height:1.4;color:#718b7f;margin:5px 0 9px}.map-popup-row{display:grid;grid-template-columns:95px 1fr;gap:8px;border-top:1px solid #edf2ed;padding:7px 0;font-size:11px;line-height:1.4}.map-popup-row span{color:#789086}.map-popup-row strong{font-weight:600;overflow-wrap:anywhere}.map-popup-approx{color:#956d25;font-size:11px;margin:7px 0}.map-popup-list{display:flex;flex-direction:column;align-items:stretch;gap:3px;margin:7px 0}.map-popup-list small{font-size:10px;color:#81988a;padding:3px}.map-popup button{border-radius:6px;font-size:11px;line-height:1.3}.map-popup-primary{background:#2c7250;color:#fff;border:1px solid #2c7250;padding:8px 10px;font-weight:700;text-align:center}.map-popup-primary:hover{background:#205b3d}.map-popup-secondary{border:0;background:#edf5ee;color:#376c50;padding:7px 9px;text-align:left}.map-popup-secondary:hover{background:#dfeee1}.map-popup-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.map-popup>button{margin-top:9px}.map-popup button:focus-visible,.map-actions button:focus-visible{outline:2px solid #174c33;outline-offset:2px}
.map-panel:fullscreen{display:flex;flex-direction:column;width:100%;height:100%;padding:24px;background:#fff;border:0;border-radius:0;overflow:auto}.map-panel:fullscreen .map-wrap{flex:1;min-height:280px}.map-panel:fullscreen #map.maplibregl-map{height:100%;width:100%}.map-panel:fullscreen .map-legend{padding-bottom:4px}
@media(max-width:700px){#map.maplibregl-map{height:400px}.map-actions{top:8px;left:8px}.map-actions button{min-height:34px}.maplibregl-ctrl-attrib{font-size:9px!important}}
