/*
 * KJA Global Civic Self-Assessment & Competency System
 * Experience layer only. Scoring, question-bank governance, REST contracts,
 * persistence and assessment semantics remain server-side and unchanged.
 */
.kja-as-shell {
	--kja-as-navy-950: #071d31;
	--kja-as-navy-900: #0a2742;
	--kja-as-navy-800: #123b61;
	--kja-as-blue-700: #1f5ea8;
	--kja-as-blue-100: #eaf2fc;
	--kja-as-gold-500: #d1aa4d;
	--kja-as-gold-100: #fbf4df;
	--kja-as-ink: #142033;
	--kja-as-muted: #5f6d80;
	--kja-as-border: #d9e1eb;
	--kja-as-surface: #ffffff;
	--kja-as-soft: #f5f8fc;
	--kja-as-good: #24694a;
	--kja-as-warn: #805810;
	--kja-as-danger: #9a2925;
	--kja-as-shadow: 0 22px 60px rgba(16, 39, 65, 0.10);
	--kja-as-shadow-soft: 0 10px 30px rgba(16, 39, 65, 0.07);
	box-sizing: border-box;
	width: min(1240px, calc(100% - 48px)) !important;
	max-width: 1240px !important;
	margin: 0 auto !important;
	padding: clamp(18px, 3vw, 42px);
	color: var(--kja-as-ink);
	font-size: 16px;
	line-height: 1.6;
	position: relative;
	left: auto !important;
	transform: none !important;
}

.kja-as-shell *,
.kja-as-shell *::before,
.kja-as-shell *::after {
	box-sizing: border-box;
}

.kja-as-shell button,
.kja-as-shell input,
.kja-as-shell select,
.kja-as-shell textarea {
	font: inherit;
}

.kja-as-shell h1,
.kja-as-shell h2,
.kja-as-shell h3,
.kja-as-shell p,
.kja-as-shell span,
.kja-as-shell strong,
.kja-as-shell small {
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
}

/* ---------------------------- Hero ---------------------------- */
.kja-as-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	margin: 0 0 30px;
	padding: clamp(30px, 5vw, 66px);
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: 34px;
	background:
		radial-gradient(circle at 88% 6%, rgba(209, 170, 77, 0.22), transparent 32%),
		radial-gradient(circle at 9% 102%, rgba(65, 135, 211, 0.25), transparent 34%),
		linear-gradient(135deg, var(--kja-as-navy-950), var(--kja-as-navy-900) 52%, #103656);
	box-shadow: 0 28px 75px rgba(7, 29, 49, 0.20);
	color: #fff;
}

.kja-as-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
	background-size: 42px 42px;
	mask-image: linear-gradient(to bottom, black, transparent 88%);
	pointer-events: none;
}

.kja-as-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.75fr);
	gap: clamp(28px, 5vw, 70px);
	align-items: center;
}

.kja-as-hero-copy {
	min-width: 0;
}

.kja-as-eyebrow,
.kja-as-section-kicker {
	margin: 0 0 10px;
	font-size: 0.76rem;
	font-weight: 850;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.kja-as-eyebrow {
	color: #f0cb73;
}

.kja-as-section-kicker {
	color: var(--kja-as-blue-700);
}

.kja-as-hero h1 {
	max-width: 820px;
	margin: 0;
	font-size: clamp(2.65rem, 5.2vw, 5rem);
	font-weight: 760;
	line-height: 0.98;
	letter-spacing: -0.045em;
	text-wrap: balance;
	color: #fff;
}

.kja-as-lead {
	max-width: 760px;
	margin: 24px 0 0;
	font-size: clamp(1.05rem, 1.7vw, 1.32rem);
	line-height: 1.62;
	color: rgba(255, 255, 255, 0.82);
}

.kja-as-principle {
	max-width: 790px;
	margin-top: 28px;
	padding: 15px 18px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-left: 4px solid var(--kja-as-gold-500);
	border-radius: 0 16px 16px 0;
	background: rgba(255, 255, 255, 0.07);
	color: rgba(255, 255, 255, 0.86);
	backdrop-filter: blur(10px);
}

.kja-as-principle strong {
	color: #fff;
}

.kja-as-hero-intelligence {
	padding: 24px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 24px;
	background: rgba(255, 255, 255, 0.08);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.10);
	backdrop-filter: blur(16px);
}

.kja-as-hero-intelligence__label {
	margin: 0 0 16px;
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.13em;
	color: #f0cb73;
}

.kja-as-stat-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin: 0;
}

.kja-as-stat-grid > div {
	min-width: 0;
	padding: 16px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 16px;
	background: rgba(5, 23, 39, 0.28);
}

.kja-as-stat-grid dt {
	margin: 0;
	font-size: clamp(1.6rem, 2.7vw, 2.2rem);
	font-weight: 850;
	line-height: 1;
	letter-spacing: -0.03em;
	color: #fff;
}

.kja-as-stat-grid dd {
	margin: 7px 0 0;
	font-size: 0.78rem;
	line-height: 1.35;
	color: rgba(255, 255, 255, 0.70);
}

.kja-as-hero-intelligence__note {
	margin: 16px 0 0;
	font-size: 0.82rem;
	line-height: 1.45;
	color: rgba(255, 255, 255, 0.72);
}

.kja-as-journey {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 1px;
	margin: clamp(30px, 4vw, 48px) 0 0;
	padding: 0;
	list-style: none;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 20px;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.10);
}

.kja-as-journey li {
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-areas: "step title" "step copy";
	column-gap: 11px;
	align-items: center;
	min-width: 0;
	padding: 16px 17px;
	background: rgba(6, 27, 46, 0.62);
}

.kja-as-journey li span {
	grid-area: step;
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border: 1px solid rgba(240, 203, 115, 0.38);
	border-radius: 50%;
	font-size: 0.70rem;
	font-weight: 850;
	color: #f0cb73;
}

.kja-as-journey li strong {
	grid-area: title;
	font-size: 0.90rem;
	color: #fff;
}

.kja-as-journey li small {
	grid-area: copy;
	font-size: 0.70rem;
	line-height: 1.35;
	color: rgba(255, 255, 255, 0.62);
}

/* ------------------------- Start stage ------------------------- */
.kja-as-status {
	min-height: 24px;
	margin: 8px 2px 12px;
	font-weight: 650;
	color: var(--kja-as-muted);
}

.kja-as-status:empty {
	min-height: 0;
	margin: 0;
}

.kja-as-status.is-error {
	color: var(--kja-as-danger);
}

.kja-as-stage {
	margin-top: 20px;
}

.kja-as-stage[data-as-start-stage] {
	position: relative;
	padding: clamp(22px, 3.4vw, 36px);
	border: 1px solid var(--kja-as-border);
	border-radius: 30px;
	background:
		linear-gradient(180deg, rgba(245, 248, 252, 0.78), rgba(255, 255, 255, 0.98) 180px),
		#fff;
	box-shadow: var(--kja-as-shadow);
}

.kja-as-panel,
.kja-as-question-card,
.kja-as-scoring-card,
.kja-as-result-section,
.kja-as-results-hero {
	border: 1px solid var(--kja-as-border);
	border-radius: 24px;
	background: var(--kja-as-surface);
	box-shadow: var(--kja-as-shadow-soft);
}

.kja-as-panel {
	padding: 26px;
}

.kja-as-panel--intro {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 28px;
	align-items: start;
	padding: 0 0 22px;
	border: 0;
	border-bottom: 1px solid var(--kja-as-border);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.kja-as-panel h2,
.kja-as-result-section h2 {
	margin-top: 0;
}

.kja-as-panel--intro h2 {
	max-width: 720px;
	margin: 0;
	font-size: clamp(2rem, 3.4vw, 3.05rem);
	font-weight: 760;
	line-height: 1.05;
	letter-spacing: -0.035em;
	text-wrap: balance;
}

.kja-as-panel--intro p:not(.kja-as-section-kicker) {
	max-width: 760px;
	margin: 12px 0 0;
	color: var(--kja-as-muted);
}

.kja-as-assurance-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 17px 0 0;
	padding: 0;
	list-style: none;
}

.kja-as-assurance-list li {
	position: relative;
	padding: 7px 11px 7px 28px;
	border: 1px solid #dfe7f0;
	border-radius: 999px;
	background: #fff;
	font-size: 0.78rem;
	font-weight: 720;
	color: #435166;
}

.kja-as-assurance-list li::before {
	content: "✓";
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
	font-weight: 900;
	color: var(--kja-as-good);
}

