.yosou-box,
.yosou-quiz,
.yosou-page-link,
.yosou-page-ellipsis,
.yosou-contest-table-wrap,
.yosou-admin-links a,
.yosou-favorite-form,
.yosou-answer-fieldset,
.yosou-top-link {
	border-color: #c7d0dc;
}

.toc,
.toc-content,
.toc-box,
.entry-content .toc {
	display: none !important;
}

.yosou-box {
	border: 1px solid #c7d0dc;
	border-radius: 6px;
	padding: 16px;
	background: #fff;
}

.yosou-box h2,
.yosou-quiz h2 {
	margin-top: 0;
}

.yosou-sidebar-cta {
	margin-bottom: 16px;
	padding: 14px;
	border: 1px solid #c7d0dc;
	border-radius: 6px;
	background: #fff;
}

.yosou-sidebar-cta h2 {
	margin: 0 0 8px;
	font-size: 1.05em;
}

.yosou-sidebar-cta p {
	margin: 0 0 10px;
}

.yosou-sidebar-cta-button {
	display: block;
	padding: 9px 12px;
	border: 1px solid #1f2937;
	border-radius: 4px;
	background: #1f2937;
	color: #fff;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
}

.yosou-sidebar-cta-button:hover {
	color: #fff;
	text-decoration: underline;
}

.yosou-sidebar-cta-link {
	font-size: 0.9em;
	text-align: center;
}

.yosou-mobile-register-cta {
	display: none;
}

