html {
	color-scheme: light dark;
	scrollbar-color: #ff7ac1 #ff199420;
}

html, body {
	margin: 0;
	height: 100%;
	font-size: 18px;
	line-height: 1.4;
}

* {
	box-sizing: border-box;
}

header, footer {
	background-color: #f06ea4;
	color: #ffffff;
	font-family: 'Slabo 27px', serif;
}
h1 {
	margin: 0;
}

h1 a {
	color: inherit !important;
}

.media {
	position: absolute;
	left: 100%;
	margin-left: 20rem;
	margin-top: 0.25rem;
}
.media img {
	height: 2rem;
}
.media a {
	text-decoration: none !important;
}

nav {
	display: flex;
	flex-direction: row;
	margin-top: 0.5rem;
}
nav a {
	color: #ffffff;
	background-color: #00000030;
	font-family: 'Roboto', sans-serif;
	padding: 0.25rem 0.5rem;
	margin-right: 0.5rem;
}
nav .current {
	background-color: #ebdde2;
	color: #ff1994;
}

header, footer, section {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
footer h2 {
	opacity: 0.8;
	color: inherit !important;
}

section {
	font-family: 'Roboto', sans-serif;
}

code {
	font-family: 'Noto Sans', sans-serif;
	color: #8d00d9;
	word-wrap: break-word;
}

.viewport-container {
	width: 40rem;
	margin-right: 15rem;
	max-width: 100%;
	padding: 1em;
	position: relative;
}

h2 {
	margin: 0;
	color: #8d00d9;
}
h2 a {
	color: inherit;
}

:not(h2):has(+ h3) {
	margin-bottom: 3rem !important;
}
h3 {
	position: absolute;
	width: 100vw;
	margin: 0;
	margin-left: calc(-100vw - 1.5rem);
	text-align: right;
	font-size: 1em;
	font-weight: 700;
	color: #8d00d9;
}

s {
	opacity: 0.5;
}

a {
	color: #ff1994;
	text-decoration: none;
}
a:hover, a:active, a:focus {
	text-decoration: underline;
}

li {
	margin-bottom: 0.25rem;
}

hr {
	visibility: hidden;
	margin-top: 2rem;
}

@media all and (prefers-color-scheme: dark) {
	html {
		scrollbar-color: #d0438f #f765b420;
		background-color: #160117;
	}
	header, footer {
		background-color: #9c2254;
	}
	section {
		color: #fee8ff;
	}
	code {
		color: #cd91ed;
	}
	h2, h3 {
		color: #cd91ed;
	}
	a {
		color: #f765b4;
	}
	nav .current {
		background-color: #160117;
		color: #ffffff;
	}
}

@media screen and (max-width: 1300px) {
	.media {
		left: unset;
		right: 1rem;
	}

	h3 {
		position: static;
		width: 100%;
		margin-left: 0;
		margin-bottom: 1rem;
		text-align: left;
	}

	.viewport-container {
		margin-right: 0;
	}
}
