html {
	--bg-page: #306;
	--bg-dark: #002;
	--fg: #dcf;
	--hl: #dcf;
	--fg-subtle: #a9c;
	--fg-limited: #a79;
}
@media (prefers-color-scheme: dark) {
.noise img:not(.emu) {
	opacity: .5;
	transition: opacity .5s ease-in-out;
}
.noise img:not(.emu):hover {
	opacity: 1;
}
}

body {
	background: var(--bg-page);
	color: var(--fg);
	font-size: 1em;
	word-wrap: break-word;
	font-family: sans-serif, "Noto Color Emoji";
	line-height: 1.2;
	overscroll-behavior-y: contain;
}
pre, code {
	white-space: pre-wrap;
}
blockquote {
	margin-left: 0em;
	margin-bottom: 0em;
	padding-left: 0.5em;
	border-left: 1px solid var(--fg-subtle);
}
cite {
	margin-left: 2em;
}
table {
	display: block;
	max-width: 100%;
	overflow-x: auto;
}
a {
	color: var(--fg);
}
form, input, textarea {
	font-family: monospace, "Noto Color Emoji";
}
p {
	margin-top: 1em;
	margin-bottom: 1em;
}
input {
	background: var(--bg-page);
	color: var(--fg);
	font-size: 1.0em;
	line-height: 1.2em;
	padding: 0.4em;
	box-sizing: border-box;
	width: 100%;
}
#honkform input {
	font-size: 0.8em;
}
body > header {
	margin: 1em auto;
	font-size: 1.5em;
}
body > header span {
	margin-left: 2em;
}
body > header p {
	padding: 1em;
}
header > details {
	background: var(--bg-page);
	padding: 1em 1em 1em 1em;
	position: fixed;
	top: 0;
	left: 0;
	display: inline;
	max-height: calc(100% - 1em);
	overflow: auto;
	opacity: 0.7;
	overscroll-behavior: contain;
	z-index: 2;
}
header > details[open] {
	padding: 1em 1em 0em 1em;
	background: var(--bg-dark);
	border: 1px solid var(--hl);
	margin-bottom: 1em;
	opacity: 1.0;
}
header > details summary span {
	display: none;
}
header > details[open] summary span {
	display: inline;
}
header > details li {
	margin: 1em 0em 1em 0em;
}
details summary {
	cursor: pointer;
}
main {
	max-width: 1200px;
	margin: auto;
	font-size: 1.5em;
}
hr {
	border-color: var(--hl);
}
.info {
	background: var(--bg-dark);
	border: 1px solid var(--hl);
	margin-bottom: 1em;
	padding: 0em 1em 0em 1em;
}
.info div {
	margin-top: 1em;
	margin-bottom: 1em;
}
label {
	font-size: 0.8em;
}
label.button, button, select {
	font-size: 16px;
	font-family: monospace;
	color: var(--fg);
	background: var(--bg-page);
	border: 1px solid var(--hl);
	padding: 0.5em;
	white-space: nowrap;
}
.buttonarray {
	margin-top: -2.0em;
}
.buttonarray button, .buttonarray > span {
	margin-top: 2.0em;
	display: inline-block;
}
button a {
	text-decoration: none;
}
button {
	cursor: pointer;
}
form {
	margin-top: 1em;
}
textarea {
	padding: 0.5em;
	font-size: 1em;
	background: var(--bg-page);
	color: var(--fg);
	width: 100%;
	height: 4em;
	margin-bottom: 0.5em;
	box-sizing: border-box;
	max-width: 100%;
}
textarea#honknoise {
	height: 10em;
}
input[type="checkbox"] {
	position: fixed;
	top: -9999px;
}
input[type="checkbox"] + span:after {
	content: "no";
}
input[type="checkbox"]:checked + span:after {
	content: "yes";
}
input[type="checkbox"]:focus + span:after {
	outline: 1px solid var(--fg);
}
input[type=file] {
	display: none;
}

.glow {
	box-shadow: 0px 0px 16px var(--hl);
}
.honk {
	margin: auto;
	background: var(--bg-dark);
	border: 1px solid var(--hl);
	border-radius: 1em;
	margin-bottom: 1em;
	padding-left: 1em;
	padding-right: 1em;
	padding-top: 0;
	overflow: hidden;
}
.honk .noise {
	max-height: 85vh;
	overflow-y: auto;
}

.level1 {
	margin-left: 0.5em;
}
.level1::before {
	position: absolute;
	content: ">";
}
.level2 {
	margin-left: 1.0em;
}
.level2::before {
	position: absolute;
	content: ">>";
}
.level3 {
	margin-left: 1.5em;
}
.level3::before {
	position: absolute;
	content: ">>>";
}
.level4 {
	margin-left: 2.0em;
}
.level4::before {
	position: absolute;
	content: ">>>>";
}

