.card {
	background-color: hsl(0, 0%, 100%);
	border: 1px solid #333333;
	border-radius: 0.5rem;

	padding: 0.5rem;
	margin: 0.5rem;

	min-width: 20rem;
	width: 30vw;
	max-width: 300px;

	display: flex;
	flex-direction: column;
}

.form-group {
	display: flex;
	justify-content: center;
	flex-direction: row;

	gap: 0.75rem;
}

.input-group {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.input-group > label {
	display: block;
	margin-bottom: 0.1rem;

	color: #333;

	font-weight: bold;
}

.input-group > input[type="number"] {
	color: #272746;

	font-size: 2rem;
	text-align: center;
	line-height: 28px;

	width: 1.5em;
	padding: 0.25em;
	padding-left: 1eem;
}

.input-group > input:invalid {
	box-shadow: 0 0 0.1rem 1px red;
}

.input-group > button {
	margin: 0 7rem;
}

.input-group > input[type="number"]::-webkit-inner-spin-button,
.input-group > input[type="number"]::-webkit-outer-spin-button {
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
	padding: 0;
}

.input-group > input[placeholder]:not(:focus):placeholder-shown {
	width: 3.1em;
}

.input-group > input[placeholder]:focus::placeholder {
	opacity: 0;
}

.form-options {
	display: flex;
	flex-direction: column;
	align-self: center;
	width: 75%;
}

.step-title {
	color: hsl(240, 100%, 50%);
	font-size: 1.3rem;
	margin: 0;
	margin-bottom: 1rem;
	text-align: center;
	font-weight: normal;
}

.submit-btn {
	height: 2rem;
	font-size: 1.2rem;
	background-color: hsl(180, 100%, 40%);
	margin: 1rem 0;
	cursor: pointer;
}

.submit-btn:hover,
.submit-btn:focus {
	margin: 0.5rem 0;
	height: 3rem;
	font-size: 1.5rem;
	background-color: hsl(180, 100%, 60%);
}

#explanation {
	color: #333;
	font-size: 0.9rem;
}
