@font-face {
	font-family: Eczar;
	src: local("Eczar"), url("../font/eczar/Eczar-Bold.ttf");
	font-weight: bold;
}

@font-face {
	font-family: Eczar;
	src: local("Eczar"), url("../font/eczar/Eczar-ExtraBold.ttf");
	font-weight: 900;
}

@font-face {
	font-family: Eczar;
	src: local("Eczar"), url("../font/eczar/Eczar-Medium.ttf");
	font-weight: 500;
}

@font-face {
	font-family: Eczar;
	src: local("Eczar"), url("../font/eczar/Eczar-SemiBold.ttf");
	font-weight: 600;
}

@font-face {
	font-family: Eczar;
	src: local("Eczar"), url("../font/eczar/Eczar-Regular.ttf");
}

@font-face {
	font-family: CourierPrimeSans;
	src: local("Courier Prime Sans"), url("../font/courierprimesans/Courier Prime Sans.ttf");
}

@font-face {
	font-family: CourierPrimeSans;
	src: local("Courier Prime Sans"), url("../font/courierprimesans/Courier Prime Sans Bold.ttf");
	font-weight: bold;
}

@font-face {
	font-family: CourierPrimeSans;
	src: local("Courier Prime Sans"), url("../font/courierprimesans/Courier Prime Sans Italic.ttf");
	font-style: italic;
}

@font-face {
	font-family: CourierPrimeSans;
	src: local("Courier Prime Sans"), url("../font/courierprimesans/Courier Prime Sans Bold Italic.ttf");
	font-weight: bold;
	font-style: italic;
}

@font-face {
	font-family: CourierPrimeCode;
	src: local("Courier Prime Code"), url("../font/courierprimecode/Courier Prime Code.ttf");
}

@font-face {
	font-family: CourierPrimeCode;
	src: local("Courier Prime Code"), url("../font/courierprimecode/Courier Prime Code Italic.ttf");
	font-style: italic;
}

@media (prefers-color-scheme: dark) {
	:root {
		--color-bg: #0f0f0f;
		--color-fg: #cccccc;
		--color-dk: #4d4d4d;
		--color-md: #dbdbdb;
		--color-lt: #2d2d2d;
	}
}

@media (prefers-color-scheme: light) {
	:root {
		--color-bg: #cccccc;
		--color-fg: #0f0f0f;
		--color-dk: #4d4d4d;
		--color-md: #979797;
		--color-lt: #2d2d2d;
	}
}

:root {
	font-size: 12pt;
	font-family: CourierPrimeSans,monospace;
	--max-width: 900px;
}

html {
	width: 100vw;
	height: 100dvh;
	background-color: var(--color-bg);
	color: var(--color-fg);
}

body {
	max-width: var(--max-width);
	margin: 0 auto;
	padding: 1em 1em;
}

hr {
	border: 0;
	border-bottom: 0.1em solid var(--color-dk);
}

h1,h2,h3,h4,h5,h6 {
	font-family: Eczar, sans-serif;
}

h1 {
	font-size: 3.25em;
	font-weight: bolder;
}

p {
	line-height: calc(1 + calc(1 / 3));
}

div.clearfix::after {
	content: "";
	display: table;
	clear: both;
}

pre,code {
	font-family: CourierPrimeCode,monospace;
	background-color: var(--color-lt);
}

a,
a:active,
a:hover,
a:focus {
	color: unset;
}

.header-wrapper {
	width: 100%;
	overflow-x: hidden;
}

.secondary {
	color: var(--color-dk);
}

h1.header>a>span.secondary {
	position: absolute;
}

h1.header>a {
	text-decoration: none;
}

h1.header {
	text-align: center;
	margin-bottom: 0;
}

p.brief {
	text-align: center;
	margin-top: 0;
	margin-bottom: 2em;
}

div.post-wrapper {
	margin-bottom: 1em;
	vertical-align: top;
}

div.post-pad {
	display: inline-block;
	width: 0;
}

.content-wrapper>h2,
.content-wrapper>h3,
.content-wrapper>h4,
.content-wrapper>h5,
.content-wrapper>h6 {
	font-size: 1.25em;
	margin-top: 1.33em;
	margin-bottom: 1.33em;
	font-weight: bold;
}

.content-wrapper>h2:has(+.subtitle),
.content-wrapper>h3:has(+.subtitle),
.content-wrapper>h4:has(+.subtitle),
.content-wrapper>h5:has(+.subtitle),
.content-wrapper>h6:has(+.subtitle) {
	margin-bottom: 0;
}

.content-wrapper .subtitle>p {
	margin-top: 0;
	margin-bottom: 2.05em;
	color: var(--color-dk);
	font-size: small;
	font-weight: bold;
}

.content-wrapper sup,
.content-wrapper sub {
	line-height: 0;
}

.photo-wrapper img,
.text-wrapper img {
	max-width: calc(var(--max-width) / 2);
	width: 100%;
}

.text-wrapper.article img.inline-photo-left {
	float: left;
	padding-right: 1em;
}

.text-wrapper.article img.inline-photo-right {
	float: right;
	padding-left: 1em;
}

/* the first h2 child is the #N and timestamp */
.text-wrapper>h2:nth-child(2) {
	margin-top: 0;
}

.text-wrapper p a,
.text-wrapper p a:active,
.text-wrapper p a:hover,
.text-wrapper p a:focus,
.text-wrapper li a,
.text-wrapper li a:active,
.text-wrapper li a:hover,
.text-wrapper li a:focus {
	color: var(--color-md);
}

.content-wrapper hr~p {
	font-size: small;
}

p.secondary>a {
	color: var(--color-fg);
}

blockquote {
	border-left: 2px solid var(--color-fg);
	border-radius: 0.5em;
	margin: 1em 2.5em 1em 0;
	padding: 0 0 0 calc(2em - 2px);
}

blockquote>*:first-child {
	padding-top: 0;
	margin-top: 0;
}

blockquote>*:last-child {
	padding-bottom: 0;
	margin-bottom: 0;
}

table.lr {
	table-layout: fixed;
}

table.lr,
table.lr>tbody,
table.lr>tbody>tr {
	width: 100%;
	padding: 0;
	border: 0;
	margin: 0;
}

table.lr>tbody>tr>td {
	width: 50%;
}

table.lr>tbody>tr>td.left {
	text-align: left;
}

table.lr>tbody>tr>td.right {
	text-align: right;
}

@media (max-width: 365px) {
	h1 {
		font-size: 2em;
	}
}

/* var(--max-width) * (7/8) */
@media (max-width: 787.5px) {
	.text-wrapper.article img.inline-photo-left,
	.text-wrapper.article img.inline-photo-right {
		float: unset;
		display: block;
		margin-left: auto;
		margin-right: auto;
		padding-left: unset;
		padding-right: unset;
	}
}
