@font-face {
	font-family: "Monaspace Krypton";
	src: url("monaspacekr-var.woff2") format("woff2-variations");
	font-weight: 200 800;
	font-style: normal italic;
	font-display: swap;
}

:root {
	--blue: hsl(200, 80.2%, 45.5%);
	--foreground-color: white;
	--background-color: #050a10;
	--middle-color: color-mix(
		in srgb,
		var(--foreground-color) 40%,
		var(--background-color) 60%
	);
	--link-color: lightblue;
	--visited-link-color: lightblue;
	--stroke-thickness: round(0.1rem, 1px);

	background-color: var(--background-color);
	color: var(--foreground-color);

	line-height: 1.7;
	font-family: "Monaspace Krypton", monospace;
	font-size: 16px;
}

body {
	margin: 0 auto;
	padding: 1rem;
	min-height: 100vh;
	box-sizing: border-box;
	width: min(100%, 110ch);
}

code,
pre {
	font-family: inherit;
}

h1 {
	margin-top: 0;
	font-size: 2.5rem;
	span {
		margin: auto;
	}
	a {
		color: unset;
		display: contents;
	}
}

@media (width < 110ch) {
	h1 img {
		display: none;
	}
}

@keyframes fadeBackground {
	0%,
	50% {
	}
	100% {
		background-color: transparent;
	}
}

h2 {
	margin-top: 5rem;
	margin-bottom: 1rem;
	scroll-margin-top: 1rem;
	&:target {
		background-color: #ff03;
		animation: fadeBackground 5s forwards;
		&::before {
			content: "→";
			color: #ff0;
			margin-right: 0.3em;
			padding: 0 0.2em;
		}
	}
}

h3 {
	margin-top: 2em;
	margin-bottom: 0;
}

img {
	max-width: 100%;
}

a {
	color: var(--link-color);

	&:active {
		transform: scale(0.9);
	}
}

#colors {
	display: flex;
	margin-bottom: 2rem;
	justify-content: stretch;
	> div {
		width: 100%;
		height: 1rem;
	}
}

i {
	background-size: contain;
	background-repeat: no-repeat;
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-right: 0.5em;
	vertical-align: middle;
	background-image: url("video-camera.svg");
	&.video {
		background-image: url("video-camera.svg");
	}
	&.whistle {
		background-image: url("whistle.svg");
	}
}

.box {
	margin: 1em 0;
	border: var(--stroke-thickness) solid yellow;
	padding: 1em;
	text-align: center;
	> :first-child {
		margin-top: 0;
	}
	> :last-child {
		margin-bottom: 0;
	}
}

img,
video {
	max-width: 100%;
	display: block;
	margin: auto;
}

figure {
	margin: 0;
	figcaption {
		font-style: italic;
		text-align: center;
	}
	/* & + figure { */
	/* 	margin-top: 3rem; */
	/* } */
}

footer {
	margin-top: auto;
	text-align: center;
	opacity: 0.8;
}

table {
	width: min(100%, 40em);
	margin: 2em auto;
	border-collapse: collapse;
}

tbody tr:hover {
	background: #220;
}
