.jepa-clw-result {
	--jepa-clw-border: #c3c4c7;
	--jepa-clw-head-bg: #1d2327;
	--jepa-clw-head-color: #fff;
	--jepa-clw-stripe: #f6f7f7;
	--jepa-clw-focus: #005fcc;
	--jepa-clw-error: #b32d2e;
	--jepa-clw-error-text: #7a1f20;
	--jepa-clw-seo-a: #116329;
	--jepa-clw-seo-b: #005fcc;
	--jepa-clw-seo-c: #8a4b00;
	--jepa-clw-seo-d: #50575e;
	margin-block: 2rem;
}

.jepa-clw-result .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.jepa-clw-status,
.jepa-clw-notice {
	padding: 0.875rem 1rem;
	border-inline-start: 4px solid #2271b1;
	background: #f0f6fc;
}

.jepa-clw-table-region {
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.jepa-clw-table-region:focus-visible {
	outline: 3px solid var(--jepa-clw-focus);
	outline-offset: 3px;
}

.jepa-clw-table {
	width: 100%;
	min-width: 72rem;
	border-collapse: collapse;
	font-size: 0.9375rem;
	line-height: 1.5;
}

.jepa-clw-table caption {
	padding: 0 0 0.75rem;
	font-size: 1.25rem;
	font-weight: 700;
	text-align: start;
}

.jepa-clw-table th,
.jepa-clw-table td {
	padding: 0.75rem;
	border: 1px solid var(--jepa-clw-border);
	vertical-align: top;
	text-align: start;
	overflow-wrap: anywhere;
}

.jepa-clw-table th {
	background: var(--jepa-clw-head-bg);
	color: var(--jepa-clw-head-color);
	font-weight: 700;
}

.jepa-clw-table tbody tr:nth-child(even) {
	background: var(--jepa-clw-stripe);
}

.jepa-clw-table a {
	text-decoration: underline;
	text-decoration-thickness: 0.09em;
	text-underline-offset: 0.15em;
}

.jepa-clw-table a:focus-visible {
	outline: 3px solid var(--jepa-clw-focus);
	outline-offset: 2px;
}

.jepa-clw-link-result {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.35rem;
}

.jepa-clw-link-error-badge {
	display: inline-block;
	padding: 0.25rem 0.5rem;
	border-radius: 0.2rem;
	background: var(--jepa-clw-error);
	color: #fff;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.4;
}

.jepa-clw-link-error-message {
	color: var(--jepa-clw-error-text);
	font-size: 0.875rem;
	font-weight: 600;
}

.jepa-clw-seo-section {
	margin-block-start: 2.5rem;
	padding-block-start: 2rem;
	border-top: 3px solid var(--jepa-clw-head-bg);
}

.jepa-clw-seo-section h2 {
	margin-block: 0 1rem;
}

.jepa-clw-seo-intro,
.jepa-clw-seo-warning {
	padding: 1rem;
	border-inline-start: 4px solid #2271b1;
	background: #f0f6fc;
}

.jepa-clw-seo-intro strong {
	display: block;
	margin-block-end: 0.25rem;
	font-size: 1.2em;
}

.jepa-clw-seo-warning {
	border-inline-start-color: #8a4b00;
	background: #fcf3e8;
}

.jepa-clw-seo-summary {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr));
	gap: 0.75rem;
	margin-block: 1.25rem;
}

.jepa-clw-seo-summary > div {
	padding: 0.75rem 1rem;
	border: 1px solid var(--jepa-clw-border);
	border-block-start-width: 5px;
	border-radius: 0.25rem;
	background: #fff;
}

.jepa-clw-seo-summary dt {
	font-weight: 700;
}

.jepa-clw-seo-summary dd {
	margin: 0.2rem 0 0;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.1;
}

.jepa-clw-seo-summary-a {
	border-block-start-color: var(--jepa-clw-seo-a);
}

.jepa-clw-seo-summary-b {
	border-block-start-color: var(--jepa-clw-seo-b);
}

.jepa-clw-seo-summary-c {
	border-block-start-color: var(--jepa-clw-seo-c);
}

.jepa-clw-seo-summary-d,
.jepa-clw-seo-summary-u {
	border-block-start-color: var(--jepa-clw-seo-d);
}

.jepa-clw-seo-table {
	min-width: 82rem;
}

.jepa-clw-seo-table th:nth-child(1),
.jepa-clw-seo-table th:nth-child(3),
.jepa-clw-seo-table th:nth-child(4),
.jepa-clw-seo-table th:nth-child(5) {
	white-space: nowrap;
	overflow-wrap: normal;
}

.jepa-clw-seo-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2rem;
	min-height: 2rem;
	margin-inline-end: 0.35rem;
	border-radius: 50%;
	background: var(--jepa-clw-seo-d);
	color: #fff;
	font-weight: 800;
}

.jepa-clw-seo-a {
	background: var(--jepa-clw-seo-a);
}

