.district-autocomplete{position:relative}.district-autocomplete>label{font-weight:var(--font-weight-medium)}.district-autocomplete__input{position:relative}.district-autocomplete__clear{position:absolute;top:3px;right:3px}.district-autocomplete__popup{z-index:5;background:var(--theme-surface,var(--color-white));color:var(--theme-text,var(--color-ink));box-shadow:0 12px 30px oklch(var(--color-black-oklch)/.14);border:1px solid #0000;border-radius:10px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden}.district-autocomplete__popup ul{padding:var(--space-1);overscroll-behavior:contain;max-height:min(240px,40vh);margin:0;list-style:none;overflow-y:auto}.district-autocomplete__popup [role=option]{padding:var(--space-3);cursor:pointer;overflow-wrap:anywhere;border-radius:6px;min-height:44px}.district-autocomplete__popup :is([role=option].is-active,[role=option]:hover){background:oklch(var(--color-primary-oklch)/.15)}.district-autocomplete__popup [aria-selected=true]{font-weight:var(--font-weight-semibold);color:var(--theme-accent-text,var(--color-light-accent-text))}.district-autocomplete__popup>p{padding:var(--space-3) var(--space-4) var(--space-4)}.district-map{--district-fill:var(--theme-surface-strong,var(--color-district-fill));--district-edge:var(--theme-muted,var(--color-muted));min-width:0}.district-map__heading{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);font-size:var(--text-sm);font-weight:var(--font-weight-medium);display:flex}.district-map__zoom{gap:var(--space-half);flex-shrink:0;display:flex}.district-map__zoom button{min-width:34px;height:34px;padding:0 var(--space-2);background:var(--theme-surface,var(--color-white));color:var(--theme-text,var(--color-ink));font:inherit;cursor:pointer;border:1px solid #0000;border-radius:7px;place-items:center;display:grid}.district-map__zoom button:hover:not(:disabled){background:oklch(var(--color-primary-oklch)/.15)}.district-map__viewport{width:100%;height:var(--district-map-height,330px);background:var(--theme-paper,var(--color-paper));background-image:radial-gradient(ellipse at 30% 45% in oklch,oklch(var(--color-district-glow-oklch)/.18),#0000 80%);scrollbar-width:thin;scrollbar-color:var(--theme-muted,var(--color-muted)) #0000;border:1px solid #0000;border-radius:14px;overflow:auto}.district-map__viewport.is-zoomed{overscroll-behavior:contain}.district-map__viewport svg{max-width:none;display:block}.district-map__area{fill:var(--district-fill);stroke:var(--district-edge);stroke-width:.8px;stroke-linejoin:round;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .15s}.district-map__area:hover{fill:color-mix(in oklch,var(--district-fill) 60%,var(--theme-accent-text,var(--color-light-accent-text)))}.district-map__area.is-selected{fill:var(--theme-accent-text,var(--color-light-accent-text));stroke:var(--theme-text,var(--color-ink));stroke-width:1.25px}.district-map__area:focus{outline:none}.district-map__area:focus-visible{stroke:var(--theme-text,var(--color-ink));stroke-width:2.5px}.district-map__area[aria-disabled=true]{pointer-events:none}.district-map__water-label{pointer-events:none;fill:var(--theme-muted,var(--color-muted));text-anchor:middle;font-size:32px}.district-map__caption{gap:var(--space-1);min-height:35px;padding-top:var(--space-3);font-size:var(--text-sm);color:var(--theme-text,var(--color-ink));display:grid}.district-map__caption .is-selected{color:var(--theme-accent-text,var(--color-light-accent-text));font-weight:var(--font-weight-semibold)}.district-map__caption small,.district-map__note{font-size:var(--text-xs);line-height:var(--leading-copy);color:var(--theme-muted,var(--color-muted))}.district-map__note{margin:var(--space-1) 0 0}.district-map__note a{color:inherit;text-underline-offset:2px;text-decoration:underline}.district-map__loading{height:100%;padding:var(--space-6);font-size:var(--text-sm);color:var(--theme-muted,var(--color-muted));place-content:center;margin:0;display:grid}@media (prefers-reduced-motion:reduce){.district-map__area{transition:none}}.district-map__stage{min-width:0;position:relative}.district-map__viewport.is-moving svg{pointer-events:none}.district-map__region:focus{outline:none}.district-map__region:focus-visible .district-map__area{stroke:var(--theme-accent-text,var(--color-light-accent-text));stroke-width:2px}.district-map__region.is-context .district-map__area{fill:color-mix(in oklch,var(--district-fill) 40%,var(--theme-paper,var(--color-paper)));stroke:color-mix(in oklch,var(--district-edge) 50%,var(--theme-paper,var(--color-paper)))}.district-map__region.is-context:hover .district-map__area{fill:color-mix(in oklch,var(--district-fill) 78%,var(--theme-accent-text,var(--color-light-accent-text)))}.district-map__region.is-context.is-city .district-map__area{fill:color-mix(in oklch,var(--district-fill) 62%,var(--theme-accent-text,var(--color-light-accent-text)));stroke-width:.4px}.district-map__region[aria-disabled=true]{pointer-events:none}.district-map__city-label{cursor:pointer;fill:var(--theme-text,var(--color-ink));font-size:29px;font-weight:var(--font-weight-semibold);text-anchor:middle;paint-order:stroke;stroke:var(--theme-paper,var(--color-paper));stroke-width:5px;stroke-linejoin:round}.district-map__tooltip{z-index:3;pointer-events:none;gap:var(--space-1);width:max-content;max-width:min(260px,100% - 16px);padding:var(--space-3) var(--space-3);background:var(--theme-surface,var(--color-white));color:var(--theme-text,var(--color-ink));box-shadow:0 5px 20px oklch(var(--color-black-oklch)/.16);font-size:var(--text-sm);line-height:var(--leading-ui);border:1px solid #0000;border-radius:9px;display:grid;position:absolute}.district-map__tooltip strong{font-weight:var(--font-weight-semibold)}.district-map__tooltip span{color:var(--theme-muted,var(--color-muted));font-size:var(--text-xs)}.region-switch{gap:var(--space-3);border:0;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;margin:0;padding:0;display:grid}.region-switch>legend{clip-path:inset(50%);width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.region-switch>label{cursor:pointer;min-width:0;position:relative}.region-switch input[type=radio]{clip-path:inset(50%);border:0;width:1px;height:1px;min-height:0;padding:0;position:absolute;overflow:hidden}.region-switch label>span{align-items:center;gap:var(--space-3);height:100%;min-height:52px;padding:var(--space-3);font-size:var(--text-xs);color:var(--theme-muted,var(--color-muted));border:1px solid #0000;border-radius:9px;display:flex}.region-switch strong{color:var(--theme-text,var(--color-ink));font-size:var(--text-base)}.region-switch label:has(input:checked)>span{background:oklch(var(--color-primary-oklch)/.1);color:var(--theme-text,var(--color-ink));border-color:#0000}.region-switch label:has(input:focus-visible)>span{outline:2px solid var(--theme-accent-text,var(--color-light-accent-text));outline-offset:3px}.region-switch label:has(input:disabled){opacity:.6;cursor:default}.district-autocomplete{align-content:start;gap:var(--space-2);min-width:0;font-size:var(--text-sm);color:var(--theme-text,var(--color-ink));margin:0;display:grid}.district-autocomplete .district-autocomplete__input input{width:100%;min-width:0;min-height:46px;padding:var(--space-3) var(--space-12) var(--space-3) var(--space-3);background:var(--theme-surface-strong,var(--color-light-surface-strong));color:var(--theme-text,var(--color-ink));font:inherit;font-size:var(--text-base);line-height:var(--leading-ui);border:1px solid #0000;border-radius:9px}.district-autocomplete__input input::placeholder{color:var(--theme-muted,var(--color-muted));opacity:1}.district-autocomplete__clear{width:40px;height:40px;color:var(--theme-muted,var(--color-muted));cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:grid}.district-autocomplete__clear:hover{color:var(--theme-text,var(--color-ink));background:oklch(var(--color-primary-oklch)/.1)}.district-autocomplete__empty{color:var(--theme-muted,var(--color-muted));font-size:var(--text-sm);line-height:var(--leading-copy);margin:0}:is(.district-autocomplete,.district-map) button:disabled{opacity:.45;cursor:default}.district-autocomplete button:focus-visible,.district-map :is(button,a):focus-visible{outline:2px solid var(--theme-accent-text,var(--color-light-accent-text));outline-offset:3px}@media (width<=540px){.region-switch label>span{align-items:flex-start;gap:var(--space-1);padding:var(--space-3);flex-direction:column}}.geography-controls{gap:var(--space-5);margin-top:var(--space-7);display:grid}.geography-controls .region-switch label>span{align-items:flex-start;gap:var(--space-1);flex-direction:column}.geography-district-map{--district-map-height:clamp(320px, 48vh, 540px);align-self:center;width:100%}@media (width<=1080px){.geography-district-map{--district-map-height:clamp(320px, 56vw, 500px)}}.geography-map-host{min-height:calc(var(--district-map-height) + 115px)}.geography-map-placeholder{height:calc(var(--district-map-height) + 115px);padding:var(--space-6);text-align:center;color:var(--theme-muted,var(--muted));place-content:center;display:grid}
