*{box-sizing:border-box}html,body,#map{height:100%;width:100%;margin:0}body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172c37}#map{position:fixed;inset:0;background:#e7e9e5}#key {
  position: fixed;
  z-index: 600;
  left: 12px;
  bottom: max(28px, env(safe-area-inset-bottom));
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 9px 10px;
  border: 1px solid #d9dfdf;
  border-radius: 10px;
  background: #fffffff2;
  box-shadow: 0 2px 9px #182a3918;
}
#legend {
  display: grid;
  grid-template-columns: repeat(3, max-content);
  gap: 6px 12px;
}
.legend-item {
  display: flex;
  align-items: center;
  gap: 5px;
  color: var(--color);
  font-size: 12px;
  font-weight: 600;
  line-height: 18px;
}
.legend-item span { font-size: 15px; }
#overview {
  width: 28px;
  height: 30px;
  border: 0;
  border-radius: 6px;
  background: #f0f4f3;
  color: #213e48;
  cursor: pointer;
  font-size: 22px;
}
.leaflet-control-zoom{border:1px solid #d9dfdf!important;border-radius:12px!important;overflow:hidden;box-shadow:0 3px 14px #182a3915!important}.leaflet-control-zoom a{width:38px!important;height:38px!important;line-height:38px!important;color:#213e48!important}.leaflet-control-attribution{font-size:10px!important;background:#ffffffdd!important;padding:3px 7px!important}.place-icon{border:0;background:transparent}.pin{display:grid;place-items:center;width:34px;height:34px;border:2px solid #fff;border-radius:50%;background:var(--color);box-shadow:0 2px 7px #17303465;font-size:17px;color:white;transition:transform .15s}.place-icon:hover .pin,.place-icon:focus .pin{transform:scale(1.15)}.leaflet-popup-content-wrapper{border-radius:14px}.leaflet-popup-content{margin:18px!important;font:14px/1.4 Inter,system-ui,sans-serif;min-width:165px}.leaflet-popup-content h1{font-size:17px;line-height:1.35;margin:0 10px 14px 0;font-weight:650}.popup-links{display:flex;gap:9px}.popup-links a{display:inline-block;border:1px solid #dce3e4;border-radius:8px;padding:7px 10px;color:#213e48;text-decoration:none;font-size:13px}.popup-links a:first-child{background:#213e48;color:white;border-color:#213e48}button:focus-visible,a:focus-visible{outline:3px solid #107b94;outline-offset:2px}#status{position:fixed;bottom:45px;left:50%;transform:translateX(-50%);z-index:1000;background:white;padding:10px 16px;border-radius:10px;box-shadow:0 2px 14px #1232;max-width:85vw;font-size:14px}@media (max-width: 600px) {
  .leaflet-control-zoom a {
    width: 34px !important;
    height: 34px !important;
    line-height: 34px !important;
  }
  .leaflet-popup-content { min-width: 145px; max-width: 215px; }
  .leaflet-bottom .leaflet-control { margin-bottom: 3px; }
  #status { top: 15px; bottom: auto; }
}
