html {
	padding: 0 8px;
	overflow-y: scroll;
}

body {
	margin: 8px auto;
	max-width: 640px;
}

body,
article,
.article {
	border: 1px solid black;
	border-radius: 8px;
	box-shadow: 3px 3px #ccc;
	padding: 0 1em;
}

article,
.article {
	margin: 1em 0;
}

article:target,
.article:target {
	border-width: 5px;
}

pre {
	white-space: pre-wrap;
	word-break: break-word;
}

pre.article {
	padding: 1em;
}

table[border] {
	border: 1px solid black;
	border-collapse: collapse;
	margin: 1em auto;
}

table:empty {
	display: none;
}

th[nowrap],
td[nowrap] {
	white-space: nowrap;
}

.scroll {
	margin: 1em 0;
	overflow-x: auto;
}
.scroll > * {
	margin: 0 !important;
}

button,
a.button {
	background-color: white;
	border: 1px solid black;
	border-radius: 0;
	color: black;
	cursor: pointer;
	font: inherit;
	padding: .3em;
}
input[type=file]::-webkit-file-upload-button {
	background-color: white;
	border: 1px solid black;
	border-radius: 0;
	color: black;
	cursor: pointer;
	font: inherit;
	padding: .3em;
}

button:hover,
a.button:hover {
	background: black;
	color: white;
}
input[type=file]:hover::-webkit-file-upload-button {
	background: black;
	color: white;
}

select,
input {
	border: 1px solid black;
	font: inherit;
	padding: .3em;
}

input[type=file] {
	border: 0;
}

hr {
	border: 0 solid black;
	border-width: 1px 0 0;
}

p img,
figure img {
	max-width: 100%;
}

p.scroll img,
figure.scroll img {
	max-width: none;
}
