.svg-icon {
  pointer-events: none;
  fill: currentColor;
  height: 24px;
  width: 24px;
}
.world[data-v-219749ac] {
  display: flex;
  align-items: center;
  margin-bottom: 0.5rem;
  padding-left: 0.8rem;
}
.world .world__name[data-v-219749ac] {
  word-break: break-word;
  overflow-wrap: break-word;
}
.world .world__maps[data-v-219749ac] {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  max-width: 11.1rem;
  align-items: center;
  margin-left: auto;
  padding-left: 1rem;
  padding-right: 0.2rem;
  list-style: none;
  margin-right: -0.5rem;
}
.map[data-v-219749ac] {
  width: 3.2rem;
  height: 3.2rem;
  margin-right: 0.5rem;
}
.map .svg-icon[data-v-219749ac],
.map img[data-v-219749ac] {
  position: absolute;
  top: 0.2rem !important;
  right: 0.2rem !important;
  bottom: 0.2rem !important;
  left: 0.2rem !important;
  width: calc(100% - 0.4rem) !important;
  height: auto !important;
}
#map-context-menu[data-v-074fda55] {
  position: fixed;
  z-index: 150;
  min-width: 15rem;
  max-width: 22.5rem;
  top: 0;
  left: 0;
}
#map-context-menu ul[data-v-074fda55] {
  background-color: var(--background-base);
  box-shadow: var(--box-shadow);
  color: var(--text-base);
  border-radius: var(--border-radius);
  padding: 0.5rem;
  position: relative;
  z-index: 1;
}
#map-context-menu[data-v-074fda55] .world {
  padding: 0.2rem 0 0.2rem 0.8rem;
  margin-bottom: 0;
}
#map-context-menu[data-v-074fda55] .world li {
  width: 2.8rem;
  height: 2.8rem;
}
@media screen and (max-width: 767px) {
  #map-context-menu[data-v-074fda55] {
    bottom: 0.5rem;
    top: auto;
    left: 0;
    right: 0;
    margin: auto;
    width: 90vw;
    max-width: 40rem;
    overflow: auto;
    transform: none !important;
  }
  #map-context-menu[data-v-074fda55]:before {
    content: '';
    position: fixed;
    top: auto;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    height: 40rem;
    background-image: linear-gradient(0deg, var(--background-dark), transparent);
    z-index: -1;
  }
} /*!
* Copyright 2022 James Lyne
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
.map[data-v-d68e1578] {
  width: 100%;
  height: 100%;
  background: transparent;
  z-index: 0;
  cursor: default;
  box-sizing: border-box;
  position: relative;
}
.map[data-v-d68e1578]:focus:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border: 0.2rem solid var(--outline-focus);
  display: block;
  z-index: 2000;
  pointer-events: none;
}
.map[data-v-d68e1578]:focus:not(:focus-visible):before {
  content: none;
}
.sidebar__section.following[data-v-20ac0cac] {
  margin-top: auto;
  flex: 0 0 auto;
  position: sticky;
  bottom: 0.2rem;
  z-index: 3;
}
.sidebar__section.following .following__target[data-v-20ac0cac] {
  display: grid;
  grid-template-columns: min-content 1fr;
  grid-template-rows: 1fr min-content min-content min-content 1fr;
  grid-template-areas: 'icon .' 'icon name' 'icon status' 'icon location' 'icon .';
  grid-auto-flow: column;
  align-items: center;
}
.sidebar__section.following .following__target .target__unfollow[data-v-20ac0cac] {
  position: absolute;
  top: 1.5rem;
  right: 1rem;
  width: 2.5rem;
  height: 2.5rem;
}
.sidebar__section.following .following__target .target__unfollow[data-v-20ac0cac]:before {
  content: '';
  position: absolute;
  display: block;
  top: -1rem;
  right: -1rem;
  bottom: -1rem;
  left: -1rem;
}
.sidebar__section.following .following__target .target__icon[data-v-20ac0cac] {
  margin-right: 2rem;
  grid-area: icon;
}
.sidebar__section.following .following__target .target__name[data-v-20ac0cac] {
  grid-area: name;
}
.sidebar__section.following .following__target .target__status[data-v-20ac0cac] {
  grid-area: status;
  font-size: 1.3rem;
}
.sidebar__section.following .following__target .target__location[data-v-20ac0cac] {
  grid-area: location;
  font-family: monospace;
  cursor: pointer;
}
.sidebar__section.following .following__target.following__target--hidden .target__icon[data-v-20ac0cac] {
  filter: grayscale(1);
  opacity: 0.5;
}
.sidebar__section.following .following__target > *[data-v-20ac0cac] {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
@media (max-width: 480px), (max-height: 480px) {
  .sidebar__section.following[data-v-20ac0cac] {
    margin-top: 0;
  }
} /*!
* Copyright 2022 James Lyne
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
.sidebar__section {
  background-color: var(--background-base);
  color: var(--text-base);
  border-radius: var(--border-radius);
  box-shadow: var(--box-shadow);
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
  position: relative;
}
.sidebar__section {
  margin-bottom: var(--ui-element-spacing);
  box-sizing: border-box;
  width: 100%;
  max-width: 26rem;
  flex: 0 0 auto;
}
.sidebar__section[hidden] {
  display: none;
}
.sidebar__section .section__heading {
  cursor: pointer;
  user-select: none;
  text-align: left;
  align-items: center;
  position: sticky;
  top: -0.2rem;
  background-color: inherit;
  z-index: 3;
  border-radius: inherit;
  margin: -1.5rem -1.5rem 0;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.sidebar__section .section__heading,
.sidebar__section .section__heading button {
  padding: 1.5rem;
}
.sidebar__section .section__heading button {
  text-overflow: ellipsis;
  overflow: hidden;
  display: flex;
  font-size: 2rem;
  background-color: transparent;
  font-weight: 400;
  color: inherit;
  width: calc(100% + 3rem);
  align-items: center;
  text-shadow: var(--text-shadow);
  margin: -1.5rem;
}
.sidebar__section .section__heading button .svg-icon {
  margin-left: auto;
  width: 1.5rem;
  height: 1.5rem;
}
.sidebar__section .section__heading:hover,
.sidebar__section .section__heading:focus-visible,
.sidebar__section .section__heading.focus-visible,
.sidebar__section .section__heading:active {
  background-color: inherit;
}
.sidebar__section .section__content {
  padding: 0 0.5rem;
  margin: 0 -0.5rem 1rem;
  min-width: 0;
  position: relative;
}
.sidebar__section .section__content:last-child {
  margin-bottom: 0;
}
.sidebar__section .section__search {
  margin-bottom: 1.5rem;
  padding: 0.5rem 1rem;
  box-sizing: border-box;
  width: 100%;
  position: sticky;
  top: 4.8rem;
  z-index: 3;
  box-shadow: 0 1.5rem 0.5em var(--background-base);
}
.sidebar__section .section__search + .section__skeleton {
  margin-top: 0;
}
.sidebar__section .section__skeleton {
  font-style: italic;
  color: var(--text-disabled);
  text-align: center;
  align-self: center;
  margin-top: 1rem;
}
.sidebar__section.section--collapsible .section__heading .svg-icon {
  transform: rotate(180deg);
}
.sidebar__section.section--collapsible.section--collapsed .section__heading .svg-icon {
  transform: none;
}
.sidebar__section.section--collapsible.section--collapsed .section__heading,
.sidebar__section.section--collapsible.section--collapsed .section__heading button {
  margin-bottom: -1.5rem;
}
.sidebar__section.section--collapsible.section--collapsed .section__content {
  display: none;
}
@media (max-width: 320px) {
  .sidebar__section {
    box-sizing: border-box;
    width: 100%;
  }
}
.player[data-v-1f77067f] {
  display: flex !important;
  align-items: center;
}
.player .player__icon[data-v-1f77067f] {
  position: relative;
  pointer-events: none;
  z-index: 2;
  padding-right: 1.5rem;
}
.player.player--hidden:not(:hover) .player__name[data-v-1f77067f],
.player.player--other-world:not(:hover) .player__name[data-v-1f77067f] {
  opacity: 0.5;
}
.player.player--hidden .player__icon[data-v-1f77067f] {
  filter: grayscale(1);
}
.player:hover .player__name[data-v-1f77067f] span,
.player:focus .player__name[data-v-1f77067f] span,
.player:active .player__name[data-v-1f77067f] span {
  color: inherit !important;
} /*!
* Copyright 2022 James Lyne
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
fieldset {
  appearance: none;
  border: none;
  margin: 0;
  padding: 0;
}
[data-v-4f945470] .menu {
  scroll-margin-top: 8.2rem;
}
input[type='radio'] + .marker[data-v-3a029710] {
  padding-left: 3.9rem;
}
input[type='radio'] + .marker .marker__icon[data-v-3a029710] {
  max-width: 1.6rem;
  position: absolute;
  top: 0;
  left: 0.8rem;
  bottom: 0;
  margin: auto;
}
input[type='radio'] + .marker .marker__location[data-v-3a029710] {
  font-size: 1.4rem;
  font-family: monospace;
}
.markers__back[data-v-1a038d7e] {
  width: 3.2rem;
  height: 3.2rem;
  flex-grow: 0;
  margin-right: 1rem;
  transform: rotate(90deg);
}
.markers__header[data-v-1a038d7e] {
  display: flex;
  align-items: center;
  padding-bottom: 1rem;
  position: sticky;
  top: 4.8rem;
  background-color: var(--background-base);
  z-index: 3;
}
.markers__set[data-v-1a038d7e] {
  flex: 1 1 auto;
  min-width: 0;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  margin: 0;
}
[data-v-c7f0f58c] .menu,
[data-v-c7f0f58c] .menu input {
  scroll-margin-top: 14.4rem;
  scroll-margin-bottom: 6.5rem;
}
[data-v-c7f0f58c] .section__search {
  top: 9rem;
}
.sidebar {
  position: fixed;
  z-index: 110;
  top: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  padding: var(--ui-element-spacing);
  font-size: 1.5rem;
  will-change: transform;
  pointer-events: none;
}
.sidebar ul,
.sidebar ol,
.sidebar li {
  padding: 0;
  list-style: none;
  margin: 0;
}
.sidebar .sidebar__buttons {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  margin-bottom: var(--ui-element-spacing);
  pointer-events: auto;
  align-self: flex-end;
}
.sidebar .sidebar__buttons button {
  width: var(--ui-button-size);
  height: var(--ui-button-size);
  box-shadow: var(--box-shadow);
}
.sidebar .sidebar__buttons button + button {
  margin-left: var(--ui-element-spacing);
}
@media (max-width: 480px) {
  .sidebar .sidebar__buttons {
    flex-direction: column;
    align-items: flex-end;
    margin: 0;
    position: absolute;
    right: var(--ui-element-spacing);
    top: var(--ui-element-spacing);
  }
  .sidebar .sidebar__buttons button + button {
    margin-left: 0;
    margin-top: var(--ui-element-spacing);
  }
}
.sidebar .sidebar__content {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-shrink: 1;
  min-height: 0;
  overflow: auto;
  pointer-events: auto;
  margin-right: -0.5rem;
  padding: 0.2rem 0.5rem 0 0.2rem;
  width: 26rem;
  align-items: flex-end;
  overscroll-behavior: contain;
  will-change: transform;
}
.sidebar .sidebar__content:not(:hover):not(:focus-within) {
  scrollbar-color: var(--background-base) transparent;
}
.sidebar .sidebar__content:not(:hover):not(:focus-within)::-webkit-scrollbar-thumb {
  background-color: var(--background-base);
}
@media (max-width: 480px) {
  .sidebar {
    padding-right: 7rem;
    padding-top: 0.8rem;
  }
}
@media (max-width: 400px) {
  .sidebar {
    padding-right: 6.5rem;
    padding-top: 0.3rem;
    padding-bottom: 0.3rem;
  }
}
@media print {
  .sidebar {
    display: none;
  }
}
.message .message__face {
  display: inline-block;
  vertical-align: baseline;
  margin-right: 0.5rem;
  margin-bottom: -2px;
}
.message .message__channel,
.message .message__sender {
  margin-right: 0.5rem;
  word-wrap: break-word;
}
.message .message__channel {
  font-style: italic !important;
}
.message .message__channel .channel__dc {
  color: #5865f2 !important;
}
.message .message__channel:not(:empty):before {
  content: '[';
}
.message .message__channel:not(:empty):after {
  content: ']';
}
.message .message__sender:not(:empty):after {
  content: ' » ';
}
.message .message__content {
  word-wrap: break-word;
}
.message.message--playerjoin,
.message.message--playerleave {
  font-style: italic;
}
@media (max-width: 320px) {
  .message.message--chat .message__sender:after {
    content: none;
  }
  .message.message--chat .message__content {
    display: block;
    color: var(--text-emphasis);
  }
} /*!
* Copyright 2022 James Lyne
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
.chat {
  background-color: var(--background-base);
  color: var(--text-base);
  border-radius: var(--border-radius);
  box-shadow: var(--box-shadow);
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
  position: relative;
}
.chat {
  position: absolute;
  bottom: calc(var(--ui-element-spacing) * 2 + var(--ui-button-size));
  left: calc(var(--ui-element-spacing) * 2 + var(--ui-button-size));
  width: 50rem;
  max-width: calc(100% - 8rem);
  max-height: 20rem;
  display: flex;
  box-sizing: border-box;
}
.chat .chat__messages {
  display: flex;
  flex-direction: column-reverse;
  list-style: none;
  overflow: auto;
  margin: 0;
  padding: 0;
}
.chat .chat__messages .message {
  font-size: 1.6rem;
  line-height: 1.9rem;
}
.chat .chat__messages .message + .message {
  margin-bottom: 0.5rem;
}
.chat .chat__messages .message.message--skeleton {
  font-style: italic;
  color: var(--text-subtle);
}
.chat .chat__form {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  margin: 1.5rem -1.5rem -1.5rem;
}
.chat .chat__form .chat__input {
  border-bottom-left-radius: var(--border-radius);
  flex-grow: 1;
}
.chat .chat__form .chat__send {
  padding-left: 1rem;
  padding-right: 1rem;
  border-radius: 0 0 var(--border-radius) 0;
}
.chat .chat__form .chat__error {
  background-color: var(--background-error);
  color: var(--text-emphasis);
  font-size: 1.6rem;
  padding: 0.5rem 1rem;
  line-height: 2rem;
  width: 100%;
}
.chat .chat__login {
  font-size: 1.6rem;
  padding: 1.2rem;
  background-color: var(--background-light);
  color: var(--text-subtle);
  margin: 1.5rem -1.5rem -1.5rem;
  text-align: left;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
@media (max-width: 400px), (max-height: 480px) {
  .chat {
    max-width: calc(100% - 7rem);
  }
}
@media (max-width: 320px) {
  .chat .chat__messages .message + .message {
    margin-bottom: 0.7rem;
  }
}
p[data-v-be3a4872] {
  white-space: pre-line;
} /*!
* Copyright 2022 James Lyne
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
.modal .modal__header,
.modal .modal__content {
  background-color: var(--background-base);
  color: var(--text-base);
  border-radius: var(--border-radius);
  box-shadow: var(--box-shadow);
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
  position: relative;
}
.modal {
  position: fixed;
  z-index: 120;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: none;
  align-items: center;
  flex-direction: column;
  justify-content: flex-start;
  padding: 10vh 1rem;
  overflow: auto;
  pointer-events: none;
  cursor: default;
}
.modal.modal--backdrop {
  pointer-events: auto;
  background-color: #000c;
}
.modal.modal--visible {
  display: flex;
}
.modal .modal__header,
.modal .modal__content {
  max-width: 80rem;
  box-sizing: border-box;
  width: 100%;
  padding: 2rem;
  pointer-events: auto;
}
.modal .modal__header {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  position: relative;
  padding: 2rem 3rem 0;
  text-align: center;
}
.modal .modal__close {
  position: absolute;
  top: 0;
  right: 0;
  padding: 1rem;
  width: 3.5rem;
  height: 3.5rem;
  display: block;
  border-top-left-radius: 0;
  border-bottom-right-radius: 0;
}
.modal .modal__close .svg-icon {
  width: 1.5rem !important;
  height: 1.5rem !important;
}
.modal .modal__content {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
#modal--login[data-v-9c90fcb6] .modal__content {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
}
#modal--login #login__error[data-v-9c90fcb6] {
  width: 100%;
  text-align: center;
  margin-bottom: 2rem;
}
#modal--login .form[data-v-9c90fcb6] {
  width: calc(50% - 1.5rem);
  box-sizing: border-box;
}
@media (max-width: 600px) {
  #modal--login[data-v-9c90fcb6] {
    flex-direction: column;
  }
  #modal--login .form[data-v-9c90fcb6] {
    width: 100%;
  }
} /*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */
html {
  -moz-tab-size: 4;
  tab-size: 4;
}
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
}
hr {
  height: 0;
  color: inherit;
}
abbr[title] {
  text-decoration: underline dotted;
}
b,
strong {
  font-weight: bolder;
}
code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace;
  font-size: 1em;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
