.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% - 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:.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);
    background-image:url("./sky.png");
    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-image:url("./sky.png");
    /*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-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container{
}
.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
}
.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/14px Tahoma,Verdana,sans-serif;
    color:#b3c5c3;
    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;
    border-bottom:1px solid #ddd;
    border-top:1px solid #ddd
}
.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;
        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% + 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: .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
    }
}

