/* Shared by index.html and detail.html */
:root {
  --bg: #f5f6f8;
  --panel: #ffffff;
  --text: #16181d;
  --muted: #666d7a;
  --border: #e3e6eb;
  --hover: #f0f2f5;
  --accent: #0b6bcb;
  --m5: #e9b949;
  --m6: #e8792e;
  --m7: #d4342c;
  --m8: #8e1b6e;
  --ring: #0b6bcb;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0f1115;
    --panel: #171a20;
    --text: #e8eaee;
    --muted: #9aa1ad;
    --border: #2a2f38;
    --hover: #1f232b;
    --accent: #5aa7f0;
    --ring: #5aa7f0;
  }
}
* { box-sizing: border-box; }
html, body { margin: 0; }
body {
  background: var(--bg);
  color: var(--text);
  font: 14px/1.45 Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
}
a { color: var(--accent); }
.badge {
  display: inline-block; font-size: 11px; font-weight: 600; padding: 1px 7px;
  border-radius: 999px; margin-left: 4px; text-transform: uppercase; letter-spacing: .03em;
  border: 1px solid currentColor;
}
.badge.white { color: var(--muted); }
.badge.yellow { color: #b08900; }
.badge.orange { color: #e8792e; }
.badge.red { color: #d4342c; }
.legend {
  background: var(--panel); color: var(--text); padding: 8px 10px; border-radius: 8px;
  border: 1px solid var(--border); font-size: 12px; line-height: 1.7;
}
.legend i { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 6px; vertical-align: -1px; }
.legend .ring { border: 1.5px dashed var(--ring); background: transparent; border-radius: 50%; }
.leaflet-popup-content-wrapper, .leaflet-popup-tip { background: var(--panel); color: var(--text); }
.leaflet-popup-content { margin: 12px 14px; font-size: 13px; line-height: 1.5; }
.leaflet-popup-content b { font-size: 14px; }
.leaflet-container { font-family: inherit; background: var(--bg); }
