:root { color-scheme: light; font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #263c46; }
* { box-sizing: border-box; }
html, body { margin: 0; width: 100%; height: 100%; }
body { display: flex; flex-direction: column; background: #f3f7f7; }
.map-toolbar { display: flex; gap: .5rem; flex-wrap: wrap; padding: .7rem; border-bottom: 1px solid #cedcde; }
button { background: #fff; border: 1px solid #9db2b8; border-radius: .35rem; color: #164f60; padding: .55rem .75rem; font: inherit; font-size: .875rem; cursor: pointer; min-height: 44px; }
button:hover:not(:disabled), button[aria-pressed="true"] { background: #164f60; color: #fff; border-color: #164f60; }
button:disabled { cursor: default; opacity: .6; }
a { color: #164f60; text-underline-offset: .15em; }
:focus-visible { outline: 3px solid #a74517; outline-offset: 3px; }
#map { flex: 1; min-height: 180px; width: 100%; background: #dce9eb; }
#map-status { margin: 0; padding: .65rem .85rem; font-size: .85rem; line-height: 1.5; }
#map-status[hidden] { display: none; }
.skip-link { position: absolute; left: .5rem; top: -10rem; z-index: 10000; padding: .7rem; background: #fff; }
.skip-link:focus { top: .5rem; }
.talk-marker { border: 2px solid #fff; border-radius: 50%; background: #164f60; color: #fff; box-shadow: 0 1px 5px #24374080; text-align: center; font: 700 12px/24px system-ui, sans-serif; }
.leaflet-container { font-family: inherit; }
.leaflet-container a { color: #164f60; }
.leaflet-bar a { min-width: 36px; min-height: 36px; line-height: 36px; }
.leaflet-popup-content { font-size: .875rem; line-height: 1.5; max-height: 270px; overflow-y: auto; margin: 1rem; }
.leaflet-popup-content h2 { margin: 0 0 .5rem; font-size: 1rem; }
.leaflet-popup-content ul { margin: 0; padding-left: 1.2rem; }
.leaflet-popup-content li + li { margin-top: .6rem; }
.map-event-meta { display: block; color: #45565c; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
