.map {
  position: absolute;
  inset: 0;
  background: var(--color-medium-grey);
  touch-action: none;
}

.user-location-marker {
  position: relative;
  width: 1.125rem;
  height: 1.125rem;
  border: var(--border-heavy) solid var(--color-black);
  background: var(--color-chartreuse);
  box-shadow: 0 0 0 var(--border-thin) var(--color-chartreuse);
}

.user-location-marker::after {
  content: "";
  position: absolute;
  inset: 0.25rem;
  background: var(--color-black);
}

.maplibregl-canvas {
  filter: grayscale(1) contrast(1.08);
}

.maplibregl-ctrl-group {
  overflow: hidden;
  border: var(--border-thin) solid var(--color-light-grey);
  border-radius: 0;
  background: var(--color-black);
  box-shadow: none;
}

.maplibregl-ctrl-group button {
  width: var(--control-size);
  height: var(--control-size);
  border-radius: 0;
  background-color: var(--color-black);
  transition: background-color var(--timing-fast) linear;
}

.maplibregl-ctrl-group button + button {
  border-top-color: var(--color-medium-grey);
}

.maplibregl-ctrl-group button:hover,
.maplibregl-ctrl-group button:focus-visible {
  background-color: var(--color-chartreuse);
}

.maplibregl-ctrl-icon {
  filter: invert(1);
}

.maplibregl-ctrl-group button:hover .maplibregl-ctrl-icon,
.maplibregl-ctrl-group button:focus-visible .maplibregl-ctrl-icon {
  filter: none;
}

.maplibregl-ctrl-attrib {
  border-radius: 0;
  background: var(--color-black);
  color: var(--color-light-grey);
  font-family: var(--font-body);
  font-size: 0.625rem;
}

.maplibregl-ctrl-attrib a {
  color: var(--color-white);
}

.maplibregl-ctrl-top-right {
  top: calc(var(--safe-top) + 6.5rem);
  right: calc(var(--safe-right) + var(--space-2));
}

@media (prefers-reduced-motion: reduce) {
  .maplibregl-canvas {
    scroll-behavior: auto;
  }
}
