page-grade {
	display: grid;
	grid-template-columns: 25vw 1fr;
	grid-template-rows: min-content min-content minmax(0, 1fr) min-content;
	gap: var(--u-xs);
	padding: var(--u);
}

page-grade > header {
	grid-column: 1 / 3;
	grid-row: 1;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	font-size: 2rem;
}

page-grade > nav {
	grid-column: 1;
	grid-row: 2;
	display: grid;
	grid-template-rows: 1fr 1fr;
	grid-template-columns: 1fr;
	row-gap: var(--u-3xs);
}

page-grade > nav > div {
	grid-row: 1;
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: center;
	gap: var(--u-3xs);
}

page-grade > nav > select-i18n {
	grid-row: 2;
	font-size: 1.25rem;
    height: 2.25rem;
    border-bottom: solid 2px currentColor;
}

page-grade > nav > div > div {
	display: grid;
	grid-template-columns: 1fr 1fr;
	border: solid 1px var(--color-gray-sm);
}

page-grade > nav > div > div > button {
	border-radius: 0 !important;
}

page-grade > nav > div > label {
	flex-grow: 1;
	flex-shrink: 1 !important;
}

page-grade > template-enhance {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: stretch;
	gap: 1rem;
	grid-column: 1;
	grid-row: 3 / 5;
	overflow-y: scroll;	
    overflow-x: hidden;
}

page-grade > template-enhance > div {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	cursor: pointer;
	border-radius: var(--u-4xs);
	border: solid 1px #ddd;
}

page-grade > template-enhance > div > header {
	margin-left: 6px;
}

page-grade > template-enhance > div.on {
	background-color: #f9f9f9;
	border-top: solid 1px #f9f9f9;
	border-bottom: solid 1px #f9f9f9;
	border-right: solid 1px #f9f9f9;
    border-left: solid 7px var(--color-blue);
}

page-grade > template-enhance > div.on > header {
	margin-left: 0px;
}

page-grade > template-enhance > div.ungraded {
	font-family: "Sesame Sans", system-ui;
}

page-grade > template-enhance > div.ungraded > header > div {
	display: none;
}

page-grade > template-enhance > div > header > div {
	display: block;
}

page-grade > template-enhance > div > header > output-datetime {
	display: none;
}

page-grade > template-enhance > div.ungraded > header > output-datetime {
	display: block;
}

page-grade > template-enhance > div > header > div {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	padding: var(--u-4xs);
	color: gold;
	position: relative;
}

page-grade > template-enhance > div > header > div > i {
	font-size: 1.75rem;
	color: gold !important;
	background-color: transparent !important;
	width: unset !important;
}

page-grade > template-enhance > div > header > div > i.column-1 {
	grid-column: 1/1;
}

page-grade > template-enhance > div > header > div > i.column-2 {
	grid-column: 2/2;
}

page-grade > template-enhance > div > header > div > i.column-3 {
	grid-column: 3/3;
}

page-grade > template-enhance > div > header {
	height: 100%;
	aspect-ratio: 1;
	flex-grow: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: var(--u-4xs);
	padding-right: 3px;
}

page-grade > template-enhance > div > header > i {
	font-size: 3rem;
}

page-grade > template-enhance > div > header > output-datetime[ago-unit="now"] {
	color: var(--color-green);
}

page-grade > template-enhance > div > header > output-datetime[ago-unit="hr"],
page-grade > template-enhance > div > header > output-datetime[ago-unit="min"] {
	color: var(--color-green);
}

page-grade > template-enhance > div > header > output-datetime[ago-unit="day"] {
	color: var(--color-green);
}

page-grade > template-enhance > div > footer {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-direction: column;
	flex-grow: 1;
	gap: var(--u-4xs);
	padding: 1.25rem;
	padding-left: 0;
}

page-grade > template-enhance > div > footer > h2 > output-i18n {
	text-overflow: ellipsis;
	max-width: 16vw;
	overflow: hidden;
	white-space: nowrap;
}

page-grade > template-enhance > div > footer > h3.child > output-i18n:nth-of-type(1) {
	padding-right: 5%;
}

page-grade > template-enhance > div > footer > h4 {
	color: #94a3b8;
	gap: var(--u-4xs);
}

page-grade > element-enhance {
	grid-column: 2;
	grid-row: 2 / 4;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
	border-radius: var(--u-4xs);
	border: solid 1px #ddd;
	overflow: hidden;
}
page-grade:not(.on) > element-enhance {
	display: none;
}

page-grade > element-enhance > header {
	flex-grow: 0;
	background-color: #f6f6f6;
	border-bottom: solid 1px #eee;
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
}

page-grade > element-enhance > header > header {
	height: 100%;
	aspect-ratio: 1;
	flex-grow: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-size: 3rem;
}

page-grade > element-enhance > header > footer {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	gap: var(--u-4xs);
	padding: var(--u-2xs);
	padding-left: 0;
	flex-grow: 1;
	width: 1px;
}

page-grade > element-enhance > header > footer > * {
	width: 100%;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: nowrap;
	gap: var(--u-4xs);
}

page-grade > element-enhance > header > footer > h4 {
	color: #94a3b8;
}

page-grade > element-enhance > header > footer > h4 > :last-child {
	margin-left: auto;
}

page-grade > element-enhance > main {
	flex-grow: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

page-grade > element-enhance > main > div {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

page-grade > element-enhance > main > div.image > img {
	height: 80%;
}

page-grade > element-enhance > main > div.text,
page-grade > element-enhance > main > div.audio {
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
	padding: var(--u-sm);
	gap: var(--u-2xs);
    overflow-y: scroll;
}

page-grade > element-enhance > main > div.text > :first-child,
page-grade > element-enhance > main > div.audio > :first-child {
	color: var(--color-blue);
	white-space: pre-wrap;
}

page-grade > element-enhance > main > div.text > :last-child {
	border: solid 1px var(--color-blue);
	padding: var(--u-2xs);
	flex-grow: 1;
	border-radius: var(--u-4xs);
	overflow-y: scroll;
}

page-grade > element-enhance > main > div.audio > :last-child {
	flex-grow: 1;
	display: flex;
	justify-content: center;
	align-items: center;
}

page-grade > element-enhance > main > div.audio > :last-child > audio {
	width: 80%;
	min-width: 400px;
}

page-grade > star-grader {
	grid-column: 2;
	grid-row: 4;
}

page-grade:not(.on) > star-grader {
	display: none;
}
