/* CSS variables */
:root {
	--pale-blue: #2563eb;
	--light-pink: #e646a7;
	--dark-pink: #e01f93;
	/* Dark mode custom colors */
	--dark-fg: #f0f0f0;
	--dark-bg: #0a0a0a;
}

html {
	font-family: sans-serif;
	max-width: 800px;
	margin: auto;
}

@media (prefers-color-scheme: dark) {
	html {
		color: var(--dark-fg);
		background-color: var(--dark-bg);
	}
}

nav {
	display: flex;
	flex-direction: row;
	column-gap: 1rem;
	padding-bottom: 0.1rem;
	border-style: none none solid none;
	border-width: 0.15rem;
}

@media (max-width: 480px) {
	nav {
		flex-direction: column;
	}
}

footer {
	display: flex;
	flex-direction: column;
	align-items: center;
	row-gap: 0.25rem;
	margin-top: 3rem;
}

a.nav-home {
	font-size: 1.5rem;
	font-weight: bold;
	color: black;
	text-decoration: none;
	margin-right: auto;
}

a.nav-home:hover {
	text-decoration: underline;
}

a.nav-home:visited {
	color: black;
}

a.nav-link {
	font-size: 1.25rem;
	color: black;
	text-decoration: none;
	display: flex;
	align-items: center;
}

a.nav-link:hover {
	text-decoration: underline;
}

a.nav-link:visited {
	color: black;
}

@media (prefers-color-scheme: dark) {
	a.nav-home {
		color: var(--dark-fg);
	}
	a.nav-home:visited {
		color: var(--dark-fg);
	}
	a.nav-link {
		color: var(--dark-fg);
	}
	a.nav-link:visited {
		color: var(--dark-fg);
	}
}

@media print {
	nav {
		display: none;
	}
	footer {
		display: none;
	}
}

a {
	color: var(--pale-blue);
}

a:hover {
	text-decoration: none;
}

a:visited {
	color: MediumBlue;
}

@media (prefers-color-scheme: dark) {
	a {
		color: var(--light-pink);
	}
	a:visited {
		color: var(--dark-pink); 
	}
}

li + li {
	margin-top: 0.5rem;
}

ul p {
	margin-top: 0;
	margin-left: 0;
	margin-right: 0;
	margin-bottom: 0.25rem;
}

ul.posts {
	list-style-type: none;
	padding: 0;
}

ul.posts li {
	margin-top: 1.25rem;
}

div.fancy-links {
	list-style-type: none;
	padding: 0;
	display: grid;
	gap: 1.5rem 1.5rem; 
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

div.fancy-links a {
	border-style: solid;
	border-width: 1px;
	border-radius: 8px;
	border-color: LightGray;
	padding-left: 1rem;
	padding-right: 1rem;
	color: black;
	text-decoration: none;
}

div.fancy-links a:hover {
	border-color: var(--pale-blue);
	color: var(--pale-blue);
}

div.fancy-links a:focus {
	border-width: 2px;
	border-color: var(--pale-blue);
	outline: 0;
}

@media (prefers-color-scheme: dark) {
	div.fancy-links a {
		color: var(--dark-fg);
	}
	div.fancy-links a:hover {
		color: var(--light-pink);
		border-color: var(--light-pink);
	}
	div.fancy-links a:focus {
		border-color: var(--light-pink);
	}
}

@media (max-width: 480px) {
	div.fancy-links {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
}

blockquote {
	margin: 0;
	border-style: none none none solid;
	border-width: 0.25em;
	padding: 0.5rem;
	background-color: LightGray;
}

blockquote p:first-child {
	margin-top: 0;
}

blockquote p:last-child {
	margin-bottom: 0;
}

@media (prefers-color-scheme: dark) {
	blockquote {
		border-color: var(--dark-fg);
		background-color: #2a2a2a;
	}
}

a.footnote-ref {
	text-decoration: none;
}

a.footnote-ref sup {
	text-decoration: underline;
}

a.footnote-ref:hover sup {
	text-decoration: none;
}

a.footnote-back {
	margin-left: 0.4rem;
}

img {
	display: block;
	object-fit: cover;
	width: 100%;
	height: 100%;
	margin-left: auto;
	margin-right: auto;
}

details {
	border-style: solid;
	border-width: 1px;
	margin-bottom: 1.5rem;
}

details[open] > summary {
	border-style: none none solid none;
	border-width: 1px;
}

summary {
	padding: 0.5rem;
}

details[open] > div {
	padding: 0.5rem;
}
