.side-label {
	margin-bottom: .75em;
	font-size: var(--fs-md);
}

.choice-controls button[aria-pressed="true"] {
	border-color: var(--c-blue);
	background: var(--c-blue);
	color: var(--c-white);
}

#sample-input {
	width: 100%;
	min-height: 4.5em;
	padding: .55em .7em;
	border: 1px solid var(--c-border);
	border-radius: var(--border-radius);
	font: inherit;
	resize: vertical;
}

.range-control {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 2.5em;
	align-items: center;
	gap: .75em;
}

.range-control input {
	width: 100%;
}

.range-control output {
	text-align: right;
	font-size: var(--fs-xs);
}

.unit-note {
	margin-bottom: 1.2em;
	padding: .8em 1em;
	border: 1px solid var(--c-border);
	border-radius: var(--border-radius);
	background: var(--c-white);
	font-size: var(--fs-md);
	line-height: 1.6;
}

.unit-row {
	display: grid;
	grid-template-columns: 8.5em minmax(0, 1fr);
	gap: 1em;
	padding: 1em 0;
	border-bottom: 1px solid var(--c-border);
}

.unit-row:first-child {
	padding-top: 0;
}

.unit-row:last-child {
	padding-bottom: 0;
	border-bottom: none;
}

.unit-row-label {
	font-size: var(--fs-md);
}

.unit-row-code {
	margin-top: .2em;
	font-size: var(--fs-xs);
}

.unit-row-count {
	margin-top: .45em;
	font-size: var(--fs-lg);
}

.unit-row-boxes {
	display: flex;
	flex-wrap: wrap;
	gap: .4em;
	align-items: flex-start;
	min-width: 0;
}

.unit-box {
	display: grid;
	justify-items: center;
	min-width: 2.2em;
	padding: .4em .35em;
	border: 1px solid var(--c-border);
	border-radius: var(--border-radius);
	background: var(--c-white);
}

.unit-box.is-over {
	border-color: var(--c-red);
	background: color-mix( in srgb, var(--c-red) 10%, var(--c-white) );
}

.unit-box.is-byte {
	min-width: 1.7em;
	padding: .2em .25em;
}

.unit-box-glyph {
	font-size: 1.15em;
	line-height: 1.25;
	word-break: keep-all;
}

.unit-box.is-byte .unit-box-glyph {
	font-size: var(--fs-xs);
	font-variant-numeric: tabular-nums;
}

.unit-box-sub {
	margin-top: .15em;
	font-size: var(--fs-xs);
	line-height: 1.2;
}

.unit-group {
	display: grid;
	justify-items: center;
	gap: .3em;
	padding: .35em .4em .45em;
	border: 1px solid var(--c-border);
	border-radius: var(--border-radius);
	background: var(--c-white);
}

.unit-group-glyph {
	font-size: 1.15em;
	line-height: 1.25;
}

.unit-group-bytes {
	display: flex;
	flex-wrap: wrap;
	gap: .2em;
	justify-content: center;
}

.unit-group .unit-box {
	min-width: 1.7em;
	padding: .15em .25em;
	background: var(--c-gray-light);
}

.maxlength-field {
	display: grid;
	gap: .5em;
	margin-top: 1.4em;
	font-size: var(--fs-md);
}

.maxlength-field input {
	width: 100%;
	padding: .55em .7em;
	border: 1px solid var(--c-border);
	border-radius: var(--border-radius);
	font: inherit;
}

.maxlength-help {
	font-size: var(--fs-xs);
	line-height: 1.6;
}

@media (max-width: 720px) {
	.unit-row {
		grid-template-columns: minmax(0, 1fr);
		gap: .55em;
	}
}
