* {
	font: inherit;
	margin: 0;
	padding: 0;
}
img {
	max-width: 100%;
	height: auto;
}
a img {
	border: none;
}
a {
	color: inherit;
	text-decoration: none;
}
b,
strong,
th {
	font-weight: bold;
}
i,
em {
	font-style: italic;
}
sub,
sup {
	font-size: smaller;
}
html {
	--primary-bg: #fff;
	--primary-fg: #000;
	--accent-color: #0083d6;
	--accent-alt-color: #fff;
	--info-bg: #e3f8ff;
	--info-fg: #000;
	--info-border: #c1d5dc;
	--heading-decor: #aaa;
	--link-color: #05588c;
	background: var(--primary-bg);
	color: var(--primary-fg);
	font: 18px / 1.3 "Noto Sans", "Roboto", "Liberation Sans", sans-serif;
}
@media all and (min-width: 1100px) {
	html {
		font-size: 20px;
	}
}
@media all and (prefers-color-scheme: dark) {
	html {
		--primary-bg: #333;
		--primary-fg: #fff;
		--accent-color: #ffdb86;
		--accent-alt-color: #000;
		--info-bg: #524f4c;
		--info-fg: #fff;
		--info-border: #727272;
		--heading-decor: #aaa;
		--link-color: #ffdb86;
	}
}
body {
	box-sizing: border-box;
	min-width: 320px;
	max-width: 60rem;
	margin: 0 auto;
	padding: 1em .75em 1em .75em;
}
/* Hide on print. */
@media print {
	.hide-on-print { display: none !important; }
}
/* headings */
h2 {
	font-size: 1.2em;
	font-weight: bold;
	padding-bottom: .25em;
	border-bottom: 1px dashed var(--heading-decor);
}
h3 {
	font-size: 1.1em;
	font-weight: bold;
}
h2:not(:first-child),
h3:not(:first-child) {
	margin-top: 1em;
}
/* header */
.top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .5em;
}
@media all and (max-width: 600px) {
	.top {
		flex-direction: column;
	}
}
.top-name {
	font-weight: bold;
	font-size: 1.2em;
}
.top-name-p1 {
	display: inline-block;
	padding: .25em .5em;
	color: var(--accent-alt-color);
	background: var(--accent-color);
	border: 1px solid var(--accent-color);
	border-right: none;
}
.top-name-p2 {
	display: inline-block;
	padding: .25em .5em;
	color: var(--accent-color);
	background: var(--accent-alt-color);
	border: 1px solid var(--accent-color);
	border-left: none;
}
.top-slogan {
	font-style: italic;
}
/* content */
.main-body {
	margin-top: 1em;
}
.content a:not([class]),
.content a.default {
	color: var(--link-color);
	text-decoration: underline;
}
.content p:not(:first-child),
.content ul:not(:first-child),
.content ol:not(:first-child),
.content details:not(:first-child) {
	margin-top: 1em;
}
.content ul > li,
.content ol > li {
	margin-left: 1em;
}
.content ul > li:not(:first-child),
.content ol > li:not(:first-child) {
	margin-top: .2em;
}
/* random server */
@media all and (min-width: 1100px) {
	.random-server-result {
		font-size: 1.2em;
	}
}
.random-server-button {
	box-sizing: border-box;
	display: inline-block;
	border: none;
	padding: .25em .5em;
	color: var(--accent-alt-color);
	background: var(--accent-color);
}
@media all and (max-width: 600px) {
	.random-server-button {
		width: 100%;
	}
}
.random-server {
	padding: 1em;
	background: var(--info-bg);
	color: var(--info-fg);
	border: 1px solid var(--info-border);
}
/* tabs */
.tabs:not(:first-child),
.tabs-panel:not(:first-child) {
	margin-top: 1em;
}
.tabs-controls {
	text-align: center;
}
.tabs-controls-button {
	border: 1px solid var(--accent-color);
	background: var(--primary-bg);
	color: var(--primary-fg);
	padding: .5em;
	cursor: pointer;
}
.tabs-controls-button:not(:first-child) {
	border-left: none;
}
.tabs-controls-button[aria-selected="true"] {
	background-color: var(--accent-color);
	color: var(--accent-alt-color);
}
.tabs-controls-button:focus-visible {
	outline: none;
	text-decoration: underline;
}
.tabs-panel {
	position: relative;
}
/* simple info */
.simple-button {
	width: 1.5em;
	height: 1.5em;
	text-align: center;
	border: 1px solid var(--accent-color);
	background: var(--primary-bg);
	color: var(--primary-fg);
	cursor: pointer;
}
.simple-button.active {
	background-color: var(--accent-color);
	color: var(--accent-alt-color);
}
.simple-button:focus-visible {
	outline: none;
	text-decoration: underline;
}
.simple-title {
	box-sizing: border-box;
	background: var(--accent-color);
	color: var(--accent-alt-color);
	box-shadow: 1px 1px 1px 0 rgba(0,0,0,.2);
}
.simple-title-link {
	display: inline-block;
	padding: .5em;
}
.simple-title-link:hover,
.simple-title-link:focus {
	text-decoration: underline;
}
@media all and (min-width: 600px) {
	.simple-title {
		position: absolute;
		z-index: 1;
		top: 1em;
		left: 1em;
		max-width: calc(100% - 2em);
	}
	.simple-description {
		box-sizing: border-box;
		position: absolute;
		left: 0;
		bottom: 0;
		background: var(--primary-bg);
		color: var(--primary-fg);
		padding: .5em 1em;
		border-top: 1px solid var(--accent-color);
		width: 100%;
		opacity: .95;
	}
	.simple-buttons {
		position: absolute;
		z-index: 1;
		right: 1em;
		top: 1em;
		width: calc(1.5em + 2px);
	}
	.simple-button:not(:first-child) {
		border-top: none;
	}
}
@media not all and (min-width: 600px) {
	.simple-description:not(:first-child),
	.simple-image:not(:first-child) {
		margin-top: 1em;
	}
	.simple-buttons {
		position: absolute;
		z-index: 1;
		left: 50%;
		bottom: 1em;
		transform: translateX(-50%);
	}
	.simple-button:not(:first-child) {
		border-left: none;
	}
}
/* footer */
.main-footer {
	margin-top: 2em;
	border-top: 1px dashed var(--accent-color);
	padding-top: 1em;
}
.main-footer p:not(:first-child) {
	margin-top: 1em;
}
.page-source-link {
	color: var(--link-color);
	text-decoration: underline;
}
