body {
	display: flex;
	justify-content: center;
	margin: 0;
	background-color: darkslategray;
}

.container {
	background-color: black;
	padding: 10px;
	min-height: calc(100vh - 20px);
	background-color: darksalmon;
}

.container > *:not(:first-child) {
	margin-top: 10px;
}

#meter {
	background-color: red;
	user-select: none;
	position: relative;
	overflow: hidden;
	border-radius: 15px;
}

#display {
	background-color: bisque;
	width: 100%;
	image-rendering: pixelated;
	vertical-align: bottom;
}

#meter-text {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	font-weight: bold;
	text-align: center;
	line-height: 48.6px;
	font-family: monospace;
	font-size: 20px;
}

.inputs {
	display: flex;
	justify-content: center;
	color: white;
	font-size: 1.4em;
	font-family: monospace;
	gap: 20px;
}

.inputs span {
	margin-inline: 1em;
}

.inputs div {
	background-color: cadetblue;
	border-radius: 8px;
}

#expander {
	line-height: 1.7em;
	background-color: white !important;
	color: black;
	font-weight: bold;
	user-select: none;
}

#expander > div {
	padding-inline: 5px;
	transition: transform .4s;
	background-color: transparent;
}

@keyframes shake {
	11% {
		transform: rotate(10deg);
	}
	32% {
		transform: rotate(-10deg);
	}
	62% {
		transform: rotate(10deg);
	}
	100% {
		transform: none;
	}
}

#expander:hover {
	animation: .6s shake;
}

.expandable {
	display: flex;
	overflow: hidden;
	background-color: transparent !important;
	gap: 20px;
	padding-right: .4em;
}

.expandable > :first-child {
	margin-left: -19.5em;
	transition: margin .4s;
}

.res {
	vertical-align: middle;
	line-height: 20px;
	padding: 4px 2px;
	border-radius: 8px;
	border: 2px solid black;
	background-color: #e9e9e9;
	display: inline-block;
	height: 20px;
	width: 50px;
	text-align: center;
	color: black;
	font-size: .9em;
	font-family: monospace;
	margin: 0 !important;
}

.open #expander > div {
	transform: scaleX(-1);
}

.open > :first-child {
	margin-left: 0;
}

.val {
	border-radius: 8px;
	height: 26px;
	width: 50px;
	text-align: center;
	user-select: none;
	border: 2px solid black;
	font-family: monospace;
	font-size: 0.9em;
}

.val:invalid {
	font-weight: bold;
	background-color: #fdb5b5;
	color: #ab1919;
	outline: 2px solid red;
}

.textbox {
	position: relative;
}

#input {
	resize: none;
	padding: 10px;
	border: none;
	margin: 0;
	border-radius: 14px;
	width: 735px;
	height: 327px;
	background-color: lightyellow;
}

#submit {
	line-height: 1.15em;
	font-size: 35px;
	text-align: center;
	border-radius: 9px;
	padding: 0.1em;
	padding-left: 0.15em;
	text-shadow: 0 0 3px white;
	color: white;
	position: absolute;
	right: 6px;
	bottom: 8px;
	width: 1.05em;
	height: 1.1em;
	background-color: lightgreen;
	user-select: none;
	cursor: pointer;

	transition: background-color .4s;
}

#submit:hover {
	background-color: #55e555;
}

.dropdown-list {
	max-height: 820px;
	border-radius: 20px;
	position: relative;
	overflow: hidden;
	background-color: #92284b;
	font-size: 40px;
	min-height: 1.4em;
	font-family: monospace;
	background-color: lightyellow;
}

#tab {
	font-weight: bold;
	position: absolute;
	width: 100%;
	background-color: #d61958;
	line-height: 1.4em;
	text-align: center;
	user-select: none;
	cursor: pointer;
	z-index: 1;
	background-color: indianred;
}

#tab::before {
	content: "▼";
	position: absolute;
	display: inline-block;
	line-height: 1.4em;
	font-size: 0.7em;
	left: 18px;
	top: 11px;
	transition: transform .5s;
}

.dropdown-list.closed #tab::before {
	transform: rotate(-90deg);
}

#list {
	--offset: -100vh;
	padding-top: calc(1.4em / .6);
	padding-left: 2.1em;
	transition: margin-top .5s;
	font-size: .6em;
	max-width: 680px;
}

.dropdown-list.closed #list {
	margin-top: var(--offset);
}

#list > div {
	padding-block: 0.3em;
	line-height: 1.2em;
}

#list > div::before {
	position: absolute;
	left: 0.6em;
	margin-top: 0.1em;
	content: "";
	background-image: url("../img/uncheck.svg");
	height: 1em;
	width: 1em;
	border-radius: 50%;
	box-shadow: -1px 0px 0px 0px darkgray;
}

#list > div.true::before {
	background-image: url("../img/check.svg");
}