*,
*::before,
*::after {
	box-sizing: auto;
	font-family: 'Montserrat'
}

h1 {
	margin: 0;
	text-align: center;
	margin-bottom: 1rem;
}

.description {
	font-style: italic;
	font-size: 14px;
}

.statblock {
	width: 350px;
	border: 1px solid black;
	padding: 1rem;
	margin: auto;
}

.top {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	text-align: center;
	border-bottom: 1px solid #ddd;
	padding-bottom: 1rem;
}

.top > span {
	display: flex;
	flex-direction: column;
}

.hp {
	grid-column: 3;
}

.lv {
	grid-column: 3;
}

.stats {
	display: flex;
	justify-content: space-evenly;
	border-bottom: 1px solid #ddd;
	padding-bottom: 1rem;
	padding-top: 1rem;
}

.stat {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.attacks {
	border-bottom: 1px solid #ddd;
	padding-bottom: 1rem;
	padding-top: 1rem;
}

.attack + .attack::before {
	content: "and";
}

.attack_group + .attack_group::before {
	content: "or";
}

.attack + .attack::before,
.attack_group + .attack_group::before {
	display: block;
	color: #999;
	font-style: italic;
	margin-left: 1rem;
	font-size: 13px;
}

.trait {
	margin-top: 1rem;
}

#hydrate, #input, #markdown {
	display: block;
	width: 300px;
	margin: 1rem auto;
}

#input {
	height: 10rem;
}

.center {
	margin: auto;
	display: block;
	text-align: center;
}

pre {
	background: #ddd;
	padding: 0.5rem;
	border-radius: 4px;
	position: relative;
	width: 80%;
	margin: auto;
	overflow: auto;
}

pre .copy {
	position: absolute;
	top: 1rem;
	right: 1rem;
}
