/* Aura SPA question card overrides for readability, spacing, and accessibility. */
:root,
html[data-theme="asylum"],
html[data-theme="light"] {
	--c-text-primary: var(--aura-text-primary);
	--c-text-muted: var(--aura-text-muted);
	--c-surface: var(--aura-surface);
	--c-border: var(--aura-border);
	--c-accent-purity: var(--aura-accent-purity);
	--c-accent-chaos: var(--aura-accent-chaos);
	--c-meter-track: rgba(15, 23, 42, 0.14);
	--c-meter-fill-start: #2f6bb4;
	--c-meter-fill-end: #0f766e;
}

html[data-theme="void"],
html[data-theme="dark"] {
	--c-text-primary: var(--aura-text-primary);
	--c-text-muted: var(--aura-text-muted);
	--c-surface: var(--aura-surface);
	--c-border: var(--aura-border);
	--c-accent-purity: var(--aura-accent-purity);
	--c-accent-chaos: var(--aura-accent-chaos);
	--c-meter-track: rgba(255, 255, 255, 0.18);
	--c-meter-fill-start: #ff9d49;
	--c-meter-fill-end: #ff572d;
}

/* Readability + spacing upgrades for long-form question completion. */
@media (min-width: 64rem) {
	body.page-template-page-aura {
		--aura-max-width: 88rem;
	}

	body.page-template-page-aura .aura-host__app {
		padding-inline: clamp(1.25rem, 1.8vw, 2.25rem);
	}
}

.aura-test-shell [data-testid="test-runner"] {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(1.5rem, 2.2vw, 2.25rem);
}

.aura-test-shell [data-testid="test-runner"] > * {
	min-width: 0;
}

.aura-test-shell [data-testid="test-runner"] > label {
	display: grid !important;
	grid-template-columns: 18px minmax(0, 1fr);
	column-gap: 0.875rem;
	align-items: start;
	margin: 0 !important;
	padding: clamp(0.95rem, 1.2vw, 1.25rem);
	border: 1px solid var(--c-border);
	border-radius: 2px;
	background: transparent;
}

.aura-test-shell [data-testid="test-runner"] > label > input[type="checkbox"] {
	width: 1rem;
	height: 1rem;
	margin: 0.35rem 0 0;
	accent-color: var(--c-accent-chaos);
}

.aura-test-shell [data-testid="test-runner"] > label > span {
	margin-left: 0 !important;
	min-width: 0;
}

.aura-test-shell [class*="_fieldset_"] {
	margin: 0;
	padding: clamp(0.95rem, 1.2vw, 1.25rem);
	border: 1px solid var(--c-border);
	border-radius: 2px;
	background: transparent;
}

.aura-test-shell [class*="_legend_"] {
	margin: 0 0 clamp(0.95rem, 1.4vw, 1.25rem);
	padding: 0;
	font-family: var(--aura-font-sans);
	font-size: clamp(24px, 2.1vw, 30px);
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.3;
	text-transform: none;
	color: var(--c-text-primary);
}

.aura-test-shell [data-aura-question-prompt="1"] {
	display: flex;
	align-items: flex-start;
	gap: clamp(0.625rem, 1vw, 0.9rem);
	min-width: 0;
}

.aura-test-shell [data-aura-question-number="1"] {
	flex: 0 0 auto;
	min-width: 2.5ch;
	margin-top: 0.2em;
	font-family: var(--aura-font-mono);
	font-size: clamp(0.875rem, 0.95vw, 1rem);
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
	color: var(--c-text-muted);
}

.aura-test-shell [data-aura-question-text="1"] {
	flex: 1 1 auto;
	min-width: 0;
	font-family: var(--aura-font-sans);
	font-size: clamp(24px, 2.1vw, 30px);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.01em;
	color: var(--c-text-primary);
}

.aura-test-shell [class*="_group_"] {
	margin-top: clamp(0.95rem, 1.3vw, 1.25rem);
	gap: clamp(0.75rem, 1vw, 1rem);
}

.aura-test-shell [class*="_option_"] {
	min-width: 0;
}

