html {
	overflow-x: hidden;
}

* {
	box-sizing: border-box;
}

body {
	margin: 0 auto;
	padding-right: .5rem;
	padding-left: .5rem;
	width: clamp(16rem, 95vw, 90rem);
}

@media (min-width: 60em) {
	body {
		display: grid;
		grid-template-columns: 16em auto;
		justify-items: start;
		gap: 1em 3em;
	}
	nav {
		grid-column: 1 / -1;
	}
	main {
		grid-column: 2;
	}
	footer {
		grid-column: 2 / -1;
	}
}

nav {
	display: flex;
	justify-content: space-around;
	align-items: baseline;
	gap: 1em;
	margin-top: 1em;
}

nav a:first-of-type {
	margin-right: auto;
}

.bio {
	margin-top: 2em;
}

.tags {
	padding: 0;
}

.tags li {
	list-style: none;
	display: inline-block;
	margin: 1em 1em 0 0;
}

a {
	color: inherit;
	text-decoration-color: LightSeaGreen;
	text-decoration-thickness: 2px;
}

ol, ul {
	padding-left: 1rem;
}

p+ol[role="list"] {
	margin-top: 3em;
}

ol[role="list"] {
	list-style: none;
	padding-left: 0;
}

ol[role="list"] h3 {
	margin: 1em 0 .5em;
}

li {
	margin-top: 1em;
}

pre {
	padding: .6em 1ch;
	overflow: auto;
	tab-size: 2;
}

footer {
	margin-top: 6em;
	margin-bottom: 3em;
}

table {
	border-collapse: collapse;
}

th, td {
	padding: .5em 1ch;
}

h1+time {
	margin-top: -1em;
	display: block;
	margin-bottom: 3em;
}

.inline-list {
	padding-left: 0;
}

.inline-list li {
	display: inline-block;
	list-style: none;
}

.inline-list li:not(:last-child)::after {
	content: ','
}

@media (min-width: 60em) {
	h1+time {
		margin-top: -3em;
		margin-bottom: 4.5em;
	}
}

/* COLOR SCHEME */

body {
	color: hsl(200, 30%, 20%);
	background-color: hsl(180, 20%, 97%);
}

h1 {
	color: hsl(200, 40%, 16%);
}

hr {
	border: none;
	margin: 3rem 0;
	height: 2px;
}

hr {
	background: hsl(200, 10%, 90%);
}

.logo {
	fill: hsl(200, 30%, 60%);
}

.bio, footer {
	color: hsl(200, 20%, 50%);
}

time {
	color: hsl(200, 20%, 50%);
}

p code, li code, pre, th {
	color: hsl(200, 50%, 30%);
	background-color: hsl(180, 20%, 95%);
}

pre, th, td {
	border: 1px solid;
}

th, td, pre {
	border-color: hsl(200, 10%, 80%);
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

picture {
	display: block;
}

picture+picture {
	margin-top: 2em;
}

@media screen and (prefers-color-scheme: dark) {
	body {
		color: hsl(200, 10%, 80%);
		background-color: hsl(200, 30%, 10%);
	}
	h1 {
		color: hsl(200, 12%, 75%);
	}
	hr {
		background-color: hsl(200, 20%, 30%);
	}
	.logo {
		fill: hsl(200, 50%, 40%);
	}
	.bio, footer {
		color: hsl(200, 20%, 60%);
	}
	time {
		color: hsl(200, 20%, 50%);
	}
	p code, li code, pre {
		background-color: hsl(200, 40%, 7%);
		color: hsl(200, 50%, 60%);
	}
	pre, th, td {
		border-color: hsl(200, 30%, 30%);
	}
}