*:focus {
	outline: thin solid;
}
body,
textarea,
input,
code {
	font-family: 'Menlo', 'Monaco', 'Courier New', 'Courier', monospace;
	font-size: 1rem;
	line-height: 1.5;
}
body {
	background-color: white;
	color: black;
	max-width: 50rem;
	padding: 0 1rem;
	margin: 0 auto;
}
main {
	display: block;
}
a:hover,
a:focus {
	text-decoration: none;
	outline: thin solid;
}
code {
	background-color: #fe9;
}
input {
	border: 1px solid gray;
}
textarea {
	background-color: white;
	width: 100%;
	height: 8rem;
	border: 0;
	padding: 0;
}
textarea:focus {
	outline: none;
}
header,
.about {
	margin: 2rem 0;
}
header {
	text-align: center;
}
header div {
	position: absolute;
	top: .5rem;
	right: .5rem;
}
.about {
	color: gray;
	clear: both;
}
.box {
	padding: 2rem;
	margin-bottom: 2rem;
	border: 1px solid gray;
}
.box > *:first-child {
	margin-top: 0;
}
.box > *:last-child {
	margin-bottom: 0;
}
h1,
legend,
form div {
	margin-bottom: 1rem;
}
legend {
	font-weight: bold;
}
nav {
	float: left;
}
nav a {
	display: inline-block;
	margin-right: 1rem;
}
.right {
	text-align: right;
	float: right;
}
.admin {
	display: none;
}
.panel ~ * .admin {
	display: block;
}
.error {
	color: red;
}
.error p {
	margin-bottom: 0;
}
.hidden {
	clip: rect(0 0 0 0);
	overflow: hidden;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	position: absolute;
	border: 0;
}
