#content .container
{
	max-width: 67em;
}

.welcome.modal
{
	top: -10%;
	h2 { text-align: center; }
	.legend { display: block; }
}
.pt .modal h2
{
	margin: 0 0 .5em 0;
}
.modal .action
{
	padding: 1em 0 0 0;
}

.progress
{
	margin: 1em 1em 0 1em;
	padding: 0;
	text-align: left;
	li
	{
		display: inline-block;
		list-style: none;
		margin-inline-end: 1px;
		a
		{
			border: none;
			border-radius: 3px;
			color: #e3decf;
			display: block;
			line-height: 2em;
			text-align: center;
			vertical-align: middle;
			width: 2em;
			&:hover
			{
				background: rgba(30,92,130,.7);
				color: #fff;
				&::before { content: ''; }
			}
		}
	}
	.complete a
	{
		background-color: #e3decf;
		b { opacity: 0; }
		&:hover b { opacity: 1; }
	}
	.current a
	{
		background-color: rgba(30,92,130,.7);
		color: #fff;
	}
	.correct a
	{
		background-color: rgba(191,229,191,.7);
		color: #060;
		position: relative;
		&::before
		{
			/* &#10004; \2714 */
			content: '\2714';
			display: block;
			font-weight: bold;
			position: absolute;
			inset: 0;
		}
	}
	.incorrect a
	{
		background-color: rgba(242,191,191,.7);
		color: #a00;
		position: relative;
		&::before
		{
			/* &#10060; \274C */
			/* &#10008; \2718 */
			content: '\2718';
			display: block;
			font-weight: bold;
			position: absolute;
			inset: 0;
		}
	}
	.current.complete.correct a,
	.current.complete.incorrect a
	{
		background-color: rgba(30,92,130,.7);
		color: #fff;
		b { opacity: 1; }
		&::before { content: ''; }
	}
}

.question
{
	margin: 0 auto;
	position: relative;
	max-width: 33rem;

	p
	{
		margin: 1em 0;
	}
	form
	{
		border-top: 1px solid #e3e2e1;
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 1.5em 0;
		padding: .5em 0 0 0;
	}
	fieldset
	{
		border: none;
		margin: 0;
		padding: 0;
	}
	label,
	span
	{
		display: inline-block;
		margin-inline-end: .5em;
		padding: .5em;

		&[aria-label="correct"]
		{
			color: #060;
			input[type="radio"]
			{
				accent-color: #060;
			}
		}
		&[aria-label="incorrect"]
		{
			color: #a00;
			input[type="radio"]
			{
				accent-color: #a00;
			}
		}
		&:has(input[disabled])
		{
			opacity: .4;
		}
	}
	input[type="radio"]
	{
		accent-color: #2171a1;
	}
	button
	{
		font-weight: normal;
		margin: 0;
	}
}
.feedback
{
	margin: 0 auto;
	max-width: 33rem;

	h3 b
	{
		display: none;
	}
	&.modal h3 b
	{
		display: inline;
	}

	b.correct,
	&.correct b,
	&.correct h3
	{
		color: #060;
	}
	b.incorrect,
	&.incorrect b,
	&.incorrect h3
	{
		color: #a00;
	}
}
.next-question
{
	margin: 0;
	text-align: right;
}

.results
{
	display: flex;
	flex-direction: column;

	details
	{
		margin-block-end: 1px;
		padding: 1px;

		&.correct
		{
			--bcolor: rgb(191 229 191 /.7);
			background-color: var(--bcolor);
			color: #060;
			&[open]
			{
				background-color: #fff;
				border: 1px solid var(--bcolor);
				padding: 0;
			}
		}
		&.incorrect
		{
			--bcolor: rgb(242 191 191 /.7);
			background-color: var(--bcolor);
			color: #a00;
			&[open]
			{
				background-color: #fff;
				border: 1px solid var(--bcolor);
				padding: 0;
			}
		}
		summary
		{
			padding: 1em;
			&::after
			{
				right: 0.5rem;
			}
		}
		.contents
		{
			background-color: #fff;
			color: #353331;
			margin: 1px;
			padding: 0 1em 1em 1em;
		}
	}
}
@media only screen and (min-width: 800px)
{
	.progress
	{
		margin: 0;
		position: absolute;
		top: 3.7rem;
		right: 3rem;
		text-align: left;
	}
	#content:not(:has(.platen h2)) .progress
	{
		top: 2.8625rem;
	}
	.question h2
	{
		margin: 0;
		position: absolute;
		top: -0.125rem;
		left: -3rem;
	}
}