.pmhnp-review-container {
	--pmhnp-bg: #07111f;
	--pmhnp-surface: rgba(255,255,255,.09);
	--pmhnp-surface-strong: rgba(255,255,255,.14);
	--pmhnp-border: rgba(255,255,255,.19);
	--pmhnp-text: #f8fbff;
	--pmhnp-muted: rgba(248,251,255,.72);
	--pmhnp-accent: #74f7ff;
	--pmhnp-accent-2: #b68cff;
	--pmhnp-success: #56f5a8;
	--pmhnp-warning: #ffd166;
	--pmhnp-danger: #ff7a90;
	color: var(--pmhnp-text);
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	isolation: isolate;
}

.pmhnp-review-container[data-skin="light"] {
	--pmhnp-bg: #eef5ff;
	--pmhnp-surface: rgba(255,255,255,.66);
	--pmhnp-surface-strong: rgba(255,255,255,.82);
	--pmhnp-border: rgba(33, 53, 92, .14);
	--pmhnp-text: #102038;
	--pmhnp-muted: rgba(16,32,56,.68);
	--pmhnp-accent: #0077ff;
	--pmhnp-accent-2: #7a3cff;
	--pmhnp-success: #009b68;
}

.pmhnp-app-shell {
	position: relative;
	overflow: hidden;
	border-radius: 32px;
	padding: clamp(18px, 4vw, 36px);
	background:
		radial-gradient(circle at 15% 0%, rgba(116,247,255,.25), transparent 25%),
		radial-gradient(circle at 100% 12%, rgba(182,140,255,.23), transparent 28%),
		linear-gradient(135deg, var(--pmhnp-bg), rgba(30,37,70,.95));
	box-shadow: 0 30px 100px rgba(0, 0, 0, .28);
}

.pmhnp-review-container[data-skin="light"] .pmhnp-app-shell {
	background:
		radial-gradient(circle at 15% 0%, rgba(0,119,255,.18), transparent 25%),
		radial-gradient(circle at 100% 12%, rgba(122,60,255,.16), transparent 28%),
		linear-gradient(135deg, #eef5ff, #f9fbff);
	box-shadow: 0 24px 80px rgba(42, 67, 120, .18);
}

.pmhnp-hero,
.pmhnp-glass-card,
.pmhnp-gauge-card,
.pmhnp-graph-card,
.pmhnp-ethics-card,
.pmhnp-alert {
	border: 1px solid var(--pmhnp-border);
	background: var(--pmhnp-surface);
	backdrop-filter: blur(24px);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 20px 50px rgba(0,0,0,.18);
	border-radius: 28px;
}

.pmhnp-hero {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	padding: clamp(22px, 4vw, 34px);
	margin-bottom: 20px;
}

.pmhnp-eyebrow {
	margin: 0 0 8px;
	color: var(--pmhnp-accent);
	font-weight: 900;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .16em;
}

.pmhnp-hero h1 {
	color: var(--pmhnp-text);
	margin: 0 0 10px;
	font-size: clamp(34px, 7vw, 68px);
	line-height: .95;
	letter-spacing: -.05em;
	font-weight: 950;
}

.pmhnp-hero p,
.pmhnp-glass-card p,
.pmhnp-gauge-card p,
.pmhnp-graph-card p,
.pmhnp-ethics-card p {
	color: var(--pmhnp-muted);
	line-height: 1.65;
	margin: 0;
}

.pmhnp-skin-toggle {
	display: inline-flex;
	padding: 6px;
	border-radius: 999px;
	background: rgba(255,255,255,.10);
	border: 1px solid var(--pmhnp-border);
}

.pmhnp-skin-toggle button,
.pmhnp-nav button {
	appearance: none;
	border: 0;
	cursor: pointer;
	color: var(--pmhnp-muted);
	background: transparent;
	font-weight: 800;
	border-radius: 999px;
	padding: 10px 14px;
}

.pmhnp-skin-toggle button.is-active,
.pmhnp-nav button.is-active {
	color: var(--pmhnp-text);
	background: linear-gradient(135deg, rgba(116,247,255,.28), rgba(182,140,255,.24));
	box-shadow: 0 10px 30px rgba(116,247,255,.14);
}

.pmhnp-alert {
	padding: 16px 18px;
	margin-bottom: 18px;
	color: var(--pmhnp-warning);
}

.pmhnp-nav {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 20px;
}

.pmhnp-dashboard-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 16px;
}

.pmhnp-glass-card {
	position: relative;
	overflow: hidden;
	padding: 22px;
	min-height: 170px;
}

.pmhnp-card-glow {
	position: absolute;
	width: 120px;
	height: 120px;
	right: -34px;
	top: -34px;
	border-radius: 999px;
	background: radial-gradient(circle, rgba(116,247,255,.48), rgba(182,140,255,.12) 62%, transparent);
	pointer-events: none;
}

.pmhnp-glass-card h2,
.pmhnp-graph-card h2,
.pmhnp-ethics-card h2 {
	position: relative;
	color: var(--pmhnp-text);
	margin: 0 0 12px;
	font-size: 18px;
	font-weight: 900;
}

.pmhnp-glass-card strong {
	display: block;
	position: relative;
	font-size: 34px;
	line-height: 1;
	margin-bottom: 10px;
	color: var(--pmhnp-text);
}

.pmhnp-visual-grid {
	display: grid;
	grid-template-columns: 280px 1fr 1fr;
	gap: 16px;
}

.pmhnp-gauge-card,
.pmhnp-graph-card,
.pmhnp-ethics-card {
	padding: 24px;
}

.pmhnp-motor-dial {
	width: 170px;
	height: 170px;
	margin: 0 auto 16px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background:
		radial-gradient(circle, var(--pmhnp-bg) 45%, transparent 46%),
		conic-gradient(from -135deg, var(--pmhnp-success) 0 35%, var(--pmhnp-accent) 35% 68%, var(--pmhnp-accent-2) 68% 88%, rgba(255,255,255,.16) 88%);
	box-shadow: inset 0 0 36px rgba(255,255,255,.08), 0 0 48px rgba(116,247,255,.22);
}

.pmhnp-motor-dial span {
	font-size: 28px;
	font-weight: 950;
	color: var(--pmhnp-text);
}

.pmhnp-graph-bars {
	display: flex;
	align-items: end;
	gap: 12px;
	height: 154px;
	margin-bottom: 18px;
	padding: 14px;
	border-radius: 22px;
	background: rgba(255,255,255,.07);
	border: 1px solid var(--pmhnp-border);
}

.pmhnp-graph-bars span {
	flex: 1;
	min-width: 22px;
	border-radius: 999px 999px 8px 8px;
	background: linear-gradient(180deg, var(--pmhnp-accent), var(--pmhnp-accent-2));
	box-shadow: 0 0 24px rgba(116,247,255,.24);
}

.pmhnp-ethics-card {
	background:
		radial-gradient(circle at top right, rgba(86,245,168,.20), transparent 38%),
		var(--pmhnp-surface);
}

@media (max-width: 1100px) {
	.pmhnp-dashboard-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pmhnp-visual-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 720px) {
	.pmhnp-app-shell {
		border-radius: 22px;
		padding: 14px;
	}

	.pmhnp-hero {
		flex-direction: column;
		align-items: stretch;
		border-radius: 22px;
	}

	.pmhnp-dashboard-grid {
		grid-template-columns: 1fr;
	}

	.pmhnp-nav {
		position: sticky;
		bottom: 10px;
		z-index: 5;
		padding: 8px;
		border-radius: 22px;
		background: var(--pmhnp-surface-strong);
		border: 1px solid var(--pmhnp-border);
		backdrop-filter: blur(20px);
		overflow-x: auto;
		flex-wrap: nowrap;
	}

	.pmhnp-nav button {
		white-space: nowrap;
	}
}


.pmhnp-cohort-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin: 20px 0;
}

.pmhnp-card-kicker {
	text-transform: uppercase;
	letter-spacing: .14em;
	font-weight: 900;
	font-size: 11px;
	color: var(--pmhnp-accent) !important;
	margin-bottom: 8px !important;
}

.pmhnp-cohort-card button {
	appearance: none;
	border: 1px solid var(--pmhnp-border);
	border-radius: 999px;
	background: var(--pmhnp-surface-strong);
	color: var(--pmhnp-muted);
	font-weight: 900;
	padding: 12px 16px;
	margin-top: 18px;
	width: 100%;
	cursor: not-allowed;
}

