:root {
    color-scheme: dark;

    --light-gray: #595959;
    --medium-gray: #3c3c3c;
    --dark-gray: #1e1e1e;
}

/* Background */
.leaflet-container {
    background: #a3cdfe;
}

/* Zoom Control */
.leaflet-bar a {
    background-color: var(--medium-gray);
    color: #fff;
    font-weight: 500;
    border: 2px solid var(--dark-gray) !important;
}

.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
    border: none;
}

.leaflet-touch .leaflet-bar a {
    border-radius: 50% !important;
}

.leaflet-bar a:hover,
.leaflet-bar a:focus {
    background-color: var(--light-gray);
}

.leaflet-bar a.leaflet-disabled {
    background-color: var(--dark-gray);
    color: var(--light-gray);
}

.leaflet-touch .leaflet-bar a {
    width: 44px;
    height: 44px;
    line-height: 44px;
}

.leaflet-touch .leaflet-control-zoom-in,
.leaflet-touch .leaflet-control-zoom-out {
    font-size: 26px;
}

.leaflet-bar a+a {
    margin-top: 5px;
}

/* Layers Control */
.leaflet-top.leaflet-right .leaflet-control {
    background-color: var(--medium-gray);
    color: #fff;
    border: 2px solid var(--dark-gray) !important;
    border-radius: 50%;
}

.leaflet-control-layers-expanded {
    border-radius: 12px !important;
}

.leaflet-control-layers-separator {
    border-color: var(--dark-gray);
}

/* Popup */
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
    background: var(--medium-gray);
    color: #fff;
}

.leaflet-container a.leaflet-popup-close-button {
    color: #fff;
}

.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
    color: #fff;
}

/* Leaflet Draw */
.leaflet-draw-toolbar a {
    position: relative;
    background-image: none;
}

.leaflet-draw-toolbar a::after {
    content: "";
    position: absolute;
    inset: 0;
    background-size: 440px 44px;
    background-image: url("https://unpkg.com/leaflet-draw@1.0.4/dist/images/spritesheet.svg");
    filter: brightness(0) invert(100%);
}

.leaflet-draw-toolbar a.leaflet-disabled::after {
    filter: brightness(0) invert(35%);
}

.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polyline::after {
    background-position: 0;
}

.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polygon::after {
    background-position: -43px;
}

.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-rectangle::after {
    background-position: -88px -1px;
}

.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circle::after {
    background-position: -132px;
}

.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-marker::after {
    background-position: -176px -1px;
}

.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circlemarker::after {
    background-position: -396px;
}

.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit::after,
.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled::after {
    background-position: -307px -1px;
}

.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove::after,
.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled::after {
    background-position: -352px;
}

.leaflet-touch .leaflet-draw-actions {
    left: 48px;
}