.aura-test-shell [class*="_fieldset_"] [class*="_label_"] {
	display: grid;
	grid-template-columns: 18px minmax(0, 1fr);
	column-gap: 0.875rem;
	row-gap: 0.25rem;
	align-items: start;
	width: 100%;
	min-width: 0;
	padding: clamp(0.8rem, 1vw, 1rem);
	border: 1px solid var(--c-border);
	border-radius: 2px;
	background: transparent;
	cursor: pointer;
	transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.aura-test-shell [class*="_fieldset_"] [class*="_label_"]::before {
	content: "[ ] NEGATIVE";
	grid-column: 2;
	font-family: var(--aura-font-mono);
	font-size: clamp(0.75rem, 0.8vw, 0.875rem);
	font-weight: 600;
	letter-spacing: 0.06em;
	line-height: 1.3;
	opacity: 0.9;
}

.aura-test-shell [class*="_fieldset_"] [class*="_label_"]::after {
	content: "";
	grid-column: 1;
	grid-row: 1 / span 3;
	width: 16px;
	height: 16px;
	margin-top: 1px;
	border: 1px solid currentcolor;
	border-radius: 2px;
	opacity: 0.8;
}

.aura-test-shell [class*="_fieldset_"] [class*="_label_"] > * {
	grid-column: 2;
	min-width: 0;
	overflow-wrap: anywhere;
}

.aura-test-shell [class*="_fieldset_"] [class*="_labelTitle_"] {
	font-size: clamp(1rem, 1.2vw, 1.2rem);
	font-weight: 600;
	line-height: 1.35;
	color: var(--c-text-primary);
}

.aura-test-shell [class*="_fieldset_"] [class*="_labelHint_"] {
	font-family: var(--aura-font-sans);
	font-size: clamp(0.875rem, 1.05vw, 1rem);
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.35;
	text-transform: none;
	color: var(--c-text-muted);
	opacity: 1;
}

.aura-test-shell [class*="_fieldset_"] [class*="_input_"]:focus-visible + [class*="_label_"] {
	outline: 2px solid var(--aura-focus-ring);
	outline-offset: 2px;
}

.aura-test-shell [class*="_fieldset_"] [class*="_input_"]:checked + [class*="_label_"]::before {
	content: "[X] CONFIRMED";
	opacity: 1;
}

.aura-test-shell [class*="_fieldset_"] [class*="_input_"]:checked + [class*="_label_"]::after {
	opacity: 1;
}

html[data-theme="void"] .aura-test-shell [class*="_fieldset_"],
html[data-theme="dark"] .aura-test-shell [class*="_fieldset_"],
html[data-theme="void"] .aura-test-shell [data-testid="test-runner"] > label,
html[data-theme="dark"] .aura-test-shell [data-testid="test-runner"] > label {
	border-color: var(--c-border);
	color: var(--c-text-primary);
}

html[data-theme="asylum"] .aura-test-shell [class*="_fieldset_"],
html[data-theme="light"] .aura-test-shell [class*="_fieldset_"],
html:not([data-theme]) .aura-test-shell [class*="_fieldset_"],
html[data-theme="asylum"] .aura-test-shell [data-testid="test-runner"] > label,
html[data-theme="light"] .aura-test-shell [data-testid="test-runner"] > label,
html:not([data-theme]) .aura-test-shell [data-testid="test-runner"] > label {
	border-color: var(--c-border);
	color: var(--c-text-primary);
}

html[data-theme="void"] .aura-test-shell [class*="_fieldset_"] [class*="_input_"]:checked + [class*="_label_"],
html[data-theme="dark"] .aura-test-shell [class*="_fieldset_"] [class*="_input_"]:checked + [class*="_label_"] {
	border-color: var(--aura-psyop-red-500);
	background: rgba(255, 92, 87, 0.1);
	box-shadow: 0 0 0 1px rgba(255, 92, 87, 0.42), 0 0 14px rgba(255, 92, 87, 0.26);
}

html[data-theme="void"] .aura-test-shell [class*="_fieldset_"] [class*="_input_"]:checked + [class*="_label_"]::after,
html[data-theme="dark"] .aura-test-shell [class*="_fieldset_"] [class*="_input_"]:checked + [class*="_label_"]::after {
	background: rgba(255, 92, 87, 0.7);
	border-color: var(--aura-psyop-red-500);
}

html[data-theme="asylum"] .aura-test-shell [class*="_fieldset_"] [class*="_input_"]:checked + [class*="_label_"],
html[data-theme="light"] .aura-test-shell [class*="_fieldset_"] [class*="_input_"]:checked + [class*="_label_"],
html:not([data-theme]) .aura-test-shell [class*="_fieldset_"] [class*="_input_"]:checked + [class*="_label_"] {
	border-color: var(--aura-psyop-blue-500);
	background: rgba(92, 163, 255, 0.11);
	box-shadow: 0 0 0 1px rgba(92, 163, 255, 0.36), 0 0 14px rgba(92, 163, 255, 0.24);
}

html[data-theme="asylum"] .aura-test-shell [class*="_fieldset_"] [class*="_input_"]:checked + [class*="_label_"]::after,
html[data-theme="light"] .aura-test-shell [class*="_fieldset_"] [class*="_input_"]:checked + [class*="_label_"]::after,
html:not([data-theme]) .aura-test-shell [class*="_fieldset_"] [class*="_input_"]:checked + [class*="_label_"]::after {
	background: rgba(92, 163, 255, 0.58);
	border-color: var(--aura-psyop-blue-500);
}

@media (max-width: 48rem) {
	.aura-test-shell [data-testid="test-runner"] {
		gap: 1.3rem;
	}

	.aura-test-shell [class*="_fieldset_"] {
		padding: 0.8rem;
	}

	.aura-test-shell [class*="_fieldset_"] [class*="_label_"] {
		padding: 0.75rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.aura-test-shell [class*="_fieldset_"] [class*="_label_"] {
		transition: none;
	}
}

/* Behavioral trajectory panel tokenization + anti-overlap safeguards. */
.aura-test-shell [class*="_wrap_qjxnu_"] {
	color: var(--c-text-primary);
}

.aura-test-shell [class*="_header_qjxnu_"] {
	display: flex;
	align-items: baseline;
	gap: 8px;
	justify-content: flex-start;
	min-width: 0;
}

.aura-test-shell #trajectory-title {
	flex: 0 0 auto;
	margin: 0;
	white-space: nowrap;
	color: var(--c-text-muted);
}

.aura-test-shell #trajectory-title + span {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: var(--c-text-primary);
}

