:root {
	--page-bg: #fff;
	--body-fg: #444;
	--accent: #600;
	--even-bg: #fee;
	--odd-bg: #eee;
	--sidebar-bg: #fee;
	--highlight-bg: #fcc;
}

html { color-scheme: light }

html[data-theme="dark"] {
	color-scheme: dark;
	--page-bg: #000;
	--body-fg: #fff;
	--accent: #e66;
	--even-bg: #300;
	--odd-bg: #333;
	--sidebar-bg: #300;
	--highlight-bg: #933;
}

@media (prefers-color-scheme: dark) {
	html:not([data-theme]) {
		color-scheme: dark;
		--page-bg: #000;
		--body-fg: #fff;
		--accent: #e66;
		--even-bg: #300;
		--odd-bg: #333;
		--sidebar-bg: #300;
		--highlight-bg: #933;
	}
}

body,table {
	padding: 0;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, system-ui, sans-serif;
	background-color: var(--page-bg);
	color: var(--body-fg);
}

body {
	margin: 0;
	background-image: linear-gradient(to right, #600 0, #600 7.75rem, #666 7.75rem, #666 calc(7.75rem + 1px), #600 calc(7.75rem + 1px), #600 calc(7.75rem + 2px));
	background-size: calc(7.75rem + 2px) 0.5rem;
	background-repeat: repeat-y;
	background-position: top left;
	line-height: 1.5;
}

#bg {
	margin: 0;
	max-width: 64rem;
}
#content {
	margin: 0.625rem 0.625rem 0.625rem 8.5rem;
	padding: 0;
	font-size: 1rem;
}

#logo,#menu {
	font-size: 0.8125rem;
	text-align: left;
	color: #999;
	background-color: #600;
	border: 0;
	margin: 0;
	position: absolute;
	top: 0;
	left: 0;
	padding: 0.25rem 0 0.25rem 0.25rem;
	width: 7.5rem;
}
#menu {
	top: 7.75rem;
	line-height: 1.9;
}

