html, body, #map {
  height: 100%;
  margin: 0;
}

#map {
  background: #3b3530;
}

.load-error {
  padding: 1em;
  color: #f4e9d8;
  font-family: system-ui, sans-serif;
}

.poi-icon {
  border: 1px solid #333;
  border-radius: 4px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}

/* Name label beside each POI icon (a permanent Leaflet tooltip). */
.leaflet-tooltip.poi-label {
  padding: 1px 5px;
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid #333;
  border-radius: 4px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
  color: #222;
  font: 600 13px/1.3 Georgia, "Times New Roman", serif;
}

/* No pointer arrow: the label sits right below its icon. */
.leaflet-tooltip.poi-label::before {
  display: none;
}

/* Description box shown beside a POI icon when it is clicked. */
.leaflet-tooltip.poi-description {
  width: max-content;
  max-width: min(280px, calc(50vw - 40px));
  padding: 6px 9px;
  white-space: normal;
  color: #222;
  font: 14px/1.4 Georgia, "Times New Roman", serif;
  cursor: auto;
  -webkit-user-select: text;
  user-select: text;
}

/* Hex grid on/off button, below the zoom buttons. */
.hex-toggle svg {
  width: 18px;
  height: 18px;
  vertical-align: middle;
  fill: none;
  stroke: #333;
  stroke-width: 1.8;
}

.hex-toggle.off svg {
  stroke: #aaa;
}