table {
  text-indent: 0;
  border-color: inherit;
}
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}
button,
select {
  text-transform: none;
}
button,
[type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button;
}
::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
:-moz-focusring {
  outline: 1px dotted ButtonText;
}
:-moz-ui-invalid {
  box-shadow: none;
}
legend {
  padding: 0;
}
progress {
  vertical-align: baseline;
}
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}
[type='search'] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}
::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}
summary {
  display: list-item;
}
.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
  position: absolute;
  left: 0;
  top: 0;
}
.leaflet-container {
  overflow: hidden;
}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
  user-select: none;
} /*!* Safari renders non-retina tile on retina better with this, but Chrome is worse *!
.leaflet-safari .leaflet-tile {
	image-rendering: -webkit-optimize-contrast;
	}
/*!* hack that prevents hw layers "stretching" when loading new tiles *!
.leaflet-safari .leaflet-tile-container {
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
/*	}*/
.leaflet-marker-icon,
.leaflet-marker-shadow {
  display: block;
}
.leaflet-container .leaflet-overlay-pane svg {
  max-width: none !important;
  max-height: none !important;
}
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
  max-width: none !important;
  max-height: none !important;
  width: auto;
  padding: 0;
}
.leaflet-container.leaflet-touch-zoom {
  touch-action: pan-x pan-y;
}
.leaflet-container.leaflet-touch-drag {
  touch-action: none;
  touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
  touch-action: none;
}
.leaflet-container {
  -webkit-tap-highlight-color: transparent;
}
.leaflet-tile {
  filter: inherit;
  visibility: hidden;
}
.leaflet-tile-loaded {
  visibility: inherit;
}
.leaflet-zoom-box {
  width: 0;
  height: 0;
  box-sizing: border-box;
  z-index: 800;
}
.leaflet-pane {
  z-index: 400;
}
.leaflet-tile-pane {
  z-index: 200;
}
.leaflet-overlay-pane {
  z-index: 400;
}
.leaflet-shadow-pane {
  z-index: 500;
}
.leaflet-marker-pane {
  z-index: 600;
}
.leaflet-tooltip-pane {
  z-index: 650;
}
.leaflet-popup-pane {
  z-index: 700;
}
.leaflet-map-pane canvas {
  z-index: 100;
}
.leaflet-map-pane svg {
  z-index: 200;
}
.leaflet-control {
  position: relative;
  z-index: 800;
  pointer-events: auto;
}
.leaflet-top,
.leaflet-bottom {
  position: absolute;
  z-index: 1000;
  pointer-events: none;
}
.leaflet-top {
  top: 0;
}
.leaflet-right {
  right: 0;
}
.leaflet-bottom {
  bottom: 0;
}
.leaflet-left {
  left: 0;
}
.leaflet-fade-anim .leaflet-popup {
  opacity: 0;
  transition: opacity 0.2s linear;
}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
  opacity: 1;
}
.leaflet-zoom-animated {
  transform-origin: 0 0;
}
.leaflet-zoom-anim .leaflet-zoom-animated {
  transition: transform 0.25s cubic-bezier(0, 0, 0.25, 1);
}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
  transition: none;
}
.leaflet-zoom-anim .leaflet-zoom-hide {
  visibility: hidden;
}
.leaflet-interactive {
  cursor: pointer;
}
.leaflet-grab {
  cursor: grab;
}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
  cursor: crosshair;
}
.leaflet-popup-pane,
.leaflet-control {
  cursor: auto;
}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive {
  cursor: move;
  cursor: grabbing;
}
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
  pointer-events: none;
}
.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
  pointer-events: auto;
}
.leaflet-bar a {
  display: block;
  text-align: center;
  text-decoration: none;
}
.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
  font: 700 18px Lucida Console, Monaco, monospace;
  text-indent: 1px;
}
.leaflet-touch .leaflet-control-zoom-in,
.leaflet-touch .leaflet-control-zoom-out {
  font-size: 22px;
}
.leaflet-popup {
  position: absolute;
  text-align: center;
  margin-bottom: 20px;
}
.leaflet-popup-content-wrapper {
  padding: 1px;
  text-align: left;
}
.leaflet-popup-content {
  line-height: 1.3;
  font-size: 13px;
  font-size: 1.08333em;
  min-height: 1px;
}
.leaflet-popup-content p {
  margin: 1.3em 0;
}
.leaflet-popup-tip-container {
  width: 40px;
  height: 20px;
  position: absolute;
  left: 50%;
  margin-top: -1px;
  margin-left: -20px;
  overflow: hidden;
  pointer-events: none;
}
.leaflet-popup-tip {
  width: 17px;
  height: 17px;
  padding: 1px;
  margin: -10px auto 0;
  pointer-events: auto;
  transform: rotate(45deg);
}
.leaflet-container a.leaflet-popup-close-button {
  position: absolute;
  top: 0;
  right: 0;
  border: none;
  font: 16px/24px Tahoma, Verdana, sans-serif;
  color: #757575;
  text-decoration: none;
}
.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
  color: #585858;
}
.leaflet-popup-scrolled {
  overflow: auto;
}
.leaflet-div-icon {
  background: #fff;
  border: 1px solid #666;
}
.leaflet-tooltip {
  position: absolute;
  padding: 6px;
  white-space: nowrap;
  user-select: none;
  pointer-events: none;
}
.leaflet-tooltip.leaflet-interactive {
  cursor: pointer;
  pointer-events: auto;
}
.leaflet-tooltip-bottom {
  margin-top: 6px;
}
.leaflet-tooltip-top {
  margin-top: -6px;
}
.leaflet-tooltip-left {
  margin-left: -6px;
}
.leaflet-tooltip-right {
  margin-left: 6px;
}
@media print {
  .leaflet-control {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
} /*!
 * Copyright 2022 James Lyne
 *
 * Some portions of this file were taken from https://github.com/webbukkit/dynmap.
 * These portions are Copyright 2020 Dynmap Contributors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
button,
[type='button'],
.leaflet-control-button,
.leaflet-control-layers-toggle,
.leaflet-control-logo,
.leaflet-bar a,
.leaflet-control a,
.leaflet-control button {
  appearance: none;
  box-shadow: none;
  background-color: var(--background-base);
  color: var(--text-base);
  border-radius: var(--border-radius);
  border: none;
  cursor: pointer;
  display: block;
  text-align: center;
  position: relative;
  transition: color 0.2s ease-in, background-color 0.2s ease-in;
  font-size: 1.6rem;
  font-family: Raleway, sans-serif;
  box-sizing: border-box;
  text-shadow: var(--text-shadow);
  user-select: none;
  padding: 0.8rem 0.8rem 0.7rem;
  line-height: 2rem;
  -webkit-tap-highlight-color: transparent;
}
button .svg-icon,
[type='button'] .svg-icon,
.leaflet-control-button .svg-icon,
.leaflet-control-layers-toggle .svg-icon,
.leaflet-control-logo .svg-icon,
.leaflet-bar a .svg-icon,
.leaflet-control a .svg-icon {
  display: inline-block;
  max-width: 3rem;
  max-height: 3rem;
  pointer-events: none;
}
button .svg-icon:only-child,
[type='button'] .svg-icon:only-child,
.leaflet-control-button .svg-icon:only-child,
.leaflet-control-layers-toggle .svg-icon:only-child,
.leaflet-control-logo .svg-icon:only-child,
.leaflet-bar a .svg-icon:only-child,
.leaflet-control a .svg-icon:only-child {
  position: absolute;
  width: calc(100% - 1.6rem);
  height: calc(100% - 1.6rem);
  min-width: 1.5rem;
  min-height: 1.5rem;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
button > span,
[type='button'] > span,
.leaflet-control-button > span,
.leaflet-control-layers-toggle > span,
.leaflet-control-logo > span,
.leaflet-bar a > span,
.leaflet-control a > span,
.leaflet-control button > span {
  display: block;
  text-overflow: inherit;
  overflow: inherit;
  white-space: inherit;
}
button:hover,
[type='button']:hover,
.leaflet-control-button:hover,
.leaflet-control-layers-toggle:hover,
.leaflet-control-logo:hover,
.leaflet-bar a:hover,
.leaflet-control a:hover {
  background-color: var(--background-hover);
  color: var(--text-hover);
}
button[aria-expanded='true'],
[aria-expanded='true'][type='button'],
[aria-expanded='true'].leaflet-control-button,
[aria-expanded='true'].leaflet-control-layers-toggle,
[aria-expanded='true'].leaflet-control-logo,
.leaflet-bar a[aria-expanded='true'],
.leaflet-control a[aria-expanded='true'],
button[aria-pressed='true'],
[aria-pressed='true'][type='button'],
[aria-pressed='true'].leaflet-control-button,
[aria-pressed='true'].leaflet-control-layers-toggle,
[aria-pressed='true'].leaflet-control-logo,
.leaflet-bar a[aria-pressed='true'],
.leaflet-control a[aria-pressed='true'] {
  background-color: var(--background-selected);
  color: var(--text-selected);
  font-weight: 700;
  text-shadow: none;
}
button:focus,
[type='button']:focus,
.leaflet-control-button:focus,
.leaflet-control-layers-toggle:focus,
.leaflet-control-logo:focus,
.leaflet-bar a:focus,
.leaflet-control a:focus {
  outline: var(--outline-focus) auto thick !important;
  z-index: 1;
  border-color: var(--background-dark);
}
button:focus:not(:focus-visible),
[type='button']:focus:not(:focus-visible),
.leaflet-control-button:focus:not(:focus-visible),
.leaflet-control-layers-toggle:focus:not(:focus-visible),
.leaflet-control-logo:focus:not(:focus-visible),
.leaflet-bar a:focus:not(:focus-visible),
.leaflet-control a:focus:not(:focus-visible) {
  outline-style: none;
  z-index: auto;
}
button:active,
[type='button']:active,
.leaflet-control-button:active,
.leaflet-control-layers-toggle:active,
.leaflet-control-logo:active,
.leaflet-bar a:active,
.leaflet-control a:active {
  background-color: var(--background-active);
  color: var(--text-active);
}
button[disabled],
[disabled][type='button'],
[disabled].leaflet-control-button,
[disabled].leaflet-control-layers-toggle,
[disabled].leaflet-control-logo,
.leaflet-bar a[disabled],
.leaflet-control a[disabled],
button[aria-disabled='true'],
[aria-disabled='true'][type='button'],
[aria-disabled='true'].leaflet-control-button,
[aria-disabled='true'].leaflet-control-layers-toggle,
[aria-disabled='true'].leaflet-control-logo,
.leaflet-bar a[aria-disabled='true'],
.leaflet-control a[aria-disabled='true'] {
  background-color: var(--background-disabled);
  color: var(--text-disabled);
  cursor: not-allowed;
}
button[disabled]:hover,
[disabled][type='button']:hover,
[disabled].leaflet-control-button:hover,
[disabled].leaflet-control-layers-toggle:hover,
[disabled].leaflet-control-logo:hover,
.leaflet-bar a[disabled]:hover,
.leaflet-control a[disabled]:hover,
button[disabled]:active,
[disabled][type='button']:active,
[disabled].leaflet-control-button:active,
[disabled].leaflet-control-layers-toggle:active,
[disabled].leaflet-control-logo:active,
.leaflet-bar a[disabled]:active,
.leaflet-control a[disabled]:active,
button[disabled]:focus,
[disabled][type='button']:focus,
[disabled].leaflet-control-button:focus,
[disabled].leaflet-control-layers-toggle:focus,
[disabled].leaflet-control-logo:focus,
.leaflet-bar a[disabled]:focus,
.leaflet-control a[disabled]:focus,
button[aria-disabled='true']:hover,
[aria-disabled='true'][type='button']:hover,
[aria-disabled='true'].leaflet-control-button:hover,
[aria-disabled='true'].leaflet-control-layers-toggle:hover,
[aria-disabled='true'].leaflet-control-logo:hover,
.leaflet-bar a[aria-disabled='true']:hover,
.leaflet-control a[aria-disabled='true']:hover,
button[aria-disabled='true']:active,
[aria-disabled='true'][type='button']:active,
[aria-disabled='true'].leaflet-control-button:active,
[aria-disabled='true'].leaflet-control-layers-toggle:active,
[aria-disabled='true'].leaflet-control-logo:active,
.leaflet-bar a[aria-disabled='true']:active,
.leaflet-control a[aria-disabled='true']:active,
button[aria-disabled='true']:focus,
[aria-disabled='true'][type='button']:focus,
[aria-disabled='true'].leaflet-control-button:focus,
[aria-disabled='true'].leaflet-control-layers-toggle:focus,
[aria-disabled='true'].leaflet-control-logo:focus,
.leaflet-bar a[aria-disabled='true']:focus,
.leaflet-control a[aria-disabled='true']:focus {
  background-color: var(--background-disabled);
  color: var(--text-disabled);
}
.clock,
.leaflet-control-layers .leaflet-control-layers-list {
  background-color: var(--background-base);
  color: var(--text-base);
  border-radius: var(--border-radius);
  box-shadow: var(--box-shadow);
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
  position: relative;
}
.vue-notification-group {
  z-index: 130 !important;
}
.vue-notification-group .notification {
  margin: 0 0.5rem 1rem;
  padding: 1rem 1.5rem;
  min-height: var(--ui-button-size);
  font-size: 1.6rem;
  font-family: Raleway, sans-serif;
  color: var(--text-base);
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-radius: var(--border-radius);
  box-shadow: var(--box-shadow);
  background: var(--background-base);
  border-left: none;
}
.vue-notification-group .notification.success {
  background: #68cd86;
  border-left-color: #42a85f;
}
.vue-notification-group .notification.warn {
  background: #ffb648;
  border-left-color: #f48a06;
}
.vue-notification-group .notification.error {
  background: var(--background-error);
  border-left-color: #b82e24;
}
@media screen and (max-width: 767px) {
  .vue-notification-group .vue-notification-wrapper:first-child:before {
    content: '';
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    display: block;
    height: 10rem;
    background-image: linear-gradient(0deg, var(--background-dark), transparent);
    z-index: -1;
  }
}
.leaflet-control {
  background-color: var(--background-base);
  border-radius: var(--border-radius);
  box-shadow: var(--box-shadow);
  margin: 0;
  box-sizing: border-box;
  overflow: visible;
  font-size: 1.5rem;
  flex-shrink: 0;
}
.leaflet-control > a:not(:hover):not(:focus):not(:active):not([aria-expanded='true']),
.leaflet-control > button:not(:hover):not(:focus):not(:active):not([aria-expanded='true']) {
  background-color: transparent;
}
@media print {
  .leaflet-control {
    display: none !important;
  }
}
.leaflet-bar {
  display: flex;
  align-items: center;
  padding: 0;
  border: none;
  box-shadow: var(--box-shadow);
}
.leaflet-bar a {
  border-radius: 0;
  border-bottom: 0.1rem solid var(--border-color);
}
.leaflet-bar a:first-child {
  border-top-left-radius: var(--border-radius);
  border-top-right-radius: var(--border-radius);
}
.leaflet-bar a:last-child {
  border-bottom-left-radius: var(--border-radius);
  border-bottom-right-radius: var(--border-radius);
  border-bottom: none;
}
.leaflet-bar a.leaflet-disabled {
  background-color: var(--background-disabled);
  cursor: not-allowed;
}
.leaflet-bar a.leaflet-disabled:hover {
  color: var(--text-disabled);
  border-bottom-color: var(--border-color);
}
.leaflet-bar a:hover {
  border-bottom-color: var(--border-color);
}
@media print {
  .leaflet-bar {
    display: none !important;
  }
}
.leaflet-control-button,
.leaflet-control-layers-toggle,
.leaflet-control-logo,
.leaflet-bar a {
  line-height: 3.5rem;
  width: var(--ui-button-size);
  height: var(--ui-button-size);
}
.leaflet-control-zoom {
  flex-shrink: 0;
}
.leaflet-control-zoom a {
  font-family: sans-serif;
}
.leaflet-control-coordinates {
  display: flex;
  align-items: center;
  padding: 0.5rem 1.5rem;
}
.leaflet-control-coordinates .value {
  line-height: 1;
  font-family: monospace;
  white-space: pre;
  font-size: 2rem;
}
.leaflet-control-coordinates .value[data-label]:before {
  content: attr(data-label);
  display: block;
  line-height: 1;
  margin-bottom: 0.5rem;
  font-size: 1.25rem;
  font-family: Raleway, sans-serif;
}
.leaflet-control-coordinates .value + .value {
  margin-left: 2rem;
}
@media (max-width: 600px) {
  .leaflet-control-coordinates .region {
    display: none;
  }
}
@media (max-width: 480px), (max-height: 480px) {
  .leaflet-control-coordinates .value {
    font-size: 1.6rem;
  }
}
@media (max-width: 384px) {
  .leaflet-control-coordinates .chunk {
    display: none;
  }
}
.leaflet-control-layers {
  width: auto;
  border: none;
  color: var(--text-base);
  position: relative;
}
.leaflet-control-layers .leaflet-control-layers-list {
  display: block;
  position: absolute;
  top: 0;
  left: calc(var(--ui-element-spacing) + var(--ui-button-size));
  overflow: auto;
  max-width: calc(100vw - 14rem);
  box-sizing: border-box;
}
@media screen and (max-width: 400px) {
  .leaflet-control-layers .leaflet-control-layers-list {
    max-width: calc(100vw - 13rem);
  }
}
.leaflet-control-layers .leaflet-control-layers-list .leaflet-control-layers-overlays {
  width: 100%;
  max-width: 30rem;
}
.leaflet-control-layers .leaflet-control-layers-list .layer {
  cursor: pointer;
  padding: 0.8rem 0 0.7rem;
}
.leaflet-control-layers .leaflet-control-layers-list .layer:first-child {
  margin-top: -0.4rem;
}
.leaflet-control-layers .leaflet-control-layers-list .layer:last-child {
  margin-bottom: -0.4rem;
}
.leaflet-control-logo {
  flex-shrink: 0;
}
.leaflet-control-logo a {
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.leaflet-control-logo a img {
  max-width: 46px !important;
  max-height: 46px !important;
}
.leaflet-top,
.leaflet-bottom,
.leaflet-left,
.leaflet-right {
  display: flex;
}
.leaflet-left {
  padding-left: var(--ui-element-spacing);
}
.leaflet-right {
  padding-right: var(--ui-element-spacing);
}
.leaflet-top {
  padding-top: var(--ui-element-spacing);
  flex-direction: column;
  top: 0;
  bottom: calc(var(--ui-element-spacing) * 2 + var(--ui-button-size));
  align-items: flex-start;
  z-index: 1003;
}
.leaflet-top .leaflet-control {
  order: 2;
  min-width: var(--ui-button-size);
  margin-bottom: var(--ui-element-spacing);
}
.leaflet-top .leaflet-control:first-child {
  margin-top: 0;
}
.leaflet-top .leaflet-control-loading {
  order: 3;
}
.leaflet-top .leaflet-bar {
  flex-direction: column;
}
.leaflet-top .leaflet-control-logo {
  order: 1;
  margin-top: 0 !important;
}
.leaflet-top .leaflet-control-logo + .leaflet-control-logo {
  margin-top: var(--ui-element-spacing) !important;
}
.leaflet-top .leaflet-control-bottom {
  margin-top: auto;
}
.leaflet-top .leaflet-control-bottom:last-child {
  margin-bottom: 0;
}
.leaflet-top .leaflet-control-bottom ~ .leaflet-control-bottom {
  margin-top: 0;
}
.leaflet-top .leaflet-control-chat {
  order: 1000;
}
.leaflet-top .leaflet-control-login {
  order: 900;
}
@media (max-width: 480px) and (pointer: coarse), (max-height: 480px) and (pointer: coarse), (max-height: 400px) {
  .leaflet-top .leaflet-control-zoom {
    display: none;
  }
  .leaflet-top .leaflet-control-zoom + .leaflet-control {
    margin-top: 0;
  }
}
.leaflet-bottom {
  padding-bottom: var(--ui-element-spacing);
  align-items: stretch;
  z-index: 1002;
}
.leaflet-bottom .leaflet-control {
  order: 2;
}
.leaflet-bottom .leaflet-control-link {
  order: 1;
}
.leaflet-bottom.leaflet-left .leaflet-control {
  margin-right: var(--ui-element-spacing);
}
.leaflet-center {
  left: 0;
  right: 0;
  justify-content: center;
  flex-direction: row;
  z-index: 1001;
}
.leaflet-center .leaflet-control {
  margin: 0;
}
.leaflet-control-loading {
  cursor: wait;
  animation: fade 0.3s linear;
  animation-fill-mode: forwards;
}
.leaflet-control-loading:hover,
.leaflet-control-loading:active,
.leaflet-control-loading:focus {
  background-color: var(--background-base);
}
.leaflet-control-loading[hidden] {
  display: none;
}
.leaflet-popup .leaflet-popup-content-wrapper,
.leaflet-popup .leaflet-popup-tip {
  background-color: var(--background-base);
  color: var(--text-base);
  box-shadow: var(--box-shadow);
}
.leaflet-popup .leaflet-popup-content-wrapper {
  max-height: 50vh;
  display: flex;
  border-radius: var(--border-radius);
  box-shadow: var(--box-shadow);
}
.leaflet-popup .leaflet-popup-content {
  margin: 1rem;
  overflow: auto;
  word-break: break-word;
}
.leaflet-popup.leaflet-popup--chat .leaflet-popup-content {
  margin: 0.5rem 1rem;
  display: flex;
  flex-direction: column;
}
.leaflet-container a.leaflet-popup-close-button {
  background-color: var(--background-base);
  border-radius: var(--border-radius);
  width: 2rem;
  height: 2rem;
  top: -1rem;
  right: -1rem;
  text-align: center;
  padding: 0;
  line-height: 2rem;
}
@media print {
  .leaflet-popup {
    display: none;
  }
}
.leaflet-tooltip {
  background-color: var(--background-base);
  color: var(--text-base);
  box-shadow: var(--box-shadow);
  border-radius: var(--border-radius);
  border: none;
  will-change: transform;
}
.leaflet-tooltip:before {
  content: none;
} /*!
 * Copyright 2022 James Lyne
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
.map .marker {
  display: flex;
  align-items: center;
}
.map .marker.marker--player {
  transition: transform 0.3s ease-in 0s;
  height: 1.2rem;
  margin-left: -0.6rem;
  margin-top: -0.6rem;
}
.map .marker.marker--player:before {
  content: '';
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  position: absolute;
  left: 0;
  background-color: var(--text-emphasis);
  border: 0.2rem solid var(--background-marker);
  border-radius: 50%;
}
.map .marker.marker--player .marker__label {
  display: grid !important;
  grid-template-columns: min-content 1fr;
  grid-template-rows: 1fr min-content min-content min-content 1fr;
  grid-auto-flow: column;
  margin-left: 1.6rem;
  background-clip: padding-box;
  padding: 0.2rem 0.5rem;
  align-items: center;
}
.map .marker.marker--player .player__icon {
  grid-row: 1/-1;
  margin-right: 0.5rem;
  margin-left: -0.3rem;
}
.map .marker.marker--player .player__name {
  grid-row: 2;
}
.map .marker.marker--player .player__name:not(:last-child) {
  padding-bottom: 0.2rem;
}
.map .marker.marker--player .player__health,
.map .marker.marker--player .player__armor {
  width: 7rem;
  height: 0.7rem;
  box-sizing: content-box;
}
.map .marker.marker--player .player__health,
.map .marker.marker--player .player__health::-webkit-meter-inner-element,
.map .marker.marker--player .player__health::-webkit-meter-bar,
.map .marker.marker--player .player__armor,
.map .marker.marker--player .player__armor::-webkit-meter-inner-element,
.map .marker.marker--player .player__armor::-webkit-meter-bar {
  border-radius: 0;
  background: none;
  border: none;
  box-shadow: none;
  image-rendering: crisp-edges;
  image-rendering: pixelated;
  display: block;
  top: 0;
  bottom: 0;
}
.map .marker.marker--player .player__health {
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHBAMAAAA2fErgAAAAD1BMVEUAAAAXFhZFRkgsLC5hY2bAyCi+AAAAAXRSTlMAQObYZgAAAChJREFUCNdjYBQQZGAQUVQSYBByAhLCSsoCDIxGhgwMDMICQIKRgQEAKHQCAAUrkucAAAAASUVORK5CYII=)
    repeat-x left center;
}
.map .marker.marker--player .player__health::-webkit-meter-optimum-value {
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHBAMAAAA2fErgAAAAD1BMVEUAAAArAgvaJCSsCy/sV0SEKlj7AAAAAXRSTlMAQObYZgAAAChJREFUCNdjYBQQZGAQUVQSYBByAhLCSsoCDIxGhgwMDMICQIKRgQEAKHQCAAUrkucAAAAASUVORK5CYII=)
    repeat-x left center;
}
.map .marker.marker--player .player__health::-moz-meter-bar {
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHBAMAAAA2fErgAAAAD1BMVEUAAAArAgvaJCSsCy/sV0SEKlj7AAAAAXRSTlMAQObYZgAAAChJREFUCNdjYBQQZGAQUVQSYBByAhLCSsoCDIxGhgwMDMICQIKRgQEAKHQCAAUrkucAAAAASUVORK5CYII=)
    repeat-x left center;
}
.map .marker.marker--player .player__armor {
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHBAMAAAA2fErgAAAAD1BMVEUAAAAUFBVFRkgsLC5hY2YEDfiMAAAAAXRSTlMAQObYZgAAACdJREFUCNdjYBQQZGAQUlQSYBBSURZgYHQyZGBgVAIRxkCCQVCAAQAn5gI/LmmazgAAAABJRU5ErkJggg==)
    repeat-x left center;
}
.map .marker.marker--player .player__armor::-webkit-meter-optimum-value {
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHBAMAAAA2fErgAAAAD1BMVEUAAAAUFBW/wcSLjI7z9PWBWai1AAAAAXRSTlMAQObYZgAAACdJREFUCNdjYBQQZGAQUlQSYBBSURZgYHQyZGBgVAIRxkCCQVCAAQAn5gI/LmmazgAAAABJRU5ErkJggg==)
    repeat-x left center;
}
.map .marker.marker--player .player__armor::-moz-meter-bar {
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHBAMAAAA2fErgAAAAD1BMVEUAAAAUFBW/wcSLjI7z9PWBWai1AAAAAXRSTlMAQObYZgAAACdJREFUCNdjYBQQZGAQUlQSYBBSURZgYHQyZGBgVAIRxkCCQVCAAQAn5gI/LmmazgAAAABJRU5ErkJggg==)
    repeat-x left center;
}
.map .marker.marker--player .player__yaw {
  --player-yaw: 0deg;
  position: relative;
  transform: rotate(var(--player-yaw));
  transition: 0.1s transform ease-in;
}
.map .marker.marker--player .player__yaw,
.map .marker.marker--player .player__yaw:after {
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent transparent var(--background-marker);
  border-width: 0 0.7rem 2rem 0.7rem;
}
.map .marker.marker--player .player__yaw:after {
  content: '';
  top: 0.5rem;
  left: -0.4rem;
  border-width: 0 0.4rem 1.3rem 0.4rem;
  border-bottom-color: var(--text-emphasis);
}
.no-animations .marker.marker--player .player__yaw {
  transition: none;
}
.map .marker.marker--player.marker--compact .marker__label {
  background-color: transparent;
}
.map .marker.marker--player.marker--compact .player__icon {
  margin-right: 0.2rem;
}
.map .marker.marker--player.marker--compact .player__armor,
.map .marker.marker--player.marker--compact .player__health,
.map .marker.marker--player.marker--compact .player__name {
  background-color: var(--background-marker);
}
.map .marker.marker--player.marker--compact .player__name {
  padding: 0.2rem;
}
.map .marker.marker--player.marker--compact .player__armor,
.map .marker.marker--player.marker--compact .player__health {
  border: 0.2rem solid var(--background-marker);
  border-top-width: 0;
  border-bottom-width: 0;
}
.map .marker.marker--player.marker--compact .player__armor:last-child,
.map .marker.marker--player.marker--compact .player__health:last-child {
  border-bottom-width: 0.2rem;
}
.map .marker.marker--player.player--yaw:before {
  content: none;
}
.map .marker.marker--player.player--yaw .marker__label {
  margin-left: 1.8rem;
}
.map .marker .marker__label {
  flex: 0 0 auto;
  z-index: 20;
  font-size: 1.5rem;
  line-height: 1;
  white-space: pre-line;
  color: var(--text-marker);
  background: var(--background-marker);
  padding: 0.2rem;
  display: none;
  width: max-content;
  max-width: 30rem;
  position: absolute;
  left: calc(100% + 0.2rem);
}
.leaflet-pane--show-labels .marker__label {
  display: block !important;
}
.map .marker.marker--auto-size .marker__icon {
  margin-top: -50%;
  margin-left: -50%;
}
.map .marker.marker--auto-size .marker__label {
  margin-top: -50%;
  left: calc(50% + 0.2rem);
}
.map .marker:hover,
.map .marker:focus {
  z-index: 1000;
}
.map .marker:hover .marker__label,
.map .marker:focus .marker__label {
  display: block;
  outline: auto;
}
.map .marker:focus .marker__label {
  outline: auto;
}
.map .marker:focus:not(:focus-visible) {
  z-index: auto;
}
.map .marker:focus:not(:focus-visible) .marker__label {
  display: none;
}
.no-animations .marker.marker--player {
  transition: none;
}
@media print {
  .map .marker {
    display: none !important;
  }
}
.leaflet-container {
  font-family: inherit;
  font-size: 1.5rem;
  font-weight: inherit;
  line-height: 1;
}
.leaflet-container *:focus {
  outline-style: auto !important;
}
.leaflet-container *:focus:not(:focus-visible) {
  outline-style: none !important;
}
@keyframes spin {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}
@font-face {
  font-family: Raleway;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/raleway/v22/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrE.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122,
    U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Raleway;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/raleway/v22/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVsEpbCIPrE.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122,
    U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root {
  --ui-button-size: 5rem;
  --ui-element-spacing: 1rem;
}
@media (max-width: 400px), (max-height: 480px) {
  :root {
    --ui-button-size: 4.4rem;
    --ui-element-spacing: 0.7rem;
  }
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 400;
  margin-top: 0;
  color: var(--text-emphasis);
}
h1 {
  font-size: 3rem;
}
h2 {
  font-size: 2rem;
  line-height: 2.4rem;
  margin-bottom: 1rem;
}
a {
  color: var(--text-base);
}
input {
  appearance: none;
  background-color: var(--background-light);
  box-shadow: none;
  color: var(--text-base);
  font-size: 1.6rem;
  padding: 1rem;
  border: 0.2rem solid var(--border-color);
  border-radius: 0.3rem;
}
input:focus {
  color: var(--text-emphasis);
  outline-color: var(--text-emphasis);
}
input:focus:not(:focus-visible) {
  color: var(--text-base);
}
input[disabled] {
  background-color: var(--background-disabled);
  border-color: var(--border-color);
  cursor: not-allowed;
}
:focus:not(:focus-visible) {
  outline: none !important;
}
:focus {
  outline: var(--outline-focus) auto thick !important;
}
:focus-visible {
  outline: var(--outline-focus) auto thick !important;
}
.checkbox {
  display: flex;
  position: relative;
  align-items: center;
}
.checkbox:before,
.checkbox svg,
.checkbox input[type='checkbox'] {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto 1rem auto 0;
}
.checkbox:before {
  content: '';
  width: 2.2rem;
  height: 2.2rem;
  border: 0.2rem solid #cccccc;
  border-radius: 0.3rem;
  background-color: transparent;
  box-sizing: border-box;
  z-index: 0;
}
.checkbox input[type='checkbox'] {
  width: 2.4rem;
  height: 2.4rem;
  opacity: 0;
  z-index: 2;
}
.checkbox input[type='checkbox']:checked ~ span {
  color: var(--text-base);
}
.checkbox input[type='checkbox']:checked + svg {
  opacity: 1;
}
.checkbox input[type='checkbox']:focus ~ span:after {
  content: '';
  outline: var(--outline-focus) auto thick;
  position: absolute;
  top: 0;
  right: -0.5rem;
  bottom: 0;
  left: -0.5rem;
  border-radius: 0.5rem;
}
.checkbox input[type='checkbox']:focus:not(:focus-visible) ~ span:after {
  content: none;
}
.checkbox svg {
  opacity: 0;
  transition: opacity 0.2s ease-in;
  z-index: 1;
}
.checkbox span {
  color: var(--text-subtle);
  padding-left: 3rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
}
.menu {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 1.6rem;
  min-width: 0;
}
.menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.menu > li {
  display: flex;
  position: relative;
}
.menu > li > button {
  background-color: transparent;
  flex-grow: 1;
}
.menu > input[type='radio'] {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  width: 1px;
  position: absolute;
  padding: 0;
  border: none;
}
.menu > input[type='radio'] + label {
  appearance: none;
  box-shadow: none;
  background-color: var(--background-base);
  color: var(--text-base);
  border-radius: var(--border-radius);
  border: none;
  cursor: pointer;
  display: block;
  text-align: center;
  position: relative;
  transition: color 0.2s ease-in, background-color 0.2s ease-in;
  font-size: 1.6rem;
  font-family: Raleway, sans-serif;
  box-sizing: border-box;
  text-shadow: var(--text-shadow);
  user-select: none;
  padding: 0.8rem 0.8rem 0.7rem;
  line-height: 2rem;
  -webkit-tap-highlight-color: transparent;
  background-color: transparent;
  margin-bottom: 0.1rem;
}
.menu > input[type='radio'] + label .svg-icon {
  display: inline-block;
  max-width: 3rem;
  max-height: 3rem;
  pointer-events: none;
}
.menu > input[type='radio'] + label .svg-icon:only-child {
  position: absolute;
  width: calc(100% - 1.6rem);
  height: calc(100% - 1.6rem);
  min-width: 1.5rem;
  min-height: 1.5rem;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.menu > input[type='radio'] + label > span {
  display: block;
  text-overflow: inherit;
  overflow: inherit;
  white-space: inherit;
}
.menu > input[type='radio'] + label:hover {
  background-color: var(--background-hover);
  color: var(--text-hover);
  position: relative;
}
.menu > input[type='radio']:checked + label {
  background-color: var(--background-selected);
  color: var(--text-selected);
  font-weight: 700;
  text-shadow: none;
  position: relative;
}
.menu > input[type='radio']:focus + label {
  outline: var(--outline-focus) auto thick !important;
  z-index: 1;
  border-color: var(--background-dark);
}
.menu > input[type='radio']:focus:not(:focus-visible) + label {
  z-index: auto;
  outline: none !important;
}
.menu > input[type='radio']:active + label {
  background-color: var(--background-active);
  color: var(--text-active);
}
.menu > input[type='radio']:disabled + label {
  background-color: var(--background-disabled);
  color: var(--text-disabled);
  cursor: not-allowed;
}
.menu > input[type='radio']:disabled + label:hover,
.menu > input[type='radio']:disabled + label:active,
.menu > input[type='radio']:disabled + label:focus {
  background-color: var(--background-disabled);
  color: var(--text-disabled);
}
.menu > li > button,
.menu > input[type='radio'] + label,
.menu > button {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  text-align: left;
  border-radius: 0.5rem;
}
.menu > button {
  width: 100%;
  text-align: center;
}
img {
  image-rendering: crisp-edges;
  image-rendering: pixelated;
}
.clock {
  position: relative;
  width: 15rem;
  height: 6rem;
  z-index: 50;
  font-family: monospace;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0.5rem 2rem;
  overflow: hidden;
}
.clock .clock__time {
  text-align: center;
  font-size: 2rem;
  line-height: 2rem;
  margin-top: auto;
  background-color: var(--background-base);
  z-index: 1;
  padding: 0.1rem 0.1rem 0;
  border-radius: 0.3rem;
}
.clock .clock__time.night {
  color: var(--text-night);
}
.clock .clock__time.day {
  color: var(--text-day);
}
.clock .clock__time.night,
.clock .clock__time.day {
  transition: color 8s 8s linear;
}
.clock .clock__sun,
.clock .clock__moon {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.clock .clock__sun svg,
.clock .clock__moon svg {
  width: 15rem;
  height: 12rem;
}
.clock.clock--digital {
  justify-content: center;
  height: var(--ui-button-size);
  width: auto;
}
.clock.clock--digital .clock__sun,
.clock.clock--digital .clock__moon {
  display: none;
}
.clock.clock--digital .clock__time {
  margin: 0;
  font-size: 3rem;
}
@media (max-width: 480px), (max-height: 480px) {
  .clock {
    transform: scale(0.8333333333);
    transform-origin: top center;
  }
}
.form .form__group {
  margin-bottom: 1.5rem;
  display: flex;
  flex-direction: column;
}
.form .form__label {
  font-size: 1.6rem;
  margin-bottom: 0.5rem;
  color: var(--text-emphasis);
}
.form.form--invalid input:invalid {
  border-color: var(--border-error);
}
.alert {
  display: flex;
  flex-direction: column;
  padding: 1rem;
  background-color: var(--background-error);
  border-radius: var(--border-radius);
}
@media print {
  @page {
    size: 297mm 210mm;
  }
}