.kja-as-bank-badge {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 9px 14px;
	border: 1px solid #dce5ef;
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 7px 18px rgba(17, 50, 82, 0.06);
	font-size: 0.82rem;
	font-weight: 800;
	white-space: nowrap;
	color: #26384e;
}

.kja-as-bank-badge::before {
	content: "";
	width: 8px;
	height: 8px;
	margin-right: 8px;
	border-radius: 50%;
	background: var(--kja-as-good);
	box-shadow: 0 0 0 4px rgba(36, 105, 74, 0.10);
}

.kja-as-admin-preview {
	margin: 20px 0;
	padding: 15px 17px;
	border: 1px solid #e4c875;
	border-radius: 16px;
	background: linear-gradient(135deg, #fff9e8, #fffdf6);
	color: #674a0b;
}

.kja-as-admin-preview strong {
	color: #4f3600;
}

.kja-as-modes {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin: 22px 0 0;
}

.kja-as-mode-card {
	--mode-accent: #446b99;
	appearance: none;
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 224px;
	padding: 24px 22px 22px;
	overflow: hidden;
	border: 1px solid var(--kja-as-border);
	border-radius: 20px;
	background:
		linear-gradient(180deg, color-mix(in srgb, var(--mode-accent) 5%, white), #fff 38%);
	box-shadow: 0 8px 20px rgba(17, 50, 82, 0.045);
	text-align: left;
	color: var(--kja-as-ink);
	cursor: pointer;
	touch-action: manipulation;
	-webkit-tap-highlight-color: transparent;
	transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.kja-as-mode-card::before {
	content: "";
	position: absolute;
	inset: 0 auto auto 0;
	width: 100%;
	height: 4px;
	background: var(--mode-accent);
}

.kja-as-mode-card::after {
	content: "";
	position: absolute;
	right: -28px;
	bottom: -34px;
	width: 110px;
	height: 110px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--mode-accent) 8%, transparent);
	pointer-events: none;
}

.kja-as-mode-card[data-mode="quick"] { --mode-accent: #167274; }
.kja-as-mode-card[data-mode="topic"] { --mode-accent: #365fa8; }
.kja-as-mode-card[data-mode="section"] { --mode-accent: #6255a8; }
.kja-as-mode-card[data-mode="comprehensive"] { --mode-accent: #9b6b1e; }
.kja-as-mode-card[data-mode="advanced"] { --mode-accent: #2a5f96; }
.kja-as-mode-card[data-mode="professional"] { --mode-accent: #5a4789; }
.kja-as-mode-card[data-mode="expert"] { --mode-accent: #7b435f; }
.kja-as-mode-card[data-mode="full"] { --mode-accent: #173b5d; }

.kja-as-mode-card:hover {
	transform: translateY(-4px);
	border-color: color-mix(in srgb, var(--mode-accent) 48%, #d8e0ea);
	box-shadow: 0 18px 34px rgba(17, 50, 82, 0.11);
}

.kja-as-mode-card[aria-pressed="true"] {
	border-color: var(--mode-accent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--mode-accent) 15%, transparent), 0 18px 34px rgba(17, 50, 82, 0.10);
	background: linear-gradient(180deg, color-mix(in srgb, var(--mode-accent) 11%, white), #fff 48%);
}

.kja-as-mode-card:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--mode-accent) 42%, transparent);
	outline-offset: 4px;
	border-color: var(--mode-accent);
	box-shadow: 0 18px 36px rgba(17, 50, 82, 0.14);
}

.kja-as-mode-card[aria-pressed="true"] .kja-as-mode-count {
	background: var(--mode-accent);
	color: #fff !important;
}

.kja-as-mode-card strong {
	position: relative;
	z-index: 1;
	margin: 15px 0 0;
	font-size: 1.08rem;
	font-weight: 800;
	line-height: 1.28;
	color: #19273a;
}

.kja-as-mode-description {
	position: relative;
	z-index: 1;
	margin-top: 10px;
	font-size: 0.90rem;
	line-height: 1.5;
	color: var(--kja-as-muted);
}

.kja-as-mode-count {
	position: relative;
	z-index: 1;
	align-self: flex-start;
	padding: 6px 9px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--mode-accent) 10%, white);
	font-size: 0.70rem !important;
	font-weight: 850;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--mode-accent) !important;
}

.kja-as-mode-action {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	align-self: stretch;
	min-height: 42px;
	margin-top: auto;
	padding: 10px 12px;
	border: 1px solid color-mix(in srgb, var(--mode-accent) 20%, #dce4ee);
	border-radius: 12px;
	background: color-mix(in srgb, var(--mode-accent) 5%, white);
	font-size: 0.82rem !important;
	font-weight: 820;
	line-height: 1.2;
	color: var(--mode-accent) !important;
	transition: background 160ms ease, color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.kja-as-mode-card:hover .kja-as-mode-action,
.kja-as-mode-card:focus-visible .kja-as-mode-action {
	border-color: color-mix(in srgb, var(--mode-accent) 38%, #dce4ee);
	background: color-mix(in srgb, var(--mode-accent) 9%, white);
}

.kja-as-mode-card[aria-pressed="true"] .kja-as-mode-action {
	border-color: var(--mode-accent);
	background: var(--mode-accent);
	color: #fff !important;
}

.kja-as-mode-card:active {
	transform: translateY(-1px) scale(0.995);
}

.kja-as-domain-picker {
	max-width: 620px;
	margin: 22px 0 0;
	padding: 18px;
	border: 1px solid var(--kja-as-border);
	border-radius: 16px;
	background: #f9fbfe;
}

.kja-as-domain-picker label,
.kja-as-structured label {
	display: grid;
	gap: 7px;
}

.kja-as-domain-picker select,
.kja-as-structured select {
	width: 100%;
	min-height: 60px;
	padding: 13px 16px;
	border: 1.5px solid #aebdd0;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 3px 10px rgba(17, 50, 82, 0.035);
	font-size: 1.08rem;
	font-weight: 650;
	line-height: 1.35;
	color: var(--kja-as-ink);
	cursor: pointer;
	transition: border-color 140ms ease, box-shadow 140ms ease, background 140ms ease;
}

.kja-as-domain-picker select:hover,
.kja-as-structured select:hover {
	border-color: #7f99b8;
	background: #fbfdff;
}

.kja-as-domain-picker select:focus,
.kja-as-structured select:focus {
	border-color: var(--kja-as-blue-700);
	box-shadow: 0 0 0 4px rgba(31, 94, 168, 0.12);
}

.kja-as-domain-picker select option,
.kja-as-structured select option {
	font-size: 1.04rem;
	line-height: 1.5;
}

.kja-as-domain-picker label strong,
.kja-as-structured label strong {
	font-size: 1.02rem;
	font-weight: 800;
	color: #213249;
}

.kja-as-start-actions,
.kja-as-question-actions,
.kja-as-review-actions,
.kja-as-incomplete-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 24px;
}

.kja-as-start-actions {
	align-items: center;
	padding-top: 2px;
}

.kja-as-button,
.kja-as-link-button {
	appearance: none;
	min-height: 50px;
	border: 1px solid transparent;
	border-radius: 13px;
	padding: 11px 21px;
	font-weight: 790;
	cursor: pointer;
}

.kja-as-button {
	transition: transform 140ms ease, background 140ms ease, box-shadow 140ms ease, border-color 140ms ease;
}

.kja-as-button:hover:not(:disabled) {
	transform: translateY(-1px);
}

.kja-as-button:disabled {
	opacity: 0.43;
	cursor: not-allowed;
}

.kja-as-button--primary,
.kja-as-button--score {
	background: linear-gradient(135deg, var(--kja-as-navy-900), var(--kja-as-blue-700));
	box-shadow: 0 10px 24px rgba(26, 79, 135, 0.20);
	color: #fff;
}

.kja-as-button--primary:hover:not(:disabled),
.kja-as-button--score:hover:not(:disabled) {
	background: linear-gradient(135deg, #061a2d, #194f86);
	box-shadow: 0 13px 28px rgba(26, 79, 135, 0.26);
}

.kja-as-start-actions .kja-as-button--primary {
	min-width: 190px;
	min-height: 54px;
	padding-inline: 25px;
}

.kja-as-button--secondary {
	border-color: var(--kja-as-border);
	background: #fff;
	color: var(--kja-as-ink);
}

.kja-as-button--ghost {
	background: var(--kja-as-soft);
	color: var(--kja-as-ink);
}

.kja-as-button--score {
	padding-inline: 30px;
	font-size: 1.02rem;
	letter-spacing: 0.045em;
}

.kja-as-link-button {
	padding-inline: 5px;
	background: transparent;
	color: var(--kja-as-blue-700);
}

.kja-as-shell button:focus-visible,
.kja-as-shell input:focus-visible,
.kja-as-shell select:focus-visible,
.kja-as-shell textarea:focus-visible,
.kja-as-shell a:focus-visible {
	outline: 3px solid rgba(31, 94, 168, 0.40);
	outline-offset: 3px;
}

/* ---------------------- Assessment question --------------------- */
.kja-as-progress-wrap {
	position: sticky;
	top: 14px;
	z-index: 4;
	margin-bottom: 16px;
	padding: 14px 16px;
	border: 1px solid rgba(217, 225, 235, 0.92);
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 8px 22px rgba(17, 50, 82, 0.08);
	backdrop-filter: blur(12px);
}

.kja-as-progress-copy {
	display: flex;
	justify-content: space-between;
	gap: 15px;
	margin-bottom: 8px;
	font-size: 0.90rem;
	color: var(--kja-as-muted);
}

.kja-as-progress-copy strong {
	color: var(--kja-as-ink);
}

.kja-as-progress,
.kja-as-competency-bar,
.kja-as-mini-bar {
	height: 9px;
	overflow: hidden;
	border-radius: 999px;
	background: #e7edf5;
}

.kja-as-progress span,
.kja-as-competency-bar i,
.kja-as-mini-bar i {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--kja-as-blue-700), #4a82c1);
	transition: width 240ms ease;
}

.kja-as-section-progress {
	margin-top: 8px;
	font-size: 0.88rem;
	color: var(--kja-as-muted);
}

.kja-as-question-card {
	min-height: 390px;
	padding: clamp(24px, 4vw, 44px);
}

.kja-as-question-card h2 {
	max-width: 1000px;
	margin: 20px 0 28px;
	font-size: clamp(1.45rem, 2.45vw, 2.18rem);
	font-weight: 740;
	line-height: 1.32;
	letter-spacing: -0.02em;
	white-space: pre-line;
	text-wrap: pretty;
}

.kja-as-question-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.kja-as-question-meta span {
	padding: 6px 10px;
	border: 1px solid #e0e6ef;
	border-radius: 999px;
	background: #f7f9fc;
	font-size: 0.74rem;
	font-weight: 760;
	text-transform: capitalize;
	color: #46566b;
}

.kja-as-options {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	border: 0;
}

.kja-as-option {
	display: grid;
	grid-template-columns: auto 36px 1fr;
	gap: 12px;
	align-items: start;
	padding: 16px;
	border: 1px solid var(--kja-as-border);
	border-radius: 15px;
	background: #fff;
	cursor: pointer;
	transition: border-color 130ms ease, background 130ms ease, box-shadow 130ms ease;
}

.kja-as-option:hover {
	border-color: #94aac4;
	box-shadow: 0 7px 17px rgba(17, 50, 82, 0.05);
}

.kja-as-option:has(input:checked) {
	border-color: var(--kja-as-blue-700);
	background: #f4f8fe;
	box-shadow: inset 0 0 0 1px rgba(31, 94, 168, 0.15);
}

.kja-as-option input {
	margin-top: 7px;
}

.kja-as-option-letter {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 10px;
	background: #edf2f8;
	font-weight: 850;
	color: #33465f;
}

.kja-as-option:has(input:checked) .kja-as-option-letter {
	background: var(--kja-as-blue-700);
	color: #fff;
}

.kja-as-structured {
	display: grid;
	gap: 18px;
}

.kja-as-structured-intro {
	margin-top: 0;
	color: var(--kja-as-muted);
}

.kja-as-long textarea {
	width: 100%;
	min-height: 280px;
	resize: vertical;
	padding: 16px;
	border: 1px solid #bcc8d8;
	border-radius: 15px;
	background: #fff;
	line-height: 1.65;
	color: var(--kja-as-ink);
}

.kja-as-word-count {
	margin-top: 7px;
	text-align: right;
	font-size: 0.84rem;
	color: var(--kja-as-muted);
}

.kja-as-learning-objective {
	margin-top: 26px;
	padding: 17px 18px;
	border: 1px solid #e0e7f0;
	border-radius: 13px;
	background: #f8fafc;
	color: var(--kja-as-muted);
}

.kja-as-learning-objective strong {
	color: #34465d;
}

.kja-as-question-actions {
	align-items: center;
	justify-content: space-between;
}

.kja-as-review-strip {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 20px 4px 0;
}

/* --------------------------- Review --------------------------- */
.kja-as-review-summary {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin: 20px 0;
}

.kja-as-review-summary > * {
	padding: 8px 12px;
	border-radius: 999px;
	background: var(--kja-as-soft);
}

.kja-as-review-grid {
	display: grid;
	grid-template-columns: repeat(10, minmax(42px, 1fr));
	gap: 8px;
}

.kja-as-review-cell {
	position: relative;
	min-height: 46px;
	border: 1px solid var(--kja-as-border);
	border-radius: 10px;
	background: #fff;
	font-weight: 700;
	cursor: pointer;
}

.kja-as-review-cell.is-answered {
	border-color: #8bbca3;
	background: #f2fbf6;
}

.kja-as-review-cell.is-unanswered {
	border-color: #d9c290;
	background: #fffaf0;
}

.kja-as-review-cell.is-bookmarked {
	box-shadow: inset 0 0 0 2px #8a5a00;
}

.kja-as-review-cell span {
	position: absolute;
	right: 3px;
	top: 0;
	font-size: 0.65rem;
}

/* -------------------------- Scoring -------------------------- */
.kja-as-scoring-card {
	max-width: 800px;
	margin: auto;
	padding: clamp(34px, 6vw, 76px);
	text-align: center;
}

.kja-as-spinner {
	width: 54px;
	height: 54px;
	margin: 0 auto 20px;
	border: 5px solid #dfe8f3;
	border-top-color: var(--kja-as-blue-700);
	border-radius: 50%;
	animation: kjaAsSpin 1s linear infinite;
}

@keyframes kjaAsSpin {
	to { transform: rotate(360deg); }
}

/* -------------------------- Results -------------------------- */
.kja-as-results-hero {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 30px;
	align-items: center;
	margin-bottom: 20px;
	padding: clamp(26px, 4vw, 44px);
	background: linear-gradient(145deg, #f8fbff, #fff);
}

.kja-as-results-hero > .kja-as-eyebrow {
	grid-column: 1 / -1;
	margin-bottom: -10px;
	color: var(--kja-as-blue-700);
}

.kja-as-score-ring {
	display: grid;
	place-items: center;
	align-content: center;
	width: 184px;
	height: 184px;
	border: 12px solid #e6eef8;
	border-radius: 50%;
	background: #fff;
	box-shadow: inset 0 0 0 2px var(--kja-as-blue-700), 0 11px 28px rgba(17, 50, 82, 0.08);
	text-align: center;
}

.kja-as-score-ring strong {
	font-size: 2.55rem;
	line-height: 1;
}

.kja-as-score-ring span {
	max-width: 126px;
	margin-top: 7px;
	font-size: 0.78rem;
}

.kja-as-certainty,
.kja-as-provisional,
.kja-as-qualification {
	padding: 12px 14px;
	border-radius: 12px;
	background: var(--kja-as-soft);
	color: var(--kja-as-muted);
}

.kja-as-provisional,
.kja-as-qualification {
	background: #fff8e8;
	color: #694c0c;
}

.kja-as-result-section {
	margin-bottom: 20px;
	padding: clamp(24px, 4vw, 38px);
}

.kja-as-section-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.kja-as-section-cards article {
	display: grid;
	gap: 8px;
	padding: 16px;
	border: 1px solid var(--kja-as-border);
	border-radius: 14px;
}

.kja-as-section-cards article > span {
	font-size: 1.5rem;
	font-weight: 800;
}

.kja-as-mini-bar {
	height: 7px;
}

.kja-as-competency-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 24px;
}

.kja-as-competency > div:first-child {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 6px;
}

.kja-as-learning-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 22px;
}

.kja-as-learning-grid article {
	min-width: 0;
}

.kja-as-learning-grid .kja-as-recommendations {
	grid-column: 1 / -1;
	padding-top: 18px;
	border-top: 1px solid var(--kja-as-border);
}

.kja-as-recommendations li {
	margin-bottom: 10px;
}

.kja-as-recommendations li span {
	display: block;
	font-size: 0.90rem;
	color: var(--kja-as-muted);
}

.kja-as-detail-heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
}

.kja-as-review-filters {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 7px;
}

.kja-as-review-filters button {
	padding: 7px 11px;
	border: 1px solid var(--kja-as-border);
	border-radius: 999px;
	background: #fff;
	cursor: pointer;
}

.kja-as-review-filters button.is-active {
	border-color: var(--kja-as-blue-700);
	background: var(--kja-as-blue-700);
	color: #fff;
}

.kja-as-detail-list {
	display: grid;
	gap: 14px;
	margin-top: 22px;
}

.kja-as-review-detail {
	padding: 20px;
	border: 1px solid var(--kja-as-border);
	border-radius: 16px;
}

.kja-as-review-detail header {
	display: flex;
	justify-content: space-between;
	gap: 15px;
	font-size: 0.88rem;
	color: var(--kja-as-muted);
}

.kja-as-review-detail h3 {
	margin: 12px 0;
	font-size: 1.08rem;
}

.kja-as-answer-review {
	padding: 12px 14px;
	border-radius: 12px;
	background: var(--kja-as-soft);
}

.kja-as-answer-review p {
	margin: 0.3em 0;
}

.kja-as-review-detail details {
	margin: 12px 0;
	padding: 10px 12px;
	border: 1px solid var(--kja-as-border);
	border-radius: 10px;
}

.kja-as-resource-link a {
	font-weight: 750;
	color: var(--kja-as-blue-700);
	overflow-wrap: anywhere;
	word-break: break-word;
}

.kja-as-next-actions {
	text-align: center;
}

.kja-as-empty {
	padding: 24px;
	text-align: center;
	color: var(--kja-as-muted);
}

.kja-as-alert {
	padding: 24px;
	border: 1px solid #e5cb8c;
	border-radius: 16px;
	background: #fff8e8;
}

.kja-as-alert--error {
	border-color: #e7aaa7;
	background: #fff3f2;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	word-wrap: normal !important;
}

/* -------------------------- Responsive -------------------------- */
@media (max-width: 1080px) {
	.kja-as-shell {
		width: min(100% - 32px, 1120px) !important;
	}

	.kja-as-hero-grid {
		grid-template-columns: minmax(0, 1.3fr) minmax(270px, 0.7fr);
		gap: 28px;
	}

	.kja-as-journey {
		grid-template-columns: repeat(5, minmax(120px, 1fr));
		overflow-x: auto;
	}

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

	.kja-as-section-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.kja-as-review-grid {
		grid-template-columns: repeat(8, minmax(40px, 1fr));
	}

	.kja-as-detail-heading {
		display: block;
	}

	.kja-as-review-filters {
		justify-content: flex-start;
	}
}

@media (max-width: 820px) {
	.kja-as-hero-grid {
		grid-template-columns: 1fr;
	}

	.kja-as-hero-intelligence {
		max-width: 620px;
	}

	.kja-as-panel--intro {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.kja-as-bank-badge {
		justify-self: start;
		white-space: normal;
	}

	.kja-as-progress-wrap {
		position: static;
	}
}

@media (max-width: 640px) {
	.kja-as-shell {
		width: calc(100% - 20px) !important;
		max-width: none !important;
		padding: 10px;
	}

	.kja-as-hero {
		padding: 26px 20px;
		border-radius: 24px;
	}

	.kja-as-hero h1 {
		font-size: clamp(2.3rem, 13vw, 3.4rem);
		line-height: 1.01;
	}

	.kja-as-lead {
		font-size: 1rem;
	}

	.kja-as-hero-intelligence {
		padding: 18px;
	}

	.kja-as-stat-grid > div {
		padding: 13px;
	}

	.kja-as-journey {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		overflow: visible;
		border-radius: 16px;
	}

	.kja-as-journey li:last-child {
		grid-column: 1 / -1;
	}

	.kja-as-stage[data-as-start-stage] {
		padding: 19px 15px;
		border-radius: 22px;
	}

	.kja-as-panel--intro h2 {
		font-size: 2rem;
	}

	.kja-as-assurance-list {
		display: grid;
		grid-template-columns: 1fr;
	}

	.kja-as-modes {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.kja-as-mode-card {
		min-height: 0;
		padding: 21px 19px;
	}

	.kja-as-mode-action {
		min-height: 46px;
		margin-top: 18px;
		font-size: 0.88rem !important;
	}

	.kja-as-domain-picker select,
	.kja-as-structured select {
		min-height: 58px;
		padding: 13px 14px;
		font-size: 1.06rem;
	}

	.kja-as-domain-picker {
		padding: 15px;
	}

	.kja-as-start-actions,
	.kja-as-review-actions,
	.kja-as-incomplete-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.kja-as-button {
		width: 100%;
	}

	.kja-as-question-card {
		min-height: 0;
		padding: 21px 16px;
		border-radius: 18px;
	}

	.kja-as-option {
		grid-template-columns: auto 31px 1fr;
		padding: 13px 11px;
	}

	.kja-as-question-actions {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.kja-as-question-actions [data-as-bookmark] {
		grid-column: 1 / -1;
		grid-row: 1;
	}

	.kja-as-review-strip {
		align-items: stretch;
		flex-direction: column;
	}

	.kja-as-review-strip .kja-as-button--score {
		width: 100%;
	}

	.kja-as-review-grid {
		grid-template-columns: repeat(5, minmax(42px, 1fr));
	}

	.kja-as-results-hero {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.kja-as-results-hero > .kja-as-eyebrow {
		grid-column: auto;
	}

	.kja-as-score-ring {
		width: 160px;
		height: 160px;
		margin: auto;
	}

	.kja-as-section-cards,
	.kja-as-competency-list,
	.kja-as-learning-grid {
		grid-template-columns: 1fr;
	}

	.kja-as-learning-grid .kja-as-recommendations {
		grid-column: auto;
	}

	.kja-as-review-detail header {
		display: block;
	}

	.kja-as-progress-copy {
		align-items: flex-start;
		flex-direction: column;
	}

	.kja-as-word-count {
		text-align: left;
	}
}

@media (prefers-reduced-motion: reduce) {
	.kja-as-shell *,
	.kja-as-shell *::before,
	.kja-as-shell *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}

	.kja-as-spinner {
		animation: none;
	}
}

@media (forced-colors: active) {
	.kja-as-hero,
	.kja-as-hero-intelligence,
	.kja-as-mode-card,
	.kja-as-button,
	.kja-as-option,
	.kja-as-results-hero {
		border: 2px solid CanvasText;
	}

	.kja-as-hero,
	.kja-as-hero * {
		color: CanvasText;
		background: Canvas;
	}
}

/* ==============================================================
 * v6.21.5 — governed multilingual assessment + learner controls
 * ============================================================== */
.kja-as-language-toolbar {
	position: relative;
	display: grid;
	grid-template-columns: minmax(250px, 360px) auto minmax(260px, 1fr);
	gap: 14px 16px;
	align-items: end;
	margin: 20px 0 24px;
	padding: 16px 18px;
	border: 1px solid rgba(202, 214, 228, 0.95);
	border-radius: 18px;
	background: linear-gradient(135deg, #ffffff 0%, #f6f9fd 100%);
	box-shadow: 0 8px 26px rgba(17, 50, 82, 0.07);
}

.kja-as-language-control {
	display: grid;
	gap: 7px;
}

.kja-as-language-control > span {
	font-size: 0.86rem;
	font-weight: 840;
	letter-spacing: 0.015em;
	color: #263a53;
}

.kja-as-language-control select {
	width: 100%;
	min-height: 54px;
	padding: 12px 42px 12px 14px;
	border: 1.5px solid #aebdd0;
	border-radius: 13px;
	background: #fff;
	box-shadow: 0 3px 10px rgba(17, 50, 82, 0.035);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.35;
	color: var(--kja-as-ink);
	cursor: pointer;
}

.kja-as-language-control select:hover {
	border-color: #7994b5;
	background: #fbfdff;
}

.kja-as-language-control select:focus-visible {
	border-color: var(--kja-as-blue-700);
	box-shadow: 0 0 0 4px rgba(31, 94, 168, 0.12);
}

.kja-as-language-control select option {
	font-size: 1rem;
}

.kja-as-original-toggle {
	appearance: none;
	min-height: 54px;
	padding: 11px 18px;
	border: 1px solid #c9d5e4;
	border-radius: 13px;
	background: #fff;
	font-size: 0.93rem;
	font-weight: 780;
	color: #173a61;
	cursor: pointer;
	transition: transform 140ms ease, border-color 140ms ease, background 140ms ease, box-shadow 140ms ease;
}

.kja-as-original-toggle:hover {
	transform: translateY(-1px);
	border-color: #7994b5;
	background: #f7fbff;
}

.kja-as-original-toggle[aria-pressed="true"] {
	border-color: #2b69aa;
	background: #eaf3fd;
	box-shadow: inset 0 0 0 1px rgba(43, 105, 170, 0.12);
}

.kja-as-language-meta {
	min-height: 54px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 4px;
	padding-inline: 3px;
	font-size: 0.82rem;
	line-height: 1.45;
	color: #5b6f87;
}

.kja-as-language-meta strong {
	font-size: 0.83rem;
	font-weight: 820;
	color: #31516f;
}

.kja-as-language-meta [data-as-language-status]:not(:empty) {
	display: block;
	margin-top: 1px;
	color: #52687f;
}

.kja-as-question-loading {
	min-height: 330px;
	display: grid;
	place-content: center;
	justify-items: center;
	gap: 16px;
	padding: 28px;
	text-align: center;
	color: #30475f;
}

.kja-as-question-loading .kja-as-spinner {
	width: 42px;
	height: 42px;
	border-width: 4px;
}

.kja-as-long-language-hint {
	margin: 10px 0 0;
	padding: 10px 12px;
	border-inline-start: 3px solid #2d6cab;
	border-radius: 0 9px 9px 0;
	background: #f4f8fd;
	font-size: 0.88rem;
	line-height: 1.5;
	color: #536a82;
}

.kja-as-canonical {
	margin-top: 22px;
	padding: 14px 16px;
	border: 1px solid #d9e2ed;
	border-radius: 13px;
	background: #f8fafc;
	color: #344b62;
}

.kja-as-canonical summary {
	cursor: pointer;
	font-weight: 820;
	color: #173a61;
}

.kja-as-canonical[open] summary {
	margin-bottom: 12px;
}

.kja-as-canonical p,
.kja-as-canonical li {
	font-size: 0.92rem;
	line-height: 1.58;
}

.kja-as-canonical-note {
	color: #62758a;
}

.kja-as-question-actions [data-as-save-exit] {
	border-color: #cfd9e5;
	background: #f8fafc;
}

.kja-as-question-actions [data-as-save-exit]:hover:not(:disabled) {
	background: #eef4fa;
}

/* Preserve canonical scoring values while allowing translated labels to read
 * naturally in both left-to-right and right-to-left languages. */
.kja-as-shell[dir="rtl"] {
	text-align: right;
}

.kja-as-shell[dir="rtl"] .kja-as-hero,
.kja-as-shell[dir="rtl"] .kja-as-panel--intro,
.kja-as-shell[dir="rtl"] .kja-as-question-card,
.kja-as-shell[dir="rtl"] .kja-as-result-section,
.kja-as-shell[dir="rtl"] .kja-as-language-toolbar {
	direction: rtl;
}

.kja-as-shell[dir="rtl"] .kja-as-long-language-hint {
	border-inline-start: 3px solid #2d6cab;
	border-radius: 9px 0 0 9px;
}

.kja-as-shell[dir="rtl"] .kja-as-word-count {
	text-align: left;
}

.kja-as-shell[dir="rtl"] .kja-as-option {
	text-align: right;
}

@media (max-width: 920px) {
	.kja-as-language-toolbar {
		grid-template-columns: minmax(220px, 1fr) auto;
	}

	.kja-as-language-meta {
		grid-column: 1 / -1;
	}
}

@media (max-width: 640px) {
	.kja-as-language-toolbar {
		grid-template-columns: 1fr;
		gap: 11px;
		margin: 14px 0 18px;
		padding: 14px;
		border-radius: 15px;
	}

	.kja-as-language-control select,
	.kja-as-original-toggle {
		min-height: 56px;
		font-size: 1rem;
	}

	.kja-as-original-toggle,
	.kja-as-language-meta {
		width: 100%;
	}

	.kja-as-question-actions [data-as-bookmark] {
		grid-column: 1 / -1;
		grid-row: 1;
	}

	.kja-as-question-actions [data-as-save-exit] {
		grid-column: 1 / -1;
		grid-row: 3;
	}

	.kja-as-question-actions [data-as-prev] {
		grid-column: 1;
		grid-row: 2;
	}

	.kja-as-question-actions [data-as-next] {
		grid-column: 2;
		grid-row: 2;
	}

	.kja-as-canonical {
		padding: 13px;
	}
}

/* ==============================================================
 * v6.21.7 — multilingual typography normalization
 * Script-aware rhythm keeps translated assessment content visually
 * equivalent to the canonical English hierarchy without changing
 * question identity, content, answer values, or scoring semantics.
 * ============================================================== */

/* Myanmar: larger glyph bodies need a calmer headline scale and more
 * vertical breathing room. Raise supporting text slightly so the hierarchy
 * remains balanced rather than headline-heavy. */
.kja-as-shell:lang(my) {
	font-family: "Noto Sans Myanmar", "Myanmar Text", "Myanmar MN", sans-serif;
}

.kja-as-shell:lang(my) .kja-as-question-card h2 {
	max-width: 1040px;
	margin: 18px 0 26px;
	font-size: clamp(1.42rem, 1.85vw, 1.82rem);
	font-weight: 700;
	line-height: 1.58;
	letter-spacing: 0;
	text-wrap: pretty;
}

.kja-as-shell:lang(my) .kja-as-question-meta span {
	padding: 7px 11px;
	font-size: 0.82rem;
	font-weight: 720;
	line-height: 1.48;
}

.kja-as-shell:lang(my) .kja-as-option {
	align-items: center;
	padding-block: 17px;
}

.kja-as-shell:lang(my) .kja-as-option > span:last-child,
.kja-as-shell:lang(my) .kja-as-structured-intro,
.kja-as-shell:lang(my) .kja-as-learning-objective {
	font-size: 1rem;
	line-height: 1.72;
}

.kja-as-shell:lang(my) .kja-as-option-letter {
	font-family: inherit;
	font-size: 0.96rem;
}

.kja-as-shell:lang(my) .kja-as-structured label strong {
	font-size: 1rem;
	line-height: 1.55;
}

.kja-as-shell:lang(my) .kja-as-structured select,
.kja-as-shell:lang(my) .kja-as-domain-picker select {
	font-size: 1rem;
	font-weight: 620;
	line-height: 1.55;
}

.kja-as-shell:lang(my) .kja-as-learning-objective strong {
	font-weight: 760;
}

/* CJK scripts use dense square glyphs; keep headings authoritative without
 * allowing translated lines to dominate the question card. */
.kja-as-shell:is(:lang(zh-Hans), :lang(zh-Hant), :lang(ja), :lang(ko)) .kja-as-question-card h2 {
	font-size: clamp(1.42rem, 2vw, 1.90rem);
	font-weight: 710;
	line-height: 1.48;
	letter-spacing: 0;
}

/* Southeast-Asian complex scripts benefit from more line height and a
 * slightly reduced display size for consistent visual density. */
.kja-as-shell:is(:lang(th), :lang(km), :lang(lo), :lang(si)) .kja-as-question-card h2 {
	font-size: clamp(1.42rem, 2vw, 1.90rem);
	font-weight: 700;
	line-height: 1.58;
	letter-spacing: 0;
}

/* Indic scripts: normalize headline density while preserving legibility of
 * conjuncts and diacritics. */
.kja-as-shell:is(:lang(bn), :lang(gu), :lang(hi), :lang(kn), :lang(ml), :lang(mr), :lang(ne), :lang(pa), :lang(ta), :lang(te)) .kja-as-question-card h2 {
	font-size: clamp(1.42rem, 2.05vw, 1.94rem);
	font-weight: 700;
	line-height: 1.52;
	letter-spacing: 0;
}

/* RTL scripts need room for connected letterforms and diacritics. */
.kja-as-shell:is(:lang(ar), :lang(fa), :lang(he), :lang(sd), :lang(ur)) .kja-as-question-card h2 {
	font-size: clamp(1.46rem, 2.05vw, 1.96rem);
	font-weight: 700;
	line-height: 1.55;
	letter-spacing: 0;
}

/* Supporting question text should remain visually consistent across all
 * non-English scripts even when browser fallback fonts have different x-height. */
.kja-as-shell:not(:lang(en)) .kja-as-option > span:last-child,
.kja-as-shell:not(:lang(en)) .kja-as-learning-objective,
.kja-as-shell:not(:lang(en)) .kja-as-structured-intro {
	max-width: 100%;
	text-wrap: pretty;
}

@media (max-width: 640px) {
	.kja-as-shell:lang(my) .kja-as-question-card h2 {
		font-size: clamp(1.34rem, 6.6vw, 1.62rem);
		line-height: 1.60;
	}

	.kja-as-shell:is(:lang(zh-Hans), :lang(zh-Hant), :lang(ja), :lang(ko), :lang(th), :lang(km), :lang(lo), :lang(si), :lang(bn), :lang(gu), :lang(hi), :lang(kn), :lang(ml), :lang(mr), :lang(ne), :lang(pa), :lang(ta), :lang(te), :lang(ar), :lang(fa), :lang(he), :lang(sd), :lang(ur)) .kja-as-question-card h2 {
		max-width: none;
		margin-block: 16px 22px;
	}
}


/* v6.21.8 — bounded SCORE ME progress and recovery presentation */
.kja-as-scoring-card [data-as-scoring-copy] {
	max-width: 660px;
	margin: 0 auto 18px;
	font-size: clamp(1rem, 1.35vw, 1.12rem);
	line-height: 1.65;
	color: var(--kja-as-slate-700, #42526a);
}

.kja-as-scoring-card [data-as-scoring-copy] strong {
	color: var(--kja-as-navy-900, #10203a);
	font-variant-numeric: tabular-nums;
}

.kja-as-scoring-card [data-as-scoring-copy] small {
	display: block;
	max-width: 620px;
	margin: 10px auto 0;
	font-size: 0.9rem;
	line-height: 1.55;
	color: var(--kja-as-slate-600, #5f6f85);
}

/* v6.22.0 — Diamond Civic Competency Architecture */
.kja-as-competency-path-panel {
	margin-top: 28px;
	padding: clamp(18px, 2.5vw, 28px);
	border: 1px solid rgba(208, 169, 72, 0.30);
	border-radius: 22px;
	background: linear-gradient(135deg, rgba(255,255,255,0.10), rgba(255,255,255,0.035));
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.10);
}
.kja-as-competency-path-heading {
	display: grid;
	grid-template-columns: minmax(180px, 0.52fr) minmax(300px, 1.48fr);
	gap: 20px;
	align-items: end;
	margin-bottom: 18px;
}
.kja-as-competency-path-heading p { margin: 0; color: rgba(255,255,255,0.78); line-height: 1.55; }
.kja-as-competency-path-heading .kja-as-section-kicker { color: #f0ca68; font-weight: 800; letter-spacing: .12em; }
.kja-as-competency-path {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(9, minmax(0,1fr));
	gap: 8px;
}
.kja-as-competency-path li {
	min-width: 0;
	padding: 13px 11px;
	border: 1px solid rgba(255,255,255,0.13);
	border-radius: 15px;
	background: rgba(3, 24, 44, 0.38);
}
.kja-as-competency-path li > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	margin-bottom: 8px;
	border: 1px solid rgba(240,202,104,.55);
	border-radius: 50%;
	color: #f0ca68;
	font-size: .72rem;
	font-weight: 800;
}
.kja-as-competency-path strong,
.kja-as-competency-path small { display:block; overflow-wrap:normal; word-break:normal; }
.kja-as-competency-path strong { color:#fff; font-size:.88rem; line-height:1.25; }
.kja-as-competency-path small { margin-top:5px; color:rgba(255,255,255,.66); font-size:.71rem; line-height:1.4; }

.kja-as-question-meta .kja-as-meta-stage,
.kja-as-question-meta .kja-as-meta-family {
	border-color: rgba(36, 94, 160, .20);
	background: rgba(238, 246, 255, .76);
}
.kja-as-question-meta b { font-weight: 800; }

.kja-as-confidence {
	margin: 26px 0;
	padding: 18px;
	border: 1px solid #d9e3f1;
	border-radius: 18px;
	background: #f8fbff;
}
.kja-as-confidence legend {
	padding: 0 4px;
	font-size: 1.02rem;
	font-weight: 800;
	color: #14243d;
}
.kja-as-confidence > p { margin: 5px 0 14px; color: #5c6d84; font-size: .92rem; line-height: 1.55; }
.kja-as-confidence-options {
	display: grid;
	grid-template-columns: repeat(4, minmax(0,1fr));
	gap: 10px;
}
.kja-as-confidence-options label { position: relative; cursor: pointer; }
.kja-as-confidence-options input {
	position: absolute;
	op: 12px;
	left: 12px;
	width: 18px;
	height: 18px;
}
.kja-as-confidence-options span {
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:52px;
	padding: 10px 10px 10px 34px;
	border: 1px solid #cfdbea;
	border-radius: 13px;
	background:#fff;
	color:#243852;
	font-weight:750;
	transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.kja-as-confidence-options input:checked + span { border-color:#2361a8; background:#edf5ff; box-shadow:0 0 0 2px rgba(35,97,168,.12); }
.kja-as-confidence-options input:focus-visible + span { outline:3px solid rgba(35,97,168,.28); outline-offset:2px; }

.kja-as-stage-profile-heading { max-width: 900px; margin-bottom: 22px; }
.kja-as-stage-profile-heading p { color:#607088; line-height:1.65; }
.kja-as-stage-profile-grid {
	display:grid;
	grid-template-columns: repeat(3, minmax(0,1fr));
	gap:14px;
}
.kja-as-stage-profile-grid article {
	display:grid;
	grid-template-columns: 42px 1fr auto;
	grid-template-rows: auto auto;
	gap:8px 12px;
	align-items:start;
	padding:18px;
	border:1px solid #dbe4f0;
	border-radius:18px;
	background:#fff;
}
.kja-as-stage-profile-grid .kja-as-stage-number {
	grid-row: 1 / span 2;
	display:flex;
	align-items:center;
	justify-content:center;
	width:38px;
	height:38px;
	border-radius:50%;
	background:#eef5fd;
	color:#1e5b9f;
	font-size:.78rem;
	font-weight:850;
}
.kja-as-stage-profile-grid strong { color:#14243d; font-size:1rem; }
.kja-as-stage-profile-grid p { margin:5px 0 0; color:#66758a; font-size:.84rem; line-height:1.45; }
.kja-as-stage-profile-grid article > b { color:#14243d; font-size:1rem; font-variant-numeric:tabular-nums; }
.kja-as-stage-profile-grid .kja-as-competency-bar { grid-column:2 / 4; }

.kja-as-misconceptions {
	border-color:#e2ba66;
	background:linear-gradient(135deg,#fffaf0,#fffdf9);
}
.kja-as-misconceptions > p { max-width:900px; color:#675334; line-height:1.6; }
.kja-as-misconceptions ul { margin:18px 0 0; padding:0; list-style:none; display:grid; gap:10px; }
.kja-as-misconceptions li { display:flex; justify-content:space-between; gap:16px; padding:14px 16px; border:1px solid #ecd9ad; border-radius:13px; background:#fff; }
.kja-as-misconceptions li span { color:#7a6030; text-align:right; }

@media (max-width: 1180px) {
	.kja-as-competency-path { grid-template-columns: repeat(3, minmax(0,1fr)); }
	.kja-as-competency-path small { font-size:.78rem; }
}
@media (max-width: 820px) {
	.kja-as-competency-path-heading { grid-template-columns: 1fr; gap:8px; }
	.kja-as-stage-profile-grid { grid-template-columns:1fr 1fr; }
	.kja-as-confidence-options { grid-template-columns:1fr 1fr; }
}
@media (max-width: 560px) {
	.kja-as-competency-path { grid-template-columns:1fr; }
	.kja-as-competency-path li { display:grid; grid-template-columns:34px 1fr; column-gap:10px; }
	.kja-as-competency-path li > span { grid-row:1 / span 2; margin:0; }
	.kja-as-competency-path strong,.kja-as-competency-path small { grid-column:2; }
	.kja-as-stage-profile-grid { grid-template-columns:1fr; }
	.kja-as-confidence-options { grid-template-columns:1fr; }
	.kja-as-misconceptions li { flex-direction:column; }
	.kja-as-misconceptions li span { text-align:left; }
}
[dir="rtl"] .kja-as-confidence-options input { left:auto; right:12px; }
[dir="rtl"] .kja-as-confidence-options span { padding:10px 34px 10px 10px; }
[dir="rtl"] .kja-as-misconceptions li span { text-align:left; }

/* v6.22.1 — learner recognition and achievement claim */
.kja-as-recognition{position:relative;overflow:hidden;border:1px solid #d8e1ec;background:linear-gradient(145deg,#fff 0%,#f7fafe 100%)}
.kja-as-recognition::before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:#173e6b}
.kja-as-recognition.is-achievement{background:linear-gradient(145deg,#fff 0%,#fbf7ec 100%);border-color:#dfcfaa}
.kja-as-recognition.is-achievement::before{background:#a67b22}
.kja-as-recognition-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center}
.kja-as-recognition-head h2{margin:.25rem 0 .55rem;font-size:clamp(1.5rem,2.3vw,2.25rem)}
.kja-as-recognition-score{display:grid;place-items:center;min-width:120px;min-height:120px;border-radius:50%;border:6px solid #dbe7f3;background:#fff;text-align:center;box-shadow:0 10px 28px rgba(20,53,91,.08)}
.kja-as-recognition.is-achievement .kja-as-recognition-score{border-color:#e8d7ad}
.kja-as-recognition-score span{font-size:1.65rem;line-height:1;color:#1d6a45}.kja-as-recognition-score strong{font-size:1rem;color:#173e6b}
.kja-as-recognition-facts{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.kja-as-recognition-facts span{padding:8px 12px;border-radius:999px;background:#edf3f9;color:#263d58;font-size:.92rem}
.kja-as-recognition-claim{margin-top:20px;padding:20px;border-radius:16px;background:#fff;border:1px solid #dce5ef;display:grid;gap:12px}
.kja-as-recognition-claim label>span{display:block;font-weight:800;margin-bottom:6px}.kja-as-recognition-claim input[type=text]{width:min(100%,520px);min-height:48px;border:1px solid #9dafc3;border-radius:10px;padding:10px 12px;font:inherit}
.kja-as-recognition-claim input[type=text]:focus{outline:3px solid rgba(24,93,154,.2);outline-offset:2px;border-color:#185d9a}
.kja-as-recognition-claim p{margin:0;color:#50647b;font-size:.9rem;max-width:850px}.kja-as-recognition-claim .kja-as-check{display:flex;align-items:flex-start;gap:9px;font-weight:500}.kja-as-recognition-claim .kja-as-check>span{display:inline;margin:0;font-weight:600}.kja-as-recognition-claim input[type=checkbox]{width:20px;height:20px;margin-top:2px}
.kja-as-recognition-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.kja-as-recognition-disclaimer{margin-top:18px;padding-top:14px;border-top:1px solid #e3eaf1;color:#566a80;font-size:.88rem}
@media(max-width:680px){.kja-as-recognition-head{grid-template-columns:1fr}.kja-as-recognition-score{min-width:105px;min-height:105px;justify-self:start}.kja-as-recognition-links{display:grid}.kja-as-recognition-links .kja-as-button{width:100%;justify-content:center}}
.kja-as-mode-recognition{display:block;margin-top:10px;padding:6px 9px;border-radius:8px;background:#f6f1e6;color:#765616;font-size:.78rem;font-weight:800;line-height:1.25}
.kja-as-history-recognition{display:inline-block;margin-top:8px;font-size:.82rem;font-weight:800;color:#174f82;text-underline-offset:2px}


/* v6.25.2 — clickable responsive competency and learner-cycle navigation */
.kja-as-learning-map{
	display:grid;
	grid-template-columns:minmax(0,1.6fr) minmax(180px,.55fr);
	gap:22px;
	padding:clamp(22px,3vw,36px);
	margin:0 0 26px;
	border:1px solid var(--kja-as-border);
	border-radius:24px;
	background:linear-gradient(145deg,#fff 0%,#f4f8fd 100%);
	box-shadow:var(--kja-as-shadow-soft);
}
.kja-as-learning-map__intro h2{margin:.2rem 0 .65rem;font-size:clamp(1.65rem,2.5vw,2.45rem);color:var(--kja-as-navy-950)}
.kja-as-learning-map__intro>p{max-width:850px;margin:.45rem 0;color:#495d73}
.kja-as-dignity-notice{padding:10px 13px;border-left:4px solid var(--kja-as-gold-500);background:#fffaf0;color:#5c4a28!important;font-weight:700}
.kja-as-learning-map__score{display:grid;align-content:center;justify-items:center;min-height:180px;padding:18px;border:1px solid #d8e4f1;border-radius:22px;background:#fff;text-align:center}
.kja-as-learning-map__score span{font-weight:800;color:#4b6077}
.kja-as-learning-map__score strong{font-size:clamp(2.3rem,5vw,4rem);line-height:1;color:var(--kja-as-navy-950);font-variant-numeric:tabular-nums}
.kja-as-learning-map__score small{margin-top:8px;color:#5e6f82}
.kja-as-learning-map__metrics{grid-column:1/-1;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.kja-as-learning-map__metrics article{display:grid;gap:4px;padding:14px;border:1px solid #dbe4ef;border-radius:14px;background:#fff}
.kja-as-learning-map__metrics span{color:#617187;font-size:.82rem;font-weight:700}
.kja-as-learning-map__metrics strong{font-size:1.35rem;color:var(--kja-as-navy-950);font-variant-numeric:tabular-nums}
.kja-as-proof-readiness-note{grid-column:1/-1;margin:0;padding:12px 14px;border:1px solid #ead6a6;border-radius:12px;background:#fffaf0;color:#654e21}

.kja-as-next-study{border-color:#cdddec;background:linear-gradient(180deg,#fff,#f8fbff)}
.kja-as-next-study__heading{max-width:930px;margin-bottom:18px}
.kja-as-next-study__heading h2{margin:.2rem 0 .45rem;font-size:clamp(1.5rem,2.3vw,2.15rem)}
.kja-as-next-study__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.kja-as-more-gaps{margin:18px 0 0;color:#5b6b7f;font-weight:700}

.kja-as-formative-card{display:grid;gap:14px;padding:19px;border:1px solid #dbe3ed;border-radius:18px;background:#fff;box-shadow:0 6px 18px rgba(18,48,82,.045)}
.kja-as-formative-card>header{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid #e9eef4;color:#607085;font-size:.83rem}
.kja-as-formative-card--accurate{border-left:5px solid #39765b}
.kja-as-formative-card--incomplete{border-left:5px solid #a8791f}
.kja-as-formative-card--incorrect{border-left:5px solid #9b4b42}
.kja-as-formative-card--uncertain{border-left:5px solid #5a658f}
.kja-as-classification{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border-radius:999px;background:#edf3f9;color:#253e59;font-weight:850;letter-spacing:.01em}
.kja-as-formative-card--accurate .kja-as-classification{background:#edf7f1;color:#275c43}
.kja-as-formative-card--incomplete .kja-as-classification{background:#fff6df;color:#725319}
.kja-as-formative-card--incorrect .kja-as-classification{background:#fff0ed;color:#7d3832}
.kja-as-formative-card--uncertain .kja-as-classification{background:#f0f1f8;color:#484f78}
.kja-as-formative-card h3{margin:0;font-size:1.08rem;line-height:1.45}
.kja-as-formative-card p{margin:.25rem 0 0}
.kja-as-formative-answer,.kja-as-distinction{padding:12px 14px;border-radius:13px;background:#f7f9fc}
.kja-as-distinction{background:#fffaf0;border:1px solid #ead9af}
.kja-as-proof-chain{border:1px solid #dbe4ef;border-radius:14px;background:#fbfdff;overflow:hidden}
.kja-as-proof-chain>summary{cursor:pointer;padding:13px 15px;font-weight:850;color:#173f68;background:#f1f6fb}
.kja-as-proof-chain>summary:focus-visible{outline:3px solid rgba(31,94,168,.28);outline-offset:-3px}
.kja-as-proof-chain>h4,.kja-as-proof-chain>ul,.kja-as-proof-chain>.kja-as-proof-limits,.kja-as-proof-chain>.kja-as-law-separation,.kja-as-proof-chain>p{margin-left:15px;margin-right:15px}
.kja-as-proof-chain h4{margin-top:15px;margin-bottom:6px}
.kja-as-proof-chain ul{padding-left:20px}
.kja-as-proof-chain li{margin:8px 0}
.kja-as-proof-chain li>span{display:block;color:#66778a;font-size:.86rem}
.kja-as-proof-chain li>a{display:inline-block;margin-top:5px;font-weight:850}
.kja-as-source-readiness{padding:8px 10px;border-radius:9px;background:#fff5e3;color:#6f5320;font-size:.84rem}
.kja-as-proof-limits{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px;margin-bottom:15px}
.kja-as-proof-limits p{padding:12px;border-radius:11px;background:#fff;border:1px solid #e1e8ef}
.kja-as-law-separation{padding:10px 12px;border-top:1px solid #e1e8ef;color:#566b80;font-size:.86rem}
.kja-as-proof-confidence{padding:10px 12px;border-radius:11px;background:#eef5fb;color:#294c6d}
.kja-as-formative-actions{display:flex;flex-wrap:wrap;gap:9px}
.kja-as-formative-action{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 13px;border:1px solid #aabdd1;border-radius:10px;background:#fff;color:#164f86!important;font:inherit;font-weight:850;text-decoration:none;cursor:pointer}
.kja-as-formative-action:hover{background:#eef5fc}
.kja-as-formative-action:focus-visible{outline:3px solid rgba(31,94,168,.26);outline-offset:2px}
.kja-as-formative-panel{padding:15px;border:1px solid #dce5ef;border-radius:13px;background:#fafcff}
.kja-as-formative-panel textarea,.kja-as-formative-panel select{width:100%;max-width:100%;margin:9px 0;min-height:48px;border:1px solid #a8b8c8;border-radius:10px;padding:10px 12px;background:#fff;color:var(--kja-as-ink)}
.kja-as-formative-panel textarea{min-height:130px;resize:vertical}
.kja-as-formative-panel textarea:focus,.kja-as-formative-panel select:focus{outline:3px solid rgba(31,94,168,.22);outline-offset:2px;border-color:#1f5ea8}
.kja-as-formative-panel ul{margin:.65rem 0;padding-left:22px}
.kja-as-inline-status{display:block;margin-top:8px;color:#52667b;font-weight:700}
.kja-as-formative-progress{padding-top:10px;border-top:1px solid #edf1f5;color:#496278}
.kja-as-review-context{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px;color:#607187;font-size:.85rem}
.kja-as-review-detail>.kja-as-formative-card{margin-top:14px}
.kja-as-retry-options{margin-top:10px}
.kja-as-qualification{padding:10px 12px;border-radius:10px;background:#fff9ea;color:#6d5421}
.kja-as-provisional{padding:10px 12px;border-radius:10px;background:#fff5ee;color:#713e2a}

@media(max-width:1050px){
	.kja-as-learning-map__metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
	.kja-as-next-study__grid{grid-template-columns:1fr}
}
@media(max-width:760px){
	.kja-as-learning-map{grid-template-columns:1fr}
	.kja-as-learning-map__score{min-height:140px;justify-items:start;text-align:left}
	.kja-as-learning-map__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
	.kja-as-proof-limits{grid-template-columns:1fr}
	.kja-as-formative-actions{display:grid;grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
	.kja-as-learning-map__metrics{grid-template-columns:1fr}
	.kja-as-formative-actions{grid-template-columns:1fr}
	.kja-as-formative-action{width:100%}
}


/* v6.25.2 — actionable competency and assessment-cycle cards */
.kja-as-competency-path li { padding:0; background:transparent; border:0; }
.kja-as-competency-card {
	appearance:none; width:100%; height:100%; min-width:0; padding:14px 12px 13px; text-align:left;
	border:1px solid rgba(255,255,255,.14); border-radius:15px; background:rgba(3,24,44,.40); color:inherit;
	cursor:pointer; transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.kja-as-competency-card:hover { transform:translateY(-2px); border-color:rgba(240,202,104,.70); background:rgba(8,38,66,.68); box-shadow:0 10px 24px rgba(0,0,0,.16); }
.kja-as-competency-card:focus-visible { outline:3px solid #f0ca68; outline-offset:3px; }
.kja-as-competency-card[aria-expanded="true"] { border-color:#f0ca68; background:rgba(20,55,84,.82); box-shadow:0 0 0 2px rgba(240,202,104,.13); }
.kja-as-competency-card > span { display:inline-flex; align-items:center; justify-content:center; width:31px; height:31px; margin-bottom:9px; border:1px solid rgba(240,202,104,.62); border-radius:50%; color:#f0ca68; font-size:.73rem; font-weight:850; }
.kja-as-competency-card strong,.kja-as-competency-card small,.kja-as-competency-card em { display:block; min-width:0; }
.kja-as-competency-card strong { color:#fff; font-size:.91rem; line-height:1.25; overflow-wrap:anywhere; }
.kja-as-competency-card small { margin-top:6px; color:rgba(255,255,255,.70); font-size:.73rem; line-height:1.43; overflow-wrap:anywhere; }
.kja-as-competency-card em { margin-top:10px; color:#f0ca68; font-size:.69rem; line-height:1.25; font-style:normal; font-weight:800; letter-spacing:.02em; }
.kja-as-competency-focus { margin-top:16px; padding:18px; border:1px solid rgba(240,202,104,.32); border-radius:17px; background:rgba(5,28,49,.74); }
.kja-as-competency-focus__copy { display:grid; grid-template-columns:42px minmax(0,1fr); gap:13px; align-items:start; }
.kja-as-competency-focus__number { display:grid; place-items:center; width:40px; height:40px; border:1px solid rgba(240,202,104,.62); border-radius:50%; color:#f0ca68; font-weight:850; }
.kja-as-competency-focus h3 { margin:3px 0 6px; color:#fff; font-size:1.15rem; }
.kja-as-competency-focus p { margin:0; color:rgba(255,255,255,.74); line-height:1.55; }
.kja-as-competency-focus__status { margin-top:8px !important; color:#f4d887 !important; font-size:.86rem; }
.kja-as-competency-focus__actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; padding-left:55px; }
.kja-as-competency-focus .kja-as-link-button { color:#fff; border-color:rgba(255,255,255,.30); }

.kja-as-journey li { padding:0; background:transparent; }
.kja-as-journey-card {
	appearance:none; display:grid; grid-template-columns:auto 1fr; grid-template-areas:"step title" "step copy" "step action"; column-gap:11px;
	align-items:center; width:100%; height:100%; min-width:0; padding:16px 17px; text-align:left; border:0; background:rgba(6,27,46,.62); color:inherit; cursor:pointer;
	transition:background .16s ease,box-shadow .16s ease;
}
.kja-as-journey-card:hover { background:rgba(11,43,72,.88); box-shadow:inset 0 -3px 0 rgba(240,202,104,.55); }
.kja-as-journey-card:focus-visible { outline:3px solid #f0ca68; outline-offset:-4px; }
.kja-as-journey-card span { grid-area:step; }
.kja-as-journey-card strong { grid-area:title; }
.kja-as-journey-card small { grid-area:copy; }
.kja-as-journey-card em { grid-area:action; margin-top:5px; color:#f0ca68; font-size:.66rem; line-height:1.25; font-style:normal; font-weight:800; }

@media (min-width:1181px) {
	.kja-as-competency-path { grid-template-columns:repeat(5,minmax(0,1fr)); }
	.kja-as-competency-path li:nth-child(n+6) { grid-column:span 1; }
}
@media (max-width:1180px) and (min-width:821px) {
	.kja-as-competency-path { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:820px) {
	.kja-as-journey { grid-template-columns:repeat(2,minmax(0,1fr)); overflow:visible; background:transparent; gap:8px; border:0; }
	.kja-as-journey li { border:1px solid rgba(255,255,255,.12); border-radius:15px; overflow:hidden; }
	.kja-as-journey li:last-child { grid-column:1 / -1; }
}
@media (max-width:560px) {
	.kja-as-competency-card { display:grid; grid-template-columns:36px 1fr; grid-template-areas:"number title" "number copy" "number action"; column-gap:11px; }
	.kja-as-competency-card > span { grid-area:number; margin:0; }
	.kja-as-competency-card strong { grid-area:title; }
	.kja-as-competency-card small { grid-area:copy; }
	.kja-as-competency-card em { grid-area:action; }
	.kja-as-competency-focus__actions { padding-left:0; }
	.kja-as-journey { grid-template-columns:1fr; }
	.kja-as-journey li:last-child { grid-column:auto; }
}
@media (prefers-reduced-motion:reduce) {
	.kja-as-competency-card,.kja-as-journey-card { transition:none; }
}
/* v6.25.2 layout correction: card buttons own their full grid cell. */
.kja-as-journey li { display:block; }
@media (max-width:560px) { .kja-as-competency-path li { display:block; } }
