@font-face { font-family: "Radex Naskh"; src: url(/fonts/radex/radex-naskh.woff2) format("woff2"); font-weight: 400 700;
  unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF, U+200C-200F, U+2066-2069; }
:root { --brand: #0B7A4B; --ink: rgba(0,0,0,.9); --ink2: rgba(0,0,0,.55); --card: #fff; --line: rgba(0,0,0,.08); color-scheme: light;
  font: 15px/1.5 "Radex Naskh", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
@media (prefers-color-scheme: dark) { :root { --ink: rgba(255,255,255,.9); --ink2: rgba(255,255,255,.55); --card: #1f1f1f; --line: rgba(255,255,255,.1); color-scheme: dark; } }
html, body { margin: 0; height: 100%; background: #ededed; color: var(--ink); }
#map { position: fixed; inset: 0; }
.search { position: fixed; top: calc(12px + env(safe-area-inset-top, 0px)); inset-inline: 12px; max-width: 460px; margin-inline: auto;
  display: flex; align-items: center; gap: 8px; background: var(--card); border-radius: 12px; padding: 0 14px; height: 46px;
  box-shadow: 0 6px 24px -10px rgba(0,0,0,.35); color: var(--ink2); }
.search input { flex: 1; border: 0; outline: 0; background: transparent; font: inherit; color: var(--ink); height: 100%; }
.search ul { position: absolute; top: 52px; inset-inline: 0; margin: 0; padding: 6px; list-style: none; background: var(--card);
  border-radius: 12px; box-shadow: 0 12px 32px -12px rgba(0,0,0,.35); max-height: 60vh; overflow: auto; }
.search li { padding: 10px 12px; border-radius: 8px; cursor: pointer; color: var(--ink); }
.search li small { display: block; color: var(--ink2); font-size: 13px; }
.search li:hover, .search li[aria-selected="true"] { background: rgba(127,127,127,.12); }
.locate { position: fixed; inset-inline-start: 12px; bottom: calc(76px + env(safe-area-inset-bottom, 0px)); width: 46px; height: 46px; border-radius: 50%;
  border: 0; background: var(--card); color: var(--brand); display: grid; place-items: center; box-shadow: 0 6px 20px -8px rgba(0,0,0,.4); cursor: pointer; }
.sheet { position: fixed; inset-inline: 12px; bottom: calc(24px + env(safe-area-inset-bottom, 0px)); max-width: 460px; margin-inline: auto;
  background: var(--card); border-radius: 14px; padding: 14px 16px; box-shadow: 0 10px 30px -12px rgba(0,0,0,.4); display: grid; gap: 2px; }
.sheet span { color: var(--ink2); font-size: 13px; }
.credit { position: fixed; bottom: calc(4px + env(safe-area-inset-bottom, 0px)); inset-inline-end: 8px; font: 11px system-ui; color: rgba(0,0,0,.55);
  background: rgba(255,255,255,.7); padding: 2px 6px; border-radius: 6px; }
.credit a { color: inherit; }
.maplibregl-ctrl-attrib { display: none; }
.pin { width: 18px; height: 18px; border-radius: 50%; background: var(--brand); border: 3px solid #fff; box-shadow: 0 2px 8px rgba(0,0,0,.35); }
.me { width: 16px; height: 16px; border-radius: 50%; background: #1D6FD1; border: 3px solid #fff; box-shadow: 0 0 0 8px rgba(29,111,209,.18); }
