body, html {
	padding: 0;
	margin: 0;
}

* { touch-action: manipulation; }

body {
	display: flex;
	flex-direction: column;
	min-height: 100dvh;
}

.map {
	flex-grow: 1;
	background-color: hsl(351, 100%, 95%);
	width: 100%;
	/* height: 100dvh; */
}

/* Tooltip
-------------------------------------------------- */

.tooltip-content {
	text-align: center;
}

.tooltip-visual {
	margin-top: 1em;
	max-width: min(60vw, 100%);
	max-height: 60vh;
}

.tooltip-label {
	padding-top: .5em;
}

/* Header
-------------------------------------------------- */

.header {
	flex-shrink: 0;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: .5rem;
	min-height: 2rem;
}

/* Locations menu
-------------------------------------------------- */

.menu {
	position: absolute;
	inset: auto;
	top: 3rem;
	right: .5rem;
	width: 20ch;
	max-width: calc(90vw - 1rem);
	max-height: 90dvh;
	overflow-y: auto;
	margin: 0;
	padding: .5em;
	padding-top: 0;
	border: .1rem solid currentColor;
}

.menu > button {
	width: 100%;
	margin-top: .5rem;
}

.menu button.removed {
	text-decoration: line-through;
	color: red;
}