a { color: var(--accent) }
hr {
	height: 1px;
	border: 0;
	background-color: var(--accent);
}
h1 {
	font-size: 1.75rem;
	margin-top: 0;
	border-bottom: solid 2px var(--accent);
	line-height: 1.2;
}
h2 { font-size: 1.25rem; line-height: 1.2; }
.shrink { max-width: 100%; height: auto }
input { border-color: #999 }
pre, code { font-family: ui-monospace, monospace }

#logo a,#menu a { color: #fff; display: block; text-decoration: none }
#menu a { padding-left: 0.5rem; text-indent: -0.5rem }
#logo a {
	box-sizing: border-box;
	width: 7.5rem;
	height: 7.5rem;
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="120" height="85"><path fill="%23111" d="M49 43h500V82H49z"/><path fill="%23a44" d="M79.064 27.94c6.96 12.46 7.832 26.413 1.945 31.168s-16.302-1.49-23.263-13.948-7.832-26.413-1.945-31.168 16.3 1.49 23.262 13.948zM73.02 22.772c4.73 12.555-5.08 27.467-21.915 33.307s-34.317.398-39.05-12.157 5.08-27.466 21.915-33.307 34.317-.398 39.05 12.156zM24.582 67.565c-6.428-10.927-4.028-22.636 5.36-26.153s22.21 2.49 28.637 13.418 4.027 22.635-5.36 26.152-22.21-2.49-28.638-13.417z"/><path fill="%23711" d="M76.04 27c0 11.16-12.664 20.204-28.284 20.204S19.473 38.16 19.473 27 32.136 6.8 47.756 6.8c15.62 0 28.283 9.045 28.283 20.203z"/><path fill="%23e77" d="M26.977 43.686c7.302 11.077 11.882 24.8 10.23 30.65s-8.915 1.61-16.218-9.467-11.884-24.8-10.23-30.65 8.914-1.61 16.217 9.466z"/><path fill="%23411" d="M85.02 51.253c2.56 8.985-5.948 21.4-19 27.727s-25.71 4.176-28.27-4.808c-2.558-8.985 5.95-21.398 19.002-27.727s25.71-4.176 28.268 4.808z"/><path fill="%23fff" d="M55.32 12.24c0 1.915-2.392 3.466-5.342 3.466-2.95 0-5.342-1.55-5.342-3.465s2.392-3.464 5.342-3.464c2.95 0 5.342 1.552 5.342 3.465zM32.9 22.5c0 1.915-2.39 3.466-5.34 3.466-2.95 0-5.343-1.55-5.343-3.465s2.392-3.464 5.342-3.464c2.95 0 5.34 1.552 5.34 3.465zM48.422 41.037c0 1.914-2.392 3.465-5.342 3.465-2.95 0-5.342-1.55-5.342-3.465s2.392-3.465 5.342-3.465c2.95 0 5.342 1.552 5.342 3.465zM73.254 30.114c0 1.914-2.392 3.465-5.342 3.465-2.95 0-5.342-1.552-5.342-3.466s2.392-3.465 5.342-3.465c2.95 0 5.342 1.55 5.342 3.464zM17.15 37.106c1.632 2.222 2.53 4.536 2 5.168-.527.63-2.28-.66-3.913-2.882s-2.53-4.536-2.003-5.168c.528-.63 2.28.66 3.915 2.882zM18.528 45.712c1.633 2.222 2.53 4.536 2.002 5.168-.528.63-2.28-.66-3.914-2.882s-2.53-4.536-2.003-5.168c.528-.63 2.28.66 3.915 2.882zM20.598 54.98c1.633 2.222 2.53 4.536 2.002 5.168-.528.63-2.28-.66-3.914-2.882s-2.53-4.536-2.003-5.168c.528-.63 2.28.66 3.915 2.882zM29.91 52.332c1.633 2.222 2.53 4.536 2.002 5.168-.528.63-2.28-.66-3.914-2.882s-2.53-4.536-2.003-5.168c.528-.63 2.28.66 3.915 2.882zM30.945 60.937c1.633 2.222 2.53 4.536 2.002 5.168-.528.63-2.28-.66-3.914-2.882s-2.53-4.536-2.003-5.168c.528-.63 2.28.66 3.915 2.882zM32.324 69.874c1.633 2.222 2.53 4.536 2.002 5.168-.528.63-2.28-.66-3.914-2.882s-2.53-4.536-2.003-5.168c.527-.63 2.28.66 3.914 2.882zM53.95 72.954c1.134 1.236.04 3.598-2.446 5.275-2.484 1.676-5.417 2.033-6.55.797s-.04-3.6 2.446-5.276c2.484-1.676 5.417-2.033 6.55-.796zM79.127 46.806c1.134 1.236.04 3.598-2.446 5.275-2.483 1.678-5.416 2.035-6.55.8s-.038-3.6 2.447-5.277c2.484-1.677 5.417-2.034 6.55-.797z"/></svg>'), url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="120" height="35"><path fill="%23fff" d="M24.56 30h-2.32v-3.92h-.08c-.28.68-.68 1.28-1.2 1.84s-1.12 1.04-1.76 1.44c-.68.4-1.4.68-2.16.88-.76.24-1.52.32-2.24.32-1.6 0-2.96-.28-4.12-.84s-2.12-1.36-2.88-2.36c-.8-1-1.36-2.16-1.72-3.48-.4-1.32-.56-2.72-.56-4.2-.04-1.44.16-2.84.56-4.16.36-1.32.92-2.48 1.72-3.48.76-1 1.72-1.8 2.88-2.4 1.16-.56 2.52-.88 4.12-.88.76 0 1.52.12 2.24.28.72.2 1.44.48 2.08.88s1.2.84 1.68 1.4.88 1.24 1.16 1.96h.08V1.44h2.52V30M8.04 19.68c0 1.08.12 2.16.36 3.2s.64 2 1.2 2.8c.56.84 1.24 1.52 2.12 2.04.84.52 1.84.76 3.08.76 1.32 0 2.44-.24 3.36-.76s1.68-1.2 2.24-2.04c.56-.8 1-1.76 1.24-2.8s.4-2.12.4-3.2c0-1.04-.16-2.12-.4-3.16s-.68-2-1.24-2.84c-.56-.8-1.32-1.48-2.24-2s-2.04-.8-3.36-.8c-1.2 0-2.24.28-3.08.8-.88.52-1.56 1.2-2.12 2-.56.84-.96 1.8-1.2 2.84s-.36 2.12-.36 3.16M29.41 1.44h2.52v4.04h-2.52v-4.04m0 7.92h2.52V30h-2.52V9.36M51.63 18.24c-.04-.96-.2-1.88-.52-2.76s-.72-1.64-1.28-2.32-1.24-1.24-2.04-1.64-1.72-.64-2.72-.64c-1.04 0-1.96.24-2.76.64s-1.48.96-2.04 1.64-1.04 1.48-1.36 2.36-.56 1.8-.64 2.72h13.36m-13.36 2.12c0 .92.12 1.88.36 2.84s.68 1.84 1.24 2.6c.52.8 1.24 1.44 2.12 1.92.84.52 1.84.76 3.08.76 1.84 0 3.28-.48 4.32-1.44s1.76-2.24 2.16-3.84h2.52c-.56 2.36-1.52 4.16-2.96 5.44s-3.44 1.92-6.04 1.92c-1.64 0-3.04-.28-4.24-.84s-2.16-1.36-2.88-2.36c-.76-1-1.32-2.16-1.68-3.48s-.52-2.72-.52-4.2c0-1.32.16-2.68.52-4 .36-1.28.92-2.44 1.68-3.48.72-1.04 1.68-1.84 2.88-2.48s2.6-.96 4.24-.96 3.04.36 4.24 1c1.16.68 2.12 1.56 2.84 2.64s1.28 2.32 1.6 3.72c.28 1.4.44 2.8.4 4.24H38.27M56.862 30v-4.24h3.36V30h-3.36M63.796 9.36h2.52v3.56h.08c.48-1.24 1.32-2.24 2.56-3 1.2-.76 2.56-1.16 4.04-1.16 1.44 0 2.64.2 3.6.56.96.4 1.76.92 2.36 1.6.56.68.96 1.52 1.24 2.48.24 1 .36 2.12.36 3.32V30h-2.52v-12.88c0-.88-.08-1.68-.24-2.44s-.44-1.44-.84-2-.96-1-1.64-1.32-1.52-.48-2.52-.48c-1.04 0-1.92.2-2.72.56s-1.44.84-2 1.48-.96 1.36-1.28 2.24-.48 1.8-.48 2.8V30h-2.52V9.36M100.16 18.24c-.04-.96-.2-1.88-.52-2.76s-.72-1.64-1.28-2.32-1.24-1.24-2.04-1.64-1.72-.64-2.72-.64c-1.04 0-1.96.24-2.76.64s-1.48.96-2.04 1.64-1.04 1.48-1.36 2.36-.56 1.8-.64 2.72h13.36m-13.36 2.12c0 .92.12 1.88.36 2.84s.68 1.84 1.24 2.6c.52.8 1.24 1.44 2.12 1.92.84.52 1.84.76 3.08.76 1.84 0 3.28-.48 4.32-1.44s1.76-2.24 2.16-3.84h2.52c-.56 2.36-1.52 4.16-2.96 5.44s-3.44 1.92-6.04 1.92c-1.64 0-3.04-.28-4.24-.84s-2.16-1.36-2.88-2.36c-.76-1-1.32-2.16-1.68-3.48s-.52-2.72-.52-4.2c0-1.32.16-2.68.52-4 .36-1.28.92-2.44 1.68-3.48.72-1.04 1.68-1.84 2.88-2.48s2.6-.96 4.24-.96 3.04.36 4.24 1c1.16.68 2.12 1.56 2.84 2.64s1.28 2.32 1.6 3.72c.28 1.4.44 2.8.4 4.24H86.8M110.1 9.36h4.2v2.12h-4.2v13.92c0 .84.08 1.48.32 1.96s.8.72 1.72.76c.72 0 1.44-.04 2.16-.12v2.12c-.4 0-.76.04-1.12.04-.4.04-.76.04-1.12.04-1.68 0-2.88-.32-3.52-.96-.68-.64-1-1.88-.96-3.64V11.48h-3.6v-2.12h3.6v-6.2h2.52v6.2"/></svg>');
	background-repeat: no-repeat;
	background-size: 7.5rem 5.3125rem, 7.5rem 2.1875rem;
	background-position: top left, bottom left;
}
#logo a:hover,#menu a:hover { background-color: #933 }
#menu dl { margin: 0.5rem 0 0.5rem 0.25rem; padding-left: 0 }
#menu dd { margin: 0 0 0 0.5rem; padding-left: 0 }
#menu dt { font-size: 1.25em }
#menu a.back {
	display: block;
	min-height: 1.5rem;
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" height="32" width="32"><path d="M16 0l-16 16 16 16" fill="%23fff"/><path d="M15 10h17v12H15z" fill="%23fff"/></svg>');
	background-repeat: no-repeat;
	background-position: 0 center;
	background-size: 1.5rem 1.5rem;
}
#menu input { background-color: #fcc; border-color: #fcc; color: #000; width: 90% }
#menu label { font-size: .75em; margin-top: 1.5em; display: block }
#news { margin: 1em 0; padding: 0 .5em .5em .5em; background-color: var(--odd-bg) }
#news dt { text-align:center; font-weight: bold; margin: 0; padding: .5em 0 0 0 }
#news dd { margin: 0; padding: 0 0 0 3.5em; text-indent: -3.5em }
.center { text-align: center }
.source { font-size: .75rem; font-style: italic; }
.even, .striped tr:nth-child(even) { background-color: var(--even-bg); }
.odd, .striped tr:nth-child(odd) { background-color: var(--odd-bg); }
.code { padding: 0 2em 0 0 }
.sidebar { background-color: var(--sidebar-bg); border: solid 1px #600; padding: .5em 1em }
.highlight { background-color: var(--highlight-bg) }
.error { border: 1px solid #c00; padding: .5em 1em; color: #c00 }
.button { white-space: nowrap; padding: .125em .25em; border: 1px solid #666; }
.dirlist { width: 100%; border-collapse: collapse; margin: 1em 0; text-align: left }

#adright { float: right; margin: 0 0.5em 0.5em 1em; width: 336px; max-width: 40% }
#admiddle { margin: .5em 3em }
#adbottom { margin: 1em 0 4em .5em }
ins.adsbygoogle[data-ad-status="unfilled"] { display: none !important }

@media print
{
	html { color-scheme: light }
	body, #bg, #content { margin: 0; color: #000; background-color: #fff; background-image: none; font-size: 12pt }
	pre, code { font-size: 12pt }
	a { text-decoration: underline }
	a[href]::after { content: " (" attr(href) ")" }
	form, #menu, #logo, #admiddle, #adbottom, #adright { display: none }
	h1, h2, h3, h4, h5, h6 { break-after: avoid }
	p, pre, code, blockquote, table, ul, ol, dl { break-inside: avoid }
}

@media screen and (max-width: 640px)
{
	body { background-image: none; }
	#bg {
		display: flex;
		flex-direction: column;
	}
	#logo {
		order: 1;
		position: static;
		padding: 0;
		top: auto;
		left: auto;
		width: 100%;
		border-bottom: 1px #666 solid;
	}
	#content {
		order: 2;
		margin: 0.625rem;
	}
	#menu {
		order: 3;
		font-size: 84%;
		position: static;
		width: 100%;
		border-top: 1px #666 solid;
		margin: 1em 0 0 0;
	}
	#logo a {
		padding: 0.25rem 0 0.125rem 0.5rem;
		width: auto;
		height: auto;
		min-height: 2.5625rem;
		background-size: 3.8125rem auto, auto 2.1875rem;
		background-position: right center, left 0.5rem center;
	}
	#menu dt { margin: 0 0 0.5rem 0 }
	#menu dd a { padding: 0.5rem 1rem; border: 1px solid; border-color: #933 #000 #000 #933 }
	#adright { float: none; margin: 0 auto 1em; width: 100%; max-width: 100% }
	#admiddle { margin: 0.5em 0 }
	#adbottom { margin: 1em 0 0 0 }
}
