#root .leaflet-tile-pane {
  transition: filter 280ms ease;
}

#root > div:not(.light-theme) .leaflet-tile-pane {
  filter: brightness(0.38) saturate(0.68) contrast(1.2);
}

#root > div.light-theme .leaflet-tile-pane {
  filter: none;
}

#root button[title*="Mode"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 44px;
  width: auto;
  padding: 10px 14px !important;
  border-radius: 999px;
  white-space: nowrap;
  opacity: 1;
}

#root button[title*="Mode"]::after {
  content: attr(title);
  font: 800 10px/1 Inter, ui-sans-serif, system-ui, sans-serif;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

#root > div:not(.light-theme) button[title*="Mode"] {
  background: rgba(7, 25, 38, 0.94) !important;
  border-color: rgba(255, 255, 255, 0.34) !important;
  color: #fff !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.36);
}

#root > div.light-theme button[title*="Mode"] {
  background: rgba(255, 255, 255, 0.96) !important;
  border-color: rgba(23, 51, 69, 0.24) !important;
  color: #173345 !important;
  box-shadow: 0 10px 28px rgba(23, 51, 69, 0.18);
}

#root button[title*="Mode"]:focus-visible {
  outline: 3px solid #9fd7ff;
  outline-offset: 3px;
}

@media (max-width: 480px) {
  #root button[title*="Mode"] {
    gap: 7px;
    padding: 9px 11px !important;
  }

  #root button[title*="Mode"]::after {
    font-size: 9px;
    letter-spacing: 0.07em;
  }
}
