:root {
	color-scheme: light;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--color-background: #f5f7fa;
	--color-surface: #ffffff;
	--color-surface-muted: #f0f3f7;
	--color-brand: #17479e;
	--color-brand-dark: #103570;
	--color-text: #172033;
	--color-muted: #526174;
	--color-border: #cfd7e3;
	--color-focus: #8a4b00;
	--color-pass: #12603e;
	--color-pass-soft: #eaf6ef;
	--color-warning: #7a4500;
	--color-warning-soft: #fff4de;
	--color-fail: #93262f;
	--color-fail-soft: #fdecef;
	--color-unavailable: #4d5b6e;
	--color-unavailable-soft: #edf1f5;
	--shadow-surface: 0 1.25rem 3rem rgb(21 42 77 / 8%);
	--space-1: .25rem;
	--space-2: .5rem;
	--space-3: .75rem;
	--space-4: 1rem;
	--space-5: 1.5rem;
	--space-6: 2rem;
	--space-7: 3rem;
	--space-8: 4.5rem;
	--radius-small: .45rem;
	--radius-medium: .75rem;
	--radius-large: 1rem;
	--width-content: 72rem;
	--width-reading: 44rem;
	color: var(--color-text);
	background: var(--color-background);
}

* {
	box-sizing: border-box;
}

body {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	margin: 0;
	background: var(--color-background);
}

a,
button,
input,
summary {
	font: inherit;
}

a {
	color: var(--color-brand);
	text-underline-offset: .18em;
}

p,
h1,
h2,
h3,
ul,
ol {
	margin-top: 0;
}

p {
	line-height: 1.62;
}

h1,
h2,
h3 {
	line-height: 1.2;
	letter-spacing: -.02em;
}

h1 {
	max-width: 21ch;
	margin-bottom: var(--space-5);
	font-size: clamp(2.1rem, 4vw, 3.25rem);
}

h2 {
	margin-bottom: var(--space-3);
	font-size: clamp(1.4rem, 2.2vw, 1.85rem);
}

h3 {
	margin-bottom: var(--space-2);
	font-size: 1rem;
}

h4 {
	margin: 0;
	line-height: 1.3;
	font-size: 1rem;
}

code {
	font-family: ui-monospace, "Cascadia Code", "SFMono-Regular", Consolas, monospace;
	font-size: .92em;
}

.icon,
.brand-icon {
	display: block;
	width: 1.1rem;
	height: 1.1rem;
	flex: 0 0 auto;
}

.shell-container,
.shell-main {
	width: min(var(--width-content), calc(100% - 2rem));
	margin-inline: auto;
}

.shell-header {
	border-bottom: 1px solid var(--color-border);
	background: var(--color-surface);
}

.header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 4.5rem;
	gap: var(--space-5);
}

.brand {
	display: inline-flex;
	align-items: center;
	gap: var(--space-3);
	color: var(--color-text);
	text-decoration: none;
}

.brand-mark {
	display: grid;
	width: 2.25rem;
	height: 2.25rem;
	place-items: center;
	border-radius: var(--radius-small);
	color: #fff;
	background: var(--color-brand);
}

.brand-icon {
	width: 1.55rem;
	height: 1.55rem;
}

.brand-copy {
	display: flex;
	flex-direction: column;
	gap: .08rem;
}

.brand-copy strong {
	font-size: .95rem;
	letter-spacing: -.01em;
}

.brand-copy small,
.header-context {
	color: var(--color-muted);
	font-size: .72rem;
}

.shell-main {
	flex: 1;
}

.landing {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(21rem, .8fr);
	align-items: center;
	gap: clamp(2rem, 6vw, 5rem);
	min-height: calc(100vh - 9rem);
	padding-block: clamp(3rem, 8vh, 5.5rem);
}

.landing-copy {
	min-width: 0;
}

.eyebrow,
.panel-label,
.section-index {
	margin-bottom: var(--space-3);
	color: var(--color-brand);
	font-size: .75rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.lead {
	max-width: var(--width-reading);
	margin-bottom: var(--space-6);
	color: var(--color-muted);
	font-size: clamp(1.02rem, 1.7vw, 1.16rem);
}

.practice-note {
	display: flex;
	align-items: flex-start;
	gap: var(--space-3);
	max-width: var(--width-reading);
	padding: var(--space-4);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-small);
	background: var(--color-surface-muted);
}