.pmhnp-cohort-meter {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 18px;
	padding: 12px 14px;
	border-radius: 18px;
	border: 1px solid var(--pmhnp-border);
	background: rgba(255,255,255,.08);
}

.pmhnp-cohort-meter span,
.pmhnp-cohort-meter strong {
	color: var(--pmhnp-text);
	font-size: 13px;
}

.pmhnp-cohort-card.is-ready .pmhnp-cohort-meter strong {
	color: var(--pmhnp-success);
}

.pmhnp-cohort-card.is-building .pmhnp-cohort-meter strong {
	color: var(--pmhnp-warning);
}

@media (max-width: 980px) {
	.pmhnp-cohort-grid {
		grid-template-columns: 1fr;
	}
}


/* Phase 3 attempt engine UI */
.pmhnp-gauge-row,
.pmhnp-quiz-metrics {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 16px;
}

.pmhnp-cohort-grid,
.pmhnp-results-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 16px;
}

.pmhnp-cohort-card {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.pmhnp-cohort-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: auto;
}

.pmhnp-cohort-meta span,
.pmhnp-admin-pill {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--pmhnp-border);
	border-radius: 999px;
	padding: 7px 11px;
	background: rgba(255,255,255,.10);
	color: var(--pmhnp-text);
	font-size: 12px;
	font-weight: 850;
}

.pmhnp-primary-button,
.pmhnp-secondary-button {
	appearance: none;
	border: 1px solid var(--pmhnp-border);
	border-radius: 999px;
	cursor: pointer;
	font-weight: 900;
	padding: 11px 16px;
	transition: transform .15s ease, opacity .15s ease, box-shadow .15s ease;
}

.pmhnp-primary-button {
	color: #06101f;
	background: linear-gradient(135deg, var(--pmhnp-accent), var(--pmhnp-success));
	box-shadow: 0 14px 34px rgba(116,247,255,.20);
}

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

.pmhnp-primary-button:hover,
.pmhnp-secondary-button:hover,
.pmhnp-answer-option:hover,
.pmhnp-question-nav button:hover {
	transform: translateY(-1px);
}

.pmhnp-primary-button:disabled,
.pmhnp-secondary-button:disabled {
	cursor: not-allowed;
	opacity: .52;
	transform: none;
}

.pmhnp-quiz-shell,
.pmhnp-results-shell,
.pmhnp-question-card {
	margin-bottom: 16px;
}

.pmhnp-quiz-topbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	border: 1px solid var(--pmhnp-border);
	background: var(--pmhnp-surface);
	backdrop-filter: blur(22px);
	border-radius: 28px;
	padding: 18px;
	margin-bottom: 16px;
}

.pmhnp-quiz-topbar h2,
.pmhnp-question-card h2 {
	color: var(--pmhnp-text);
	margin: 0;
	font-weight: 950;
}

.pmhnp-question-card {
	border: 1px solid var(--pmhnp-border);
	background: var(--pmhnp-surface);
	backdrop-filter: blur(24px);
	border-radius: 28px;
	padding: clamp(18px, 4vw, 30px);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 20px 50px rgba(0,0,0,.18);
}

.pmhnp-question-card.is-correct {
	border-color: rgba(86,245,168,.42);
}

.pmhnp-question-card.is-incorrect {
	border-color: rgba(255,122,144,.42);
}

.pmhnp-question-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 18px;
}

.pmhnp-question-nav button {
	width: 38px;
	height: 38px;
	border-radius: 999px;
	border: 1px solid var(--pmhnp-border);
	background: rgba(255,255,255,.09);
	color: var(--pmhnp-muted);
	cursor: pointer;
	font-weight: 900;
}

.pmhnp-question-nav button.is-active {
	color: var(--pmhnp-text);
	background: linear-gradient(135deg, rgba(116,247,255,.28), rgba(182,140,255,.24));
}

.pmhnp-question-nav button.is-answered {
	border-color: rgba(86,245,168,.50);
}

.pmhnp-question-nav button.is-flagged {
	box-shadow: 0 0 0 2px rgba(255,209,102,.38);
}

.pmhnp-vignette,
.pmhnp-explanation {
	border: 1px solid var(--pmhnp-border);
	background: rgba(255,255,255,.08);
	border-radius: 22px;
	padding: 16px;
	color: var(--pmhnp-text);
	line-height: 1.65;
	margin: 16px 0;
}

.pmhnp-stem {
	color: var(--pmhnp-text);
	font-size: 18px;
	line-height: 1.65;
	font-weight: 750;
}

.pmhnp-answer-list {
	display: grid;
	gap: 12px;
	margin: 18px 0;
}

.pmhnp-answer-option {
	width: 100%;
	display: grid;
	grid-template-columns: 42px 1fr;
	gap: 12px;
	align-items: center;
	text-align: left;
	border: 1px solid var(--pmhnp-border);
	background: rgba(255,255,255,.08);
	color: var(--pmhnp-text);
	border-radius: 22px;
	padding: 14px;
	cursor: pointer;
}

.pmhnp-answer-option strong {
	width: 42px;
	height: 42px;
	display: grid;
	place-items: center;
	border-radius: 999px;
	background: rgba(255,255,255,.12);
	color: var(--pmhnp-accent);
}

.pmhnp-answer-option.is-selected {
	border-color: rgba(116,247,255,.58);
	background: linear-gradient(135deg, rgba(116,247,255,.18), rgba(182,140,255,.14));
	box-shadow: 0 18px 38px rgba(116,247,255,.13);
}

.pmhnp-quiz-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 10px;
	margin-top: 18px;
}

.pmhnp-safe-note {
	color: var(--pmhnp-muted);
	font-size: 13px;
	margin-top: 14px;
}

.pmhnp-review-list {
	display: grid;
	gap: 16px;
	margin-top: 16px;
}

.pmhnp-weakness-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 10px;
}

.pmhnp-weakness-list li {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	border: 1px solid var(--pmhnp-border);
	background: rgba(255,255,255,.08);
	border-radius: 18px;
	padding: 11px 13px;
	color: var(--pmhnp-text);
}

.pmhnp-weakness-list span {
	color: var(--pmhnp-warning);
	font-weight: 850;
}

@media (max-width: 920px) {
	.pmhnp-gauge-row,
	.pmhnp-quiz-metrics,
	.pmhnp-cohort-grid,
	.pmhnp-results-grid {
		grid-template-columns: 1fr;
	}

	.pmhnp-quiz-topbar {
		align-items: flex-start;
		flex-direction: column;
	}

	.pmhnp-question-nav button {
		width: 34px;
		height: 34px;
	}

	.pmhnp-answer-option {
		grid-template-columns: 36px 1fr;
	}

	.pmhnp-answer-option strong {
		width: 36px;
		height: 36px;
	}
}


/* Phase 4 flashcard UI */
.pmhnp-flashcard-shell {
	display: grid;
	gap: 16px;
}

.pmhnp-flashcard {
	position: relative;
	min-height: 430px;
	border: 1px solid var(--pmhnp-border);
	background:
		radial-gradient(circle at top left, rgba(116,247,255,.16), transparent 34%),
		var(--pmhnp-surface);
	backdrop-filter: blur(24px);
	border-radius: 30px;
	padding: clamp(18px, 4vw, 30px);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 24px 60px rgba(0,0,0,.18);
	overflow: hidden;
}

.pmhnp-flashcard::after {
	content: "";
	position: absolute;
	inset: auto -80px -120px auto;
	width: 260px;
	height: 260px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(182,140,255,.30), transparent 62%);
	pointer-events: none;
}

.pmhnp-flashcard-face,
.pmhnp-flashcard-back {
	position: relative;
	z-index: 1;
	transition: opacity .18s ease, transform .18s ease;
}

.pmhnp-flashcard-back {
	display: none;
}

.pmhnp-flashcard.is-flipped .pmhnp-flashcard-face {
	display: none;
}

.pmhnp-flashcard.is-flipped .pmhnp-flashcard-back {
	display: block;
}

.pmhnp-flashcard h2 {
	color: var(--pmhnp-text);
	font-size: clamp(24px, 4vw, 40px);
	line-height: 1.05;
	letter-spacing: -.03em;
	margin: 0 0 16px;
	font-weight: 950;
}

.pmhnp-status-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--pmhnp-border);
	background: rgba(255,255,255,.07);
	border-radius: 24px;
	padding: 14px;
}

