/* Structured lesson content follows the same theme roles as the reader. */
:is(.fe-lv2, .fe-lessons-app) .fe-lesson-table-scroll {
	clear: both;
	display: block;
	width: 100%;
	box-sizing: border-box;
	max-width: 100%;
	min-width: 0;
	overflow-x: auto;
	margin: 1.5rem 0;
	overscroll-behavior-x: contain;
}
:is(.fe-lv2, .fe-lessons-app) .fe-lesson-table-scroll:focus-visible {
	outline: 3px solid var(--fe-focus-color, #0284c7);
	outline-offset: 3px;
}
:is(.fe-lv2, .fe-lessons-app) .fe-lesson-table {
	width: 100%;
	min-width: 36rem;
	border-collapse: collapse;
	table-layout: fixed;
	font-size: .96rem;
	line-height: 1.6;
	color: var(--fe-text, #334155);
}
:is(.fe-lv2, .fe-lessons-app) .fe-lesson-table caption {
	text-align: left;
	color: var(--fe-text-strong, #142b4a);
	padding: 0 0 .65rem;
}
:is(.fe-lv2, .fe-lessons-app) .fe-lesson-table :is(th, td) {
	border: 1px solid var(--fe-border, #cbd5e1);
	padding: .8rem;
	vertical-align: top;
	text-align: left;
	overflow-wrap: anywhere;
	font-size: .96rem;
	line-height: 1.6;
}
:is(.fe-lv2, .fe-lessons-app) .fe-lesson-table thead th {
	background: var(--fe-surface-sunken, #f1f5f9);
	color: var(--fe-text-strong, #142b4a);
	font-weight: 700;
}
:is(.fe-lv2, .fe-lessons-app) .fe-lesson-table tbody th { font-weight: 700; }
:is(.fe-lv2, .fe-lessons-app) .fe-lesson-table tbody tr { background: var(--fe-surface, #fff); }
:is(.fe-lv2, .fe-lessons-app) .fe-lesson-table tbody tr:nth-child(even) { background: var(--fe-surface-raised, #f5f8fa); }
:is(.fe-lv2, .fe-lessons-app) .fe-lesson-block {
	margin: 1.5rem 0;
	overflow-wrap: anywhere;
	color: var(--fe-text, #334155);
}
:is(.fe-lv2, .fe-lessons-app) :is(.fe-lesson-block--clinical_case, .fe-lesson-block--pitfall, .fe-lesson-block--diagnostic_pitfall, .fe-lesson-block--key_takeaways) {
	--fe-lesson-block-accent: var(--fe-lv2-navy, #142b4a);
	--fe-lesson-block-tint: 4%;
	border: 1px solid color-mix(in srgb, var(--fe-lesson-block-accent) 22%, var(--fe-border, #cbd5e1));
	border-left: 3px solid var(--fe-lesson-block-accent);
	border-radius: 12px;
	padding: clamp(1rem, 2.25vw, 1.25rem);
	background: color-mix(in srgb, var(--fe-lesson-block-accent) var(--fe-lesson-block-tint), var(--fe-surface, #fff));
}
:is(.fe-lv2, .fe-lessons-app) :is(.fe-lesson-block--pitfall, .fe-lesson-block--diagnostic_pitfall) {
	--fe-lesson-block-accent: var(--fe-error, #e11d48);
	--fe-lesson-block-tint: 4%;
}
:is(.fe-lv2, .fe-lessons-app) .fe-lesson-block--key_takeaways {
	--fe-lesson-block-accent: var(--fe-lv2-orange, #d96722);
	--fe-lesson-block-tint: 6%;
}
:is(.fe-lv2, .fe-lessons-app) :is(.fe-lesson-block h3, .fe-lesson-table caption) {
	font-size: 1.1rem;
	font-weight: 750;
	letter-spacing: -.01em;
	line-height: 1.35;
	text-transform: none;
}
:is(.fe-lv2, .fe-lessons-app) .fe-lesson-block h3 {
	color: var(--fe-text-strong, #142b4a);
	margin: 0 0 .65rem;
}
:is(.fe-lv2, .fe-lessons-app) .fe-lesson-block :is(p, li) {
	text-align: left;
	font-size: .96rem;
	line-height: 1.6;
}
:is(.fe-lv2, .fe-lessons-app) .fe-lesson-block > :last-child { margin-bottom: 0; }
:is(.fe-lv2, .fe-lessons-app) .fe-lesson-table-note {
	text-align: left;
	margin: -.75rem 0 1.5rem;
	font-size: .875rem;
	line-height: 1.6;
	color: var(--fe-text-muted, #475569);
	overflow-wrap: anywhere;
}
@media screen {
	html[data-fe-theme="dark"] :is(.fe-lv2, .fe-lessons-app) :is(.fe-lesson-block--clinical_case, .fe-lesson-block--pitfall, .fe-lesson-block--diagnostic_pitfall, .fe-lesson-block--key_takeaways) {
		background: color-mix(in srgb, var(--fe-lesson-block-accent) 9%, var(--fe-surface-raised, #22231f));
		border-color: color-mix(in srgb, var(--fe-lesson-block-accent) 38%, var(--fe-border, #51473f));
		border-left-color: var(--fe-lesson-block-accent);
	}
}
/* Match the reader's explicit dark text rules, including nested prose. */
html[data-fe-theme="dark"] :is(.fe-lv2, .fe-lessons-app) :is(.fe-lesson-block h3, .fe-lesson-table caption) { color: var(--fe-text-strong, #f2efe9) !important; }
html[data-fe-theme="dark"] :is(.fe-lv2, .fe-lessons-app) :is(.fe-lesson-block p, .fe-lesson-block li, .fe-lesson-table tbody th, .fe-lesson-table tbody td) { color: var(--fe-text, #c8bdb4) !important; }
html[data-fe-theme="dark"] :is(.fe-lv2, .fe-lessons-app) .fe-lesson-table-note { color: var(--fe-text-muted, #aaa099) !important; }
@media (max-width: 640px) {
	:is(.fe-lv2, .fe-lessons-app) :is(.fe-lesson-block--clinical_case, .fe-lesson-block--pitfall, .fe-lesson-block--diagnostic_pitfall, .fe-lesson-block--key_takeaways) { border-radius: 10px; padding: 1rem; }
}
/* Fit ordinary comparisons on a phone; wide matrices scroll inside the reader. */
:is(.fe-lv2, .fe-lessons-app) :is(.fe-lv2-prose, .fe-lv2-lesson-section) { min-width: 0; }
@media screen and (max-width: 640px) {
	:is(.fe-lv2, .fe-lessons-app) .fe-lesson-table { min-width: 0; }
	:is(.fe-lv2, .fe-lessons-app) .fe-lesson-table :is(th, td) { padding: .5rem; font-size: .875rem; line-height: 1.5; }
	:is(.fe-lv2, .fe-lessons-app) .fe-lesson-table:has(thead th:nth-child(4)) { min-width: 36rem; }
	:is(.fe-lv2, .fe-lessons-app) .fe-lesson-table-scroll { scrollbar-width: thin; }
}

@media print {
	:is(.fe-lv2, .fe-lessons-app) .fe-lesson-table-scroll { overflow: visible; }
	:is(.fe-lv2, .fe-lessons-app) .fe-lesson-table { min-width: 0; }
	:is(.fe-lv2, .fe-lessons-app) :is(.fe-lesson-table tbody tr, .fe-lesson-block) { background: #fff; }
	html:root :is(.fe-lv2, .fe-lessons-app) :is(.fe-lesson-table tbody th, .fe-lesson-table tbody td, .fe-lesson-block h3, .fe-lesson-block p, .fe-lesson-block li, .fe-lesson-table caption, .fe-lesson-table-note) { color: #111 !important; }
	.fe-lesson-table thead { display: table-header-group; }
	.fe-lesson-table tr { break-inside: avoid; }
}

/* Decision graphs retain explicit destinations when the layout changes. */
:is(.fe-lv2, .fe-lessons-app) .fe-lesson-flow { margin: 1.5rem 0; min-width: 0; text-align: left; }
:is(.fe-lv2, .fe-lessons-app) .fe-lesson-flow__title { color: var(--fe-text-strong, #142b4a); font-size: 1.1rem; font-weight: 750; line-height: 1.35; margin: 0 0 1rem; text-align: left; }
:is(.fe-lv2, .fe-lessons-app) .fe-lesson-flow__levels { display: grid; gap: 1rem; min-width: 0; }
:is(.fe-lv2, .fe-lessons-app) .fe-lesson-flow__level { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: 1rem; min-width: 0; }
:is(.fe-lv2, .fe-lessons-app) .fe-lesson-flow__node {
	--fe-flow-accent: var(--fe-info, #355c86);
	min-width: 0;
	padding: 1rem;
	border: 1px solid var(--fe-border, #cbd5e1);
	border-top: 3px solid var(--fe-flow-accent);
	border-radius: 10px;
	background: color-mix(in srgb, var(--fe-flow-accent) 5%, var(--fe-surface, #fff));
	color: var(--fe-text, #334155);
	overflow-wrap: anywhere;
	scroll-margin-top: 8rem;
}
:is(.fe-lv2, .fe-lessons-app) .fe-lesson-flow__node--decision { --fe-flow-accent: var(--fe-lv2-orange, #d96722); }
:is(.fe-lv2, .fe-lessons-app) .fe-lesson-flow__node--urgent { --fe-flow-accent: var(--fe-error, #be3434); }
:is(.fe-lv2, .fe-lessons-app) .fe-lesson-flow__node--end { --fe-flow-accent: var(--fe-success, #398267); }
:is(.fe-lv2, .fe-lessons-app) .fe-lesson-flow .fe-lesson-flow__heading { margin: 0 0 .65rem; color: var(--fe-text-strong, #142b4a); font-size: .96rem; font-weight: 750; line-height: 1.4; text-align: left; text-transform: none; letter-spacing: 0; }
:is(.fe-lv2, .fe-lessons-app) .fe-lesson-flow .fe-lesson-flow__label { margin: 0; color: var(--fe-text, #334155); font-size: .96rem; line-height: 1.6; text-align: left; }
:is(.fe-lv2, .fe-lessons-app) .fe-lesson-flow .fe-lesson-flow__edges { list-style: none; margin: .8rem 0 0; padding: 0; }
:is(.fe-lv2, .fe-lessons-app) .fe-lesson-flow .fe-lesson-flow__edges li { margin: .65rem 0 0; padding: .65rem 0 0; border-top: 1px solid var(--fe-border, #cbd5e1); font-size: .85rem; line-height: 1.5; text-align: left; }
:is(.fe-lv2, .fe-lessons-app) .fe-lesson-flow__edges li::before { content: none; }
:is(.fe-lv2, .fe-lessons-app) .fe-lesson-flow__edges a { display: block; color: var(--fe-text-strong, #142b4a); text-decoration: none; border-radius: 4px; }
:is(.fe-lv2, .fe-lessons-app) .fe-lesson-flow__edges a:hover .fe-lesson-flow__destination { text-decoration: underline; }
:is(.fe-lv2, .fe-lessons-app) :is(.fe-lesson-flow__node:focus-visible, .fe-lesson-flow__edges a:focus-visible) { outline: 3px solid var(--fe-focus-color, #0284c7); outline-offset: 3px; }
:is(.fe-lv2, .fe-lessons-app) .fe-lesson-flow__condition { display: block; font-weight: 700; margin-bottom: .25rem; }
:is(.fe-lv2, .fe-lessons-app) .fe-lesson-flow__destination { display: block; }
:is(.fe-lv2, .fe-lessons-app) .fe-lesson-flow .fe-lesson-flow__caption { margin: .75rem 0 0; color: var(--fe-text-muted, #64748b); font-size: .875rem; line-height: 1.6; text-align: left; }
@media (min-width: 961px) {
	:is(.fe-lv2, .fe-lessons-app) .fe-lesson-flow--linear .fe-lesson-flow__levels { grid-template-columns: repeat(var(--fe-flow-columns), minmax(0, 1fr)); }
	:is(.fe-lv2, .fe-lessons-app) .fe-lesson-flow--linear .fe-lesson-flow__level { position: relative; grid-template-columns: minmax(0, 1fr); }
	:is(.fe-lv2, .fe-lessons-app) .fe-lesson-flow--linear .fe-lesson-flow__level:not(:last-child)::after { content: ""; position: absolute; right: -.7rem; top: 50%; width: .4rem; height: .4rem; border-top: 2px solid var(--fe-text-muted, #64748b); border-right: 2px solid var(--fe-text-muted, #64748b); transform: rotate(45deg); pointer-events: none; }
	:is(.fe-lv2, .fe-lessons-app) .fe-lesson-flow--linear .fe-lesson-flow__node { padding: .8rem; }
}
@media (max-width: 640px) {
	:is(.fe-lv2, .fe-lessons-app) .fe-lesson-flow__level { grid-template-columns: minmax(0, 1fr); }
}
@media screen {
	html[data-fe-theme="dark"] :is(.fe-lv2, .fe-lessons-app) .fe-lesson-flow__node { background: color-mix(in srgb, var(--fe-flow-accent) 9%, var(--fe-surface-raised, #22231f)); }
	html[data-fe-theme="dark"] :is(.fe-lv2, .fe-lessons-app) .fe-lesson-flow :is(.fe-lesson-flow__heading, .fe-lesson-flow__title, .fe-lesson-flow__edges a) { color: var(--fe-text-strong, #f2efe9) !important; }
	html[data-fe-theme="dark"] :is(.fe-lv2, .fe-lessons-app) .fe-lesson-flow :is(.fe-lesson-flow__label, .fe-lesson-flow__edges li) { color: var(--fe-text, #c8bdb4) !important; }
	html[data-fe-theme="dark"] :is(.fe-lv2, .fe-lessons-app) .fe-lesson-flow .fe-lesson-flow__caption { color: var(--fe-text-muted, #aaa099) !important; }
}
@media print {
	:is(.fe-lv2, .fe-lessons-app) .fe-lesson-flow { break-inside: auto; }
	:is(.fe-lv2, .fe-lessons-app) .fe-lesson-flow__levels { display: block; }
	:is(.fe-lv2, .fe-lessons-app) .fe-lesson-flow__level { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 1rem; }
	:is(.fe-lv2, .fe-lessons-app) .fe-lesson-flow__node { background: #fff; break-inside: avoid; }
	html:root :is(.fe-lv2, .fe-lessons-app) .fe-lesson-flow :is(h4, p, li, a, figcaption) { color: #111 !important; }
}
