.svg-icon {
  pointer-events:none;
  fill:currentColor;
  height:24px;
  width:24px
}
.world[data-v-219749ac] {
  display:flex;
  align-items:center;
  margin-bottom:.5rem;
  padding-left:.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:.2rem;
  list-style:none;
  margin-right:-.5rem
}
.map[data-v-219749ac] {
  width:3.2rem;
  height:3.2rem;
  margin-right:.5rem
}
.map .svg-icon[data-v-219749ac],
.map img[data-v-219749ac] {
  position:absolute;
  top:.2rem!important;
  right:.2rem!important;
  bottom:.2rem!important;
  left:.2rem!important;
  width:calc(100% - .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:.5rem;
  position:relative;
  z-index:1
}
#map-context-menu[data-v-074fda55] .world {
  padding:.2rem 0 .2rem .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:.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:.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:.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:.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:-.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 .5rem;
  margin: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:.5rem 1rem;
  box-sizing:border-box;
  width:100%;
  position:sticky;
  top:4.8rem;
  z-index:3;
  box-shadow:0 1.5rem .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:.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:.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:-.5rem;
  padding:.2rem .5rem 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:.8rem
  }
}
@media (max-width: 400px) {
  .sidebar {
    padding-right:6.5rem;
    padding-top:.3rem;
    padding-bottom:.3rem
  }
}
@media print {
  .sidebar {
    display:none
  }
}
.message .message__face {
  display:inline-block;
  vertical-align:baseline;
  margin-right:.5rem
}
.message .message__channel,
.message .message__sender {
  margin-right:.5rem;
  word-wrap:break-word
}
.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:.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:.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:.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:-.25em
}
sup {
  top:-.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 .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 .25s cubic-bezier(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 .2s ease-in,background-color .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:.8rem .8rem .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 .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:.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:.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:.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:.8rem 0 .7rem
}
.leaflet-control-layers .leaflet-control-layers-list .layer:first-child {
  margin-top:-.4rem
}
.leaflet-control-layers .leaflet-control-layers-list .layer:last-child {
  margin-bottom:-.4rem
}
.leaflet-control-logo {
  flex-shrink:0
}
.leaflet-control-logo a {
  height:100%;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center
}
.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 .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:.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 .3s ease-in 0s;
  height:1.2rem;
  margin-left:-.6rem;
  margin-top:-.6rem
}
.map .marker.marker--player:before {
  content:"";
  display:block;
  width:.8rem;
  height:.8rem;
  position:absolute;
  left:0;
  background-color:var(--text-emphasis);
  border:.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:.2rem .5rem;
  align-items:center
}
.map .marker.marker--player .player__icon {
  grid-row:1/-1;
  margin-right:.5rem;
  margin-left:-.3rem
}
.map .marker.marker--player .player__name {
  grid-row:2
}
.map .marker.marker--player .player__name:not(:last-child) {
  padding-bottom:.2rem
}
.map .marker.marker--player .player__health,
.map .marker.marker--player .player__armor {
  width:7rem;
  height:.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:.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 .7rem 2rem .7rem
}
.map .marker.marker--player .player__yaw:after {
  content:"";
  top:.5rem;
  left:-.4rem;
  border-width:0 .4rem 1.3rem .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:.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:.2rem
}
.map .marker.marker--player.marker--compact .player__armor,
.map .marker.marker--player.marker--compact .player__health {
  border:.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:.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:.2rem;
  display:none;
  width:max-content;
  max-width:30rem;
  position:absolute;
  left:calc(100% + .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% + .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: .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:.2rem solid var(--border-color);
  border-radius:.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:.2rem solid #cccccc;
  border-radius:.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:-.5rem;
  bottom:0;
  left:-.5rem;
  border-radius:.5rem
}
.checkbox input[type=checkbox]:focus:not(:focus-visible)~span:after {
  content:none
}
.checkbox svg {
  opacity:0;
  transition:opacity .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 .2s ease-in,background-color .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:.8rem .8rem .7rem;
  line-height:2rem;
  -webkit-tap-highlight-color:transparent;
  background-color:transparent;
  margin-bottom:.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:.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:.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:.1rem .1rem 0;
  border-radius:.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(.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:.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
  }
}
.map .marker.marker--player .player__icon {
  height: 75px !important;
  width: auto !important;
  margin-left: 15px !important;
  margin-right: 15px !important;
}
.map .marker.marker--player .marker__label 
{
  background: var(--pmarker) !important;
  border-radius: var(--border-radius);
}
.player .player__icon[data-v-1f77067f] {
  height: 48px !important;
  width: auto !important;
}
input[type=radio]+.marker .marker__icon[data-v-3a029710] {
  height: 32px;
  width: 32px;
  max-width: 1000000px !important;
  left: 0px !important;
}
#qvhhackbox2 {
  display: none;
}
:root[data-theme="light"]  .darkicon {
  display:none;
  fill: currentColor;
}
:root[data-theme="dark"]  .lighticon {
  display:none;
  fill: currentColor;
}
#qvhhackbox1 .svg-icon {
  height: auto !important;
  width: auto !important;
}
.map.leaflet-container.leaflet-touch.leaflet-grab.leaflet-touch-drag.leaflet-touch-zoom {
  background-color: var(--background-base) !important;
}
#icon--loading {
  stroke: var(--text-day) !important;
}
.dial-box {
  font-size: 15px;
}
.dial-coord {
  font-size: 10px;
}
.dial-wiki {
  font-size: 10px;
}