.practice-note .icon {
	width: 1.25rem;
	height: 1.25rem;
	margin-top: .15rem;
	color: var(--color-brand);
}

.practice-note p {
	margin-bottom: 0;
	color: var(--color-muted);
	font-size: .86rem;
}

.practice-note strong {
	color: var(--color-text);
}

.check-panel {
	padding: clamp(1.4rem, 4vw, 2.25rem);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-large);
	background: var(--color-surface);
	box-shadow: var(--shadow-surface);
}

.check-panel h2 {
	margin-bottom: var(--space-2);
}

.form-help {
	margin-bottom: var(--space-5);
	color: var(--color-muted);
	font-size: .9rem;
}

.form-error {
	margin-bottom: var(--space-4);
	padding: var(--space-3) var(--space-4);
	border-left: 3px solid var(--color-fail);
	border-radius: var(--radius-small);
	color: #741d25;
	background: var(--color-fail-soft);
	line-height: 1.5;
}

.check-form {
	margin-bottom: var(--space-5);
}

label {
	display: block;
	margin-bottom: var(--space-2);
	font-weight: 700;
}

.form-row {
	display: flex;
	gap: var(--space-3);
}

input {
	min-width: 0;
	flex: 1;
	padding: .82rem .9rem;
	border: 1px solid #78889d;
	border-radius: var(--radius-small);
	color: var(--color-text);
	background: var(--color-surface);
}

button,
.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	padding: .8rem 1.15rem;
	border: 1px solid var(--color-brand);
	border-radius: var(--radius-small);
	color: #fff;
	background: var(--color-brand);
	font-weight: 750;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
}

button:hover,
.button:hover {
	background: var(--color-brand-dark);
}

.button-secondary {
	color: var(--color-brand);
	background: var(--color-surface);
}

.button-secondary:hover {
	color: #fff;
}

input:focus-visible,
button:focus-visible,
a:focus-visible,
summary:focus-visible {
	outline: 3px solid var(--color-focus);
	outline-offset: 3px;
}

.trust-list {
	display: grid;
	gap: var(--space-3);
	margin-bottom: 0;
	padding: 0;
	color: var(--color-muted);
	font-size: .8rem;
	list-style: none;
}

.trust-list li {
	display: flex;
	align-items: flex-start;
	gap: var(--space-3);
}

.trust-list .icon {
	margin-top: .08rem;
	color: var(--color-pass);
}

.report-page {
	padding-block: var(--space-7) var(--space-8);
}

.diagnosis {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: start;
	gap: var(--space-6);
	padding: clamp(1.5rem, 4vw, 2.5rem);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-large);
	background: var(--color-surface);
	box-shadow: var(--shadow-surface);
}

.diagnosis-copy {
	min-width: 0;
}

.diagnosis h1 {
	max-width: 25ch;
	margin-bottom: var(--space-3);
	font-size: clamp(1.9rem, 3.5vw, 2.8rem);
}

.diagnosis .lead {
	margin-bottom: 0;
}

.checked-origin {
	margin-bottom: var(--space-3);
	color: var(--color-muted);
	font-size: .88rem;
	overflow-wrap: anywhere;
}

.checked-origin strong {
	color: var(--color-text);
}

.score-summary {
	display: grid;
	grid-column: 1 / -1;
	gap: var(--space-4);
	padding: var(--space-5);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-medium);
	background: var(--color-surface-muted);
}

.score-heading,
.category-heading,
.score-metadata {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--space-4);
}

.score-label {
	margin-bottom: var(--space-1);
	font-weight: 800;
}

.score-value,
.score-band,
.score-note {
	margin-bottom: 0;
}

.score-value strong {
	font-size: clamp(2rem, 5vw, 3rem);
	line-height: 1;
}

.score-band {
	max-width: 24rem;
	font-size: 1.05rem;
	font-weight: 750;
	text-align: right;
}

.score-progress,
.category-progress {
	height: .8rem;
	overflow: hidden;
	border: 1px solid var(--color-border);
	border-radius: 999px;
	background: var(--color-surface);
}