.yosou-sidebar-latest ul {
	display: grid;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.yosou-sidebar-latest li {
	display: grid;
	gap: 3px;
	padding-bottom: 4px;
}

.yosou-sidebar-latest li:last-child {
	padding-bottom: 0;
}

.yosou-sidebar-latest a {
	display: block;
	padding: 8px 10px;
	border-radius: 4px;
	background: #2d343a;
	color: var(--yosou-text, #1f2937);
	font-weight: 700;
	line-height: 1.45;
	text-decoration: none;
}

.yosou-sidebar-latest a:hover {
	text-decoration: underline;
}

.yosou-sidebar-latest time {
	color: var(--yosou-muted, #5d6673);
	font-size: 0.82em;
}

.yosou-quiz-list {
	display: grid;
	gap: 8px;
}

.yosou-quiz {
	border: 1px solid #c7d0dc;
	border-radius: 6px;
	padding: 16px;
	background: #fff;
}

.yosou-quiz-list-item {
	padding: 0;
	overflow: hidden;
}

.yosou-quiz-row {
	display: grid;
	grid-template-columns: minmax(220px, 1.5fr) max-content max-content max-content max-content max-content minmax(160px, 1fr) max-content;
	gap: 10px;
	align-items: center;
	padding: 12px 14px;
	color: inherit;
	text-decoration: none;
}

.yosou-quiz-row:hover {
	background: #f8fafc;
}

.yosou-quiz-list-title {
	min-width: 0;
	margin: 0;
	overflow: hidden;
	font-size: 1em;
	font-weight: 700;
	line-height: 1.5;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.yosou-quiz-mobile-deadline {
	display: none;
}

.yosou-quiz-pc-item {
	overflow: hidden;
	color: #374151;
	font-size: 0.9em;
	line-height: 1.4;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.yosou-quiz-prize {
	min-width: 0;
}

.yosou-quiz-pc-link {
	color: #1f6feb;
	font-weight: 700;
	white-space: nowrap;
}

.yosou-quiz-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 10px;
}

.yosou-quiz-status,
.yosou-answer-badge {
	display: inline-block;
	padding: 3px 6px;
	border: 1px solid #c7d0dc;
	border-radius: 4px;
	font-size: 0.86em;
	font-weight: 700;
	line-height: 1.4;
}

.yosou-quiz-status {
	background: #fff;
	color: #1f2937;
}

.yosou-answer-badge {
	background: #fff;
	color: #1f2937;
}

.yosou-answer-badge-done {
	border-color: #1f2937;
	background: #1f2937;
	color: #fff;
}

.yosou-answer-badge-open,
.yosou-answer-badge-guest {
	color: #5d6673;
}

.yosou-quiz dl {
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: 8px 12px;
	margin-bottom: 0;
}

.yosou-quiz dt {
	font-weight: 700;
}

.yosou-quiz-result-summary {
	margin-top: 20px;
	padding: 14px 16px;
	border: 1px solid #9aa8ba;
	border-left: 5px solid #2563eb;
	border-radius: 4px;
	background: #f8fbff;
}

.yosou-quiz-result-summary h3 {
	margin: 0 0 10px;
	font-size: 1.1em;
}

.yosou-quiz-result-summary ul {
	margin: 0 0 12px 1.4em;
}

.yosou-quiz-result-summary p {
	margin: 0;
}

.yosou-result-correct-box {
	margin: 0 0 20px;
	padding: 14px 16px;
	border: 1px solid #9aa8ba;
	border-left: 5px solid #2563eb;
	border-radius: 4px;
	background: #f8fbff;
}

.yosou-result-correct-box h2 {
	margin-top: 0;
}

.yosou-result-correct-title {
	margin: 0 0 10px;
	font-size: 1.1em;
	font-weight: 700;
}

.yosou-result-correct-box ul {
	margin-bottom: 0;
}

.yosou-result-summary-table {
	margin-bottom: 20px;
}

.yosou-result-point {
	font-weight: 700;
}

.yosou-profile-table {
	width: 100%;
	max-width: 720px;
	border-collapse: collapse;
	border: 1px solid #c7d0dc;
	background: #fff;
}

.yosou-profile-table th,
.yosou-profile-table td {
	padding: 10px 12px;
	border: 1px solid #c7d0dc;
	text-align: left;
	vertical-align: middle;
}

.yosou-profile-table th {
	width: 180px;
	background: #f6f8fa;
	color: #374151;
	font-weight: 700;
	white-space: nowrap;
}

.yosou-correct-editor-summary,
.yosou-result-publish-summary {
	margin-bottom: 20px;
}

.yosou-answer-summary {
	margin: 20px 0;
}

.yosou-answer-summary h3 {
	margin: 0 0 10px;
	font-size: 1.1em;
}

.yosou-answer-summary h4 {
	margin: 14px 0 8px;
	font-size: 1em;
}

.yosou-answer-summary-table {
	margin-bottom: 14px;
}

.yosou-answer-summary-table th:nth-child(2),
.yosou-answer-summary-table td:nth-child(2),
.yosou-answer-summary-table th:nth-child(3),
.yosou-answer-summary-table td:nth-child(3) {
	width: 88px;
	text-align: center;
	white-space: nowrap;
}

.yosou-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin-top: 16px;
}

.yosou-page-link,
.yosou-page-ellipsis {
	display: inline-flex;
	min-width: 36px;
	min-height: 36px;
	align-items: center;
	justify-content: center;
	padding: 6px 10px;
	border: 1px solid #c7d0dc;
	border-radius: 4px;
	background: #fff;
	color: #1f2937;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
}

.yosou-page-link:hover {
	border-color: #1f6feb;
	color: #1f6feb;
}

.yosou-page-current {
	border-color: #1f2937;
	background: #1f2937;
	color: #fff;
}

.yosou-page-ellipsis {
	min-width: auto;
	border-color: transparent;
	background: transparent;
	color: #5d6673;
}

.yosou-contest-list {
	display: grid;
	gap: 22px;
}

.yosou-contest-section-title {
	margin: 0 0 8px;
	padding-bottom: 6px;
	border-bottom: 1px solid #c7d0dc;
	font-size: 1.18em;
	font-weight: 700;
}

.yosou-contest-table-wrap {
	overflow-x: auto;
	border: 0;
	border-radius: 4px;
	background: #fff;
}

.yosou-contest-table {
	width: 100%;
	min-width: 0;
	table-layout: fixed;
	border-collapse: collapse;
	font-size: 0.84em;
}

.yosou-contest-table th,
.yosou-contest-table td {
	padding: 6px 4px;
	border: 1px solid #c7d0dc;
	text-align: left;
	vertical-align: middle;
}

.yosou-col-classification {
	width: 8%;
}

.yosou-col-date {
	width: 10%;
}

.yosou-col-title {
	width: 36%;
}

.yosou-col-deadline {
	width: 17%;
}

.yosou-col-category {
	width: 6%;
}

.yosou-col-genre {
	width: 12%;
}

.yosou-col-answer {
	width: 5%;
}

.yosou-col-prize {
	width: 12%;
}

.yosou-col-count {
	width: 6%;
}

.yosou-contest-table th {
	background: #f6f8fa;
	border-color: #9aa8ba;
	color: #374151;
	font-weight: 700;
	white-space: nowrap;
}

.yosou-contest-table tr:last-child td {
	border-bottom: 1px solid #c7d0dc;
}

.yosou-contest-table tbody tr:hover {
	background: #f8fafc;
}

.yosou-contest-title {
	min-width: 0;
	font-weight: 700;
}

.yosou-contest-title,
.yosou-contest-table td {
	overflow: hidden;
	text-overflow: ellipsis;
}

.yosou-contest-title a {
	color: #1f6feb;
	text-decoration: none;
}

.yosou-contest-title a:hover {
	text-decoration: underline;
}

.yosou-contest-date {
	overflow: visible;
	text-overflow: clip;
	white-space: nowrap;
}

.yosou-contest-deadline {
	overflow: visible;
	text-overflow: clip;
	white-space: nowrap;
}

.yosou-contest-classification {
	font-weight: 700;
	white-space: nowrap;
}

.yosou-contest-number {
	text-align: right;
	white-space: nowrap;
}

.yosou-contest-prize {
	max-width: 150px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

@media (max-width: 782px) {
	.yosou-quiz-list {
		gap: 10px;
	}

	.yosou-quiz-row {
		grid-template-columns: minmax(84px, max-content) minmax(0, 1fr);
		gap: 8px;
		padding: 12px;
	}

	.yosou-quiz-mobile-deadline {
		display: inline-block;
		color: #5d6673;
		font-size: 0.86em;
		font-weight: 700;
		white-space: nowrap;
	}

	.yosou-quiz-list-title {
		font-size: 0.98em;
	}

	.yosou-quiz-pc-item,
	.yosou-quiz-pc-link {
		display: none;
	}

	.yosou-contest-list {
		gap: 16px;
	}

	.yosou-contest-section-title {
		font-size: 1.05em;
	}

	.yosou-contest-table-wrap {
		overflow-x: visible;
		border-radius: 4px;
	}

	.yosou-contest-table,
	.yosou-contest-table thead,
	.yosou-contest-table tbody,
	.yosou-contest-table tr,
	.yosou-contest-table td {
		display: block;
		width: 100%;
		min-width: 0;
	}

	.yosou-contest-table thead {
		display: none;
	}

	.yosou-contest-table tr {
		padding: 10px 12px;
		border-bottom: 1px solid #c7d0dc;
	}

	.yosou-contest-table tr:last-child {
		border-bottom: 1px solid #c7d0dc;
	}

	.yosou-contest-table td {
		padding: 0;
		border-bottom: 1px solid #c7d0dc;
	}

	.yosou-contest-table td:nth-child(n+5) {
		display: none;
	}

	.yosou-contest-classification {
		margin-bottom: 4px;
		font-size: 0.86em;
	}

	.yosou-contest-date {
		margin-bottom: 4px;
		color: #5d6673;
		font-size: 0.86em;
		font-weight: 700;
	}

	.yosou-contest-title {
		min-width: 0;
		margin-bottom: 4px;
		font-size: 0.98em;
		line-height: 1.45;
	}

	.yosou-contest-table td:nth-child(4) {
		color: #5d6673;
		font-size: 0.86em;
	}

	.yosou-contest-table td:nth-child(4)::before {
		content: "締切 ";
	}
}

@media (max-width: 782px) {
	.yosou-contest-table {
		display: table;
		table-layout: fixed;
		font-size: 0.78em;
	}

	.yosou-contest-table thead {
		display: table-header-group;
	}

	.yosou-contest-table tbody {
		display: table-row-group;
		width: 100%;
		min-width: 0;
	}

	.yosou-contest-table tr {
		display: table-row;
		width: 100%;
		min-width: 0;
	}

	.yosou-contest-table th,
	.yosou-contest-table td {
		display: table-cell;
		min-width: 0;
		margin: 0;
		padding: 6px 4px;
		border-bottom: 1px solid #c7d0dc;
		vertical-align: middle;
	}

	.yosou-contest-table th {
		border-bottom-color: #9aa8ba;
	}

	.yosou-col-date,
	.yosou-col-category,
	.yosou-col-genre,
	.yosou-col-answer,
	.yosou-col-prize,
	.yosou-col-count,
	.yosou-contest-table th:nth-child(2),
	.yosou-contest-table th:nth-child(n+5),
	.yosou-contest-table td:nth-child(2),
	.yosou-contest-table td:nth-child(n+5) {
		display: none;
	}

	.yosou-col-classification {
		width: 20%;
	}

	.yosou-col-title {
		width: 46%;
	}

	.yosou-col-deadline {
		width: 34%;
	}

	.yosou-contest-table td.yosou-contest-deadline {
		color: #5d6673;
		font-size: 0.78em;
		font-weight: 700;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.yosou-contest-title {
		min-width: 0;
		margin: 0;
		font-size: 0.86em;
		line-height: 1.25;
		white-space: nowrap;
	}

	.yosou-contest-title a {
		display: block;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.yosou-contest-classification {
		margin: 0;
		overflow: visible;
		text-align: center;
		font-size: 0.72em;
		line-height: 1.12;
		white-space: normal;
		word-break: keep-all;
	}

	.yosou-contest-table td:nth-child(4)::before {
		content: "";
	}

	.yosou-top-hero {
		min-height: 300px;
		margin-right: -16px;
		margin-left: -16px;
		padding: 28px 20px;
	}

	.yosou-top-hero h2 {
		font-size: 1.8em;
	}

	.yosou-top-logo img {
		width: min(420px, 100%);
	}

	.yosou-top-logo-text {
		font-size: 1.8em;
	}

	.yosou-top-hero-actions {
		flex-direction: column;
		align-items: center;
	}

	.yosou-top-hero-button {
		justify-content: center;
		min-width: 180px;
	}

	.yosou-top-hero-button-secondary {
		position: static;
	}

	.yosou-top-card {
		grid-template-columns: 112px minmax(0, 1fr);
		min-height: 94px;
	}

	.yosou-top-card-thumb {
		min-height: 94px;
	}

	.yosou-top-card-body {
		padding: 10px;
	}

	.yosou-top-card-excerpt {
		-webkit-line-clamp: 1;
	}
}

.yosou-form {
	display: grid;
	gap: 10px;
}

.yosou-form input {
	box-sizing: border-box;
	width: 100%;
	max-width: 420px;
	padding: 10px;
	border: 1px solid #c7d0dc;
	border-radius: 4px;
}

.yosou-form input[type="checkbox"],
.yosou-form input[type="radio"] {
	width: auto;
	max-width: none;
	padding: 0;
}

.yosou-form button {
	width: fit-content;
	padding: 10px 18px;
	border: 0;
	border-radius: 4px;
	background: #1f6feb;
	color: #fff;
	font-weight: 700;
	cursor: pointer;
}

.yosou-contact-form input,
.yosou-contact-form select,
.yosou-contact-form textarea {
	max-width: 720px;
}

.yosou-form .yosou-danger-button {
	background: #b42318;
}

.yosou-checkbox {
	display: flex;
	gap: 8px;
	align-items: center;
}

.yosou-form-link {
	margin: 0;
}

.yosou-form-link + .yosou-form-link {
	margin-top: -4px;
}

.yosou-messages {
	margin: 0 0 16px;
	padding: 12px 12px 12px 32px;
	border-radius: 4px;
}

.yosou-messages-error {
	background: #fff1f0;
	color: #8a1f17;
}

.yosou-messages-success {
	background: #effaf3;
	color: #176c37;
}

.yosou-profile {
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: 8px 16px;
	margin-bottom: 0;
}

.yosou-profile dt {
	font-weight: 700;
}

.yosou-static-page h3 {
	margin: 20px 0 8px;
}

.yosou-static-page p {
	margin: 0 0 10px;
}

.yosou-admin-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 16px;
}

.yosou-admin-links a {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 6px 12px;
	border: 1px solid #c7d0dc;
	border-radius: 4px;
	background: #fff;
	font-weight: 700;
	text-decoration: none;
}

.yosou-answer-form {
	margin-top: 16px;
}

.yosou-favorite-box {
	margin: 16px 0;
}

.yosou-like-box {
	margin: -4px 0 16px;
	text-align: right;
}

.yosou-like-form {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	justify-content: flex-end;
}

.yosou-like-form .yosou-like-button {
	width: auto;
	min-height: 36px;
	padding: 8px 14px;
	border: 1px solid #5a606b;
	background: #34373d;
	color: #f2f4f7;
}

.yosou-like-form .yosou-like-button-active {
	border-color: #ff5aa5;
	background: #ff5aa5;
	color: #fff;
}

.yosou-favorite-form {
	padding: 12px;
	border: 1px solid #c7d0dc;
	border-radius: 4px;
	background: #f8fafc;
}

.yosou-answer-fieldset {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 12px;
	border: 1px solid #c7d0dc;
	border-radius: 4px;
}

.yosou-answer-fieldset legend {
	padding: 0 4px;
	font-weight: 700;
}

.yosou-correct-answer-fields {
	display: grid;
	gap: 12px;
}

.yosou-choice {
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: 6px 10px;
	align-items: start;
}

.yosou-choice input {
	width: auto;
	margin-top: 4px;
}

.yosou-choice small {
	grid-column: 2;
	color: #5d6673;
}

.yosou-login-required {
	margin: 16px 0 0;
}

.yosou-detail-link,
.yosou-back-link {
	display: inline-block;
	margin-top: 12px;
	font-weight: 700;
}

.yosou-quiz-detail-back {
	text-align: right;
}

.yosou-quiz-note {
	margin: 12px 0 16px;
}

.yosou-editor {
	display: grid;
	gap: 20px;
}

#yosou_editor_note {
	min-height: 280px;
}

.yosou-form textarea,
.yosou-form select,
.yosou-form input[type="date"],
.yosou-form input[type="datetime-local"],
.yosou-form input[type="number"] {
	box-sizing: border-box;
	width: 100%;
	max-width: 720px;
	padding: 10px;
	border: 1px solid #c7d0dc;
	border-radius: 4px;
}

.yosou-editor-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 12px;
	max-width: 860px;
}

.yosou-editor-grid label {
	display: grid;
	gap: 6px;
}

.yosou-editor-form h3 {
	margin: 18px 0 0;
}

.yosou-help {
	margin: 0;
	color: #5d6673;
}

.yosou-editor-list {
	overflow-x: auto;
}

.yosou-editor-list table {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid #c7d0dc;
}

.yosou-editor-list th,
.yosou-editor-list td {
	padding: 8px 10px;
	border: 1px solid #c7d0dc;
	text-align: left;
	white-space: nowrap;
}

.yosou-editor-list th {
	background: #f6f8fa;
	border-color: #9aa8ba;
	font-weight: 700;
}

.yosou-top {
	display: grid;
	gap: 28px;
}

.yosou-top-hero {
	position: relative;
	min-height: 360px;
	display: flex;
	align-items: center;
	margin-right: -29px;
	margin-left: -29px;
	padding: 42px 36px;
	border: 0;
	border-radius: 0;
	background: linear-gradient(135deg, #2f3136, #242529);
	background-position: center;
	background-size: cover;
	overflow: hidden;
}

.yosou-top-hero-body {
	width: 100%;
	max-width: 820px;
	display: grid;
	justify-items: center;
	gap: 6px;
}

.yosou-top-hero-kicker {
	margin: 0 !important;
	color: #c1c7d0;
	font-size: 0.95em;
	font-weight: 700;
}

.yosou-top-hero h2 {
	margin: 0;
	color: #fff;
	font-size: 2.3em;
	line-height: 1.15;
}

.yosou-top-logo {
	margin: 0;
}

.yosou-top-logo img {
	display: block;
	height: auto;
}

.yosou-top-logo-text {
	margin: 0;
	color: #fff;
	font-size: 2.3em;
	font-weight: 700;
	line-height: 1.15;
}

.yosou-top-hero p {
	margin: 0;
	color: #f2f4f7;
	font-size: 1.02em;
	line-height: 1.8;
}

.yosou-top-hero-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}

.yosou-top-hero-button {
	display: inline-flex;
	min-height: 42px;
	align-items: center;
	padding: 8px 16px;
	border: 1px solid #4f8cff;
	border-radius: 4px;
	background: #4f8cff;
	color: #fff;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
}

.yosou-top-hero-button-secondary {
	position: absolute;
	right: 36px;
	bottom: 28px;
	border-color: #767b85;
	background: rgba(36, 37, 41, 0.76);
	color: #fff;
}

.yosou-top-hero-button:hover {
	color: #fff;
	text-decoration: underline;
}

.yosou-top-latest h2 {
	margin: 0 0 12px;
	font-size: 1.35em;
}

.yosou-top-cards {
	display: grid;
	gap: 14px;
}

.yosou-top-card {
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	min-height: 116px;
	border: 1px solid #5a606b;
	border-radius: 6px;
	background: #2f3136;
	color: #f2f4f7;
	overflow: hidden;
	text-decoration: none;
}

.yosou-top-card:hover {
	background: #34373d;
	color: #f2f4f7;
}

.yosou-top-card-thumb {
	display: block;
	min-height: 116px;
	background: #202125;
}

.yosou-top-card-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.yosou-top-card-noimage {
	display: flex;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
	padding: 12px;
	color: #c1c7d0;
	font-weight: 700;
	text-align: center;
}

.yosou-top-card-body {
	display: grid;
	gap: 5px;
	align-content: center;
	padding: 12px 14px;
}

.yosou-top-card-title {
	color: #fff;
	font-size: 1.02em;
	line-height: 1.35;
}

.yosou-top-card-deadline {
	color: #c1c7d0;
	font-size: 0.86em;
	font-weight: 700;
}

.yosou-top-card-excerpt {
	display: -webkit-box;
	overflow: hidden;
	color: #c1c7d0;
	font-size: 0.9em;
	line-height: 1.5;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

/* Dark skin adjustments for Cocoon background #242529. */
:root {
	--yosou-bg: #242529;
	--yosou-surface: #2f3136;
	--yosou-surface-soft: #34373d;
	--yosou-surface-strong: #3b3f46;
	--yosou-border: #5a606b;
	--yosou-border-strong: #737b89;
	--yosou-text: #f2f4f7;
	--yosou-muted: #c1c7d0;
	--yosou-link: #8ab9ff;
	--yosou-link-hover: #b7d4ff;
	--yosou-accent: #4f8cff;
	--yosou-danger: #d84f45;
	--yosou-success-bg: #183826;
	--yosou-success-text: #b7f0c8;
	--yosou-error-bg: #3b1f1d;
	--yosou-error-text: #ffbeb8;
}

.yosou-box,
.yosou-quiz,
.yosou-sidebar-cta,
.yosou-contest-table-wrap,
.yosou-profile-table,
.yosou-page-link,
.yosou-page-ellipsis,
.yosou-admin-links a,
.yosou-favorite-form,
.yosou-top-link {
	border-color: var(--yosou-border);
	background: var(--yosou-surface);
	color: var(--yosou-text);
}

.yosou-quiz-row:hover,
.yosou-contest-table tbody tr:hover {
	background: var(--yosou-surface-soft);
}

.yosou-quiz-pc-item,
.yosou-answer-badge-open,
.yosou-answer-badge-guest,
.yosou-quiz-mobile-deadline,
.yosou-contest-date,
.yosou-contest-table td.yosou-contest-deadline,
.yosou-help,
.yosou-choice small,
.yosou-top-link span {
	color: var(--yosou-muted);
}

.yosou-quiz-pc-link,
.yosou-contest-title a,
.yosou-detail-link,
.yosou-back-link,
.yosou-result-link,
.yosou-form-link a,
.yosou-admin-links a {
	color: var(--yosou-link);
}

.yosou-quiz-pc-link:hover,
.yosou-contest-title a:hover,
.yosou-detail-link:hover,
.yosou-back-link:hover,
.yosou-result-link:hover,
.yosou-form-link a:hover,
.yosou-admin-links a:hover {
	color: var(--yosou-link-hover);
}

.yosou-quiz-status,
.yosou-answer-badge {
	border-color: var(--yosou-border);
	background: var(--yosou-surface-soft);
	color: var(--yosou-text);
}

.yosou-answer-badge-done,
.yosou-page-current {
	border-color: var(--yosou-accent);
	background: var(--yosou-accent);
	color: #fff;
}

.yosou-quiz-result-summary,
.yosou-result-correct-box {
	border-color: var(--yosou-border-strong);
	border-left-color: var(--yosou-accent);
	background: #2a3342;
	color: var(--yosou-text);
}

.yosou-profile-table th,
.yosou-contest-table th,
.yosou-editor-list th {
	border-color: var(--yosou-border-strong);
	background: var(--yosou-surface-strong);
	color: var(--yosou-text);
}

.yosou-profile-table td,
.yosou-contest-table th,
.yosou-contest-table td,
.yosou-editor-list th,
.yosou-editor-list td {
	border-color: var(--yosou-border);
}

.yosou-contest-section-title,
.yosou-contest-table tr:last-child td,
.yosou-contest-table tr,
.yosou-contest-table td {
	border-color: var(--yosou-border);
}

.yosou-contest-table-wrap,
.yosou-contest-table,
.yosou-contest-table thead,
.yosou-contest-table tbody,
.yosou-contest-table tr,
.yosou-contest-table th,
.yosou-contest-table td,
.yosou-contest-table tr:last-child,
.yosou-contest-table tr:last-child th,
.yosou-contest-table tr:last-child td {
	border-color: var(--cocoon-x-thin-color) !important;
}

.yosou-contest-table-wrap {
	border: 0 !important;
}

.yosou-contest-table tr:last-child th,
.yosou-contest-table tr:last-child td {
	border-bottom-color: var(--cocoon-x-thin-color) !important;
}

.yosou-contest-table th,
.yosou-contest-table tr:last-child th {
	border-color: var(--cocoon-x-thin-color) !important;
	background: var(--yosou-surface-strong);
	color: var(--yosou-text);
}

.yosou-contest-table td,
.yosou-contest-table tr:last-child td {
	border-color: var(--cocoon-x-thin-color) !important;
}

.yosou-form input,
.yosou-form textarea,
.yosou-form select,
.yosou-form input[type="date"],
.yosou-form input[type="datetime-local"],
.yosou-form input[type="number"] {
	border-color: var(--yosou-border);
	background: #202125;
	color: var(--yosou-text);
}

.yosou-form input::placeholder,
.yosou-form textarea::placeholder {
	color: var(--yosou-muted);
}

.yosou-form button {
	background: var(--yosou-accent);
	color: #fff;
}

.yosou-form .yosou-danger-button {
	background: var(--yosou-danger);
}

.yosou-sidebar-cta-button {
	border-color: var(--yosou-accent);
	background: var(--yosou-accent);
	color: #fff;
}

.yosou-top-link strong,
.yosou-result-correct-title,
.yosou-result-point {
	color: var(--yosou-text);
}

.yosou-messages-error {
	background: var(--yosou-error-bg);
	color: var(--yosou-error-text);
}

.yosou-messages-success {
	background: var(--yosou-success-bg);
	color: var(--yosou-success-text);
}

@media (max-width: 782px) {
	.yosou-mobile-register-cta {
		display: block;
		margin-top: 18px;
	}

	.yosou-contest-table-wrap,
	.yosou-contest-table,
	.yosou-contest-table tr,
	.yosou-contest-table th,
	.yosou-contest-table td,
	.yosou-contest-table tr:last-child,
	.yosou-contest-table tr:last-child th,
	.yosou-contest-table tr:last-child td {
		border-color: var(--cocoon-x-thin-color) !important;
	}

	.yosou-contest-table-wrap {
		border: 0 !important;
	}

	.yosou-contest-table th,
	.yosou-contest-table tr:last-child th {
		border-color: var(--cocoon-x-thin-color) !important;
		background: var(--yosou-surface-strong);
		color: var(--yosou-text);
	}

	.yosou-contest-table td,
	.yosou-contest-table tr:last-child td {
		border-color: var(--cocoon-x-thin-color) !important;
	}

	.yosou-top-hero-actions {
		width: 100%;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}

	.yosou-top-hero-button {
		justify-content: center;
		min-width: 180px;
	}

	.yosou-top-hero-button-secondary {
		position: static;
		right: auto;
		bottom: auto;
	}
}
