html, footer, .catalogue-time, h1, h2, h3, h4, h5, h6 {
    font-family: system-ui, sans-serif;
    -webkit-font-smoothing: antialiased;
}

.nav li {
	padding: 0 1rem 0 0;
}
.post-info {
	margin: 0 auto 2rem;
    font-family: system-ui, sans-serif;
	-webkit-font-smoothing: antialiased;
	letter-spacing: normal;
}
.post-line {
	border-top: 0.4rem solid #f7f7f7;
	margin: 0 auto 2rem;
}
.post p {
	text-align: left;
}
.post sup {
	line-height: 0;
}

.nav-title, a {
	color: #6b38a2;
}
.footnotes li:not(:last-child) {
	margin-bottom: 20px;
}
.highlight .nf {
	color: #6b38a2;
}
hr {
	border: none;
	background: #e5e5e5;
	height: 1px;
}
article h1 a, article h2 a, article h3 a {
	color: black;
}
article h1 a:hover, article h2 a:hover, article h3 a:hover {
	text-decoration: none !important; 
}

code {
	border-radius: 3px;
	color: #d44950;
}
article .footnotes hr {
	margin: 30px 0px;
}

@media screen and (max-width: 600px) {
	.post-title {
		font-size: 2.5rem;
	}
}

@media screen and (max-width: 800px) {
	.post-title {
		font-size: 3.0rem;
	}
}

:root {
	color-scheme: light dark;
}