.pmhnp-status-actions .is-active {
	color: #06101f;
	background: linear-gradient(135deg, var(--pmhnp-accent), var(--pmhnp-success));
	box-shadow: 0 14px 34px rgba(116,247,255,.20);
}

.pmhnp-rationale-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 16px;
}

.pmhnp-rationale-grid div {
	border: 1px solid var(--pmhnp-border);
	background: rgba(255,255,255,.08);
	border-radius: 18px;
	padding: 12px;
}

.pmhnp-rationale-grid strong {
	color: var(--pmhnp-accent);
}

.pmhnp-rationale-grid p {
	margin: 6px 0 0;
	color: var(--pmhnp-muted);
	line-height: 1.55;
}

.pmhnp-footer-note {
	margin-top: 18px;
}

.pmhnp-hero-actions {
	display: flex;
	align-items: center;
	gap: 12px;
}

@media (max-width: 720px) {
	.pmhnp-flashcard {
		min-height: 360px;
		border-radius: 22px;
	}

	.pmhnp-rationale-grid {
		grid-template-columns: 1fr;
	}

	.pmhnp-status-actions {
		justify-content: stretch;
	}

	.pmhnp-status-actions button {
		flex: 1 1 140px;
	}
}


/* Mock exam simulator UI */
.pmhnp-mock-spec-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 16px 0;
}

.pmhnp-mock-spec-grid span {
	display: block;
	border: 1px solid var(--pmhnp-border);
	background: rgba(255,255,255,.08);
	border-radius: 18px;
	padding: 14px;
	color: var(--pmhnp-muted);
	font-weight: 800;
}

.pmhnp-mock-spec-grid strong {
	display: block;
	color: var(--pmhnp-text);
	font-size: 28px;
	line-height: 1;
	margin-bottom: 6px;
}

.pmhnp-results-shell .pmhnp-results-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 900px) {
	.pmhnp-mock-spec-grid,
	.pmhnp-results-shell .pmhnp-results-grid {
		grid-template-columns: 1fr;
	}
}


/* Phase 6 student messaging */
.pmhnp-field-label {
	display: block;
	margin: 14px 0 6px;
	color: var(--pmhnp-text);
	font-weight: 850;
}

.pmhnp-input {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid var(--pmhnp-border);
	border-radius: 18px;
	background: rgba(255,255,255,.09);
	color: var(--pmhnp-text);
	padding: 12px 14px;
	outline: none;
	backdrop-filter: blur(12px);
}

.pmhnp-input::placeholder {
	color: var(--pmhnp-muted);
}

.pmhnp-thread-list {
	display: grid;
	gap: 12px;
	margin: 18px 0;
}

.pmhnp-thread-message {
	border: 1px solid var(--pmhnp-border);
	background: rgba(255,255,255,.08);
	border-radius: 22px;
	padding: 14px 16px;
	max-width: 88%;
}

.pmhnp-thread-message.is-admin {
	margin-left: auto;
	background: linear-gradient(135deg, rgba(116,247,255,.14), rgba(182,140,255,.12));
}

.pmhnp-thread-message strong {
	display: block;
	color: var(--pmhnp-accent);
	margin-bottom: 6px;
}

.pmhnp-thread-message p {
	margin: 0;
	color: var(--pmhnp-text);
	line-height: 1.6;
}

.pmhnp-thread-message span {
	display: block;
	margin-top: 8px;
	color: var(--pmhnp-muted);
	font-size: 12px;
}

.pmhnp-message-card .pmhnp-cohort-meta {
	margin-top: 12px;
}

@media (max-width: 720px) {
	.pmhnp-thread-message {
		max-width: 100%;
	}
}


.pmhnp-leaderboard-list{display:grid;gap:12px;margin-top:18px}
.pmhnp-leader-row{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:14px;padding:14px 16px;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.pmhnp-leader-row strong{font-size:1.1rem}
.pmhnp-leader-row em{font-style:normal;opacity:.78}
.pmhnp-badge-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-top:18px}
.pmhnp-badge-card{position:relative;overflow:hidden;border-radius:22px;padding:18px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.05));box-shadow:0 18px 42px rgba(0,0,0,.18)}
.pmhnp-badge-card.is-earned{border-color:rgba(125,255,196,.55);box-shadow:0 18px 44px rgba(52,211,153,.18)}
.pmhnp-badge-card.is-locked{opacity:.72}
.pmhnp-badge-icon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;margin-bottom:12px;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.8),rgba(130,130,255,.2));font-weight:900}
.pmhnp-badge-card h3{margin:.2rem 0 .5rem}
.pmhnp-badge-card span{display:inline-flex;margin-top:8px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.12);font-size:.82rem}
.pmhnp-inline-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.pmhnp-inline-form label{display:grid;gap:6px;min-width:240px}
.pmhnp-inline-form input{border-radius:14px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);color:inherit;padding:12px 14px}
.pmhnp-toggle-line{display:flex;gap:10px;align-items:center;margin-top:14px}
@media(max-width:640px){.pmhnp-leader-row{grid-template-columns:1fr}.pmhnp-inline-form{display:grid}.pmhnp-inline-form label{min-width:0}}


.pmhnp-ai-card {
	position: relative;
	overflow: hidden;
}

.pmhnp-ai-card::after {
	content: "";
	position: absolute;
	inset: auto -20% -35% 45%;
	width: 220px;
	height: 220px;
	border-radius: 999px;
	background: radial-gradient(circle, rgba(122, 92, 255, 0.28), transparent 70%);
	pointer-events: none;
}

.pmhnp-ai-recommendation {
	position: relative;
	margin: 1rem 0;
	padding: 1rem;
	border-radius: 22px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	background: rgba(255, 255, 255, 0.08);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.pmhnp-ai-recommendation small {
	display: block;
	margin-top: 0.75rem;
	opacity: 0.78;
}


.pmhnp-resource-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 18px;
	margin: 22px 0;
}

.pmhnp-resource-card {
	position: relative;
	overflow: hidden;
}

.pmhnp-resource-steps {
	margin: 14px 0;
	padding-left: 18px;
	display: grid;
	gap: 8px;
}

.pmhnp-resource-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	margin-top: 14px;
}

.pmhnp-link-button {
	border: 1px solid rgba(255,255,255,.28);
	border-radius: 999px;
	padding: 10px 14px;
	text-decoration: none;
	color: inherit;
	background: rgba(255,255,255,.08);
	backdrop-filter: blur(10px);
	cursor: pointer;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.pmhnp-link-button:hover,
.pmhnp-link-button:focus {
	background: rgba(255,255,255,.16);
	outline: none;
}


/* Phase 11 accessibility and private-release polish */
.pmhnp-review-container :is(a, button, input, select, textarea, [tabindex]):focus-visible {
	outline: 3px solid var(--pmhnp-accent);
	outline-offset: 3px;
	box-shadow: 0 0 0 6px rgba(116, 247, 255, .16);
}

.pmhnp-loading-state,
.pmhnp-error-state,
.pmhnp-empty-state {
	border: 1px solid var(--pmhnp-border);
	background: var(--pmhnp-surface);
	border-radius: 24px;
	padding: 20px;
	color: var(--pmhnp-muted);
}

.pmhnp-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
	white-space: nowrap;
	border: 0;
}

@media (prefers-reduced-motion: reduce) {
	.pmhnp-review-container *,
	.pmhnp-review-container *::before,
	.pmhnp-review-container *::after {
		animation-duration: .001ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: .001ms !important;
	}
}


/* Phase 12.1 bugfix: stronger dark-mode form contrast and interaction clarity. */
.pmhnp-review-container[data-skin="dark"] .pmhnp-input,
.pmhnp-review-container[data-skin="dark"] input,
.pmhnp-review-container[data-skin="dark"] select,
.pmhnp-review-container[data-skin="dark"] textarea {
	color: #ffffff !important;
	background: rgba(255,255,255,.13) !important;
	border-color: rgba(255,255,255,.32) !important;
	caret-color: #ffffff;
}

.pmhnp-review-container[data-skin="dark"] .pmhnp-input::placeholder,
.pmhnp-review-container[data-skin="dark"] textarea::placeholder {
	color: rgba(255,255,255,.72) !important;
}

.pmhnp-review-container[data-skin="light"] .pmhnp-input,
.pmhnp-review-container[data-skin="light"] input,
.pmhnp-review-container[data-skin="light"] select,
.pmhnp-review-container[data-skin="light"] textarea {
	color: #102038 !important;
	background: rgba(255,255,255,.9) !important;
	border-color: rgba(16,32,56,.22) !important;
}