.dial-name {
  font-size: 20px;
}
.dial-bar {
  background-color: var(--text-base);
  width: 100%;
  height: 0.1em;
  margin-top: -0.5em;
  margin-bottom: -0.5em;
}
.dial-img {
  margin-top: 1em;
  margin-bottom: -0.5em;
  width: 100%;
}
.leaflet-popup-content-wrapper {
  height: auto !important;
  max-height: 100vh !important;
}
* {
  image-rendering: auto !important;
}



        /* Theme colours */
@font-face {
  font-family: 'Fira Code';
  src: url('/live-atlas/assets/FiraCode-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
}
* {
  font-family: 'Fira Code' !important;
}
:root[data-theme="dark"] {
  --background-base: #1a1b26;
  --background-dark: #15161E;
  --background-light: #a9b1d6;
  --background-error: #f7768e;
  --background-disabled: #ff9e64;
  --background-hover: #15161E;
  --background-active: #a9b1d6;
  --background-selected: #a9b1d6;
  --border-color: #1a1b26;
  --border-error: #f7768e;
  --text-night: #bb9af7;
  --text-day: #e0af68;
  --text-base: #c0caf5;
  --text-subtle: #7dcfff;
  --pmarker:#1a1b26a3;
}
:root[data-theme="light"] {
  --background-base: #e1e2e7;
  --background-dark: #e9e9ed;
  --background-light: #3760bf;
  --background-error: #f52a65;
  --background-disabled: #8c6c3e;
  --background-hover: #e9e9ed;
  --background-active: #6172b0;
  --background-selected: #6172b0;
  --border-color: #e9e9ed;
  --border-error: #f52a65;
  --text-night: #9854f1;
  --text-day: #8c6c3e;
  --text-base: #3760bf;
  --text-subtle: #007197;
  --pmarker:#e1e2e7a3;
}
input {
  background-color: var(--background-selected) !important;
  color: var(--text-selected) !important;
}
:root {
  --outline-focus: rgba(0, 0, 0, 0);
  --text-emphasis: var(--text-base);
  --text-disabled: var(--text-subtle);
  --text-marker: var(--text-base);
  --text-hover: var(--text-base);
  --text-active: var(--text-base);
  --text-selected: var(--background-base);
  --background-marker: var(--background-dark);
  --text-shadow: none;
  --border-radius: 1rem;
  --box-shadow: 2px 2px 0px rgba(0, 0, 0, 0.6);
}
@keyframes fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
* {
  scrollbar-width: thin;
  scrollbar-color: var(--background-light) transparent;
}
*:hover,
*:focus-within {
  scrollbar-color: var(--background-hover) transparent;
}
*::-webkit-scrollbar {
  width: 0.7rem;
}
*::-webkit-scrollbar-track {
  background: transparent;
}
*::-webkit-scrollbar-thumb {
  background-color: var(--background-light);
  border: 2px solid #000000;
  border-radius: 2rem;
  transition: background 1s ease-in;
  padding-right: 0.2rem;
}
*:hover::-webkit-scrollbar-thumb,
*:focus-within::-webkit-scrollbar-thumb {
  background-color: var(--background-hover);
}
*::-webkit-scrollbar-button {
  display: none;
}
html,
body {
  background-color: var(--background-dark);
  height: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
  overscroll-behavior: none;
}
html {
  font-size: 62.5%;
}
body {
  color: var(--text-base);
  text-shadow: var(--text-shadow);
  letter-spacing: 0.02rem;
}
noscript {
  color: var(--text-base);
  font-size: 1rem;
  font-family: sans-serif;
  text-align: center;
  line-height: 1.25;
}
#splash,
noscript {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  transition: 0.3s opacity linear;
  z-index: 100;
  background-color: var(--background-dark);
  cursor: wait;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  padding: 4rem;
}
#splash[hidden] {
  display: none;
}
#splash__spinner {
  margin-top: 4rem;
  animation: fade 0.5s linear 1s;
  animation-fill-mode: both;
}
#splash__error {
  margin-top: 2rem;
  transition: opacity 0.5s ease-in;
  display: flex;
  flex-direction: column;
  text-align: center;
  max-width: 60rem;
}
#splash__error-message {
  font-family: monospace;
  background-color: var(--background-error);
  padding: 1rem 1.5rem;
  border-radius: var(--border-radius);
  margin-bottom: 1rem;
}
#splash__error[aria-hidden=true] {
  opacity: 0;
}
#app {
  font-size: 1.6rem;
  height: 100%;
}
.leaflet-control img {
  width: 32px;
}
#qvhhackbox1 {
  order: 3;
}
.leaflet-top .leaflet-control-loading {
  order: 999 !important;
}
