@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: #0a000a;
		--color-fg: #cccccc;
		--color-dk: #4d4d4d;
		--color-md: #aa66dd;
		--color-lt: #2d2d2d;
	}
}

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

:root {
	font-size: 12pt;
	font-family: CourierPrimeSans,monospace;
}

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

body {
	max-width: 450px;
	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;
}

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 {
	width: 100%;
}

.text-wrapper.summary {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 15;
	overflow-y: hidden;
}

/* 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;
	}
}
