:root {
  --spacing: 0.25rem;
  --container-3xs: 16rem;
  --container-md: 28rem;
  --container-xl: 36rem;
  --container-7xl: 80rem;
  --color-black: #000;
  --color-white: #fff;
  --color-gray-300: #d1d5db;
  --color-gray-500: #6b7280;
  --color-gray-700: #374151;
  --color-gray-900: #111827;
  --color-red-400: #f87171;
  --color-red-500: #ef4444;
  --color-red-600: #dc2626;
  --color-yellow-400: #facc15;
  --color-yellow-500: #eab308;
  --color-yellow-600: #ca8a04;
  --color-green-500: #22c55e;
  --color-emerald-300: #6ee7b7;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0 solid transparent;
}

html,
body {
  background: #000;
  height: 100%;
  line-height: 1.5;
  overscroll-behavior: none;
  overflow: auto;
}

body.app-body {
  font-family: "VT323", monospace !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

a {
  color: inherit;
  text-decoration: inherit;
}

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block;
  vertical-align: middle;
}

img,
video {
  max-width: 100%;
  height: auto;
}

button,
input,
select,
textarea {
  font: inherit;
  letter-spacing: inherit;
  color: inherit;
  background-color: transparent;
  border-radius: 0;
}

[hidden]:where(:not([hidden="until-found"])) {
  display: none !important;
}

@media (display-mode: standalone) {
  body {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: default;
  }
}

img {
  image-rendering: pixelated;
  image-rendering: -moz-crisp-edges;
  image-rendering: crisp-edges;
}

.town-tooltip {
  background: none;
  border: none;
  box-shadow: none;
  color: #fff;
  font-family: "VT323", sans-serif;
  font-size: 14px;
}

.follow-tooltip {
  background: #000;
  border: none;
  border-radius: 0;
  box-shadow: none;
  color: #49ab16;
  font-family: "VT323", sans-serif;
  font-size: 14px;
  opacity: 1 !important;
}

.player-tooltip {
  background: #000;
  border: none;
  border-radius: 0;
  box-shadow: none;
  color: #ca8a04;
  font-family: "VT323", sans-serif;
  font-size: 14px;
  opacity: 1 !important;
}

.leaflet-touch .leaflet-bar a:first-child,
.leaflet-touch .leaflet-bar a:last-child {
  border-radius: 0;
}

.leaflet-container {
  background: #000;
  outline: 0;
}

.leaflet-tooltip-right:before {
  display: none;
}

.turbo-progress-bar {
  background: #fff;
  position: fixed;
  top: 64px;
  z-index: 999999;
}

@media (min-width: 1024px) {
  .turbo-progress-bar {
    top: 0;
  }
}
