:root{--ink:var(--gc-ink);--muted:var(--gc-muted);--teal:var(--gc-accent-dark);--line:var(--gc-line);--heading:'DM Sans',sans-serif;--body:'IBM Plex Sans',sans-serif}.gc-compare{grid-template-columns:repeat(2,minmax(0,1fr))}.explorer{margin-top:24px;text-align:left}.explorer button{font-family:var(--body);cursor:pointer}.explorer button:disabled{cursor:wait;opacity:.5}.explorer :focus-visible{outline:3px solid #da8a2b;outline-offset:3px}.explorer .small{font-size:11px;color:var(--muted)}.grid-panel h3{border:0;padding:0;letter-spacing:0}.grid-detail p{font-size:12px}.grid-detail strong{color:var(--ink)}.explorer{display:grid;grid-template-columns:280px 1fr;border:1px solid #cbdad7;border-radius:8px;overflow:hidden;background:white;box-shadow:0 10px 32px #203d3a06}.grid-panel{padding:22px 16px;border-right:1px solid var(--line)}.grid-panel h3{font-size:17px;margin:0 4px 14px}.selection-tools{display:flex;gap:14px;margin:0 4px 16px}.selection-tools button,.map-toolbar button{border:0;background:none;padding:0;font-size:12px;color:var(--teal);text-decoration:underline;text-underline-offset:3px}.grid-row{display:flex;gap:8px;align-items:center;padding:8px 6px;border-radius:5px;min-height:51px}.grid-row.active{background:#eff5f3}.grid-row input,.map-options input{accent-color:var(--teal);width:16px;height:16px;margin:0;flex-shrink:0}.grid-row input{accent-color:var(--grid-color)}.grid-focus{display:flex;flex:1;min-width:0;align-items:center;justify-content:space-between;gap:6px;background:transparent;border:0;text-align:left;padding:1px 0;color:var(--ink)}.grid-focus:hover .grid-name{text-decoration:underline}.grid-id{display:block;font:600 11px 'IBM Plex Mono',monospace;color:var(--grid-color);margin-bottom:3px}.grid-name{display:block;font-size:12px;line-height:1.3}.focus-icon{font-size:19px;color:#79928d}.map-options{margin:16px 4px 0;padding-top:16px;border-top:1px solid var(--line)}.map-options label{display:flex;gap:8px;align-items:center;font-size:12px}.map-options .small{font-size:11px;margin:3px 0 13px 24px}.small{color:var(--muted);font-size:12px;line-height:1.6}.map-toolbar{height:45px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;font-size:12px}.map-column{min-width:0;position:relative}#grid-map{height:470px;background:#e3edef}.leaflet-container{font-family:var(--body)}.leaflet-control-attribution{font-size:9px!important;background:#ffffffc9!important}.leaflet-control-zoom{box-shadow:none!important;border:1px solid #c4d3d2!important}.leaflet-control-zoom a{color:var(--ink)!important}.leaflet-tooltip{border:1px solid var(--line);box-shadow:0 2px 8px #2342;color:var(--ink);font:12px var(--body);padding:6px 9px}.grid-detail{padding:16px 20px;min-height:86px;display:flex;justify-content:space-between;gap:16px;align-items:center;font-size:13px}.grid-detail strong{font:600 17px var(--heading)}.grid-detail p{margin:4px 0 0;color:var(--muted);font-size:12px}.detail-spacing{text-align:right;white-space:nowrap}.detail-spacing span{display:block;color:var(--muted);font-size:11px}.new-badge{font:500 10px var(--body);color:var(--teal);padding:3px 6px;border:1px solid #c6e2da;border-radius:3px;margin-left:8px;white-space:nowrap}.map-caption{font-size:12px;color:var(--muted);max-width:870px;margin:14px 0 0}#map-error{margin:0;padding:12px 20px;background:#fff2d9;color:#754310;font-size:13px}@media(max-width:1000px){.explorer{grid-template-columns:245px 1fr}}@media(max-width:760px){.gc-compare{grid-template-columns:1fr}.explorer{display:flex;flex-direction:column}.grid-panel{border-right:0;border-bottom:1px solid var(--line);padding:18px 12px}.grid-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 5px}.grid-row{padding:5px 4px;gap:6px}.grid-name{font-size:11px}.grid-id{font-size:10px}.focus-icon{font-size:16px}.map-options{display:flex;flex-wrap:wrap;gap:12px 18px;padding-top:12px;margin-top:12px}.map-options label{font-size:11px}.map-options .small{order:3;margin:0;flex-basis:100%;font-size:10px}.map-toolbar{padding:0 14px}#grid-map{height:365px}.grid-detail{padding:14px;gap:12px;align-items:start;flex-wrap:wrap}.grid-detail strong{font-size:15px}.detail-spacing{text-align:left;white-space:normal}.detail-spacing span{font-size:10px}.new-badge{display:table;margin:6px 0 0}}