.jepa-clw-seo-b {
	background: var(--jepa-clw-seo-b);
}

.jepa-clw-seo-c {
	background: var(--jepa-clw-seo-c);
}

.jepa-clw-seo-d,
.jepa-clw-seo-u {
	background: var(--jepa-clw-seo-d);
}

.jepa-clw-seo-label,
.jepa-clw-seo-meta {
	display: block;
	margin-block-start: 0.3rem;
	font-size: 0.875rem;
}

.jepa-clw-seo-label {
	font-weight: 700;
}

.jepa-clw-additional {
	margin-block-start: 2.5rem;
	padding-block-start: 2rem;
	border-top: 3px solid var(--jepa-clw-head-bg);
}

.jepa-clw-additional h2 {
	margin-block: 0 1rem;
}

.jepa-clw-additional-intro {
	padding: 1rem;
	border-inline-start: 4px solid #2271b1;
	background: #f0f6fc;
}

.jepa-clw-additional-intro strong {
	display: block;
	margin-block-end: 0.25rem;
	font-size: 1.2em;
}

.jepa-clw-summary-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
	gap: 1rem;
	margin-block: 1.25rem;
}

.jepa-clw-summary-grid > div {
	padding: 1rem;
	border: 1px solid var(--jepa-clw-border);
	border-radius: 0.25rem;
	background: #fff;
}

.jepa-clw-summary-grid dt {
	font-weight: 700;
}

.jepa-clw-summary-grid dd {
	margin: 0.35rem 0 0;
	font-size: clamp(1.5rem, 4vw, 2rem);
	font-weight: 700;
	line-height: 1.1;
}

.jepa-clw-summary-grid .jepa-clw-summary-errors {
	border-color: #b32d2e;
}

.jepa-clw-summary-note {
	font-size: 0.9375rem;
}

.jepa-clw-details {
	margin-block: 1rem;
	border: 1px solid var(--jepa-clw-border);
	border-radius: 0.25rem;
	background: #fff;
}

.jepa-clw-details summary {
	display: list-item;
	box-sizing: border-box;
	min-height: 44px;
	padding: 0.75rem 1rem;
	cursor: pointer;
	font-weight: 700;
}

.jepa-clw-details summary:focus-visible {
	outline: 3px solid var(--jepa-clw-focus);
	outline-offset: 3px;
}

.jepa-clw-details-error {
	border: 2px solid var(--jepa-clw-error);
	background: #fff7f7;
}

.jepa-clw-details-error summary {
	background: var(--jepa-clw-error);
	color: #fff;
}

.jepa-clw-details-error[open] summary {
	border-bottom: 2px solid var(--jepa-clw-error);
}

.jepa-clw-error-explanation {
	color: var(--jepa-clw-error-text);
	font-weight: 600;
}

.jepa-clw-details > p,
.jepa-clw-details > .jepa-clw-table-region {
	margin-inline: 1rem;
}

.jepa-clw-details > .jepa-clw-table-region {
	margin-block-end: 1rem;
}

.jepa-clw-extra-table {
	min-width: 52rem;
}

@media (max-width: 48.875rem) {
	.jepa-clw-table {
		min-width: 0;
	}

	.jepa-clw-summary-grid {
		grid-template-columns: 1fr 1fr;
	}

	.jepa-clw-seo-summary {
		grid-template-columns: 1fr 1fr;
	}

	.jepa-clw-table thead {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}

	.jepa-clw-table tbody,
	.jepa-clw-table tr,
	.jepa-clw-table td {
		display: block;
		width: 100%;
	}

	.jepa-clw-table tr {
		margin-block: 0 1rem;
		border: 1px solid var(--jepa-clw-border);
	}

	.jepa-clw-table td {
		display: grid;
		grid-template-columns: minmax(8rem, 38%) minmax(0, 1fr);
		gap: 0.75rem;
		border: 0;
		border-bottom: 1px solid var(--jepa-clw-border);
	}

	.jepa-clw-table td:last-child {
		border-bottom: 0;
	}

	.jepa-clw-table td::before {
		content: attr(data-label);
		font-weight: 700;
	}

	.jepa-clw-table a {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
	}
}

@media (max-width: 31.25rem) {
	.jepa-clw-summary-grid {
		grid-template-columns: 1fr;
	}

	.jepa-clw-seo-summary {
		grid-template-columns: 1fr;
	}
}

@media (forced-colors: active) {
	.jepa-clw-table th,
	.jepa-clw-table td,
	.jepa-clw-status,
	.jepa-clw-notice,
	.jepa-clw-additional-intro,
	.jepa-clw-seo-intro,
	.jepa-clw-seo-warning,
	.jepa-clw-seo-summary > div,
	.jepa-clw-summary-grid > div,
	.jepa-clw-details {
		border: 1px solid CanvasText;
	}

	.jepa-clw-link-error-badge {
		border: 1px solid CanvasText;
	}

	.jepa-clw-seo-badge {
		border: 1px solid CanvasText;
	}
}
