@font-face {
	font-family: "Atkinson Hyperlegible Next";
	src: url("/assets/fonts/AtkinsonHyperlegibleNext.ttf") format("truetype");
	font-weight: 200 800;
	font-display: swap;
}

:root {
	--bg: #0d0a14;
	--surface: #16111f;
	--ink: #f2eef8;
	--muted: #a79fb8;
	--accent: #b26bff;
	--code-string: #e8b96a;
	--code-var: #ff7ab8;
}

@media (prefers-color-scheme: light) {
	:root {
		--bg: #f5f2fa;
		--surface: #ffffff;
		--ink: #140f1f;
		--muted: #5e5670;
		--accent: #7b2fd0;
		--code-string: #8a5a00;
		--code-var: #b02a6b;
	}
}

* {
	box-sizing: border-box;
}

html {
	color-scheme: dark light;
	background: var(--bg);
}

body {
	margin: 0;
	min-height: 100vh;
	min-height: 100dvh;
	display: flex;
	flex-direction: column;
	color: var(--ink);
	font:
		400 1.0625rem / 1.6 "Atkinson Hyperlegible Next",
		system-ui,
		sans-serif;
}

header,
main,
footer {
	width: 100%;
	max-width: 760px;
	margin: 0 auto;
	padding: 0 16px;
}

header {
	padding-top: 24px;
	padding-bottom: 8px;
}
header img {
	height: 48px;
	width: auto;
	display: block;
}
nav {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	margin-top: 16px;
}

h1,
h2,
h3 {
	font-weight: 800;
	line-height: 1.2;
}
h2 {
	margin-top: 2.5rem;
}
h3 {
	margin: 0 0 0.25rem;
	font-size: 1.05rem;
}

a {
	color: var(--accent);
	text-decoration: underline;
	text-underline-offset: 2px;
}
a:focus-visible {
	outline: 3px solid var(--accent);
	outline-offset: 3px;
	border-radius: 2px;
}

.grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	gap: 16px;
}

.grid > div {
	background: var(--surface);
	border-radius: 8px;
	padding: 16px;
}

.grid p {
	margin: 0;
	color: var(--muted);
}

main {
	flex: 1;
}

footer {
	margin-top: 3rem;
	padding-top: 16px;
	padding-bottom: 32px;
	color: var(--muted);
	font-size: 0.9rem;
}

pre {
	background: var(--surface);
	border-radius: 8px;
	padding: 12px 16px;
	overflow-x: auto;
}

/* Rouge token classes, as Jekyll emits them for fenced code. */
.highlight .c,
.highlight .c1,
.highlight .o {
	color: var(--muted);
}

.highlight .nt,
.highlight .k {
	color: var(--accent);
}

.highlight .s,
.highlight .s1,
.highlight .s2,
.highlight .se {
	color: var(--code-string);
}

.highlight .nv,
.highlight .si {
	color: var(--code-var);
}
