.district-explorer{--map-surface:#fff;--map-text:#142b43;--map-line:#cfdfeb;color:var(--map-text);font-size:1rem}.district-map-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:16px 0}.district-map-tools p{flex:1;min-width:200px}.district-explorer button{border:1px solid var(--map-line);background:var(--map-surface);color:var(--map-text);border-radius:16px;min-height:44px;padding:10px 16px;font:inherit;cursor:pointer}.district-explorer-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:20px;align-items:start}.district-map-canvas{background:white;border:1px solid var(--map-line);border-radius:20px;overflow:hidden;min-width:0}#district-map{display:block;width:100%;height:auto;aspect-ratio:1191/842}.district-map-area{cursor:pointer;pointer-events:all;transition:fill-opacity .15s}.district-map-area:hover,.district-map-area:focus-visible{fill-opacity:.25}.district-map-area.is-selected{fill-opacity:.12}.district-map-area:focus-visible{outline:none;stroke:#063f67;stroke-width:1;vector-effect:non-scaling-stroke}.district-map-details{background:var(--map-surface);border:1px solid var(--map-line);border-top:4px solid #129bd4;border-radius:20px;padding:22px;overflow-wrap:anywhere}.district-map-details h2{font-size:1.4rem;line-height:1.3}.district-map-kicker{font-size:.875rem;font-weight:800;letter-spacing:.08em;color:#13749d}.district-map-details p{line-height:1.6}#map-detail-hint{font-size:.875rem}.district-map-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}.district-map-list article{padding:18px;border:1px solid var(--map-line);border-radius:20px;background:var(--map-surface);border-top:4px solid var(--district-color);overflow-wrap:anywhere}.district-map-list button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;font-weight:750;line-height:1.4}.district-color{width:12px;height:12px;border-radius:50%;background:var(--district-color);flex-shrink:0}.district-map-list p{line-height:1.5}.district-map-list small{display:block;font-size:.875rem;margin-top:10px}.district-map-list a,.district-map-source a{color:#08749f;text-underline-offset:3px}.district-map-list .is-selected{outline:2px solid var(--district-color);outline-offset:2px}.district-map-source{font-size:.875rem;line-height:1.6}.district-explorer button:focus-visible{outline:3px solid #139cdb;outline-offset:3px}[data-theme=dark] .district-explorer{--map-surface:#132235;--map-text:#e8f3ff;--map-line:#334b62}[data-theme=dark] .district-map-list a,[data-theme=dark] .district-map-source a{color:#70d0fa}@media(max-width:900px){.district-explorer-layout{grid-template-columns:1fr}.district-map-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.district-map-list{grid-template-columns:1fr}.district-map-details{padding:16px}}@media(prefers-reduced-motion:reduce){.district-map-area{transition:none}}