.score-progress span,
.category-progress span {
	display: block;
	height: 100%;
	background: var(--color-brand);
}

.score-note,
.score-metadata {
	color: var(--color-muted);
	font-size: .82rem;
}

.score-metadata {
	justify-content: flex-start;
	flex-wrap: wrap;
}

.category-scores {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-4);
	margin: 0;
	padding: var(--space-4) 0 0;
	border-top: 1px solid var(--color-border);
	list-style: none;
}

.category-scores li {
	display: grid;
	gap: var(--space-2);
}

.category-heading {
	font-size: .82rem;
}

.category-heading strong {
	font-size: .78rem;
}

.category-progress {
	height: .55rem;
}

.category-progress.is-empty {
	background: repeating-linear-gradient(135deg, var(--color-surface), var(--color-surface) .4rem, var(--color-border) .4rem, var(--color-border) .5rem);
}

.category-radar-profile {
	display: grid;
	grid-template-columns: minmax(13rem, 16rem) minmax(0, 1fr);
	gap: var(--space-4);
	align-items: center;
	min-width: 0;
	padding-top: var(--space-4);
	border-top: 1px solid var(--color-border);
}

.category-radar-visual {
	display: grid;
	gap: var(--space-2);
	min-width: 0;
}

.category-radar-profile h3 {
	margin: 0;
	font-size: .82rem;
}

.category-radar {
	display: block;
	width: min(100%, 16rem);
	max-width: 100%;
	height: auto;
	margin-inline: auto;
}

.category-radar-grid-level,
.category-radar-axis {
	fill: none;
	stroke: var(--color-border);
	stroke-width: 1;
	vector-effect: non-scaling-stroke;
}

.category-radar-grid-level:not(:last-of-type) {
	stroke-opacity: .75;
}

.category-radar-value {
	fill: var(--color-brand);
	fill-opacity: .18;
	stroke: var(--color-brand);
	stroke-linejoin: round;
	stroke-width: 2;
	vector-effect: non-scaling-stroke;
}

.category-radar-point {
	fill: var(--color-surface);
	stroke: var(--color-brand);
	stroke-width: 2;
	vector-effect: non-scaling-stroke;
}

.category-radar-label {
	fill: var(--color-muted);
	font-size: 11px;
	font-weight: 700;
}

.category-radar-legend {
	display: grid;
	gap: 1px;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-small);
	background: var(--color-border);
	list-style: none;
}

.category-radar-legend li {
	display: grid;
	grid-template-columns: .65rem minmax(0, 1fr) auto;
	gap: .5rem;
	align-items: center;
	min-width: 0;
	padding: .5rem .6rem;
	background: var(--color-surface);
	font-size: .76rem;
}

.category-radar-legend li > span:nth-child(2) {
	overflow-wrap: anywhere;
}

.category-radar-legend strong {
	font-size: .76rem;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.category-radar-marker {
	width: .65rem;
	height: .2rem;
	border-radius: 999px;
	background: var(--color-brand);
}

.category-radar-profile-fallback {
	grid-template-columns: minmax(12rem, .65fr) minmax(0, 1fr);
}

.category-radar-fallback {
	margin: var(--space-2) 0 0;
	color: var(--color-muted);
	font-size: .76rem;
}

.status-totals {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	margin: var(--space-2) 0 0;
	padding: 0;
	overflow: hidden;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-medium);
	background: var(--color-border);
	list-style: none;
}

.status-totals li {
	display: flex;
	flex-direction: column;
	gap: var(--space-1);
	min-width: 0;
	padding: var(--space-4);
	background: var(--color-surface);
}

.status-totals strong {
	font-size: 1.4rem;
}

.status-totals span {
	color: var(--color-muted);
	font-size: .78rem;
}

.priority-section,
.overview-section {
	padding-top: var(--space-7);
}

.section-heading {
	display: grid;
	grid-template-columns: 2rem minmax(0, 1fr);
	gap: var(--space-4);
	margin-bottom: var(--space-5);
}

.section-heading h2,
.section-heading p {
	margin-bottom: 0;
}

.section-heading div > p {
	color: var(--color-muted);
}

.priority-actions {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-4);
	margin-bottom: 0;
	padding: 0;
	list-style: none;
}

