:root {
	--bg: #fff;
	--fg: #222;
	--bl: #eee;
	--br: #bbb;
	--li: #00f;
	--ac: #888;
}
@media(prefers-color-scheme: dark) {
	:root {
		--bg: #151515;
		--fg: #e5e5e5;
		--bl: #292929;
		--br: #777;
		--li: #acbbf9;
	}
}
body {
	background: var(--bg);
	color: var(--fg);
	max-width: 35em;
	font-size: 1em;
	font-family: Helvetica Neue, sans-serif;
	line-height: 1.45em;
    margin: auto;
	padding: 3vw;
	word-break: break-word;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
}
a:link {
	color: var(--li);
    text-underline-offset: 2.5px;
}
a:visited {
	color: inherit;
}
header .byline, footer {
	color: var(--ac);
}
header a, footer a {
	color: inherit;
}
code {
	font-family: monospace, monospace;
	font-size: 90%;
}
pre {
	display: block;
	overflow-x: auto;
	padding: 1em;
	background: var(--bl);
	line-height: 1.35
}
figure {
	margin: 1em 0;
}
figure pre {
  margin: 0
}
figcaption {
	color: var(--ac);
	padding: 0.5em 0;
}
@media(max-width: 36.5em) {
    pre {
        margin: 1em -1em;
        padding: 0.75em 1em;
    }
    figure {
        margin: 1em -1em;
    }
    figcaption {
        padding: 0.5em 1em;
    }
}
h1 {
	margin: 0 0 0.15rem;
	font-size: 1.25em;
}
h2 {
	font-size: 1.17em;
}
h3 {
	font-size: 1em;
}
ul, ol {
	padding-left: 1.625em;
}
blockquote {
	margin: 1em 0;
	background: var(--bl);
	padding: 1px 1em;
}
img {
	max-width: 100%;
	height: auto;
}
sup {
	line-height: 0;
}
table {
	border-collapse: collapse;
	width: 100%
}
th, tr, td {
	border: thin solid;
	padding: 0.1em 0.5em;
}
hr {
	border-style: solid;
	border-color: var(--br);
	border-bottom: 0
}
