html,
body {
	height: 100%;
}

.leaflet-cachemap-layer .leaflet-tile {
	image-rendering: pixelated;
}

.leaflet-bar a,
.leaflet-bar a:hover,
.leaflet-control-layers,
.leaflet-control-display-panel,
.leaflet-control-display-autocomplete-dropdown,
.leaflet-control-credits,
.leaflet-control-position-box,
.leaflet-control-position-panel,
.leaflet-control-brand,
.leaflet-control-cacheselector,
.leaflet-control-viewselector {
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

.leaflet-bar a,
.leaflet-control-layers,
.leaflet-control-credits,
.leaflet-control-position-box,
.leaflet-container .leaflet-control-brand,
.leaflet-control-cacheselector,
.leaflet-control-viewselector {
	background-color: rgba(30, 30, 46, 0.6);
}

.leaflet-control-display-panel,
.leaflet-control-display-autocomplete-dropdown,
.leaflet-control-position-panel {
	background-color: rgba(30, 30, 46, 0.85);
}

.leaflet-container .leaflet-control-zoom {
	background: transparent;
}

.leaflet-bar a:hover,
.leaflet-control-position-box:hover,
.leaflet-container a.leaflet-control-brand:hover {
	background-color: rgba(42, 42, 60, 0.75);
}

.leaflet-bar a.leaflet-disabled {
	background-color: rgba(22, 22, 30, 0.6);
}

.leaflet-bar a.leaflet-control-zoom-level,
.leaflet-bar a.leaflet-control-plane-plane {
	background-color: rgba(30, 30, 46, 0.9);
}

.leaflet-bar a.leaflet-control-zoom-level:hover,
.leaflet-bar a.leaflet-control-plane-plane:hover {
	background-color: rgba(42, 42, 60, 0.9);
}

.leaflet-bar a.leaflet-control-plane-plane.leaflet-disabled {
	background-color: rgba(22, 22, 30, 0.9);
}

.leaflet-control-display-collapsed-active {
	background-color: rgba(58, 58, 94, 0.75);
}

.leaflet-control-layer-toggles .layer-toggle.layer-active {
	background-color: rgba(26, 42, 48, 0.75);
}

.leaflet-control a,
.leaflet-control button,
.leaflet-control select,
.leaflet-control [role="button"],
.leaflet-control input[type="submit"],
.leaflet-control input[type="button"],
.leaflet-control-display-collapsed,
.leaflet-control-position-box,
.leaflet-control-map-input,
.leaflet-control-message-clear,
.leaflet-popup a,
.leaflet-popup button {
	cursor: pointer;
}

.leaflet-bar,
.leaflet-bar a {
	-webkit-user-select: none;
	user-select: none;
}

.leaflet-control .leaflet-disabled,
.leaflet-control button:disabled,
.leaflet-control select:disabled {
	cursor: default;
}

.leaflet-control-brand,
.leaflet-control-cacheselector,
.leaflet-control-viewselector {
	display: flex;
	align-items: center;
	height: 38px;
	box-sizing: border-box;
	border: 1px solid #3a3a4e;
	border-radius: 8px;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);
	color: #e0e0e8;
}

.leaflet-container a.leaflet-control-brand,
.leaflet-container a.leaflet-control-brand * {
	cursor: pointer;
}

.leaflet-container a.leaflet-control-brand {
	gap: 8px;
	padding: 0 12px 0 6px;
	color: #e0e0e8;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.15s;
}

.leaflet-control-brand img {
	width: 26px;
	height: 26px;
}

.leaflet-container a.leaflet-control-github {
	padding-left: 9px;
}

.leaflet-control-github svg {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
}

.leaflet-control-cacheselector,
.leaflet-control-viewselector {
	padding: 0 6px 0 10px;
}

.leaflet-control-cacheselector label,
.leaflet-control-viewselector label {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #9999aa;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.leaflet-control-cacheselector select,
.leaflet-control-viewselector select {
	font-size: 12px;
	text-transform: none;
	letter-spacing: normal;
	cursor: pointer;
}

.popup-builder-side-panel-actions {
	display: flex;
	gap: 6px;
}

.leaflet-control-message-container {
	top: 50px;
}

.leaflet-bottom.leaflet-left {
	right: 60px;
}

.leaflet-compact-controls .leaflet-top.leaflet-left {
	row-gap: 0;
}

.leaflet-compact-controls .leaflet-top.leaflet-left::before,
.leaflet-compact-controls .leaflet-top.leaflet-left::after {
	content: "";
	flex-basis: 100%;
	height: 6px;
}

.leaflet-compact-controls .leaflet-top.leaflet-left::before {
	order: 1;
}

.leaflet-compact-controls .leaflet-top.leaflet-left .leaflet-control-cacheselector {
	order: 2;
}

.leaflet-compact-controls .leaflet-top.leaflet-left::after {
	order: 3;
}

.leaflet-compact-controls .leaflet-top.leaflet-left .leaflet-control-viewselector {
	order: 4;
}

.leaflet-compact-controls .leaflet-top.leaflet-left .leaflet-control-display {
	z-index: 801;
}

.leaflet-compact-controls .leaflet-top.leaflet-left:has(.leaflet-control-display-collapsed-active) {
	z-index: 1001;
}

.leaflet-compact-controls .leaflet-top.leaflet-right .leaflet-control-position {
	flex-basis: 100%;
	justify-content: flex-end;
	z-index: 801;
	pointer-events: none;
}

.leaflet-compact-controls .leaflet-top.leaflet-right .leaflet-control-position > * {
	pointer-events: auto;
}

.leaflet-compact-controls .leaflet-top.leaflet-right .leaflet-control-position-box {
	margin-bottom: 6px;
}

.leaflet-compact-controls .leaflet-top.leaflet-right .leaflet-control-position-panel {
	margin-top: 0;
}

.leaflet-stacked-position .leaflet-top.leaflet-right .leaflet-control-position {
	flex-direction: column;
	align-items: flex-end;
	gap: 0;
}

@media (max-width: 640px) {
	.leaflet-container a.leaflet-control-brand {
		padding: 0 5px;
	}

	.leaflet-container a.leaflet-control-github {
		padding: 0 8px;
	}

	.leaflet-control-brand span {
		display: none;
	}
}

@media (max-width: 480px) {
	.leaflet-control-position-box {
		padding: 0 8px;
		font-size: 12px;
	}

	.leaflet-control-position-panel {
		width: calc(100vw - 20px);
		box-sizing: border-box;
	}

	.leaflet-control-position-form {
		min-width: 0;
		padding: 10px 12px;
	}

	.leaflet-control-position-input {
		flex: 1;
		width: 0;
		min-width: 0;
	}

	.leaflet-control-display-panel {
		max-width: calc(100vw - 20px);
		box-sizing: border-box;
	}

	.leaflet-control-display-form-search {
		width: min(290px, calc(100vw - 54px));
	}

	.leaflet-control-display-expanded-rect {
		min-width: min(380px, calc(100vw - 22px));
	}

	.leaflet-control-cacheselector,
	.leaflet-control-viewselector {
		padding: 0 4px 0 8px;
	}

	.leaflet-control-cacheselector label,
	.leaflet-control-viewselector label {
		gap: 6px;
	}

	.leaflet-control-cacheselector select,
	.leaflet-control-viewselector select {
		padding: 4px 4px 4px 6px;
	}
}
