.key-value {
	width: 100%;
	border-collapse: collapse;
}
.key-value td { padding: 10px 20px; }
.key-value .key {
	border-right: 0.1rem solid white;
	text-align: right;
}
.key-value tr + tr { border-top: 1px dashed gray; }

table.bnf {
	width: 100%;
	font-family: "Teletype Model 37", monospace;
	line-height: 90%;
	font-size: 90%;
	margin: 0 auto;
}
.comment {
	padding: 10px 0;
	color: gray;
}
.separator { padding: 0 1% 0 0; }
.name, .separator { text-align: right; }
.rule { text-align: left; }
.name, .rule { width: 48%; }
.terminal { color: #ff9900; }


.banner img {
	margin: 0 auto;
	filter: invert(1);
}
figcaption { margin-top: 30px; }
.center td { padding: 0 20px; }
.tape {
  width: 100%;
  font-family: "Teletype Model 37", monospace;
  border-collapse: collapse;
}
.tape td {
    vertical-align: middle;
    text-align: center;
}
.data td {
    padding: 1pt;
    border: 1px solid #333;
}
.data .etc {
    border: none;
    font-family: reset;
}
.etc::after { content: "..."; }

.semantics td {
	padding: 10px;
}
.semantics th {
	padding: 20px;
}
