:root {
	font-size: 62.5%;
	--c-tix0: #fafef9;
	--c-tix1: #e9efe9;
	--c-tix2: #dae0d5;
	--c-tees: #0a0703;
	--c-seat: #1f201f;
	--c-ipad: #292e2f;
	--c-case0d: #007bc0;

	--c-bg0: var(--c-tix0);
	--c-bg1: var(--c-tix1);
	--c-bg2: var(--c-tix2);
	--c-fg0: var(--c-tees);
	--c-fg1: var(--c-seat);
	--c-fg2: var(--c-ipad);
	--c-hl: var(--c-case0d);

	@media (prefers-color-scheme: dark) {
		--c-bg2: var(--c-tees);
		--c-bg0: var(--c-seat);
		--c-bg1: var(--c-ipad);
		--c-fg0: var(--c-tix0);
		--c-fg1: var(--c-tix1);
		--c-fg2: var(--c-tix2);
	}
}

body {
	background-color: var(--c-bg0);
	color: var(--c-fg0);
	font-family: sans-serif;
	font-size: 1.6rem;
	line-height: 1.6;

	display: flex;
	max-width: 100rem;

	margin: 0 auto;
}

header {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	width: 15rem;
	border-right: 0.1rem solid var(--c-bg2);

	margin: 0 0 0 2rem;
	padding: 3.5rem 2rem 0 0;
}

header div a {
	display: flex;
}

header div a img {
	width: 3rem;
	@media (prefers-color-scheme: dark) {
		filter: invert(1);
	}

	padding: 0 0 1rem;
}

header div ul {
	display: flex;
	list-style: none;

	margin: 0;
	padding: 0;
}

header div ul li {
	margin: 0 1rem 0 0;
	padding: 0;
}

header div ul li a {
	color: var(--c-fg2);
}

header nav {
	position: sticky;
	top: 0;

	padding: 1rem 0;
}

header nav ul {
	list-style: none;

	margin: 0 1.2rem;
	padding: 1.2rem 0;
}

header nav ul li {
	text-indent: -1.2rem;
	margin: 0;
}

header nav ul li a {
	border-left: 0.1rem solid var(--c-fg2);
	padding: 0.4rem 0 0.4rem 1rem;
}

header nav ul li a.current,
a.current:hover {
	border-left: 0.3rem solid;
	font-weight: bold;
}

header nav ul li a:hover {
	border-left: 0.2rem solid;
}

footer {
	margin: 3rem 0 0;
	padding: 0;
}

main {
	flex: 1;
	min-width: 0;

	margin: 0;
	padding: 2rem;
}

@media (max-width: 600px) {
	body {
		flex-direction: column;
	}

	header {
		min-height: 0;
		width: 90%;
		border: none;
		padding: 2rem 0 0;
	}

	header nav {
		display: flex;
	}
}

main .title {
	margin: 0;
}

main .image,
.gallery {
	display: flex;
	align-items: center;
	overflow-x: auto;
	scrollbar-width: none;

	margin: 1rem -2rem;
	padding: 0 2rem;
}

main .image::-webkit-scrollbar,
.gallery::-webkit-scrollbar {
	display: none;
}

main .gallery a,
main .gallery a:hover {
	border: none;
}

main .gallery img {
	border-radius: 5rem;

	margin: 0 1rem -0.5rem 0;
}

a {
	text-decoration: none;
	color: var(--c-fg0);
}

main a {
	border-bottom: 0.1rem solid;
	color: var(--c-fg0);
}

main a:hover {
	border-bottom: 0.2rem solid;
}

main a[href^="https://"]:not([href*="ralphptorr.es"])::after {
	content: " ↝";
	font-size: 0.8em;
	/* vertical-align: top; */
}

code,
pre {
	background-color: var(--c-bg1);
	font-size: 1.4rem;

	padding: 0.5rem;
}

pre {
	border-left: 0.1rem solid;
	overflow-x: auto;

	padding: 0.5rem 1.5rem;
}

blockquote {
	border-left: 0.1rem solid;

	margin: 0;
	padding: 0 1.5rem;
}