.priority-action,
.positive-state {
	padding: var(--space-5);
	border: 1px solid var(--color-border);
	border-top: 3px solid var(--color-unavailable);
	border-radius: var(--radius-medium);
	background: var(--color-surface);
}

.priority-action.status-pass,
.positive-state {
	border-top-color: var(--color-pass);
}

.priority-action.status-warning {
	border-top-color: var(--color-warning);
}

.priority-action.status-fail {
	border-top-color: var(--color-fail);
}

.positive-state {
	display: flex;
	align-items: flex-start;
	gap: var(--space-3);
}

.positive-state > .icon {
	width: 1.35rem;
	height: 1.35rem;
	color: var(--color-pass);
}

.action-heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--space-3);
	margin-bottom: var(--space-3);
}

.action-heading h3 {
	order: -1;
	font-size: 1.08rem;
}

.priority-action p,
.positive-state p {
	margin-bottom: var(--space-3);
	color: var(--color-muted);
	font-size: .88rem;
}

.priority-action p:last-child,
.positive-state p:last-child {
	margin-bottom: 0;
}

.next-step strong {
	color: var(--color-text);
}

.badge,
.result-status,
.confidence-badge {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	width: fit-content;
	padding: .28rem .52rem;
	border: 1px solid transparent;
	border-radius: 999px;
	color: var(--color-unavailable);
	background: var(--color-unavailable-soft);
	font-size: .7rem;
	font-weight: 800;
	white-space: normal;
}

.badge .icon,
.result-status .icon {
	width: .9rem;
	height: .9rem;
}

.status-pass .badge,
.status-pass .result-status {
	color: var(--color-pass);
	background: var(--color-pass-soft);
}

.status-warning .badge,
.status-warning .result-status {
	color: var(--color-warning);
	background: var(--color-warning-soft);
}

.status-fail .badge,
.status-fail .result-status {
	color: var(--color-fail);
	background: var(--color-fail-soft);
}

.results {
	overflow: hidden;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-medium);
	background: var(--color-surface);
}

.result + .result {
	border-top: 1px solid var(--color-border);
}

.result summary {
	display: grid;
	grid-template-columns: 2rem 12.5rem minmax(8rem, .65fr) minmax(12rem, 1fr) minmax(9rem, .7fr) auto;
	align-items: center;
	gap: var(--space-3);
	min-width: 0;
	padding: var(--space-4);
	cursor: pointer;
	list-style: none;
}

.result summary::-webkit-details-marker {
	display: none;
}

.result summary:hover {
	background: #f8faff;
}

.check-icon {
	display: grid;
	width: 2rem;
	height: 2rem;
	place-items: center;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-small);
	color: var(--color-brand);
	background: var(--color-surface-muted);
}

.check-icon .icon {
	width: 1.2rem;
	height: 1.2rem;
}

.result-title {
	font-weight: 750;
	overflow-wrap: anywhere;
}

.result-summary,
.result-evidence,
.disclosure-label {
	color: var(--color-muted);
	font-size: .8rem;
}

.result-evidence {
	overflow-wrap: anywhere;
}

.disclosure-label {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	color: var(--color-brand);
	font-weight: 700;
}

.disclosure-chevron {
	display: block;
	width: .5rem;
	height: .5rem;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg) translateY(-.15rem);
}

.result[open] .disclosure-chevron {
	transform: rotate(225deg) translate(-.1rem, -.1rem);
}

.result-details {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-5);
	padding: var(--space-5);
	border-top: 1px solid var(--color-border);
	background: var(--color-surface-muted);
}

.result-details section {
	min-width: 0;
}

.result-details p {
	margin-bottom: 0;
	color: var(--color-muted);
	font-size: .86rem;
	overflow-wrap: anywhere;
}

.result-authority {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: minmax(12rem, .65fr) minmax(16rem, 1.35fr);
	gap: var(--space-5);
	padding-top: var(--space-5);
	border-top: 1px solid var(--color-border);
}

.confidence p {
	display: flex;
	align-items: center;
	gap: var(--space-3);
	flex-wrap: wrap;
}

.confidence-badge {
	border-color: var(--color-border);
	color: var(--color-text);
	background: var(--color-surface);
}

.sources ul {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2) var(--space-4);
	margin-bottom: 0;
	padding: 0;
	list-style: none;
}

