/* exe.st — man page style */

@font-face {
	font-family: "IBM Plex Mono";
	src: url("/fonts/ibm-plex-mono/ibm-plex-mono-latin-400-normal.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "IBM Plex Mono";
	src: url("/fonts/ibm-plex-mono/ibm-plex-mono-latin-400-italic.woff2") format("woff2");
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: "IBM Plex Mono";
	src: url("/fonts/ibm-plex-mono/ibm-plex-mono-latin-600-normal.woff2") format("woff2");
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

:root {
	color-scheme: dark;
	--bg: #121212;
	--text: #d9d9d9;
	--bright: #ffffff;
	--dim: #8a8a8a;
	--rule: #333333;
	--link: #f5c542;
	--link-hover: #ffe08a;
	--indent: 3.5rem;
}

* {
	box-sizing: border-box;
}

body {
	margin: 0;
	background: var(--bg);
	color: var(--text);
	font-family: "IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;
	font-size: 15px;
	line-height: 1.6;
}

a {
	color: var(--link);
}

a:hover,
a:focus-visible {
	color: var(--link-hover);
}

.page {
	max-width: 900px;
	margin: 0 auto;
	padding: 3rem 1.5rem;
}

.running-head,
.running-foot {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	color: var(--dim);
}

.running-head {
	border-bottom: 1px solid var(--rule);
	padding-bottom: 0.8rem;
}

.running-foot {
	border-top: 1px solid var(--rule);
	margin-top: 3rem;
	padding-top: 0.8rem;
}

.running-foot p {
	margin: 0;
}

.title {
	display: flex;
	align-items: center;
	gap: 1.2rem;
	margin: 2rem 0 0.5rem;
}

.title img {
	width: 72px;
	height: 72px;
	filter: invert(1);
}

h1 {
	margin: 0;
	font-size: 1.1rem;
	font-weight: 400;
	color: var(--bright);
}

h2 {
	margin: 2rem 0 0.4rem;
	font-size: 1em;
	font-weight: 600;
	color: var(--bright);
}

.title a {
	display: flex;
}

section > p,
section > dl,
section > ul,
section > .body {
	padding-left: var(--indent);
}

section p,
section dl {
	margin: 0 0 0.8rem;
}

section p:last-child,
section dl:last-child {
	margin-bottom: 0;
}

ul {
	margin: 0 0 0.8rem;
}

section > ul {
	padding-left: calc(var(--indent) + 1.2rem);
}

.body ul {
	padding-left: 1.2rem;
}

li {
	margin-bottom: 0.3rem;
}

h3 {
	margin: 1.4rem 0 0.4rem;
	font-size: 1em;
	font-weight: 600;
	color: var(--bright);
}

h4 {
	margin: 1.2rem 0 0.3rem;
	font-size: 1em;
	font-weight: 400;
	font-style: italic;
	color: var(--bright);
}

code {
	font-family: inherit;
	color: var(--bright);
}

pre {
	margin: 0.4rem 0 1rem;
	padding: 1rem 1.2rem;
	background: #1c1c1c;
	border-left: 2px solid var(--link);
	font-family: inherit;
	font-size: 14px;
	line-height: 1.5;
	overflow-x: auto;
}

pre code {
	color: inherit;
}

dl {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	gap: 0.2rem 2rem;
}

dt {
	color: var(--bright);
}

dd {
	margin: 0;
}

.note {
	color: var(--dim);
}

@media (max-width: 640px) {
	:root {
		--indent: 1.5rem;
	}

	dl {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
	}

	dd {
		margin-bottom: 0.6rem;
	}
}
