:root {
    --map-icon-size: 8px;
    --map-name-size: 11px;
    --map-time-size: 9px;
}

#BUTTON-toggle-map-window {
    position: absolute;
    left: 5px;
    top: 40px;
}



#map-spinner {
    z-index: 500;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(4);
    transition: 0.2s ease-out;
    user-select: none;
    pointer-events: none;
}

    #map-spinner[data-visible="false"] {
        opacity: 0;
    }

    #map-spinner[data-visible="true"] {
        opacity: 1;
    }

.map-spinner-segment {
    transform-origin: center;
    animation: spinner_rotate .75s infinite linear;
    fill: var(--theme-color);
}

@keyframes spinner_rotate {
    100% {
        transform: rotate(360deg)
    }
}

.map-spinner-circle {
    fill: var(--theme-color-dark);
    filter: brightness(2);
}





#map-body-name {
    font-size: 20px;
    font-family: 'Rajdhani', sans-serif;
    font-weight: 800;
    text-transform: uppercase;
    text-align: center;
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translate(-50%, 0%);
}

.yellow {
    color: yellow;
}

.blue {
    color: lightblue;
}

.mapLocationLabel {
    text-shadow: 0 0 8px var(--theme-color-dark), 0 0 8px var(--theme-color-dark), 0 0 8px var(--theme-color-dark);
    font-family: 'Rajdhani', sans-serif;
    text-align: center;
    white-space: pre-line;
    transition: opacity 0.3s;
    transform: translate(-50% -50%);
    border: 1.5px solid;
    border-color: transparent;
    border-radius: 4px;
    padding: 3px 5px;
    display: grid;
    grid-template-columns: auto;
    gap: 2px;
}

    .mapLocationLabel:hover {
        cursor: pointer;
    }

    .mapLocationLabel[data-occluded=true] {
        opacity: 0;
        user-select: none;
        pointer-events: none;
    }

.mapLocationName {
    font-size: var(--map-name-size);
    font-weight: 600;
    color: white;
}

.mapLocationTime {
    font-size: var(--map-time-size);
    font-weight: 500;
    font-family: 'Roboto Mono', monospace;
    opacity: 1;
    transition: opacity 0.4s;
}

    .mapLocationTime[data-visible=false] {
        opacity: 0;
    }

.mapLocationIcon {
    width: var(--map-icon-size);
    height: var(--map-icon-size);
    margin: 0 auto;
    background-size: 100% 100%;
    opacity: 0.9;
    transition: opacity 0.4s;
}

.icon-outpost {
    background-image: url('../img/icon/outpost.png');
}

.icon-landingzone {
    background-image: url('../img/icon/landingzone.png');
}

.icon-spacestation {
    background-image: url('../img/icon/spacestation.png');
}

.icon-space {
    background-image: url('../img/icon/space.png');
}

.icon-star {
    background-image: url('../img/icon/star.png');
}

.icon-planet {
    background-image: url('../img/icon/planet.png');
}

.icon-wormhole {
    background-image: url('../img/icon/wormhole.png');
}

.icon-cave {
    background-image: url('../img/icon/cave.png');
}

.icon-settlement {
    background-image: url('../img/icon/settlement.png');
}

.icon-distribution-center {
    background-image: url('../img/icon/distribution-center.png');
}

.icon-bunker {
    background-image: url('../img/icon/bunker.png');
}

.icon-dish {
    background-image: url('../img/icon/dish.png');
}


.mapOrbitalMarker {
    font-size: 10px;
    font-weight: 500;
    text-align: center;
    font-family: 'Roboto Mono', monospace;
    text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.9);
    opacity: 0.25;
    white-space: pre-line;
    transition: opacity 0.4s;
    user-select: none;
    pointer-events: none;
}

    .mapOrbitalMarker[data-occluded=true] {
        opacity: 0;
    }

    .mapOrbitalMarker[data-visible=false] {
        opacity: 0;
    }


.map-window {
    z-index: 1000;
    position: absolute;
    outline: 1px solid rgba(255, 255, 255, 0.05);
    background-color: #10101680;
    backdrop-filter: blur(7px);
    border-radius: 5px;
    padding: 7px;
    font-size: 10px;
}

#map-bodyinfo-window {
    position: absolute;
    top: 10px;
    left: 10px;
}

@media (max-width: 400px) {
    #map-bodyinfo-window {
        display: none;
    }
}

#map-locationinfo-window {
    position: absolute;
    left: 10px;
    top: 150px;
    font-family: 'Roboto Mono', monospace;
    opacity: 0;
    transition: 0.2s ease-out;
}

#map-settings-window, #atlas-settings-window {
    bottom: 10px;
    left: 10px;
    z-index: 800;
}

    #map-settings-window h3, #atlas-settings-window h3 {
        margin-bottom: 10px;
        text-align: center;
        text-transform: uppercase;
    }

#map-settings-container, #atlas-settings-container {
    display: grid;
    grid-template-columns: auto auto;
    grid-column-gap: 10px;
    grid-row-gap: 8px;
}

    #map-settings-container p {
        text-align: right;
        text-transform: uppercase;
    }

    #map-settings-container:nth-child(even) {
        text-align: left;
        width: auto;
    }