.sources a {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	font-size: .82rem;
	font-weight: 650;
}

.sources .icon {
	width: .95rem;
	height: .95rem;
}

.shell-footer {
	border-top: 1px solid var(--color-border);
	background: var(--color-surface);
}

.footer-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-6);
	padding-block: var(--space-5);
}

.footer-brand {
	display: flex;
	flex-direction: column;
	gap: var(--space-1);
}

.footer-brand strong {
	font-size: .88rem;
}

.footer-brand span,
.footer-links {
	color: var(--color-muted);
	font-size: .78rem;
}

.footer-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: var(--space-3) var(--space-5);
}

.footer-links a {
	font-weight: 650;
}

.methodology-page {
	padding-block: var(--space-7) var(--space-8);
}

.methodology-article {
	max-width: var(--width-reading);
	margin-inline: auto;
}

.methodology-intro {
	margin-bottom: var(--space-7);
}

.methodology-disclosure,
.methodology-toc {
	padding: var(--space-5);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-medium);
	background: var(--color-surface);
}

.methodology-disclosure p,
.methodology-toc ol,
.methodology-criterion p:last-child {
	margin-bottom: 0;
}

.methodology-toc h2 {
	font-size: 1.15rem;
}

.methodology-toc ol {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-2) var(--space-6);
	padding-left: 1.35rem;
}

.methodology-toc a,
.methodology-criterion,
.criterion-heading {
	min-width: 0;
}

.methodology-toc a,
.methodology-criterion p,
.methodology-criterion h4 {
	overflow-wrap: anywhere;
}

.methodology-article section {
	margin-top: var(--space-7);
}

.methodology-article [id] {
	scroll-margin-top: var(--space-4);
}

.methodology-article .methodology-category {
	margin-top: var(--space-6);
}

.methodology-criteria {
	display: grid;
	gap: var(--space-4);
	margin-bottom: 0;
	padding: 0;
	list-style: none;
}

.methodology-criterion {
	margin: 0;
	padding: var(--space-5);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-medium);
	background: var(--color-surface);
}

.criterion-heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--space-3);
	margin-bottom: var(--space-3);
}

.criterion-role {
	flex: 0 0 auto;
	max-width: 15rem;
	padding: .28rem .5rem;
	border: 1px solid var(--color-border);
	border-radius: 999px;
	color: var(--color-muted);
	background: var(--color-surface-muted);
	font-size: .72rem;
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
}

.criterion-role.role-main {
	border-color: #b8d8c7;
	color: var(--color-pass);
	background: var(--color-pass-soft);
}

.criterion-role.role-experimental {
	border-color: #efd09a;
	color: var(--color-warning);
	background: var(--color-warning-soft);
}

.methodology-criterion p {
	margin-bottom: var(--space-2);
	color: var(--color-muted);
	font-size: .9rem;
}

.methodology-criterion p strong {
	color: var(--color-text);
}

.criterion-applicability {
	padding-top: var(--space-2);
	border-top: 1px solid var(--color-border);
}

.methodology-article li {
	margin-bottom: var(--space-2);
	line-height: 1.62;
}

.table-scroll {
	overflow-x: auto;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-medium);
	background: var(--color-surface);
}

table {
	width: 100%;
	border-collapse: collapse;
}

th,
td {
	padding: var(--space-3) var(--space-4);
	border-bottom: 1px solid var(--color-border);
	text-align: left;
}

thead th {
	color: var(--color-muted);
	background: var(--color-surface-muted);
	font-size: .78rem;
	letter-spacing: .04em;
	text-transform: uppercase;
}

tbody tr:last-child th,
tbody tr:last-child td {
	border-bottom: 0;
}

@media (max-width: 64rem) {
	.result summary {
		grid-template-columns: 2rem 12.5rem minmax(8rem, 1fr) auto;
	}

	.result-summary {
		grid-column: 3 / -1;
	}

	.result-evidence {
		grid-column: 2 / 4;
	}

	.disclosure-label {
		grid-column: 4;
	}
}