.pmhnp-success-alert {
	border-color: rgba(86,245,168,.44) !important;
	background: rgba(86,245,168,.12) !important;
	color: var(--pmhnp-text) !important;
}

.pmhnp-route-error {
	border-color: rgba(255,209,102,.55) !important;
	background: rgba(255,209,102,.12) !important;
}

/* Phase 12.3: message/form contrast and stable route notices. */
.pmhnp-review-container textarea,
.pmhnp-review-container input,
.pmhnp-review-container select {
	color: var(--pmhnp-text) !important;
}
.pmhnp-review-container textarea::placeholder,
.pmhnp-review-container input::placeholder {
	color: rgba(248,251,255,.58) !important;
}
.pmhnp-review-container[data-skin="dark"] textarea,
.pmhnp-review-container[data-skin="dark"] input,
.pmhnp-review-container[data-skin="dark"] select {
	background: rgba(255,255,255,.12) !important;
	color: #f8fbff !important;
}
.pmhnp-review-container[data-skin="light"] textarea,
.pmhnp-review-container[data-skin="light"] input,
.pmhnp-review-container[data-skin="light"] select {
	background: rgba(255,255,255,.84) !important;
	color: #101827 !important;
}
.pmhnp-review-container .pmhnp-notice,
.pmhnp-review-container .pmhnp-alert {
	color: #ffd166 !important;
}


.pmhnp-context-alert {
  margin-bottom: 1rem;
}
.pmhnp-thread-message.is-system {
  border-style: dashed;
  opacity: 0.95;
}
.pmhnp-thread-message.is-system strong {
  color: rgba(255,255,255,0.92);
}
.pmhnp-message-card .pmhnp-card-kicker,
.pmhnp-field-label {
  color: rgba(255,255,255,0.92);
}

.pmhnp-thread-feedback{margin-top:1rem;padding:1rem;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.pmhnp-thread-feedback .pmhnp-safe-note{margin:0;color:rgba(255,255,255,.88)}


.pmhnp-high-yield-card h2,
.pmhnp-high-yield-viewer h2 {
	color: var(--pmhnp-text);
}

.pmhnp-high-yield-layout {
	display: grid;
	grid-template-columns: minmax(220px, 320px) 1fr;
	gap: 1.25rem;
	align-items: start;
}

.pmhnp-high-yield-sections {
	display: grid;
	gap: .65rem;
}

.pmhnp-high-yield-sections button {
	text-align: left;
	border: 1px solid rgba(255,255,255,.18);
	background: rgba(255,255,255,.08);
	color: var(--pmhnp-text);
	border-radius: 1rem;
	padding: .85rem 1rem;
	font-weight: 800;
	cursor: pointer;
}

.pmhnp-high-yield-sections button.is-active,
.pmhnp-high-yield-sections button:hover,
.pmhnp-high-yield-sections button:focus-visible {
	background: linear-gradient(135deg, rgba(111,239,214,.28), rgba(132,119,255,.24));
	outline: 3px solid rgba(111,239,214,.45);
}

.pmhnp-high-yield-content {
	min-width: 0;
}

.pmhnp-markdown-content {
	background: rgba(255,255,255,.08);
	border: 1px solid rgba(255,255,255,.16);
	border-radius: 1.25rem;
	padding: 1.25rem;
	color: var(--pmhnp-text);
	line-height: 1.75;
	max-height: 62vh;
	overflow: auto;
}

.pmhnp-markdown-content h1,
.pmhnp-markdown-content h2,
.pmhnp-markdown-content h3,
.pmhnp-markdown-content h4 {
	color: var(--pmhnp-text);
	margin-top: 1.2rem;
	margin-bottom: .65rem;
}

.pmhnp-markdown-content p,
.pmhnp-markdown-content li {
	color: var(--pmhnp-muted);
	font-size: 1rem;
}

.pmhnp-markdown-content strong {
	color: var(--pmhnp-text);
}

.pmhnp-markdown-content code {
	background: rgba(0,0,0,.22);
	border-radius: .4rem;
	padding: .1rem .35rem;
}

.pmhnp-review-container[data-skin="light"] .pmhnp-high-yield-sections button {
	color: #182033;
	background: rgba(255,255,255,.82);
	border-color: rgba(24,32,51,.12);
}

.pmhnp-review-container[data-skin="light"] .pmhnp-markdown-content {
	background: rgba(255,255,255,.9);
	color: #182033;
	border-color: rgba(24,32,51,.14);
}

.pmhnp-review-container[data-skin="light"] .pmhnp-markdown-content p,
.pmhnp-review-container[data-skin="light"] .pmhnp-markdown-content li {
	color: #334155;
}

@media (max-width: 840px) {
	.pmhnp-high-yield-layout {
		grid-template-columns: 1fr;
	}
	.pmhnp-markdown-content {
		max-height: none;
	}
}


/* Phase 19 High-Yield frontend filters and recommendations */
.pmhnp-high-yield-filter-card .pmhnp-form-grid,
.pmhnp-high-yield-viewer-filters {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 16px;
	margin: 14px 0;
}
.pmhnp-high-yield-filter-card label,
.pmhnp-high-yield-viewer-filters label {
	color: rgba(255,255,255,0.94);
	font-weight: 800;
}
.pmhnp-high-yield-filter-card input,
.pmhnp-high-yield-filter-card select,
.pmhnp-high-yield-viewer-filters input,
.pmhnp-high-yield-viewer-filters select {
	display: block;
	width: 100%;
	margin-top: 8px;
	padding: 12px 14px;
	border-radius: 14px;
	border: 1px solid rgba(255,255,255,0.32);
	background: rgba(255,255,255,0.95);
	color: #0f172a;
}
.pmhnp-mini-action {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 6px 8px 6px 0;
	padding: 10px 14px;
	border-radius: 999px;
	border: 1px solid rgba(103,232,249,0.34);
	background: rgba(103,232,249,0.14);
	color: rgba(255,255,255,0.96);
	font-weight: 800;
	cursor: pointer;
}
.pmhnp-mini-action:focus {
	outline: 3px solid rgba(103,232,249,0.7);
	outline-offset: 2px;
}


/* Phase 19.1 High-Yield flashcards and contrast polish */
.pmhnp-review-container .pmhnp-eyebrow {
	color: var(--pmhnp-accent);
	text-shadow: 0 1px 8px rgba(0,0,0,.22);
}
.pmhnp-skin-toggle button {
	white-space: nowrap;
	min-width: 74px;
	text-align: center;
}
.pmhnp-high-yield-filter-card {
	color: var(--pmhnp-text);
}
.pmhnp-high-yield-filter-card h2,
.pmhnp-high-yield-filter-card label,
.pmhnp-high-yield-viewer-filters label {
	color: var(--pmhnp-text) !important;
	text-shadow: 0 1px 8px rgba(0,0,0,.20);
}
.pmhnp-review-container[data-skin="light"] .pmhnp-high-yield-filter-card h2,
.pmhnp-review-container[data-skin="light"] .pmhnp-high-yield-filter-card label,
.pmhnp-review-container[data-skin="light"] .pmhnp-high-yield-viewer-filters label {
	color: #102038 !important;
	text-shadow: none;
}
.pmhnp-review-container[data-skin="light"] .pmhnp-mini-action {
	background: #e0f2fe;
	color: #075985;
	border-color: #38bdf8;
	box-shadow: 0 8px 24px rgba(56,189,248,.15);
}
.pmhnp-review-container[data-skin="light"] .pmhnp-mini-action:hover,
.pmhnp-review-container[data-skin="light"] .pmhnp-mini-action:focus-visible {
	background: #bae6fd;
	color: #0c4a6e;
	outline: 3px solid rgba(14,165,233,.35);
}
.pmhnp-high-yield-flashcard-panel {
	margin: 1.25rem 0;
	padding: 1.15rem;
	border: 1px solid rgba(116,247,255,.25);
	border-radius: 1.5rem;
	background: linear-gradient(135deg, rgba(116,247,255,.10), rgba(182,140,255,.10));
}
.pmhnp-high-yield-flashcard-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 1rem;
	margin-bottom: 1rem;
}
.pmhnp-high-yield-flashcard-header h3 {
	margin: .15rem 0 .35rem;
	color: var(--pmhnp-text);
	font-size: 1.35rem;
}
.pmhnp-high-yield-flashcard-header p {
	color: var(--pmhnp-muted);
	margin: 0;
}
.pmhnp-high-yield-flashcard-header strong {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 76px;
	border-radius: 999px;
	padding: .55rem .8rem;
	background: rgba(116,247,255,.14);
	color: var(--pmhnp-text);
	border: 1px solid rgba(116,247,255,.25);
}
.pmhnp-high-yield-flashcard {
	width: 100%;
	min-height: 220px;
	display: grid;
	gap: .75rem;
	align-content: center;
	justify-items: center;
	text-align: center;
	border: 1px solid rgba(255,255,255,.24);
	border-radius: 1.45rem;
	padding: 1.5rem;
	background: rgba(5,12,24,.36);
	color: var(--pmhnp-text);
	cursor: pointer;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 16px 40px rgba(0,0,0,.16);
}
.pmhnp-high-yield-flashcard span {
	color: var(--pmhnp-accent);
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .12em;
	font-size: .78rem;
}
.pmhnp-high-yield-flashcard strong {
	max-width: 820px;
	color: var(--pmhnp-text);
	font-size: clamp(1.12rem, 2vw, 1.6rem);
	line-height: 1.5;
}
.pmhnp-high-yield-flashcard small {
	color: var(--pmhnp-muted);
}
.pmhnp-high-yield-flashcard.is-flipped {
	background: linear-gradient(135deg, rgba(86,245,168,.16), rgba(116,247,255,.12));
}
.pmhnp-review-container[data-skin="light"] .pmhnp-high-yield-flashcard-panel {
	background: rgba(255,255,255,.86);
	border-color: rgba(0,119,255,.18);
}
.pmhnp-review-container[data-skin="light"] .pmhnp-high-yield-flashcard {
	background: #ffffff;
	color: #102038;
	border-color: rgba(16,32,56,.14);
}
.pmhnp-review-container[data-skin="light"] .pmhnp-high-yield-flashcard strong,
.pmhnp-review-container[data-skin="light"] .pmhnp-high-yield-flashcard-header h3 {
	color: #102038;
}
.pmhnp-review-container[data-skin="light"] .pmhnp-high-yield-flashcard small,
.pmhnp-review-container[data-skin="light"] .pmhnp-high-yield-flashcard-header p {
	color: #475569;
}