@media (prefers-color-scheme: dark) {
	:root {
		--background-color: #111;
		--default-color: #ddd;
		--default-shade: #fff;
		--default-tint: #ccc;
		--grey-1: #ccc;
		--grey-2: #bbb;
		--grey-3: #222;
		--blue: #a880d3;
		--shadow-color: rgba(255, 255, 255, 0.4);
		--code-color: #d44950;
	}

	body {
		background-color: var(--background-color);
	}

	article h1 a, article h2 a, article h3 a,
	.post-title, .catalogue-title,
	h1, h2, h3, h4, h5, h6 {
		color: var(--default-shade);
	}

	body,
	footer span,
	.nav li, .nav a,
	.pagination .top, .pagination .arrow,
	.catalogue-item  {
		color: var(--default-color);
	}

	.post img + em,
	.post-info, .catalogue-time {
		color: var(--default-tint);
	}
	
	.nav-title, a {
		color: var(--blue);
	}

	blockquote {
		border-left: 0.25rem solid var(--grey-2);
		color: var(--grey-1);
	}

	code {
		background-color: var(--grey-3);
		color: var(--code-color);
	}

	hr {
		background: var(--grey-2);
	}

	.nav {
		box-shadow: 0 2px 2px -2px var(--shadow-color);
	}

	.pagination {
		border-top: 0.5px solid var(--grey-2);
	}

	.catalogue-item {
		border-bottom: 1px solid var(--grey-2);
	}

	.catalogue-line {
		border-top: 0.2rem solid var(--default-shade);
	}
	
	.highlight {
		border: 1px solid var(--grey-3);
	}

	/* vim pygments */
	.highlight .hll { background-color: #222222 }
	.highlight  { background: #000000; color: #cccccc }
	.highlight .c { color: #000080 } /* Comment */
	.highlight .err { color: #cccccc; border: 1px solid #FF0000 } /* Error */
	.highlight .esc { color: #cccccc } /* Escape */
	.highlight .g { color: #cccccc } /* Generic */
	.highlight .k { color: #cdcd00 } /* Keyword */
	.highlight .l { color: #cccccc } /* Literal */
	.highlight .n { color: #cccccc } /* Name */
	.highlight .o { color: #3399cc } /* Operator */
	.highlight .x { color: #cccccc } /* Other */
	.highlight .p { color: #cccccc } /* Punctuation */
	.highlight .ch { color: #000080 } /* Comment.Hashbang */
	.highlight .cm { color: #000080 } /* Comment.Multiline */
	.highlight .cp { color: #000080 } /* Comment.Preproc */
	.highlight .cpf { color: #000080 } /* Comment.PreprocFile */
	.highlight .c1 { color: #000080 } /* Comment.Single */
	.highlight .cs { color: #cd0000; font-weight: bold } /* Comment.Special */
	.highlight .gd { color: #cd0000 } /* Generic.Deleted */
	.highlight .ge { color: #cccccc; font-style: italic } /* Generic.Emph */
	.highlight .gr { color: #FF0000 } /* Generic.Error */
	.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
	.highlight .gi { color: #00cd00 } /* Generic.Inserted */
	.highlight .go { color: #888888 } /* Generic.Output */
	.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
	.highlight .gs { color: #cccccc; font-weight: bold } /* Generic.Strong */
	.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
	.highlight .gt { color: #0044DD } /* Generic.Traceback */
	.highlight .kc { color: #cdcd00 } /* Keyword.Constant */
	.highlight .kd { color: #00cd00 } /* Keyword.Declaration */
	.highlight .kn { color: #cd00cd } /* Keyword.Namespace */
	.highlight .kp { color: #cdcd00 } /* Keyword.Pseudo */
	.highlight .kr { color: #cdcd00 } /* Keyword.Reserved */
	.highlight .kt { color: #00cd00 } /* Keyword.Type */
	.highlight .ld { color: #cccccc } /* Literal.Date */
	.highlight .m { color: #cd00cd } /* Literal.Number */
	.highlight .s { color: #cd0000 } /* Literal.String */
	.highlight .na { color: #cccccc } /* Name.Attribute */
	.highlight .nb { color: #cd00cd } /* Name.Builtin */
	.highlight .nc { color: #00cdcd } /* Name.Class */
	.highlight .no { color: #cccccc } /* Name.Constant */
	.highlight .nd { color: #cccccc } /* Name.Decorator */
	.highlight .ni { color: #cccccc } /* Name.Entity */
	.highlight .ne { color: #666699; font-weight: bold } /* Name.Exception */
	.highlight .nf { color: #cccccc } /* Name.Function */
	.highlight .nl { color: #cccccc } /* Name.Label */
	.highlight .nn { color: #cccccc } /* Name.Namespace */
	.highlight .nx { color: #cccccc } /* Name.Other */
	.highlight .py { color: #cccccc } /* Name.Property */
	.highlight .nt { color: #cccccc } /* Name.Tag */
	.highlight .nv { color: #00cdcd } /* Name.Variable */
	.highlight .ow { color: #cdcd00 } /* Operator.Word */
	.highlight .w { color: #cccccc } /* Text.Whitespace */
	.highlight .mb { color: #cd00cd } /* Literal.Number.Bin */
	.highlight .mf { color: #cd00cd } /* Literal.Number.Float */
	.highlight .mh { color: #cd00cd } /* Literal.Number.Hex */
	.highlight .mi { color: #cd00cd } /* Literal.Number.Integer */
	.highlight .mo { color: #cd00cd } /* Literal.Number.Oct */
	.highlight .sa { color: #cd0000 } /* Literal.String.Affix */
	.highlight .sb { color: #cd0000 } /* Literal.String.Backtick */
	.highlight .sc { color: #cd0000 } /* Literal.String.Char */
	.highlight .dl { color: #cd0000 } /* Literal.String.Delimiter */
	.highlight .sd { color: #cd0000 } /* Literal.String.Doc */
	.highlight .s2 { color: #cd0000 } /* Literal.String.Double */
	.highlight .se { color: #cd0000 } /* Literal.String.Escape */
	.highlight .sh { color: #cd0000 } /* Literal.String.Heredoc */
	.highlight .si { color: #cd0000 } /* Literal.String.Interpol */
	.highlight .sx { color: #cd0000 } /* Literal.String.Other */
	.highlight .sr { color: #cd0000 } /* Literal.String.Regex */
	.highlight .s1 { color: #cd0000 } /* Literal.String.Single */
	.highlight .ss { color: #cd0000 } /* Literal.String.Symbol */
	.highlight .bp { color: #cd00cd } /* Name.Builtin.Pseudo */
	.highlight .fm { color: #cccccc } /* Name.Function.Magic */
	.highlight .vc { color: #00cdcd } /* Name.Variable.Class */
	.highlight .vg { color: #00cdcd } /* Name.Variable.Global */
	.highlight .vi { color: #00cdcd } /* Name.Variable.Instance */
	.highlight .vm { color: #00cdcd } /* Name.Variable.Magic */
	.highlight .il { color: #cd00cd } /* Literal.Number.Integer.Long */
}
