@font-face {
	font-family: 'SpaceMono';
	src: url('/font/spacemono/SpaceMono-Regular.ttf') format('truetype');
	font-display: swap;
}

body[data-theme='light'] {
	color: #02021a;
	background: #fbfbfb;
}

* {
	border: 0;
	margin: 0;
	padding: 0;
}

html {
	background: rgba(0, 0, 0, .03);
}

body {
	line-height: 1.8;
	font-family: helvetica, arial, sans-serif;
	text-align: left;
	font-size: 100%;
	overflow-x: hidden;
	max-width: 1920px;
	margin: auto;
}

h1, h2, h3, h4, h5, h6, figcaption, caption, th, code { letter-spacing: unset; font-family: 'SpaceMono', helvetica, arial, sans-serif; font-weight: bolder; }
h1, h2 { font-size: 2.15em; }
h3, h4 { font-size: 1.25em; }

dfn,
nav a {
	font-family: 'SpaceMono', helvetica, arial, sans-serif;
	font-style: normal;
}

li {
	list-style: none;
}

dt {
	font-weight: bolder;
}

a {
	text-decoration: unset;
	color: #54184d;
}

a:hover {
	text-decoration: underline;
}

table {
    text-align: left;
    border-spacing: 0;
    width: 100%;
}

td, th {
    padding: .5em 2em;
}

section {
	width: 100%;
	box-sizing: border-box;
	padding: 2em;
}

section > header {
	padding-top: 4em; /* visible on scrollIntoView() */
	margin-bottom: 2rem;
}

figure {
	border: 2px solid #ededed;
	padding: 5%;
	display: inline-block;
	vertical-align: top;
}

caption,
figcaption {
	text-align: left;
	margin-bottom: 2em;
}

code {
	font-weight: normal;
	background: #f6f6f6;
	color: black;
	padding: .25em 1em;
	display: table;
}

dl > div:not(:last-child) {
	margin-bottom: 2rem;
}

pre {
	font: inherit;
}

.logo img {
	display: table;
	margin: auto;
}

nav li {
	font-weight: bolder;
}