.chat {
	border-bottom: 0.5px solid var(--fg-subtle);
	padding-left: 1em;
}
.chat p {
	margin-top: 0.2em;
	margin-bottom: 0.2em;
}
.chattarget {
	border-bottom: 1px solid var(--fg-subtle);
}
.chatstamp {
	margin-left: -1em;
}

.honk	#honkform {
		padding: 1em;
		border: 1px solid var(--fg);
	}
.honk	a {
		color: var(--fg);
	}
.honk	header {
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		font-size: 0.8em;
		line-height: 1.1;
		margin-top: 1em;
		height: 64px;
	}

.honk	header	.clip a {
			color: var(--fg-subtle);
		}
.honk	header	img {
			float: left;
			margin-right: 1em;
			width: 64px;
			height: 64px;
		}
.honk	header	p {
			margin-top: 0px;
		}
.honk	.actions button {
		margin-left: 4em;
		margin-top: 2em;
	}
.honk	.noise {
		line-height: 1.4;
	}

.honk	.noise	code .kw { font-weight: bold; }
.honk	.noise	code .bi { font-weight: bold; }
.honk	.noise	code .st { color: var(--fg-subtle); }
.honk	.noise	code .nm { color: #ba88ff; }
.honk	.noise	code .op { color: #ba88ff; }
.honk	.noise	code .tp { font-weight: bold; }
.honk	.noise	code .cm { color: var(--fg-subtle); font-style: italic; }
.honk	.noise	code .al { color: #aaffbb; }
.honk	.noise	code .dl { color: #ffaabb; }

.honk	details.actions summary {
		color: var(--fg-subtle);
}

#emupicker{height:300px;overflow-y:scroll;padding:3px;background:var(--bg-dark);border:solid 5px var(--fg-subtle);text-align:center;display:none;}
#emupicker img{margin:0;}
.emuload{background:var(--bg-page);padding:0.5em;}

.subtle .noise {
		color: var(--fg-subtle);
}
.subtle details.noise {
		font-size: 0.8em;
}
.subtle .noise a {
		color: var(--fg-subtle);
}
.limited {
	border: 1px solid var(--fg-limited);
	color: var(--fg-limited);
}
.limited	.glow {
		box-shadow: 0px 0px 16px var(--fg-limited);
}
.limited	.noise {
		color: var(--fg-limited);
	}
.limited	.noise a {
		color: var(--fg-limited);
	}
.limited	details.actions summary {
		color: var(--fg-limited);
	}
details.noise[open] summary.noise {
	display: none;
}
h1, h2 {
	font-size: 1.2em;
}
h3, h4 {
	font-size: 1.1em;
}

img:not(.emu) {
	background: var(--bg-page);
}
img, video {
	max-width: 100%;
	object-fit: scale-down;
	width: auto;
	height: auto;
}
.noise img:not(.emu) {
	display: block;
}
.noise img.donk {
	max-height: 400px;
	max-width: 48%;
	display: inline;
}
img.emu {
	height: 2em;
	vertical-align: middle;
}
.nophone {
	position: fixed;
	opacity: 0.7;
	cursor: pointer;
}
@media screen and (max-width: 1360px) {
	.nophone {
		display: none;
	}
}
@media screen and (max-width: 740px) {
	body {
		font-size: 12px;
	}
	.honk header {
		height: 52px;
	}
	.honk header img {
		width: 48px;
		height: 48px;
	}
	details summary {
		outline: none;
	}
	.noise img.donk {
		max-height: 100px;
		display: inline;
	}
}
@media print {
	#topmenu, #topspacer, #infobox, #refreshbox, .actions {
		display: none;
	}
	html {
		--bg-page: white;
		--bg-dark: white;
		--fg: black;
		--fg-subtle: black;
		--fg-limited: #a79;
	}
	.honk {
		max-height: 100%;
	}
}

/*
 * CSP: style-src: self
 */

li.details {
	list-style-type: none;
	margin-left: -1em;
}

.left1em {
	margin-left: 1em;
}

.hide {
	display: none;
}

.text-left {
	text-align: left;
}
.text-right {
	text-align: right;
}
.text-center {
	text-align: center;
}

.font08em {
	font-size: 0.8em;
}

.font18em {
	font-size: 1.8em;
}

.wsnowrap {
	white-space: nowrap;
}

.skinny main {
	max-width: 700px;
}

.fontmonospace {
	font-family: monospace;
}
div.footpad {
	min-height: 14em;
	border-top: 1px solid var(--fg-subtle);
}
