body {
	margin: 16px;
	background: #808080 linear-gradient(-45deg, #0001 25%, #fff1 25% 50%, #0001 50% 75%, #fff1 75%) center center / 8px 8px;
}

.操作枠 {}
.操作枠 > ul {
	display: flex;
	flex-wrap: wrap;
	padding: 0;
}
.操作枠 > ul > li {
	flex: 1 0 auto;
	margin: 1px;
	background: #bbb;
	border-radius: 4px;
	display: block;
	padding: 2px 6px;
}
.操作枠 label {
	display: flex;
}
.操作枠 label > * {
	flex: 1 0 auto;
}
.操作枠 label > span {
	width: 5em;
	text-align: center;
	user-select: none;
}
.操作枠 input {
	width: 6em;
}

.描画枠 {
	margin-inline: 0 192px;
	--マス辺: 16px;
}
table {
	border-spacing: 0;
	margin-block: 0 calc(var(--マス辺) * 0.5);
	margin-inline: 0 calc(var(--マス辺) * 0.5);
	float: left;
	box-shadow: 0 0 0 1px #999;
	border-radius: calc(var(--マス辺) * 0.25);
	padding: calc(var(--マス辺) * 0.25);
}
td {
	width: var(--マス辺);
	height: var(--マス辺);
	position: relative;
	padding: 0;
}
td.無彩色 {
	box-shadow: inset 0 0 0 1px #808080;
}
td:hover {
	box-shadow: inset 0 0 0 1px #333;
}
td:before {
	position: absolute;
	width: 192px;
	padding: 1px 6px;
	font-size: 12px;
	font-weight: bold;
	font-family: monospace;
	inset-block: 0px auto;
	inset-inline: calc(var(--マス辺) + 4px) auto;
	border-radius: 4px;
	background: #bbb;
	color: #444;
	pointer-events: none;
	z-index: 1;
}
td:hover::before {
	content: attr(title);
}