:root {
  --map-ink: #173128;
  --map-muted: #52675f;
  --map-cream: #fffdf7;
  --map-line: #cbd4ca;
  --map-green: #245c43;
  --map-gold: #e6a93b;
  color: var(--map-ink);
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}

#sidebar,
.map-sidebar {
  background: rgba(255, 253, 247, .97);
  border-color: var(--map-line);
  color: var(--map-ink);
}

header,
.sidebar-head,
.map-header {
  background: var(--map-cream);
  border-color: var(--map-line);
}

h1,
.map-title {
  color: var(--map-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
}

header p,
.summary,
.map-summary,
.map-status {
  color: var(--map-muted);
}

input[type="checkbox"],
input[type="radio"] { accent-color: var(--map-ink); }

.leaflet-control-layers,
.leaflet-bar,
.maplibregl-ctrl-group {
  border-color: var(--map-line);
  box-shadow: 0 2px 10px rgba(23, 49, 40, .16);
}

.leaflet-control-layers,
.leaflet-bar a,
.maplibregl-ctrl-group button {
  background-color: var(--map-cream);
  color: var(--map-ink);
}

.station-label {
  background: rgba(255, 253, 247, .92);
  border: 1px solid var(--map-ink);
  box-shadow: none;
  color: var(--map-ink);
  font-size: 10px;
  font-weight: 750;
  padding: 1px 4px;
}

.map-key {
  align-items: center;
  color: var(--map-muted);
  display: flex;
  font-size: 10px;
  gap: 7px;
  margin: 6px 0;
}

.map-swatch {
  display: inline-block;
  flex: 0 0 24px;
  height: 5px;
}
