:root { color-scheme: light dark; --bg: #f6f6f2; --ink: #23231f; --node: #687169; }
@media (prefers-color-scheme: dark) { :root { --bg: #171917; --ink: #f2f2eb; --node: #94ab92; } }
* { box-sizing: border-box; }
html, body, #map { width: 100%; height: 100%; margin: 0; background: var(--bg); color: var(--ink); font-family: ui-sans-serif, system-ui, sans-serif; }
#static-map-viewport { position: fixed; inset: 0; overflow: auto; background: var(--bg); }
#plot { display: block; width: 100%; height: 100%; }
.static-map-zoom-1 #plot { width: 160vw; height: 160vh; }
.static-map-zoom-2 #plot { width: 220vw; height: 220vh; }
.static-map-zoom-3 #plot { width: 300vw; height: 300vh; }
.point circle { fill: var(--node); stroke: var(--bg); stroke-width: .002; }
.point text { fill: var(--ink); paint-order: stroke; stroke: var(--bg); stroke-width: .003; pointer-events: none; }
#search { position: fixed; z-index: 2; top: 14px; left: 14px; width: min(360px, calc(100vw - 28px)); }
#static-map-levels { position: fixed; z-index: 2; right: 14px; bottom: 14px; display: flex; gap: 4px; padding: 4px; border: 1px solid color-mix(in srgb, var(--ink) 30%, transparent); border-radius: 7px; background: color-mix(in srgb, var(--bg) 94%, transparent); }
#static-map-levels a { min-width: 32px; padding: 4px 8px; color: var(--ink); text-align: center; text-decoration: none; }
#query { width: 100%; height: 42px; padding: 0 12px; border: 1px solid color-mix(in srgb, var(--ink) 30%, transparent); border-radius: 7px; background: color-mix(in srgb, var(--bg) 94%, transparent); color: var(--ink); font: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; clip: rect(0 0 0 0); overflow: hidden; }
.back { display: inline-block; margin: 14px; color: var(--ink); }
.detail h1, .detail h2, .detail ul { margin-left: 14px; margin-right: 14px; }
#results { margin: 70px 14px; max-width: 500px; }
.result { display: block; padding: 10px 0; color: var(--ink); }
.status { margin-left: 8px; color: #777; font-size: .8em; }
