body {
	/* Ensure that drags always end inside body, even if the viewport
		is larger. */
	box-sizing: border-box;
	min-height: 100vh;
	margin: 0;
	padding: 8px;

	/* Prevent undesired interactions between tile selection
		and text selection */
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

table {
	border-collapse: collapse;
}

td {
	width: 45px;
	height: 45px;
	border: 1px solid gray;
	padding: 2px;
}

td:nth-child(6) {
	border-right-color: blue;
}

tr:nth-child(6) td {
	border-bottom-color: blue;
}

th {
	border-left: none;
}

.row-header {
	min-width: 90px;
}

td div {
	width: 100%;
	height: 100%;
}

.on, .on div {
	background: black;
}

.off, .off div {
	background: gray;
}

.show-errors .expect-on.off, .show-errors .expect-off.on {
	background: red;
}

.selecting {
	background: blue;
}