@media (max-width: 56rem) {
	.landing {
		grid-template-columns: 1fr;
		min-height: auto;
	}

	.landing-copy {
		max-width: var(--width-reading);
	}

	.priority-actions {
		grid-template-columns: 1fr;
	}

	.result-authority {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 42rem) {
	.header-context {
		display: none;
	}

	.form-row,
	.footer-inner {
		align-items: stretch;
		flex-direction: column;
	}

	.footer-links {
		justify-content: flex-start;
	}

	button {
		width: 100%;
	}

	.diagnosis {
		grid-template-columns: 1fr;
	}

	.diagnosis .button {
		width: 100%;
	}

	.score-heading,
	.score-metadata {
		align-items: flex-start;
		flex-direction: column;
	}

	.score-band {
		text-align: left;
	}

	.category-scores {
		grid-template-columns: 1fr;
	}

	.category-radar-profile,
	.category-radar-profile-fallback {
		grid-template-columns: minmax(0, 1fr);
	}

	.category-radar {
		width: min(100%, 15.625rem);
	}

	.status-totals {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.result summary {
		grid-template-columns: 2rem minmax(0, 1fr) auto;
	}

	.result-status {
		grid-column: 2;
		grid-row: 2;
	}

	.result-title {
		grid-column: 2 / -1;
		grid-row: 1;
	}

	.result-summary,
	.result-evidence {
		grid-column: 1 / -1;
	}

	.disclosure-label {
		grid-column: 3;
		grid-row: 2;
	}

	.result-details {
		grid-template-columns: 1fr;
	}

	.action-heading {
		align-items: flex-start;
		flex-direction: column;
	}

	.action-heading h3 {
		order: 0;
	}

	.methodology-toc ol {
		grid-template-columns: 1fr;
	}

	.criterion-heading {
		flex-direction: column;
	}

	.criterion-role {
		max-width: 100%;
		text-align: left;
	}
}

@media (max-width: 24rem) {
	.shell-container,
	.shell-main {
		width: min(var(--width-content), calc(100% - 1.25rem));
	}

	.landing,
	.report-page {
		padding-block: var(--space-6);
	}

	.check-panel,
	.diagnosis,
	.methodology-disclosure,
	.methodology-toc,
	.methodology-criterion {
		padding: var(--space-4);
	}

	.status-totals {
		grid-template-columns: 1fr;
	}

	.result summary {
		grid-template-columns: 2rem minmax(0, 1fr);
	}

	.result-status,
	.result-title,
	.result-summary,
	.result-evidence,
	.disclosure-label {
		grid-column: 1 / -1;
		grid-row: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
	}
}

.shell-header .header-inner {
	min-height: 3.75rem;
}

.report-page,
.ajax-result .report-fragment {
	padding-block: 1.5rem 2.5rem;
}

.report-fragment {
	display: grid;
	gap: 1.75rem;
}

.diagnosis {
	display: block;
	padding: 1.25rem;
}

.diagnosis-top {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: start;
	gap: 1rem;
}

.diagnosis h1 {
	max-width: 28ch;
	margin-bottom: .4rem;
	font-size: clamp(1.65rem, 3vw, 2.35rem);
}

.diagnosis .lead,
.checked-origin,
.eyebrow {
	margin-bottom: .55rem;
}

.diagnosis-metrics {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 16rem;
	gap: .75rem;
	margin-top: 1rem;
}

.score-summary {
	gap: .65rem;
	padding: 1rem;
}

.score-heading {
	align-items: center;
}

.score-value strong {
	font-size: clamp(1.8rem, 4vw, 2.4rem);
}

.score-band {
	font-size: .95rem;
}

.score-note,
.score-metadata {
	font-size: .76rem;
	line-height: 1.45;
}

.score-progress {
	height: .62rem;
}

.score-secondary {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: .15rem .75rem;
	align-items: center;
	padding: .55rem .7rem;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-small);
	background: var(--color-surface);
	font-size: .75rem;
}

.score-secondary > div {
	display: flex;
	justify-content: space-between;
	gap: .75rem;
}

.score-secondary small {
	grid-column: 1 / -1;
	color: var(--color-muted);
}

.score-secondary.is-experimental {
	border-style: dashed;
}

.category-scores {
	gap: .75rem;
	padding-top: .75rem;
}

.category-scores-v2 {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.category-heading {
	font-size: .76rem;
}

.category-progress {
	height: .42rem;
}

.status-totals {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-medium);
	background: var(--color-surface);
}

.status-totals-v3 {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.status-totals li {
	min-height: auto;
	padding: .8rem;
}

.status-totals strong {
	font-variant-numeric: tabular-nums;
	font-size: 1.25rem;
}

.status-totals span {
	font-size: .7rem;
}

.status-optional .result-status {
	color: var(--color-brand-dark);
	background: var(--color-surface-muted);
}

.status-not_evaluated .result-status {
	color: var(--color-muted);
	background: var(--color-surface-muted);
}

.priority-section,
.overview-section,
.current-scope {
	margin-top: 0;
}

.compact-heading {
	margin-bottom: .75rem;
}

.compact-heading h2 {
	margin-bottom: .15rem;
	font-size: clamp(1.25rem, 2vw, 1.65rem);
}

.compact-heading p:not(.section-index) {
	margin-bottom: 0;
	font-size: .82rem;
}

.current-scope .compact-heading {
	grid-template-columns: minmax(0, 1fr);
	gap: .2rem;
}

.current-scope .section-index {
	margin-bottom: 0;
}

.priority-actions {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: .5rem;
	margin: 0;
}

.priority-action {
	display: grid;
	grid-template-columns: minmax(12rem, .72fr) minmax(0, 1fr);
	gap: .35rem 1rem;
	width: 100%;
	padding: .85rem 1rem;
	border-top-width: 2px;
}

.priority-action .action-heading {
	grid-row: 1 / span 3;
	align-content: start;
}

.priority-action h3 {
	font-size: .95rem;
}

.priority-action p {
	margin-bottom: 0;
	font-size: .8rem;
	line-height: 1.48;
}

.action-meta {
	display: flex;
	flex-wrap: wrap;
	gap: .35rem .75rem;
	color: var(--color-muted);
}

.action-meta strong {
	color: var(--color-text);
}

.report-legend {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem 1rem;
	margin-bottom: .6rem;
	color: var(--color-muted);
	font-size: .72rem;
}

.report-legend span {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
}

.legend-dot,
.legend-line {
	display: inline-block;
	flex: 0 0 auto;
}

.legend-dot {
	width: .55rem;
	height: .55rem;
	border-radius: 50%;
}

.legend-dot.status-pass {
	background: var(--color-pass);
}

.legend-dot.status-warning {
	background: var(--color-warning);
}

.legend-line {
	width: 1rem;
	height: 2px;
}

.legend-line.criterion-semantics {
	background: var(--color-brand-dark);
}

.legend-line.criterion-agent-interface {
	background: var(--color-warning);
}

.legend-line.criterion-ai-discovery {
	background: var(--color-brand);
}

.legend-line.criterion-metadata {
	background: var(--color-unavailable);
}

.legend-line.criterion-core {
	background: var(--color-pass);
}

.legend-line.criterion-security {
	background: var(--color-fail);
}

.legend-line.criterion-experimental {
	background: var(--color-warning);
}

.results {
	gap: 0;
}

.result {
	border-left: 2px solid transparent;
}

.result.criterion-semantics {
	border-left-color: var(--color-brand-dark);
}

.result.criterion-agent-interface {
	border-left-color: var(--color-warning);
}

.result.criterion-ai-discovery {
	border-left-color: var(--color-brand);
}

.result.criterion-metadata {
	border-left-color: var(--color-unavailable);
}

.result.criterion-core {
	border-left-color: var(--color-pass);
}

.result.criterion-security {
	border-left-color: var(--color-fail);
}

.result.criterion-experimental {
	border-left-color: var(--color-warning);
}

.scope-grid-categories li:nth-child(1) {
	border-top: 2px solid var(--color-brand-dark);
}

.scope-grid-categories li:nth-child(2) {
	border-top: 2px solid var(--color-brand);
}

.scope-grid-categories li:nth-child(3) {
	border-top: 2px solid var(--color-unavailable);
}

.scope-grid-categories li:nth-child(4) {
	border-top: 2px solid var(--color-pass);
}

.scope-grid-categories li:nth-child(5) {
	border-top: 2px solid var(--color-fail);
}

.result summary {
	grid-template-columns: 2rem 10.5rem minmax(9rem, .75fr) minmax(12rem, 1.15fr) minmax(10rem, .7fr) auto;
	min-height: 3rem;
	padding: .55rem .75rem;
	gap: .65rem;
}

.result-title {
	display: grid;
	gap: .08rem;
}

.result-title strong {
	font-size: .85rem;
}

.result-title small {
	color: var(--color-muted);
	font-size: .66rem;
	font-weight: 500;
}

.result-summary,
.result-evidence,
.disclosure-label,
.result-status span {
	font-size: .7rem;
	line-height: 1.35;
}

.result-details {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .75rem 1rem;
	padding: .85rem 1rem 1rem 3.4rem;
}

.result-details h3 {
	margin-bottom: .25rem;
	font-size: .78rem;
}

.result-details p,
.result-authority {
	font-size: .73rem;
	line-height: 1.5;
}

.result-authority {
	grid-column: 1 / -1;
	padding-top: .7rem;
}

.current-scope {
	padding-block: 0 2.5rem;
}

.scope-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: .5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.scope-grid li {
	display: grid;
	gap: .2rem;
	padding: .75rem;
	border-right: 1px solid var(--color-border);
	border-bottom: 1px solid var(--color-border);
	border-left: 1px solid var(--color-border);
	border-radius: var(--radius-small);
	background: var(--color-surface);
}

.scope-grid strong {
	font-size: .78rem;
}

.scope-grid span {
	color: var(--color-muted);
	font-size: .68rem;
}

.ajax-result:focus {
	outline: none;
}

.checking-state {
	display: grid;
	gap: .55rem;
	margin-bottom: 1rem;
	padding: .8rem;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-small);
	background: var(--color-surface-muted);
}

.checking-state[hidden] {
	display: none;
}

.checking-state p {
	margin: 0;
	font-size: .82rem;
}

.checking-progress {
	position: relative;
	height: .45rem;
	overflow: hidden;
	border-radius: 999px;
	background: var(--color-border);
}

.checking-progress::after {
	position: absolute;
	inset: 0 auto 0 -35%;
	width: 35%;
	border-radius: inherit;
	background: var(--color-brand);
	content: "";
	animation: checking-slide 1.2s ease-in-out infinite;
}

@keyframes checking-slide {
	0% { transform: translateX(0); }
	100% { transform: translateX(390%); }
}

@media (prefers-reduced-motion: reduce) {
	.checking-progress::after {
		inset-inline: 0;
		width: 100%;
		animation: none;
		opacity: .65;
	}
}

@media (max-width: 64rem) {
	.diagnosis-metrics {
		grid-template-columns: 1fr;
	}

	.status-totals,
	.status-totals-v3 {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}

	.category-scores-v2 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.result summary {
		grid-template-columns: 2rem 9.5rem minmax(8rem, .8fr) minmax(10rem, 1fr) auto;
	}

	.result-evidence {
		display: none;
	}
}

@media (max-width: 48rem) {
	.report-page,
	.ajax-result .report-fragment {
		padding-block: 1rem 2rem;
	}

	.diagnosis-top {
		grid-template-columns: 1fr;
	}

	.diagnosis-top .button {
		width: 100%;
	}

	.status-totals,
	.status-totals-v3,
	.category-scores-v2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.priority-action {
		grid-template-columns: 1fr;
	}

	.priority-action .action-heading {
		grid-row: auto;
	}

	.result summary {
		grid-template-columns: 2rem minmax(8rem, 1fr) auto;
	}

	.result-status,
	.result-summary {
		display: none;
	}

	.result-details {
		grid-template-columns: 1fr;
		padding-left: 1rem;
	}

	.scope-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 24rem) {
	.diagnosis,
	.score-summary {
		padding: .8rem;
	}

	.score-heading,
	.score-metadata {
		gap: .35rem;
	}

	.score-band {
		font-size: .82rem;
	}

	.score-secondary {
		grid-template-columns: 1fr;
	}

	.category-scores,
	.category-scores-v2,
	.scope-grid {
		grid-template-columns: 1fr;
	}

	.result summary {
		grid-template-columns: 1.8rem minmax(0, 1fr) auto;
		padding-inline: .55rem;
	}

	.disclosure-label {
		font-size: 0;
	}

	.disclosure-chevron {
		font-size: initial;
	}
}