/* Phase 19.12 frontend navigation and button usability hotfix */
.pmhnp-start-cohort-button,
button[data-start-cohort] {
	cursor: pointer !important;
	pointer-events: auto !important;
}

.pmhnp-start-cohort-button[disabled],
button[data-start-cohort][disabled] {
	cursor: pointer !important;
	opacity: 1 !important;
	filter: none !important;
}

.pmhnp-high-yield-loading-card .pmhnp-primary-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 14px;
	cursor: pointer;
}


/* Phase 20 Study Assistant Tutor Mode */
.pmhnp-tutor-mode-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin: 18px 0;
}
.pmhnp-tutor-panel {
	border: 1px solid rgba(104, 232, 224, .24);
	border-radius: 22px;
	padding: 16px;
	background: rgba(255, 255, 255, .08);
	color: var(--pmhnp-text, #f8fbff);
}
.pmhnp-tutor-panel h3 {
	margin: 0 0 8px;
	color: #ffffff;
	font-size: 1rem;
}
.pmhnp-tutor-panel p {
	margin: 0;
	color: rgba(255,255,255,.82);
}
.pmhnp-thread-message.is-assistant,
.pmhnp-thread-message[class*="is-assistant"] {
	border-color: rgba(104, 232, 224, .42);
	background: rgba(24, 107, 122, .14);
}
.pmhnp-thread-message.is-assistant strong {
	color: #7ff7ee;
}
.pmhnp-review-container[data-skin="light"] .pmhnp-tutor-panel {
	background: #ffffff;
	color: #102038;
	border-color: rgba(16,32,56,.14);
}
.pmhnp-review-container[data-skin="light"] .pmhnp-tutor-panel h3 {
	color: #102038;
}
.pmhnp-review-container[data-skin="light"] .pmhnp-tutor-panel p {
	color: #475569;
}
.pmhnp-review-container[data-skin="light"] .pmhnp-thread-message.is-assistant {
	background: #f0fdfa;
	border-color: #67e8f9;
	color: #102038;
}
.pmhnp-review-container[data-skin="light"] .pmhnp-thread-message.is-assistant strong {
	color: #0f766e;
}
@media (max-width: 900px) {
	.pmhnp-tutor-mode-grid {
		grid-template-columns: 1fr;
	}
}


.pmhnp-thread-message .pmhnp-assistant-formatted {
	display: grid;
	gap: 0.85rem;
	line-height: 1.65;
}

.pmhnp-thread-message .pmhnp-assistant-formatted h4 {
	margin: 0.85rem 0 0.2rem;
	font-size: 1.05rem;
	font-weight: 900;
	color: #0f766e;
	letter-spacing: 0.01em;
}

.pmhnp-thread-message .pmhnp-assistant-formatted h4:first-child {
	margin-top: 0;
}

.pmhnp-thread-message .pmhnp-assistant-formatted p {
	margin: 0;
	color: #10233f;
	font-size: 1rem;
}

.pmhnp-thread-message .pmhnp-assistant-formatted .pmhnp-assistant-steps {
	margin: 0.1rem 0 0.25rem 1.4rem;
	padding: 0;
	display: grid;
	gap: 0.45rem;
	color: #10233f;
}

.pmhnp-thread-message .pmhnp-assistant-formatted .pmhnp-assistant-steps li {
	padding-left: 0.2rem;
	color: #10233f;
}

.pmhnp-thread-message.is-assistant {
	background: linear-gradient(135deg, rgba(236, 253, 245, 0.96), rgba(240, 253, 250, 0.96));
	border-color: rgba(20, 184, 166, 0.55);
}

.pmhnp-thread-message.is-assistant > strong {
	display: block;
	font-size: 1.45rem;
	margin-bottom: 0.8rem;
	color: #0f766e;
}

.pmhnp-thread-message.is-student p,
.pmhnp-thread-message.is-admin p,
.pmhnp-thread-message.is-system p {
	white-space: pre-wrap;
}

.pmhnp-review-container[data-skin="dark"] .pmhnp-thread-message .pmhnp-assistant-formatted h4 {
	color: #5eead4;
}

.pmhnp-review-container[data-skin="dark"] .pmhnp-thread-message .pmhnp-assistant-formatted p,
.pmhnp-review-container[data-skin="dark"] .pmhnp-thread-message .pmhnp-assistant-formatted .pmhnp-assistant-steps,
.pmhnp-review-container[data-skin="dark"] .pmhnp-thread-message .pmhnp-assistant-formatted .pmhnp-assistant-steps li {
	color: #e8f6ff;
}

.pmhnp-review-container[data-skin="dark"] .pmhnp-thread-message.is-assistant {
	background: linear-gradient(135deg, rgba(15, 118, 110, 0.38), rgba(13, 148, 136, 0.24));
	border-color: rgba(94, 234, 212, 0.5);
}

/* Phase 20.2: completed-review tutor teaching mode */
.pmhnp-assistant-formatted .pmhnp-assistant-bullets {
	margin: 0.45rem 0 0.95rem 1.2rem;
	padding-left: 0.55rem;
	line-height: 1.65;
}
.pmhnp-assistant-formatted .pmhnp-assistant-bullets li {
	margin: 0.28rem 0;
}
.pmhnp-thread-message.is-assistant .pmhnp-assistant-formatted h4 {
	letter-spacing: 0;
}


/* Phase 20.3 educator teaching quality and complete-response safeguard */
.pmhnp-thread-message.is-assistant,
.pmhnp-thread-message.is-assistant .pmhnp-assistant-formatted {
	max-height: none !important;
	overflow: visible !important;
}
.pmhnp-thread-message.is-assistant .pmhnp-assistant-formatted p,
.pmhnp-thread-message.is-assistant .pmhnp-assistant-formatted li {
	overflow-wrap: anywhere;
	word-break: normal;
}


/* Phase 20.8 How to Use student onboarding */
.pmhnp-howto-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(240px, .85fr);
	gap: 1.25rem;
	align-items: stretch;
	margin: 1.25rem 0;
}
.pmhnp-howto-hero h2 {
	margin: .2rem 0 .65rem;
	font-size: clamp(1.75rem, 3.2vw, 2.8rem);
	color: var(--pmhnp-text);
}
.pmhnp-howto-hero-copy > p:not(.pmhnp-eyebrow) {
	margin: 0;
	max-width: 850px;
	color: var(--pmhnp-muted);
	line-height: 1.7;
}
.pmhnp-howto-mission {
	display: grid;
	align-content: center;
	gap: .55rem;
	padding: 1.25rem;
	border-radius: 1.2rem;
	border: 1px solid rgba(116,247,255,.28);
	background: linear-gradient(135deg, rgba(116,247,255,.15), rgba(182,140,255,.14));
	color: var(--pmhnp-text);
}
.pmhnp-howto-mission strong {
	color: var(--pmhnp-accent);
	font-size: .82rem;
	text-transform: uppercase;
	letter-spacing: .12em;
}
.pmhnp-howto-mission span {
	font-size: 1.05rem;
	line-height: 1.55;
	font-weight: 700;
}
.pmhnp-howto-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	margin: 1rem 0;
}
.pmhnp-howto-card {
	position: relative;
	display: grid;
	gap: .8rem;
	align-content: start;
	min-height: 235px;
	padding: 1.2rem;
	border: 1px solid rgba(255,255,255,.18);
	border-radius: 1.4rem;
	background: linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
	box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 18px 34px rgba(3,10,25,.14);
}
.pmhnp-howto-card h3 {
	margin: .1rem 0 0;
	color: var(--pmhnp-text);
	font-size: 1.2rem;
}
.pmhnp-howto-card p {
	margin: 0;
	color: var(--pmhnp-muted);
	line-height: 1.62;
}
.pmhnp-howto-card .pmhnp-mini-action {
	justify-self: start;
	margin-top: auto;
	cursor: pointer;
}
.pmhnp-howto-step {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 999px;
	background: linear-gradient(135deg, var(--pmhnp-accent), #8b7cff);
	color: #071321;
	font-weight: 900;
}
.pmhnp-howto-two-column {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin: 1rem 0;
}
.pmhnp-howto-expectations ul,
.pmhnp-howto-first-session ol {
	margin: .75rem 0 0 1.2rem;
	padding: 0;
	display: grid;
	gap: .7rem;
	line-height: 1.55;
	color: var(--pmhnp-muted);
}
.pmhnp-howto-expectations strong {
	color: var(--pmhnp-text);
}
.pmhnp-howto-note {
	margin: 1rem 0 0;
	padding: .85rem 1rem;
	border-left: 4px solid var(--pmhnp-accent);
	border-radius: .75rem;
	background: rgba(116,247,255,.10);
	color: var(--pmhnp-muted);
	line-height: 1.55;
}
.pmhnp-howto-assistant-guide {
	margin: 1rem 0;
}
.pmhnp-howto-assistant-guide h2 {
	margin-top: 0;
}
.pmhnp-howto-assistant-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .9rem;
}
.pmhnp-howto-assistant-grid > div {
	padding: 1rem;
	border-radius: 1rem;
	background: rgba(255,255,255,.07);
	border: 1px solid rgba(255,255,255,.14);
}
.pmhnp-howto-assistant-grid h3 {
	margin: 0 0 .5rem;
	color: var(--pmhnp-text);
	font-size: 1.02rem;
}
.pmhnp-howto-assistant-grid p {
	margin: 0;
	color: var(--pmhnp-muted);
	line-height: 1.58;
}
.pmhnp-review-container[data-skin="light"] .pmhnp-howto-card,
.pmhnp-review-container[data-skin="light"] .pmhnp-howto-assistant-grid > div {
	background: rgba(255,255,255,.88);
	border-color: rgba(16,32,56,.13);
}
.pmhnp-review-container[data-skin="light"] .pmhnp-howto-hero h2,
.pmhnp-review-container[data-skin="light"] .pmhnp-howto-card h3,
.pmhnp-review-container[data-skin="light"] .pmhnp-howto-expectations strong,
.pmhnp-review-container[data-skin="light"] .pmhnp-howto-assistant-grid h3 {
	color: #102038;
}
.pmhnp-review-container[data-skin="light"] .pmhnp-howto-hero-copy > p:not(.pmhnp-eyebrow),
.pmhnp-review-container[data-skin="light"] .pmhnp-howto-card p,
.pmhnp-review-container[data-skin="light"] .pmhnp-howto-expectations ul,
.pmhnp-review-container[data-skin="light"] .pmhnp-howto-first-session ol,
.pmhnp-review-container[data-skin="light"] .pmhnp-howto-note,
.pmhnp-review-container[data-skin="light"] .pmhnp-howto-assistant-grid p {
	color: #475569;
}
@media (max-width: 980px) {
	.pmhnp-howto-hero,
	.pmhnp-howto-two-column {
		grid-template-columns: 1fr;
	}
	.pmhnp-howto-grid,
	.pmhnp-howto-assistant-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 640px) {
	.pmhnp-howto-grid,
	.pmhnp-howto-assistant-grid {
		grid-template-columns: 1fr;
	}
	.pmhnp-howto-card {
		min-height: auto;
	}
}


