.number-input{pointer-events:auto;background-color:var(--theme-bg);color:var(--theme-fg);min-height:2em}.number-input .label{display:inline-block;width:1em;padding:0 .5em;color:var(--theme-fg-light)}.number-input input{height:100%;line-height:100%;width:calc(100% - 2em);background-color:inherit;color:inherit;-moz-appearance:textfield}.number-input input::-webkit-inner-spin-button,.number-input input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.position-input{display:flex;-webkit-user-select:none;user-select:none}.position-input>*{width:100%}.position-input>*:not(:first-child){border-left:solid 1px var(--theme-bg-light)}.svg-button{position:relative;pointer-events:auto;overflow:hidden;cursor:pointer;min-width:2em;min-height:2em;background-color:var(--theme-bg);color:var(--theme-fg)}.svg-button:hover{background-color:var(--theme-bg-hover)}.svg-button.active{background-color:var(--theme-bg-light)}.svg-button:active{background-color:var(--theme-fg-light);color:var(--theme-bg)}.svg-button svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:1.8em;fill:var(--theme-fg-light)}.svg-button:active svg{fill:var(--theme-bg-light)}.compass svg{height:1.8em}.compass svg .north{fill:var(--theme-fg)}.compass svg .south{fill:var(--theme-fg-light)}.compass:active svg .north{fill:var(--theme-bg)}.compass:active svg .south{fill:var(--theme-bg-light)}.day-night-switch svg{fill:var(--theme-moon-day)}.day-night-switch svg circle{fill:var(--theme-stars-day)}.day-night-switch:active svg{fill:var(--theme-moon-night)}.day-night-switch:active svg circle{fill:var(--theme-stars-night)}.controls-switch{display:flex}.menu-button svg g{transform-origin:center;transition:transform .3s}.menu-button svg path{transition:transform .3s,fill .3s;transform:translate(0) rotate(0)}.menu-button svg path:nth-child(1){transform-origin:15px 9px}.menu-button svg path:nth-child(2){transform-origin:15px 15px}.menu-button svg path:nth-child(3){transform-origin:15px 21px}.menu-button.close svg path:nth-child(1){transform:translateY(5.75px) rotate(45deg)}.menu-button.close svg path:nth-child(2){transform:translate(-100%) rotate(0)}.menu-button.close svg path:nth-child(3){transform:translateY(-5.75px) rotate(-45deg)}.menu-button.close.back svg g{transform:scale(.75)}.menu-button.close.back svg path:nth-child(1){transform:translateY(10px) rotate(30deg)}.menu-button.close.back svg path:nth-child(2){transform:translate(-150%) rotate(0)}.menu-button.close.back svg path:nth-child(3){transform:translateY(-10px) rotate(-30deg)}.control-bar{position:fixed;top:0;left:0;display:flex;filter:drop-shadow(1px 1px 3px rgba(0,0,0,.53));height:2em;margin:.5em;width:calc(100% - 1em)}.control-bar .pos-input{max-width:20em;width:100%}.control-bar>:not(:first-child){border-left:solid 1px var(--theme-bg-light)}.control-bar .space{width:.5em;flex-shrink:0}.control-bar .space.greedy{flex-grow:1}.control-bar .space,.control-bar .space+*{border-left:none}@media(max-width:575.98px){.control-bar{margin:0;width:100%;background-color:var(--theme-bg)}.control-bar .pos-input{max-width:unset}.control-bar .thin-hide{display:none}.control-bar .space{width:1px}}.side-menu{position:fixed;top:0;left:0;overflow:hidden;pointer-events:auto;width:100%;max-width:20em;height:100%;filter:drop-shadow(1px 1px 3px rgba(0,0,0,.5333333333));background-color:var(--theme-bg);color:var(--theme-fg)}.side-menu-enter-active,.side-menu-leave-active{transition:opacity .3s}.side-menu-enter,.side-menu-leave-to{opacity:0;pointer-events:none}.side-menu-enter *,.side-menu-leave-to *{pointer-events:none!important}.side-menu>.menu-button{position:absolute;top:0;left:0;margin:.5em}@media(max-width:575.98px){.side-menu>.menu-button{margin:0}}.side-menu>.menu-button.full-close{right:0;left:unset}.side-menu>.title{line-height:2em;text-align:center;background-color:inherit;border-bottom:solid 1px var(--theme-bg-hover);padding:.5em}@media(max-width:575.98px){.side-menu>.title{padding:0}}.side-menu>.content{position:relative;overflow-y:auto;overflow-x:hidden;padding:.5em;height:calc(100% - 4em - 1px)}@media(max-width:575.98px){.side-menu>.content{height:calc(100% - 3em - 1px)}}.side-menu>.content hr{border:none;border-bottom:solid 2px var(--theme-bg-hover);margin:.5em 0}.side-menu .simple-button{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;line-height:2em;padding:0 .5em}.side-menu .simple-button>.label{flex-grow:1;white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis}.side-menu .simple-button:hover{background-color:var(--theme-bg-hover)}.side-menu .simple-button.active{background-color:var(--theme-bg-light)}.side-menu .simple-button>.submenu-icon{width:2em;height:2em;flex-shrink:0;margin-right:-.5em}.side-menu .simple-button>.submenu-icon>svg{fill:var(--theme-fg-light)}.side-menu .simple-button>.submenu-icon>svg path:nth-child(1){transform-origin:15px 9px;transform:translateY(10px) rotate(-30deg)}.side-menu .simple-button>.submenu-icon>svg path:nth-child(2){transform-origin:15px 21px;transform:translateY(-10px) rotate(30deg)}.side-menu .simple-button>.submenu-icon>svg{transform:scale(.75)}.side-menu .simple-button:active{background-color:var(--theme-fg-light);color:var(--theme-bg)}.side-menu .simple-button:active>.submenu-icon>svg{fill:var(--theme-bg-light)}.side-menu .switch{height:1em;width:2em;border-radius:1em;background-color:var(--theme-bg-light);transition:background-color .3s}.side-menu .switch:after{content:"";display:block;width:.75em;height:.75em;border-radius:100%;background-color:var(--theme-bg);position:relative;top:.125em;left:.125em;transition:left .3s}.side-menu .switch.on{background-color:var(--theme-switch-button-on)}.side-menu .switch.on:after{left:1.125em}.side-menu .switch-button{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;line-height:2em;padding:0 .5em}.side-menu .switch-button>.label{flex-grow:1;white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis}.side-menu .switch-button>.switch{margin:.5em 0}.side-menu .switch-button:hover{background-color:var(--theme-bg-hover)}.side-menu .group{position:relative;margin:2em 0 1em;padding-top:1em;border:solid 2px var(--theme-bg-hover)}.side-menu .group>.title{position:absolute;top:calc(-.5em - 1px);right:.5em;padding:0 .5em;background-color:var(--theme-bg)}.side-menu .group:first-child{margin-top:1em}.side-menu .group>.content{max-height:15em;overflow-y:auto}.side-menu .slider{line-height:2em;padding:0 .5em}.side-menu .slider:hover{background-color:var(--theme-bg-hover)}.side-menu .slider>.label>.value{float:right}.side-menu .slider>label>input{appearance:none;-moz-appearance:none;-webkit-appearance:none;outline:none;width:100%;height:1em;border-radius:1em;overflow:hidden;background-color:var(--theme-bg-light)}.side-menu .slider>label>input::-webkit-slider-thumb{appearance:none;-moz-appearance:none;-webkit-appearance:none;outline:none;width:1em;height:1em;border-radius:1em;border:solid .125em var(--theme-bg-light);background-color:var(--theme-bg)}.side-menu .slider>label>input::-moz-range-thumb{width:.75em;height:.75em;border-radius:.75em;border:solid .125em var(--theme-bg-light);background-color:var(--theme-bg)}.side-menu .marker-item{display:flex;white-space:nowrap;-webkit-user-select:none;user-select:none;line-height:1em;margin:.5em 0}.side-menu .marker-item:first-child{margin-top:0}.side-menu .marker-item:last-child{margin-bottom:0}.side-menu .marker-item.marker-hidden{opacity:.5;filter:grayscale(1)}.side-menu .marker-item .marker-button{display:flex;flex-grow:1;cursor:pointer}.side-menu .marker-item .marker-button:hover{background-color:var(--theme-bg-hover)}.side-menu .marker-item .marker-button>.info{flex-grow:1;text-overflow:ellipsis;padding:.5em}.side-menu .marker-item .marker-button>.info .label{text-overflow:ellipsis}.side-menu .marker-item .marker-button>.info .stats{display:flex;font-size:.8em;color:var(--theme-fg-light)}.side-menu .marker-item .marker-button>.info .stats>div:not(:first-child){margin-left:.5em;padding-left:.5em;border-left:solid 1px var(--theme-bg-hover)}.side-menu .marker-item .marker-button>.icon{height:2.5em;margin:.5em;flex-shrink:0}.side-menu .marker-item .marker-button>.icon img{image-rendering:pixelated;height:100%}.side-menu .marker-item>.follow-player-button{width:2em;cursor:pointer;background-color:var(--theme-bg)}.side-menu .marker-item>.follow-player-button:hover,.side-menu .marker-item>.follow-player-button.active{background-color:var(--theme-bg-light)}.side-menu .marker-item>.follow-player-button>svg{position:relative;fill:var(--theme-fg-light);stroke:var(--theme-fg-light);top:50%;transform:translateY(-50%) scale(.75)}.side-menu .marker-item>.follow-player-button:active{background-color:var(--theme-fg-light);color:var(--theme-bg)}.side-menu .marker-item>.follow-player-button:active>svg{fill:var(--theme-bg-light);stroke:var(--theme-bg-light)}.side-menu .text-input{background-color:var(--theme-bg-hover);width:calc(100% - 1em);padding:.5em}.side-menu .marker-set{display:flex;-webkit-user-select:none;user-select:none;line-height:1em;margin:.5em 0}.side-menu .marker-set:first-child{margin-top:0}.side-menu .marker-set:last-child{margin-bottom:0}.side-menu .marker-set>.info{flex-grow:1;cursor:pointer;padding:.5em}.side-menu .marker-set>.info:hover{background-color:var(--theme-bg-hover)}.side-menu .marker-set>.info>.marker-set-switch{position:relative}.side-menu .marker-set>.info>.marker-set-switch .label{margin:0 2.5em 0 0}.side-menu .marker-set>.info>.marker-set-switch>.switch{position:absolute;top:0;right:0}.side-menu .marker-set>.info>.stats{display:flex;font-size:.8em;color:var(--theme-fg-light)}.side-menu .marker-set>.info>.stats>div:not(:first-child){margin-left:.5em;padding-left:.5em;border-left:solid 1px var(--theme-bg-light)}.side-menu .marker-set>.open-menu-button{width:2em}.side-menu .marker-set>.open-menu-button.active{cursor:pointer}.side-menu .marker-set>.open-menu-button.active:hover{background-color:var(--theme-bg-hover)}.side-menu .marker-set>.open-menu-button.active>svg{position:relative;fill:var(--theme-fg-light);top:50%;transform:translateY(-50%) scale(.75)}.side-menu .marker-set>.open-menu-button.active>svg path:nth-child(1){transform-origin:15px 9px;transform:translateY(10px) rotate(-30deg)}.side-menu .marker-set>.open-menu-button.active>svg path:nth-child(2){transform-origin:15px 21px;transform:translateY(-10px) rotate(30deg)}.side-menu .marker-set>.open-menu-button.active:active{background-color:var(--theme-fg-light);color:var(--theme-bg)}.side-menu .marker-set>.open-menu-button.active:active>svg{fill:var(--theme-bg-light)}.side-menu .marker-set>.open-menu-button:not(.active) svg{display:none}.choice-box{display:flex;font-size:.8em;text-align:center;border:solid 2px var(--theme-bg-hover);overflow:hidden}.choice-box .title,.choice-box .choice{padding:.3em .5em}.choice-box .title{background-color:var(--theme-bg-hover)}.choice-box .choices{display:flex;flex-grow:1}.choice-box .choices .choice{flex-grow:1;cursor:pointer;-webkit-user-select:none;user-select:none;background-color:var(--theme-bg)}.choice-box .choices .choice:hover{background-color:var(--theme-bg-hover)}.choice-box .choices .choice.selected{background-color:var(--theme-bg-light)}.side-menu .map-button{position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;height:2em;line-height:2em;white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis}.side-menu .map-button.selected{background-color:var(--theme-bg-light)}.side-menu .map-button:hover{background-color:var(--theme-bg-hover)}.side-menu .map-button .sky{float:left;border-radius:100%;width:.5em;height:.5em;margin:0 .25em 0 .5em}.side-menu .map-button .id{font-style:italic;color:var(--theme-fg-light);margin:0 .5em}.admin-menu-container{display:flex;flex-direction:column;gap:.6em;padding:.5em .2em;color:var(--theme-fg);font-size:.85em}.admin-menu-container .admin-menu-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:.3em;border-bottom:1px solid var(--theme-bg-hover)}.admin-menu-container .admin-menu-header .admin-title{display:flex;align-items:center;gap:.4em;font-weight:600;color:var(--theme-fg)}.admin-menu-container .admin-menu-header .admin-title .admin-icon{font-size:1.1em}.admin-menu-container .admin-menu-header .admin-logout-btn{background:transparent;border:1px solid var(--theme-bg-hover);color:var(--theme-fg-light);padding:.2em .6em;border-radius:4px;font-size:.85em;cursor:pointer;transition:all .2s ease}.admin-menu-container .admin-menu-header .admin-logout-btn:hover{background:var(--theme-bg-hover);color:var(--theme-fg)}.admin-menu-container .admin-tabs{display:flex;gap:.3em;background:var(--theme-bg-hover);padding:.2em;border-radius:6px}.admin-menu-container .admin-tabs .admin-tab-btn{flex:1;background:transparent;border:none;color:var(--theme-fg-light);padding:.4em .2em;font-size:.9em;font-weight:500;cursor:pointer;border-radius:4px;transition:all .2s ease;text-align:center}.admin-menu-container .admin-tabs .admin-tab-btn:hover{color:var(--theme-fg)}.admin-menu-container .admin-tabs .admin-tab-btn.active{color:#fff;background-color:#2563eb;font-weight:600}.admin-menu-container .admin-tab-content{display:flex;flex-direction:column;gap:.6em}.admin-menu-container .admin-control-row{display:flex;align-items:center}.admin-menu-container .admin-checkbox-label{display:flex;align-items:center;gap:.5em;cursor:pointer;-webkit-user-select:none;user-select:none;line-height:1.5}.admin-menu-container .admin-checkbox-label input[type=checkbox]{cursor:pointer;accent-color:#2563eb;width:15px;height:15px}.admin-menu-container .admin-section-label,.admin-menu-container .admin-field-label{font-size:.9em;color:var(--theme-fg-light);font-weight:500}.admin-menu-container .admin-ranges-list{display:flex;flex-direction:column;gap:.3em}.admin-menu-container .admin-range-row{display:flex;align-items:center;gap:.4em;padding:.25em .4em;border-radius:4px;background-color:var(--theme-bg-hover)}.admin-menu-container .admin-color-picker{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:24px;height:24px;border:1px solid rgba(255,255,255,.2);border-radius:4px;background:none;cursor:pointer;padding:0}.admin-menu-container .admin-color-picker::-webkit-color-swatch-wrapper{padding:0}.admin-menu-container .admin-color-picker::-webkit-color-swatch{border:none;border-radius:3px}.admin-menu-container .admin-range-inputs{display:flex;align-items:center;gap:.25em}.admin-menu-container .admin-range-inputs .admin-num-input{width:36px;background-color:var(--theme-bg);border:1px solid var(--theme-bg-light);border-radius:4px;color:var(--theme-fg);padding:.2em .1em;font-size:.9em;text-align:center}.admin-menu-container .admin-range-inputs .admin-num-input:focus{outline:none;border-color:#2563eb}.admin-menu-container .admin-range-inputs .admin-range-sep{color:var(--theme-fg-light)}.admin-menu-container .admin-range-inputs .admin-unit-text{font-size:.85em;color:var(--theme-fg-light)}.admin-menu-container .admin-range-tag{margin-left:auto;font-size:.85em;color:var(--theme-fg-light)}.admin-menu-container .admin-ranges-hint{font-size:.8em;color:var(--theme-fg-light);font-style:italic;line-height:1.3}.admin-menu-container .admin-buttons-row{display:flex;gap:.4em;margin-top:.2em}.admin-menu-container .admin-btn{flex:1;padding:.45em .6em;border:none;border-radius:4px;font-size:.9em;font-weight:500;cursor:pointer;transition:all .15s ease;text-align:center}.admin-menu-container .admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-menu-container .admin-btn.admin-btn-primary{background-color:#2563eb;color:#fff}.admin-menu-container .admin-btn.admin-btn-primary:hover:not(:disabled){background-color:#1d4ed8}.admin-menu-container .admin-btn.admin-btn-secondary{background-color:var(--theme-bg-hover);color:var(--theme-fg)}.admin-menu-container .admin-btn.admin-btn-secondary:hover:not(:disabled){background-color:var(--theme-bg-light)}.admin-menu-container .admin-autocomplete-wrapper{position:relative;display:flex;flex-direction:column;gap:.3em}.admin-menu-container .admin-input-relative{position:relative;display:flex;align-items:center}.admin-menu-container .admin-text-input{width:100%;box-sizing:border-box;background-color:var(--theme-bg-hover);border:1px solid var(--theme-bg-light);border-radius:4px;color:var(--theme-fg);padding:.45em .6em;font-size:.9em}.admin-menu-container .admin-text-input:focus{outline:none;border-color:#2563eb}.admin-menu-container .admin-input-spinner{position:absolute;right:.6em;color:var(--theme-fg-light);font-size:.8em}.admin-menu-container .admin-dropdown-list{position:absolute;top:100%;left:0;right:0;margin:3px 0 0;padding:0;list-style:none;background-color:var(--theme-bg);border:1px solid #2563eb;border-radius:4px;max-height:140px;overflow-y:auto;z-index:100;box-shadow:0 4px 12px #0006}.admin-menu-container .admin-dropdown-list .admin-dropdown-item{padding:.4em .6em;font-size:.9em;cursor:pointer;color:var(--theme-fg);transition:background-color .1s ease}.admin-menu-container .admin-dropdown-list .admin-dropdown-item:hover{background-color:#2563eb;color:#fff}.admin-menu-container .admin-chips-container{display:flex;flex-wrap:wrap;gap:.3em;padding:.3em;background-color:var(--theme-bg-hover);border-radius:4px;max-height:90px;overflow-y:auto}.admin-menu-container .admin-chips-container .admin-chip{display:inline-flex;align-items:center;gap:.3em;background-color:#2563eb;color:#fff;padding:.15em .5em;border-radius:12px;font-size:.85em}.admin-menu-container .admin-chips-container .admin-chip .admin-chip-remove{background:transparent;border:none;color:#fff;cursor:pointer;font-size:1.1em;line-height:1;padding:0;margin-left:2px}.admin-menu-container .admin-chips-container .admin-chip .admin-chip-remove:hover{color:#fca5a5}.admin-menu-container .admin-chips-empty{font-size:.8em;color:var(--theme-fg-light);font-style:italic;padding:.2em .3em}.admin-menu-container .admin-all-players-info{background-color:var(--theme-bg-hover);border-left:3px solid #2563eb;padding:.5em .6em;border-radius:4px;font-size:.85em;line-height:1.4;color:var(--theme-fg)}.admin-menu-container .admin-control-group{display:flex;flex-direction:column;gap:.3em}.admin-menu-container .admin-radio-group{display:flex;flex-direction:column;gap:.35em;background-color:var(--theme-bg-hover);padding:.4em .5em;border-radius:4px}.admin-menu-container .admin-radio-group.admin-mode-group{flex-direction:row;justify-content:space-between;gap:.2em}.admin-menu-container .admin-radio-label{display:flex;align-items:center;gap:.4em;cursor:pointer;font-size:.88em;color:var(--theme-fg)}.admin-menu-container .admin-radio-label input[type=radio]{cursor:pointer;accent-color:#2563eb}.admin-menu-container .admin-custom-dates{display:flex;flex-direction:column;gap:.35em;background-color:var(--theme-bg-hover);padding:.4em .5em;border-radius:4px}.admin-menu-container .admin-custom-dates .admin-date-row{display:flex;align-items:center;gap:.4em}.admin-menu-container .admin-custom-dates .admin-date-row .admin-date-label{font-size:.85em;color:var(--theme-fg-light);width:24px}.admin-menu-container .admin-custom-dates .admin-date-row .admin-date-input{flex:1;background-color:var(--theme-bg);border:1px solid var(--theme-bg-light);border-radius:4px;color:var(--theme-fg);padding:.3em .4em;font-size:.82em}.admin-menu-container .admin-custom-dates .admin-date-row .admin-date-input:focus{outline:none;border-color:#2563eb}.admin-menu-container .admin-tracker-status{margin-top:.5em;font-size:.85em;color:#60a5fa;text-align:center;line-height:1.35;padding:.4em .5em;border-radius:4px;background-color:var(--theme-bg-hover)}.admin-menu-container .admin-select-input{width:100%;background-color:var(--theme-bg);border:1px solid var(--theme-bg-light);border-radius:4px;color:var(--theme-fg);padding:.4em .5em;font-size:.88em;box-sizing:border-box}.admin-menu-container .admin-select-input:focus{outline:none;border-color:#2563eb}.admin-menu-container .admin-end-cities-box{margin-top:.4em;display:flex;flex-direction:column;gap:.3em}.admin-menu-container .admin-end-cities-list{max-height:180px;overflow-y:auto;background-color:var(--theme-bg-hover);border-radius:4px;padding:.3em;display:flex;flex-direction:column;gap:.25em}.admin-menu-container .admin-checkbox-group{display:flex;flex-direction:column;gap:.45em;background-color:var(--theme-bg-hover);padding:.45em .55em;border-radius:4px}.admin-menu-container .admin-end-legend{display:flex;align-items:center;gap:1em;padding:.35em .5em;background-color:var(--theme-bg-hover);border-radius:4px;font-size:.8em;color:var(--theme-fg-light);margin-bottom:.2em}.admin-menu-container .admin-end-legend .admin-legend-item{display:flex;align-items:center;gap:.4em}.admin-menu-container .admin-end-legend .admin-legend-dot{display:inline-block;width:10px;height:10px;border-radius:2px}.admin-menu-container .admin-end-legend .admin-legend-dot.orange{background-color:#f97316}.admin-menu-container .admin-end-legend .admin-legend-dot.purple{background-color:#c026d3}.admin-menu-container .admin-end-legend .admin-legend-dot.beige{background-color:#eee7c2;border:1px solid #ded296}.admin-menu-container .admin-end-city-item{padding:.35em .5em;background-color:var(--theme-bg);border-radius:4px;cursor:pointer;transition:background-color .15s ease;border-left:3px solid #f97316}.admin-menu-container .admin-end-city-item:hover{background-color:#f9731633}.admin-menu-container .admin-end-city-item.has-ship{border-left:3px solid #c026d3}.admin-menu-container .admin-end-city-item.has-ship:hover{background-color:#c026d333}.admin-menu-container .admin-end-city-item.has-ship .admin-end-ship-badge{background-color:#c026d3}.admin-menu-container .admin-end-city-item .admin-end-city-title{font-weight:600;font-size:.85em;color:var(--theme-fg);display:flex;align-items:center;gap:.4em}.admin-menu-container .admin-end-city-item .admin-end-ship-badge{background-color:#c026d3;color:#fff;font-size:.72em;padding:.1em .4em;border-radius:3px;font-weight:600;margin-left:auto}.admin-menu-container .admin-end-city-item .admin-end-city-coords{font-size:.75em;color:var(--theme-fg-light);margin-top:.1em}.info-content{font-size:.8em}.info-content table{border-collapse:collapse;width:100%}.info-content table tr th,.info-content table tr td{padding:.2em .5em;border:solid 1px var(--theme-bg-light)}.info-content table tr th{font-weight:inherit;text-align:inherit}.info-content .info-footer{text-align:center}.admin-auth-wrapper{display:flex;flex-direction:column;gap:.3em;padding:.2em .5em}.admin-auth-row{display:flex;align-items:center;gap:.4em}.admin-auth-row.shake{animation:admin-auth-shake .45s cubic-bezier(.36,.07,.19,.97) both}.admin-auth-row .admin-password-input{flex:1;background-color:var(--theme-bg-hover);border:1px solid var(--theme-bg-light);border-radius:4px;color:var(--theme-fg);padding:.5em .6em;font-size:.85em;transition:border-color .2s ease}.admin-auth-row .admin-password-input:focus{outline:none;border-color:#2563eb}.admin-auth-row .admin-password-input.error{border-color:#ef4444;background-color:#ef444414}.admin-auth-row .admin-auth-btn{background-color:#2563eb;color:#fff;border:none;border-radius:4px;padding:.5em .8em;cursor:pointer;font-size:.9em;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease}.admin-auth-row .admin-auth-btn:hover:not(:disabled){background-color:#1d4ed8}.admin-auth-row .admin-auth-btn:disabled{opacity:.5;cursor:not-allowed}.admin-auth-error{font-size:.78em;color:#ef4444;padding-left:.2em;font-weight:500;line-height:1.2}@keyframes admin-auth-shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-3px,0,0)}40%,60%{transform:translate3d(3px,0,0)}}#ff-mobile-controls{font-size:15vw}#ff-mobile-controls.disabled{display:none}@media(orientation:portrait){#ff-mobile-controls{font-size:15vh}}#ff-mobile-controls .button{width:1em;margin:.1em;opacity:.5;pointer-events:auto}#ff-mobile-controls .button svg{fill:var(--theme-bg)}#ff-mobile-controls .button svg:active{fill:var(--theme-bg-light);opacity:.8}#ff-mobile-controls .button svg.down{transform:scaleY(-1)}#ff-mobile-controls .move-fields{position:fixed;bottom:.2em;left:.2em}#ff-mobile-controls .height-fields{position:fixed;bottom:.2em;right:.2em}#zoom-buttons{position:fixed;bottom:0;right:0;display:flex;flex-direction:column;filter:drop-shadow(1px 1px 3px rgba(0,0,0,.53));width:2em;margin:.5em}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:100 900;src:local("Quicksand"),url(./Quicksand-BuVPtn-J.ttf) format("truetype-variations")}:root{line-height:1rem;font-family:Quicksand,sans-serif;font-size:16px;font-weight:400;--theme-bg: #181818;--theme-bg-hover: #222;--theme-bg-light: #444;--theme-fg: #fff;--theme-fg-light: #aaa;--theme-switch-button-on: #00489d;--theme-stars-day: #fff;--theme-moon-day: #ff0;--theme-stars-night: #444;--theme-moon-night: #000}:root .theme-light{font-family:Quicksand,sans-serif;font-size:16px;font-weight:500;--theme-bg: #eee;--theme-bg-hover: #ddd;--theme-bg-light: #999;--theme-fg: #000;--theme-fg-light: #333;--theme-switch-button-on: #6593dc;--theme-stars-day: #444;--theme-moon-day: #000;--theme-stars-night: #fff;--theme-moon-night: #ff0}:root .theme-contrast{font-family:Quicksand,sans-serif;font-size:16px;font-weight:400;--theme-bg: #000;--theme-bg-hover: #222;--theme-bg-light: #666;--theme-fg: #fff;--theme-fg-light: #aaa;--theme-switch-button-on: #006fff;--theme-stars-day: #fff;--theme-moon-day: #ff0;--theme-stars-night: #444;--theme-moon-night: #000}@media(prefers-color-scheme:light){:root{font-family:Quicksand,sans-serif;font-size:16px;font-weight:500;--theme-bg: #eee;--theme-bg-hover: #ddd;--theme-bg-light: #999;--theme-fg: #000;--theme-fg-light: #333;--theme-switch-button-on: #6593dc;--theme-stars-day: #444;--theme-moon-day: #000;--theme-stars-night: #fff;--theme-moon-night: #ff0}:root .theme-dark{font-family:Quicksand,sans-serif;font-size:16px;font-weight:400;--theme-bg: #181818;--theme-bg-hover: #222;--theme-bg-light: #444;--theme-fg: #fff;--theme-fg-light: #aaa;--theme-switch-button-on: #00489d;--theme-stars-day: #fff;--theme-moon-day: #ff0;--theme-stars-night: #444;--theme-moon-night: #000}}body{margin:0;padding:0;overscroll-behavior:none;overflow:hidden}h1,h2,h3,h4,h5,h6{font-weight:inherit;font-size:inherit;text-align:left;margin:1em 0 .5em;padding:0}h1,h2{position:relative;font-size:1.2em;margin-left:0;margin-right:0;padding-left:.5em;padding-bottom:.5em;width:calc(100% - .5em);overflow:hidden}h1:after,h2:after{position:absolute;left:0;bottom:0;content:"";width:100%;height:1px;background-color:var(--theme-bg-light)}h1{width:100%;text-align:center;padding-left:0}p{margin:.5em;padding:0}a{color:inherit;text-decoration:underline}kbd{background-color:var(--theme-bg-light);border-radius:.2em;margin:0;padding:0 .2em}input{display:inline-block;box-sizing:content-box;border:none;outline:none;margin:0;padding:0;font:inherit;color:inherit}::-webkit-scrollbar{width:.5em}::-webkit-scrollbar-track{background:var(--theme-bg)}::-webkit-scrollbar-thumb{background:var(--theme-bg-light);border-radius:.5em;border:solid var(--theme-bg) .1em}::-webkit-scrollbar-thumb:hover{background:var(--theme-fg-light)}#bm-app-err{position:relative;width:100vw;height:100vh;background-color:var(--theme-bg);color:var(--theme-fg)}#bm-app-err>div{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}#bm-app-err>div img{max-width:10em;min-width:5em;width:90%;border-radius:50%;margin:0 0 3em}#bm-app-err>div .bm-app-err-hint{color:var(--theme-fg-light)}#map-container .bm-marker-html{position:relative;-webkit-user-select:none;user-select:none}#map-container .bm-marker-html .bm-marker-poi-label{position:absolute;top:0;left:0;opacity:0;transition:opacity .3s}#map-container .bm-marker-html .bm-marker-poi-icon{opacity:1;transition:opacity .3s;filter:drop-shadow(1px 1px 3px rgba(0,0,0,.5333333333))}#map-container .bm-marker-html.bm-marker-highlight .bm-marker-poi-label{opacity:1}#map-container .bm-marker-html.bm-marker-highlight .bm-marker-poi-icon{opacity:0}#map-container .bm-marker-html .bm-marker-poi-label,#map-container .bm-marker-labelpopup,#map-container .bm-marker-popup{transform:translate(-50%,-100%) translateY(-.5em);max-width:15em;color:var(--theme-fg);background-color:var(--theme-bg);filter:drop-shadow(1px 1px 3px rgba(0,0,0,.5333333333));padding:.5em}#map-container .bm-marker-html .bm-marker-poi-label>hr,#map-container .bm-marker-labelpopup>hr,#map-container .bm-marker-popup>hr{border:none;border-bottom:solid 1px var(--theme-bg-light);margin:.5em -.5em}#map-container .bm-marker-html .bm-marker-poi-label:after,#map-container .bm-marker-labelpopup:after,#map-container .bm-marker-popup:after{position:absolute;bottom:calc(-1em + 1px);left:50%;transform:translate(-50%);content:"";border:solid .5em transparent;border-top-color:var(--theme-bg)}#map-container .bm-marker-popup{line-height:1.2em}#map-container .bm-marker-popup .group[data-tooltip]{position:relative;pointer-events:auto;-webkit-user-select:none;user-select:none;cursor:pointer;margin:-.5em;padding:.5em}#map-container .bm-marker-popup .group[data-tooltip]:hover:before{display:block;position:absolute;z-index:1;left:50%;bottom:calc(100% + .5em);transform:translate(-50%);content:attr(data-tooltip);background:var(--theme-bg);color:var(--theme-fg-light);filter:drop-shadow(1px 1px 3px rgba(0,0,0,.5333333333));font-size:.75em;line-height:1em;padding:.5em}#map-container .bm-marker-popup .group[data-tooltip]:active{background-color:var(--theme-bg-light)}#map-container .bm-marker-popup .group>.label{position:relative;top:0;left:.5em;margin:0 .5em;font-size:.8em;color:var(--theme-fg-light)}#map-container .bm-marker-popup .group>.content{display:flex;justify-content:center}#map-container .bm-marker-popup .group>.content>.entry{margin:0 .5em}#map-container .bm-marker-popup .group>.content>.entry>.label{color:var(--theme-fg-light)}#map-container .bm-marker-popup .files{font-size:.8em;color:var(--theme-fg-light)}#map-container .bm-marker-player{position:relative;transform:translate(-50%,-50%);filter:drop-shadow(1px 1px 3px rgba(0,0,0,.5333333333))}#map-container .bm-marker-player img{width:32px;image-rendering:pixelated;transition:width .3s}#map-container .bm-marker-player .bm-player-name{position:absolute;top:-.5em;left:50%;transform:translate(-50%,-100%);padding:.25em;background-color:#0008;color:#fff;transition:opacity .3s}#map-container .bm-marker-player[distance-data=med] img,#map-container .bm-marker-player[distance-data=far] img{width:16px}#map-container .bm-marker-player[distance-data=med] .bm-player-name,#map-container .bm-marker-player[distance-data=far] .bm-player-name{opacity:0}#map-container{position:absolute;width:100%;height:100%}#app{position:absolute;width:100%;height:100%;z-index:10000;pointer-events:none;font-size:1rem}@media(max-width:575.98px){#app{font-size:1.5rem}}#app .map-state-message{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--theme-fg-light);line-height:1em;text-align:center}