.aura-test-shell [class*="_title_qjxnu_"] {
	flex: 0 0 auto;
	margin: 0;
	white-space: nowrap;
	color: var(--c-text-muted);
}

.aura-test-shell [class*="_label_qjxnu_"] {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: var(--c-text-primary);
}

.aura-test-shell [data-testid="trajectory-track"],
.aura-test-shell [class*="_track_qjxnu_"] {
	background: var(--c-meter-track);
}

.aura-test-shell [data-testid="trajectory-bar"],
.aura-test-shell [class*="_bar_qjxnu_"] {
	background: linear-gradient(90deg, var(--c-meter-fill-start), var(--c-meter-fill-end));
}

.aura-test-shell [data-testid="trajectory-track"] + div,
.aura-test-shell [class*="_stepText_qjxnu_"] {
	color: var(--c-text-muted);
	opacity: 1;
}

@supports selector(div:has(> #trajectory-title)) {
	.aura-test-shell div:has(> #trajectory-title) {
		display: flex;
		align-items: baseline;
		gap: 8px;
		justify-content: flex-start;
		min-width: 0;
	}
}

@media (max-width: 48rem) {
	.aura-test-shell [class*="_header_qjxnu_"] {
		flex-wrap: wrap;
		align-items: flex-start;
	}

	.aura-test-shell #trajectory-title + span {
		flex-basis: 100%;
		white-space: normal;
		overflow: visible;
		text-overflow: clip;
	}

	.aura-test-shell [class*="_label_qjxnu_"] {
		flex-basis: 100%;
		white-space: normal;
		overflow: visible;
		text-overflow: clip;
	}

	@supports selector(div:has(> #trajectory-title)) {
		.aura-test-shell div:has(> #trajectory-title) {
			flex-wrap: wrap;
			align-items: flex-start;
		}
	}
}