/* Phase 21 Library */
.pmhnp-library-intro,.pmhnp-library-search{margin:1.25rem 0;padding:1.5rem}
.pmhnp-library-intro h2{margin:.25rem 0}
.pmhnp-library-search{display:grid;grid-template-columns:1fr 220px auto;gap:1rem;align-items:end}
.pmhnp-library-search label{display:grid;gap:.4rem;font-weight:700}
.pmhnp-library-search input,.pmhnp-library-search select{min-height:46px;border:1px solid var(--pmhnp-border,#cfd8e8);border-radius:14px;padding:.65rem;background:#fff;color:#13233e}
.pmhnp-library-all{margin:1.5rem 0}
.pmhnp-library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}
.pmhnp-library-card{padding:1.25rem;border:1px solid var(--pmhnp-border,#d8e0ef);border-radius:22px;background:var(--pmhnp-card,#fff);box-shadow:0 12px 28px rgba(20,35,62,.08)}
.pmhnp-library-card h3{margin:.65rem 0}
.pmhnp-library-card p{line-height:1.55}
.pmhnp-library-card-top,.pmhnp-library-actions{display:flex;gap:.55rem;flex-wrap:wrap;align-items:center}
.pmhnp-library-player{width:100%;margin:1rem 0;border-radius:12px}
.pmhnp-library-actions .pmhnp-mini-action{cursor:pointer}
.pmhnp-library-intro .pmhnp-eyebrow{margin:0}
.pmhnp-empty-state{padding:2rem;border-radius:18px;background:var(--pmhnp-card,#fff);border:1px solid var(--pmhnp-border,#d8e0ef)}
@media(max-width:700px){.pmhnp-library-search{grid-template-columns:1fr}.pmhnp-library-grid{grid-template-columns:1fr}}


/* Phase 22.3: High-Yield visual aids */
.pmhnp-high-yield-visual-aids {
	margin: 1.25rem 0;
	padding: 1rem;
	border: 1px solid rgba(66, 153, 225, 0.35);
	border-radius: 1rem;
	background: rgba(255, 255, 255, 0.52);
}
.pmhnp-high-yield-visual-aids h3 { margin-top: 0; }
.pmhnp-high-yield-visual-aid-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1rem;
}
.pmhnp-high-yield-visual-aid { margin: 0; }
.pmhnp-high-yield-visual-aid img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0.75rem;
	border: 1px solid rgba(15, 23, 42, 0.15);
}
.pmhnp-high-yield-visual-aid figcaption { margin-top: 0.5rem; font-weight: 700; }


/* Semantic High-Yield tables: retained as accessible HTML instead of image substitutes. */
.pmhnp-high-yield-table-wrap {
	margin: 1.25rem 0;
	max-width: 100%;
	overflow-x: auto;
	border: 1px solid rgba(255,255,255,.16);
	border-radius: .95rem;
	background: rgba(7,14,27,.18);
	-webkit-overflow-scrolling: touch;
}

.pmhnp-high-yield-table {
	width: 100%;
	min-width: 760px;
	border-collapse: collapse;
	font-size: .94rem;
	line-height: 1.55;
}

.pmhnp-high-yield-table th,
.pmhnp-high-yield-table td {
	padding: .8rem .9rem;
	vertical-align: top;
	text-align: left;
	border-right: 1px solid rgba(255,255,255,.12);
	border-bottom: 1px solid rgba(255,255,255,.12);
}

.pmhnp-high-yield-table th:last-child,
.pmhnp-high-yield-table td:last-child {
	border-right: 0;
}

.pmhnp-high-yield-table tbody tr:last-child td {
	border-bottom: 0;
}

.pmhnp-high-yield-table th {
	position: sticky;
	top: 0;
	z-index: 1;
	color: var(--pmhnp-text);
	background: rgba(17,77,151,.78);
	font-weight: 800;
}

.pmhnp-high-yield-table td {
	color: var(--pmhnp-muted);
	background: rgba(255,255,255,.035);
}

.pmhnp-high-yield-table tbody tr:nth-child(even) td {
	background: rgba(255,255,255,.075);
}

.pmhnp-review-container[data-skin="light"] .pmhnp-high-yield-table-wrap {
	border-color: rgba(24,32,51,.16);
	background: rgba(255,255,255,.82);
}

.pmhnp-review-container[data-skin="light"] .pmhnp-high-yield-table th,
.pmhnp-review-container[data-skin="light"] .pmhnp-high-yield-table td {
	border-color: rgba(24,32,51,.14);
}

.pmhnp-review-container[data-skin="light"] .pmhnp-high-yield-table th {
	color: #fff;
	background: #195aa5;
}

.pmhnp-review-container[data-skin="light"] .pmhnp-high-yield-table td {
	color: #26364d;
	background: rgba(255,255,255,.94);
}

.pmhnp-review-container[data-skin="light"] .pmhnp-high-yield-table tbody tr:nth-child(even) td {
	background: rgba(226,237,252,.9);
}

@media (max-width: 680px) {
	.pmhnp-high-yield-table {
		min-width: 620px;
		font-size: .86rem;
	}
	.pmhnp-high-yield-table th,
	.pmhnp-high-yield-table td {
		padding: .65rem .7rem;
	}
}


/* 1.8.3: Structured student-safe AI recommendation presentation. */
.pmhnp-ai-recommendation-intro {
	margin: 0 0 1rem;
	line-height: 1.6;
}
.pmhnp-ai-recommendation-list {
	margin: 0;
	padding-left: 1.4rem;
	display: grid;
	gap: 0.9rem;
}
.pmhnp-ai-recommendation-item {
	padding: 0.9rem 1rem;
	border: 1px solid rgba(255,255,255,0.16);
	border-radius: 14px;
	background: rgba(255,255,255,0.06);
}
.pmhnp-ai-recommendation-item h3 {
	margin: 0 0 0.35rem;
	font-size: 1rem;
	line-height: 1.35;
}
.pmhnp-ai-recommendation-item p {
	margin: 0;
	line-height: 1.6;
}

/* 1.8.3 Library and Human Escalation accessibility updates */
.pmhnp-review-container[data-skin="dark"] .pmhnp-library-card,
.pmhnp-review-container[data-skin="dark"] .pmhnp-library-resource,
.pmhnp-review-container[data-skin="dark"] .pmhnp-library-filter {
 background:#1f2428 !important;color:#f4f1ea !important;border:1px solid #4b5563 !important;
}
.pmhnp-review-container[data-skin="dark"] .pmhnp-library-card h2,
.pmhnp-review-container[data-skin="dark"] .pmhnp-library-card h3,
.pmhnp-review-container[data-skin="dark"] .pmhnp-library-card p,
.pmhnp-review-container[data-skin="dark"] .pmhnp-library-card label {color:#f4f1ea !important;}
.pmhnp-library-notebooklm-notice { margin-top:1.25rem; padding:1rem; border:1px solid currentColor; border-radius:12px; opacity:.95; }
.pmhnp-escalation-inline { margin-top:1rem; display:flex; gap:.75rem; align-items:center; flex-wrap:wrap; }


/* 1.8.3 leaderboard plaques and learner-private domain progress. */
.pmhnp-leader-plaque {
	display: grid;
	grid-template-columns: minmax(72px, 92px) 1fr auto;
	align-items: center;
	gap: 16px;
	padding: 16px 18px;
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 20px;
	background: linear-gradient(135deg, rgba(255,255,255,.14), rgba(255,255,255,.06));
	box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 12px 26px rgba(0,0,0,.12);
}
.pmhnp-leader-plaque.is-current-learner {
	outline: 3px solid var(--pmhnp-accent);
	outline-offset: 2px;
}
.pmhnp-leader-rank { display:flex; align-items:center; gap:8px; font-size:1.2rem; }
.pmhnp-leader-rank span { font-size:1.55rem; line-height:1; }
.pmhnp-leader-name { display:grid; gap:4px; min-width:0; }
.pmhnp-current-learner-label,
.pmhnp-domain-status {
	display:inline-flex; width:max-content; max-width:100%; padding:4px 8px;
	border:1px solid currentColor; border-radius:999px; font-size:.76rem; font-weight:800;
}
.pmhnp-leader-score { display:grid; justify-items:end; gap:3px; text-align:right; }
.pmhnp-leader-score strong { font-size:1.2rem; }
.pmhnp-leader-score span { color:var(--pmhnp-muted); font-size:.82rem; }
.pmhnp-leader-plaque.is-gold { border-color:#f2c14e; }
.pmhnp-leader-plaque.is-silver { border-color:#cbd5e1; }
.pmhnp-leader-plaque.is-bronze { border-color:#d69565; }

.pmhnp-domain-progress-grid {
	display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:14px; margin-top:18px;
}
.pmhnp-domain-progress-card {
	min-height:185px; padding:18px; border-radius:20px; border:1px solid rgba(255,255,255,.2);
	background:rgba(255,255,255,.08); display:flex; flex-direction:column; gap:10px;
}
.pmhnp-domain-card-header { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.pmhnp-domain-card-header h3 { margin:0; font-size:1rem; }
.pmhnp-domain-score { font-size:2rem; line-height:1; }
.pmhnp-domain-score-muted { color:var(--pmhnp-muted); }
.pmhnp-domain-help { margin:0; color:var(--pmhnp-muted); font-size:.9rem; line-height:1.45; }
.pmhnp-domain-progress-card.is-strong .pmhnp-domain-status { color:#8bf3c5; }
.pmhnp-domain-progress-card.is-developing .pmhnp-domain-status { color:#9dddff; }
.pmhnp-domain-progress-card.is-building .pmhnp-domain-status { color:#ffdc8d; }
.pmhnp-domain-progress-card.is-not_enough_data .pmhnp-domain-status { color:#d7dce8; }
.pmhnp-domain-progress-card.is-coming_soon .pmhnp-domain-status { color:#d7dce8; }
@media (max-width: 650px) {
	.pmhnp-leader-plaque { grid-template-columns:1fr auto; }
	.pmhnp-leader-name { grid-column:1/2; grid-row:1; }
	.pmhnp-leader-rank { grid-column:2; grid-row:1; justify-self:end; }
	.pmhnp-leader-score { grid-column:1/-1; justify-items:start; text-align:left; }
}


/* Release A: library modal, accessible human escalation notice, and deliberate button states. */
.pmhnp-library-open-link {
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 10px 14px;
	border: 1px solid var(--pmhnp-accent);
	border-radius: 999px;
	background: transparent;
	color: var(--pmhnp-text);
	font-weight: 800;
	text-decoration: none;
	cursor: pointer;
}
.pmhnp-library-open-link:hover,
.pmhnp-library-open-link:focus-visible {
	box-shadow: 0 0 0 3px rgba(0, 169, 255, .24);
	outline: none;
}
.pmhnp-library-modal-backdrop {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: grid;
	place-items: center;
	padding: 24px;
	background: rgba(4, 13, 28, .72);
}
.pmhnp-library-modal {
	width: min(880px, 100%);
	max-height: min(88vh, 960px);
	overflow: auto;
	padding: 24px;
	border: 1px solid var(--pmhnp-border);
	border-radius: 22px;
	background: var(--pmhnp-surface-solid, #ffffff);
	color: var(--pmhnp-text);
	box-shadow: 0 20px 70px rgba(0,0,0,.38);
}
.pmhnp-library-modal-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
}
.pmhnp-library-modal-head h2 { margin: 0; }
.pmhnp-library-note-content { line-height: 1.7; }
.pmhnp-library-note-content table { width: 100%; border-collapse: collapse; }
.pmhnp-library-note-content th,
.pmhnp-library-note-content td { padding: 8px; border: 1px solid var(--pmhnp-border); text-align: left; }
.pmhnp-library-infographic { margin: 0; }
.pmhnp-library-infographic img { display: block; max-width: 100%; height: auto; border-radius: 14px; }
.pmhnp-library-infographic figcaption { margin-top: 10px; color: var(--pmhnp-muted); }
.pmhnp-human-escalation-notice {
	margin-top: 20px;
	border-width: 2px !important;
	font-weight: 700;
}
.pmhnp-review-container[data-skin="light"] .pmhnp-human-escalation-notice {
	color: #0b3d22 !important;
	background: #e7f8eb !important;
	border-color: #1f7a3d !important;
}
.pmhnp-review-container[data-skin="dark"] .pmhnp-human-escalation-notice {
	color: #edfff3 !important;
	background: #123d29 !important;
	border-color: #75d99b !important;
}
.pmhnp-review-container button:not(:disabled),
.pmhnp-review-container [role="button"]:not([aria-disabled="true"]) { cursor: pointer; }
.pmhnp-review-container button:disabled,
.pmhnp-review-container [aria-disabled="true"] { cursor: not-allowed; }

@media (max-width: 640px) {
	.pmhnp-library-modal-backdrop { padding: 12px; }
	.pmhnp-library-modal { padding: 18px; }
	.pmhnp-library-modal-head { flex-direction: column; }
}

/* Release B: private educational readiness and Final Prep foundation. */
.pmhnp-readiness-card .pmhnp-readiness-domain-list { margin-top: 1rem; }
.pmhnp-readiness-domain-list li { gap: 1rem; }
.pmhnp-readiness-domain-list li span { text-align: right; }
.pmhnp-blueprint-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pmhnp-blueprint-grid span:last-child { grid-column: 1 / -1; }
.pmhnp-blueprint-grid small { display: block; margin-top: .25rem; }
.pmhnp-final-prep-outline { display: grid; gap: .65rem; margin: 1rem 0 1.5rem; padding-left: 1.25rem; }
.pmhnp-final-prep-outline li { padding: .65rem .8rem; border: 1px solid rgba(33, 60, 110, .16); border-radius: .75rem; }
.pmhnp-final-prep-outline li span { display: block; margin-top: .2rem; font-size: .85em; opacity: .75; }
@media (max-width: 700px) { .pmhnp-blueprint-grid { grid-template-columns: 1fr; } .pmhnp-blueprint-grid span:last-child { grid-column: auto; } }


.pmhnp-library-pagination{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:.85rem 0 1rem;padding:.85rem 1rem;border:1px solid var(--pmhnp-border,#d8e0ef);border-radius:18px;background:var(--pmhnp-card,#fff)}
.pmhnp-library-page-summary{margin:.85rem 0;color:var(--pmhnp-muted,#5e6b7e)}
.pmhnp-library-page-buttons{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}
.pmhnp-library-page-button{min-width:2.35rem;min-height:2.35rem;border:1px solid var(--pmhnp-border,#cfd8e8);border-radius:999px;background:var(--pmhnp-surface,#fff);color:var(--pmhnp-text,#13233e);font-weight:800;cursor:pointer}
.pmhnp-library-page-button:hover,.pmhnp-library-page-button:focus-visible{outline:2px solid rgba(61,99,221,.35);outline-offset:2px}
.pmhnp-library-page-button.is-active{background:var(--pmhnp-accent,#3157d5);border-color:var(--pmhnp-accent,#3157d5);color:#fff}
@media (max-width: 640px){
	.pmhnp-library-grid{grid-template-columns:1fr}
	.pmhnp-library-pagination{align-items:stretch;flex-direction:column}
	.pmhnp-library-page-buttons{justify-content:flex-start}
	.pmhnp-library-page-button{min-width:2.75rem;min-height:2.75rem}
}


/* Release 1.8.11: Library dark-mode modal/pagination contrast and Study Assistant light-mode form contrast. */
.pmhnp-review-container[data-skin="dark"] .pmhnp-library-modal,
.pmhnp-review-container[data-skin="dark"] .pmhnp-library-modal * {
	color: #102038;
}
.pmhnp-review-container[data-skin="dark"] .pmhnp-library-modal {
	background: #ffffff;
	border-color: rgba(15, 23, 42, .22);
	box-shadow: 0 24px 80px rgba(0, 0, 0, .55);
}
.pmhnp-review-container[data-skin="dark"] .pmhnp-library-modal h1,
.pmhnp-review-container[data-skin="dark"] .pmhnp-library-modal h2,
.pmhnp-review-container[data-skin="dark"] .pmhnp-library-modal h3,
.pmhnp-review-container[data-skin="dark"] .pmhnp-library-modal h4,
.pmhnp-review-container[data-skin="dark"] .pmhnp-library-modal strong,
.pmhnp-review-container[data-skin="dark"] .pmhnp-library-note-content th {
	color: #0f172a !important;
}
.pmhnp-review-container[data-skin="dark"] .pmhnp-library-modal p,
.pmhnp-review-container[data-skin="dark"] .pmhnp-library-modal li,
.pmhnp-review-container[data-skin="dark"] .pmhnp-library-modal td,
.pmhnp-review-container[data-skin="dark"] .pmhnp-library-modal figcaption {
	color: #26364f !important;
}
.pmhnp-review-container[data-skin="dark"] .pmhnp-library-modal .pmhnp-secondary-button,
.pmhnp-review-container[data-skin="dark"] .pmhnp-library-modal button[data-close-library-modal] {
	min-width: 92px;
	min-height: 44px;
	padding: 10px 18px;
	white-space: nowrap;
	background: #284b70 !important;
	color: #ffffff !important;
	border-color: #284b70 !important;
	border-radius: 999px;
	line-height: 1.1;
}
.pmhnp-review-container[data-skin="dark"] .pmhnp-library-modal .pmhnp-library-open-link {
	background: #e0f2fe;
	color: #075985 !important;
	border-color: #0284c7;
}
.pmhnp-review-container[data-skin="dark"] .pmhnp-library-pagination {
	background: #111827;
	border-color: rgba(255, 255, 255, .24);
	color: #f8fafc;
}
.pmhnp-review-container[data-skin="dark"] .pmhnp-library-page-summary {
	color: #e2e8f0 !important;
}
.pmhnp-review-container[data-skin="dark"] .pmhnp-library-page-button {
	background: #1f2937;
	border-color: #94a3b8;
	color: #f8fafc;
}
.pmhnp-review-container[data-skin="dark"] .pmhnp-library-page-button.is-active {
	background: #14b8a6;
	border-color: #14b8a6;
	color: #06201d;
}
.pmhnp-review-container[data-skin="dark"] .pmhnp-library-page-button:hover,
.pmhnp-review-container[data-skin="dark"] .pmhnp-library-page-button:focus-visible {
	background: #334155;
	color: #ffffff;
}
.pmhnp-review-container[data-skin="light"] .pmhnp-glass-card .pmhnp-field-label,
.pmhnp-review-container[data-skin="light"] .pmhnp-message-card .pmhnp-card-kicker,
.pmhnp-review-container[data-skin="light"] .pmhnp-field-label {
	color: #102038 !important;
	text-shadow: none !important;
}
.pmhnp-review-container[data-skin="light"] .pmhnp-glass-card .pmhnp-input,
.pmhnp-review-container[data-skin="light"] .pmhnp-glass-card select.pmhnp-input,
.pmhnp-review-container[data-skin="light"] .pmhnp-glass-card textarea.pmhnp-input {
	background: #ffffff !important;
	color: #102038 !important;
	border-color: rgba(16, 32, 56, .28) !important;
	box-shadow: none;
}
.pmhnp-review-container[data-skin="light"] .pmhnp-glass-card .pmhnp-input::placeholder,
.pmhnp-review-container[data-skin="light"] .pmhnp-glass-card textarea.pmhnp-input::placeholder {
	color: #64748b !important;
	opacity: 1;
}
.pmhnp-review-container[data-skin="light"] .pmhnp-glass-card .pmhnp-input:focus,
.pmhnp-review-container[data-skin="light"] .pmhnp-glass-card textarea.pmhnp-input:focus,
.pmhnp-review-container[data-skin="light"] .pmhnp-glass-card select.pmhnp-input:focus {
	outline: 3px solid rgba(0, 119, 255, .22);
	border-color: #0077ff !important;
}
@media (max-width: 640px) {
	.pmhnp-review-container[data-skin="dark"] .pmhnp-library-modal-head {
		gap: 12px;
	}
	.pmhnp-review-container[data-skin="dark"] .pmhnp-library-modal .pmhnp-secondary-button,
	.pmhnp-review-container[data-skin="dark"] .pmhnp-library-modal button[data-close-library-modal] {
		width: auto;
		align-self: flex-start;
	}
}
