/**
 * BSI LearnPress course shell — structural hooks only; visual polish comes later.
 */

/* Popup boot skeleton (see bsi_lp_print_popup_boot_overlay_markup + wp_head critical CSS). */
.bsi-lp-popup-boot-skeleton {
	--bsi-lp-popup-sidebar-basis: 300px;
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	min-height: 0;
	box-sizing: border-box;
	background: var(--bsi-lp-lesson-body-bg, #f2efe9);
}

.bsi-lp-popup-boot-skeleton__sticky {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	flex-shrink: 0;
	height: var(--bsi-lp-sticky-nav-h, 40px);
	padding: 0 0.75rem;
	background: var(--bsi-lp-pb-bg, #0a0a0a);
	border-bottom: 1px solid color-mix(in srgb, var(--bsi-lp-pb-fg, #ece6dc) 10%, transparent);
}

.bsi-lp-popup-boot-skeleton__header {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	flex-shrink: 0;
	height: 70px;
	padding: 0 1rem 0 0.85rem;
	background: var(--bsi-lp-pb-bg, #0a0a0a);
	border-bottom: 1px solid color-mix(in srgb, var(--bsi-lp-pb-fg, #ece6dc) 10%, transparent);
}

.bsi-lp-popup-boot-skeleton__header-titles {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	flex: 1;
	min-width: 0;
}

.bsi-lp-popup-boot-skeleton__frame {
	position: relative;
	display: flex;
	flex: 1;
	min-height: 0;
	overflow: hidden;
}

.bsi-lp-popup-boot-skeleton__sidebar {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	flex-shrink: 0;
	width: var(--bsi-lp-popup-sidebar-basis);
	padding: 1rem 0.85rem;
	box-sizing: border-box;
	background: var(--bsi-lp-pb-bg, #0a0a0a);
	border-right: 1px solid color-mix(in srgb, var(--bsi-lp-pb-fg, #ece6dc) 10%, transparent);
	transition: transform 0.25s ease, visibility 0.25s ease;
}

.bsi-lp-popup-boot-skeleton:not(.bsi-lp-popup-boot-skeleton--sidebar-open) .bsi-lp-popup-boot-skeleton__sidebar {
	position: absolute;
	inset: 0 auto 0 0;
	transform: translateX(-100%);
	visibility: hidden;
	pointer-events: none;
}

.bsi-lp-popup-boot-skeleton__main {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-width: 0;
	min-height: 0;
	overflow: hidden;
}

@media (max-width: 767px) {
	.bsi-lp-popup-boot-skeleton--sidebar-open .bsi-lp-popup-boot-skeleton__sidebar {
		position: absolute;
		inset: 0 auto 0 0;
		z-index: 2;
		transform: translateX(0);
		visibility: visible;
		box-shadow: 4px 0 24px color-mix(in srgb, #000 35%, transparent);
	}
}

.bsi-lp-popup-boot-skeleton__hero {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 0.65rem;
	flex-shrink: 0;
	min-height: clamp(7rem, 22vh, 10.5rem);
	padding: 1.35rem clamp(1.1rem, 3.5vw, 2.75rem);
	background: color-mix(in srgb, var(--bsi-lp-primary, #1a2f1a) 88%, #000);
}

.bsi-lp-popup-boot-skeleton__lesson {
	display: flex;
	flex: 1;
	min-height: 0;
	gap: clamp(1rem, 3vw, 2rem);
	padding: clamp(1.25rem, 2.5vh, 2rem) clamp(1.1rem, 3.5vw, 2.75rem);
	overflow: hidden;
}

.bsi-lp-popup-boot-skeleton__rail {
	display: none;
	flex-direction: column;
	gap: 0.55rem;
	flex: 0 0 min(16rem, 34%);
	max-width: 16rem;
}

@media (min-width: 900px) {
	.bsi-lp-popup-boot-skeleton__rail {
		display: flex;
	}
}

.bsi-lp-popup-boot-skeleton__content {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	flex: 1;
	min-width: 0;
}

/* Shimmer blocks */
.bsi-lp-sk {
	display: block;
	border-radius: 4px;
	background: linear-gradient(
		90deg,
		var(--bsi-lp-sk-dim, color-mix(in srgb, var(--bsi-lp-sk-fg, #ece6dc) 12%, transparent)) 0%,
		var(--bsi-lp-sk-bright, color-mix(in srgb, var(--bsi-lp-sk-fg, #ece6dc) 22%, transparent)) 50%,
		var(--bsi-lp-sk-dim, color-mix(in srgb, var(--bsi-lp-sk-fg, #ece6dc) 12%, transparent)) 100%
	);
	background-size: 200% 100%;
	animation: bsi-lp-sk-shimmer 1.35s ease-in-out infinite;
}

.bsi-lp-popup-boot-skeleton__sticky .bsi-lp-sk,
.bsi-lp-popup-boot-skeleton__header .bsi-lp-sk,
.bsi-lp-popup-boot-skeleton__sidebar .bsi-lp-sk {
	--bsi-lp-sk-fg: var(--bsi-lp-pb-fg, #ece6dc);
}

.bsi-lp-popup-boot-skeleton__hero .bsi-lp-sk,
.bsi-lp-popup-boot-skeleton__lesson .bsi-lp-sk {
	--bsi-lp-sk-fg: var(--bsi-lp-lesson-body-fg, #1a1a1a);
}

.bsi-lp-popup-boot-skeleton__hero .bsi-lp-sk {
	--bsi-lp-sk-fg: var(--bsi-lp-pb-fg, #ece6dc);
}

.bsi-lp-sk--pill {
	width: 4.5rem;
	height: 0.65rem;
	border-radius: 999px;
}

.bsi-lp-sk--pill.bsi-lp-sk--short {
	width: 3rem;
}

.bsi-lp-sk--toggle {
	flex-shrink: 0;
	width: 2.35rem;
	height: 2.35rem;
	border-radius: 6px;
}

.bsi-lp-sk--close {
	flex-shrink: 0;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
}

.bsi-lp-sk--line {
	width: 100%;
	height: 0.62rem;
}

.bsi-lp-sk--line.bsi-lp-sk--title {
	width: min(14rem, 58%);
	height: 0.85rem;
}

.bsi-lp-sk--line.bsi-lp-sk--subtitle {
	width: min(9rem, 38%);
	height: 0.55rem;
	opacity: 0.85;
}

.bsi-lp-sk--line.bsi-lp-sk--section {
	width: 72%;
	height: 0.72rem;
	margin-bottom: 0.35rem;
}

.bsi-lp-sk--line.bsi-lp-sk--nav {
	width: 88%;
	height: 0.55rem;
}

.bsi-lp-sk--line.bsi-lp-sk--nav.bsi-lp-sk--wide {
	width: 64%;
}

.bsi-lp-sk--line.bsi-lp-sk--hero-meta {
	width: 5.5rem;
	height: 0.5rem;
	border-radius: 999px;
}

.bsi-lp-sk--line.bsi-lp-sk--hero-title {
	width: min(22rem, 72%);
	height: 1.1rem;
}

.bsi-lp-sk--line.bsi-lp-sk--rail-head {
	width: 80%;
}

.bsi-lp-sk--block {
	width: 100%;
	height: 4.5rem;
	border-radius: 6px;
}

.bsi-lp-sk--line.bsi-lp-sk--wide {
	width: 92%;
}

.bsi-lp-sk--line.bsi-lp-sk--medium {
	width: 68%;
}

@keyframes bsi-lp-sk-shimmer {
	0% {
		background-position: 200% 0;
	}

	100% {
		background-position: -200% 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.bsi-lp-sk {
		animation: none;
		background: var(--bsi-lp-sk-dim, color-mix(in srgb, var(--bsi-lp-sk-fg, #ece6dc) 14%, transparent));
	}
}

.bsi-lp-course-shell {
	position: relative;
}

.bsi-lp-custom-landing {
	width: 100%;
}

.bsi-lp-sticky-nav {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	z-index: 50;
}

.bsi-lp-sticky-nav__inner {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	align-items: center;
	padding: 0.35rem 0.75rem;
}

.bsi-lp-sticky-nav__link {
	display: inline-block;
	text-decoration: none;
}

/* Lesson hero (full-width band above lesson layout; rendered in popup-content.php) */
#popup-course.bsi-lp-popup-course #popup-content > .bsi-lp-lesson-hero {
	position: relative;
	width: 100%;
	margin: 0;
	padding: clamp(1.35rem, 2.5vh, 2.5rem) clamp(1.1rem, 3.5vw, 2.75rem);
	box-sizing: border-box;
	background: var(--bsi-lp-primary, #1a2f1a);
	color: var(--bsi-lp-pb-fg, #ece6dc);
	overflow: hidden;
}


.bsi-lp-lesson-hero__backdrop {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	pointer-events: none;
}

.bsi-lp-lesson-hero--has-image .bsi-lp-lesson-hero__backdrop {
	opacity: 0.14;
}

.bsi-lp-lesson-hero--has-image .bsi-lp-lesson-hero__scrim {
	display: none;
}

.bsi-lp-lesson-hero__scrim {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		135deg,
		color-mix(in srgb, var(--bsi-lp-primary, #1a2f1a) 88%, #000) 0%,
		color-mix(in srgb, var(--bsi-lp-primary, #1a2f1a) 72%, #000) 45%,
		color-mix(in srgb, var(--bsi-lp-primary, #1a2f1a) 55%, transparent) 100%
	);
	pointer-events: none;
}

.bsi-lp-lesson-hero__inner {
	position: relative;
	z-index: 1;
	max-width: min(52rem, 100%);
}

.bsi-lp-lesson-hero__back {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin: 0 0 1rem;
	font-size: 0.62rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	color: color-mix(in srgb, var(--bsi-lp-lesson-body-fg, #1a1a1a) 80%, var(--bsi-lp-pb-fg, #ece6dc)) !important;
	transition: color 0.15s ease;
}

.bsi-lp-lesson-hero__back:hover,
.bsi-lp-lesson-hero__back:focus-visible {
	color: color-mix(in srgb, var(--bsi-lp-lesson-body-fg, #1a1a1a) 18%, var(--bsi-lp-pb-fg, #ece6dc)) !important;
	text-decoration: none;
}

.bsi-lp-lesson-hero__meta {
	margin: 0 0 0.65rem;
	font-size: 0.62rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--bsi-lp-accent, var(--bsi-lp-nav-btn-accent, #e8923a));
}

#popup-course.bsi-lp-popup-course #popup-content > .bsi-lp-lesson-hero .bsi-lp-lesson-hero__title {
	margin: 0 0 0.55rem;
	font-family: var(--bsi-lp-h1-ff, inherit);
	font-size: clamp(1.5rem, 1.1rem + 2.2vw, 2.35rem);
	font-weight: var(--bsi-lp-h1-fw, 700);
	line-height: 1.12;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--bsi-lp-pb-fg, #fff);
}

.bsi-lp-lesson-hero__subtitle {
	margin: 0;
	max-width: 42rem;
	font-family: var(--bsi-lp-lesson-reading-ff, inherit);
	font-size: clamp(0.95rem, 0.88rem + 0.35vw, 1.1rem);
	font-weight: 500;
	line-height: 1.45;
	color: color-mix(in srgb, var(--bsi-lp-pb-fg, #ece6dc) 92%, transparent);
}

/* Intro: optional TTS strip below hero */
.bsi-lp-lesson-intro {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	margin-top: 0;
}

.bsi-style_as_h5 {
	font-family: var(--awb-typography5-font-family, inherit);
	font-size: max(0.7rem, calc(var(--awb-typography5-font-size, 1rem) * 0.72));
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--bsi-lp-lesson-body-muted, color-mix(in srgb, var(--bsi-lp-lesson-body-fg, #1a1a1a) 55%, transparent));
}

#popup-course.bsi-lp-popup-course #popup-content .content-item-summary .course-item-title.lesson-title,
#popup-course.bsi-lp-popup-course #popup-content .content-item-summary h1.lesson-title {
	display: none !important;
}

.bsi-lp-lesson-intro__tts {
	margin-top: 1rem;
	margin-bottom: 1.5rem;
}

/* Lesson TTS: dark strip + tan type; honors --bsi-lp-tts-* from course shell ACF when set */
.bsi-lp-tts {
	--_tts-bg: var(--bsi-lp-tts-bg, #1a1a1a);
	--_tts-fg: var(--bsi-lp-tts-fg, var(--bsi-lp-primary, #c9a66b));
	--_tts-muted: color-mix(in srgb, var(--_tts-fg) 55%, transparent);
	--_tts-border: color-mix(in srgb, var(--_tts-fg) 22%, #2a2a2a);
	--_tts-accent: var(--bsi-lp-tts-accent, var(--bsi-lp-accent, #e4c892));
	--_tts-active-bg: color-mix(in srgb, var(--_tts-accent) 14%, var(--_tts-bg));
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	border: 1px solid var(--_tts-border);
	border-radius: 2px;
	background: var(--_tts-bg);
	color: var(--_tts-fg);
	font-family: var(--bsi-lp-tts-ff, inherit);
	font-size: var(--bsi-lp-tts-fs, clamp(0.8125rem, 0.75rem + 0.35vw, 0.9375rem));
	font-weight: var(--bsi-lp-tts-fw, inherit);
	line-height: var(--bsi-lp-tts-lh, 1.35);
	letter-spacing: var(--bsi-lp-tts-ls, normal);
}

.bsi-lp-tts__toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	width: 100%;
	margin: 0;
	padding: 0.65rem 0.85rem;
	border: none;
	border-radius: 2px;
	background: transparent;
	color: inherit;
	font: inherit;
	text-align: left;
	cursor: pointer;
	box-sizing: border-box;
}

.bsi-lp-tts__toggle:hover {
	background: color-mix(in srgb, var(--_tts-fg) 6%, transparent);
}

.bsi-lp-tts__toggle:focus-visible {
	outline: 2px solid var(--_tts-accent);
	outline-offset: 2px;
}

.bsi-lp-tts__toggle-main {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-width: 0;
}

.bsi-lp-tts__title {
	font-weight: 500;
	letter-spacing: 0.01em;
}

.bsi-lp-tts__svg {
	display: block;
	flex-shrink: 0;
}

.bsi-lp-tts__chevron {
	display: flex;
	align-items: center;
	color: var(--_tts-muted);
}

.bsi-lp-tts__toggle[aria-expanded="true"] .bsi-lp-tts__chevron-svg {
	transform: rotate(180deg);
	transform-origin: center;
	transition: transform 0.2s ease;
}

.bsi-lp-tts__chevron-svg {
	transition: transform 0.2s ease;
}

.bsi-lp-tts__panel {
	border-top: 1px solid var(--_tts-border);
	padding: 0.65rem 0.85rem 0.75rem;
	box-sizing: border-box;
}

.bsi-lp-tts__controls {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1rem;
}

.bsi-lp-tts__play {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	margin: 0;
	padding: 0;
	border: 1px solid var(--_tts-border);
	border-radius: 2px;
	background: color-mix(in srgb, var(--_tts-fg) 5%, var(--_tts-bg));
	color: var(--_tts-fg);
	cursor: pointer;
	box-sizing: border-box;
}

.bsi-lp-tts__play:hover {
	border-color: color-mix(in srgb, var(--_tts-fg) 45%, var(--_tts-border));
}

.bsi-lp-tts__play:focus-visible {
	outline: 2px solid var(--_tts-accent);
	outline-offset: 2px;
}

.bsi-lp-tts__play[aria-pressed="true"] {
	border-color: color-mix(in srgb, var(--_tts-accent) 55%, var(--_tts-border));
	background: var(--_tts-active-bg);
}

.bsi-lp-tts__speed {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.45rem 0.5rem;
	flex: 1 1 auto;
	min-width: min(100%, 12rem);
}

.bsi-lp-tts__speed-label {
	color: var(--_tts-fg);
	font-weight: 500;
	margin-right: 0.15rem;
}

.bsi-lp-tts__speed-btns {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem;
}

.bsi-lp-tts__rate {
	margin: 0;
	padding: 0.28rem 0.42rem;
	min-width: 2.35rem;
	border: 1px solid var(--_tts-border);
	border-radius: 2px;
	background: transparent;
	color: var(--_tts-fg);
	font: inherit;
	font-variant-numeric: tabular-nums;
	cursor: pointer;
	line-height: 1.2;
	box-sizing: border-box;
}

.bsi-lp-tts__rate:hover {
	border-color: color-mix(in srgb, var(--_tts-fg) 40%, var(--_tts-border));
}

.bsi-lp-tts__rate:focus-visible {
	outline: 2px solid var(--_tts-accent);
	outline-offset: 1px;
}

.bsi-lp-tts__rate.is-active {
	border-color: color-mix(in srgb, var(--_tts-accent) 70%, var(--_tts-border));
	background: var(--_tts-active-bg);
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--_tts-accent) 35%, transparent);
}

.bsi-lp-notes-panel {
	margin-top: 1rem;
	padding: 0.75rem;
	border: 1px solid rgba(0, 0, 0, 0.08);
}

.bsi-lp-notes-panel__field {
	width: 100%;
	box-sizing: border-box;
}

.bsi-lp-notes-panel__status {
	font-size: 0.875rem;
	margin: 0.35rem 0 0;
	min-height: 1.25rem;
	opacity: 1;
	transition: opacity 0.4s ease;
}

.bsi-lp-notes-panel__status.is-fading {
	opacity: 0;
}

.bsi-lp-mission-progress {
	margin-bottom: 1rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.bsi-lp-popup-sidebar__footer .bsi-lp-mission-progress {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

.bsi-lp-mission-progress__label {
	font-family: var(--bsi-lp-progress-ff, inherit);
	font-size: var(--bsi-lp-progress-fs, 0.75rem);
	font-weight: var(--bsi-lp-progress-fw, inherit);
	line-height: var(--bsi-lp-progress-lh, inherit);
	letter-spacing: var(--bsi-lp-progress-ls, 0.05em);
	text-transform: uppercase;
	margin-bottom: 0.35rem;
}

.bsi-lp-mission-progress__bar {
	height: 6px;
	background: var(--bsi-lp-progress-bg, color-mix(in srgb, var(--bsi-lp-text, #333) 14%, transparent));
	border-radius: 3px;
	overflow: hidden;
}

.bsi-lp-mission-progress__fill {
	display: block;
	height: 100%;
	background: var(--bsi-lp-progress-accent, var(--bsi-lp-accent-2, var(--bsi-lp-primary, #a88455)));
	transition: width 0.2s ease;
}

.bsi-lp-sidebar-heading {
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-bottom: 0.35rem;
	opacity: 0.85;
}

/*
 * LearnPress item popup: core uses flex: 0 0 475px on #popup-sidebar and left: 475px on
 * #popup-header / #popup-footer. Align all to one custom property (~300px).
 *
 * Lesson shell inset below the theme header: JS sets --bsi-lp-lesson-shell-top / --bsi-lp-lesson-shell-left
 * on html (Avada header bottom + optional #side-header width).
 */
html {
	--bsi-lp-lesson-shell-top: 0px;
	--bsi-lp-lesson-shell-left: 0px;
	/* Measured in bsi-learnpress-course.js: sticky strip + #popup-header height (px only, for fixed chrome). */
	--bsi-lp-sticky-nav-h: 0px;
	--bsi-lp-popup-chrome-height: 70px;
	--bsi-lp-popup-sidebar-top: 80px;
}

/*
 * Inset shell + sidebar chrome: LearnPress uses body:not(.lp-sidebar-toggle__open), body.admin-bar #popup-course,
 * and @media blocks that set #popup-header/#popup-footer { left: 300px } without #popup-course — we need
 * body.course-item-popup + .bsi-lp-popup-course + !important so these win after learnpress.css.
 */
body.course-item-popup #popup-course.bsi-lp-popup-course {
	/* Shared with sidebar rail: one source for “black + tan” popup chrome */
	--bsi-lp-pb-bg: var(--bsi-lp-sidebar-bg, var(--bsi-lp-bg, #0a0a0a));
	--bsi-lp-pb-fg: var(--bsi-lp-sidebar-fg, var(--bsi-lp-text, #ece6dc));
	--bsi-lp-pb-muted: color-mix(in srgb, var(--bsi-lp-pb-fg) 72%, transparent);
	--bsi-lp-pb-label: var(--bsi-lp-sidebar-accent, var(--bsi-lp-accent, #e4c892));
	--bsi-lp-pb-active: color-mix(in srgb, var(--bsi-lp-primary, #c9a66b) 32%, var(--bsi-lp-pb-bg));
	--bsi-lp-pb-track: var(--bsi-lp-progress-bg, color-mix(in srgb, var(--bsi-lp-pb-fg) 14%, transparent));
	--bsi-lp-pb-fill: var(--bsi-lp-progress-accent, var(--bsi-lp-accent-2, var(--bsi-lp-primary, #a88455)));
	--bsi-lp-pb-fail: #e85c5c;
	--bsi-lp-pb-border: color-mix(in srgb, var(--bsi-lp-pb-fg) 12%, transparent);
	--bsi-lp-pb-title-fs: var(--bsi-lp-sidebar-fs, var(--awb-typography5-font-size, 1.25rem));
	--bsi-lp-pb-meta-fs: calc(var(--bsi-lp-pb-title-fs) * 0.75);
	--bsi-lp-pb-section-fs: var(--bsi-lp-h3-fs, calc(var(--bsi-lp-pb-title-fs) * 0.92));
	/* Main lesson column: optional lesson_reading ACF overrides surface + body typography */
	--bsi-lp-lesson-body-bg: var(--bsi-lp-lesson-reading-bg, var(--bsi-lp-lesson-surface-bg, #f2efe9));
	--bsi-lp-lesson-body-fg: var(--bsi-lp-lesson-reading-fg, var(--bsi-lp-lesson-surface-fg, #1a1a1a));
	--bsi-lp-lesson-body-muted: color-mix(in srgb, var(--bsi-lp-lesson-body-fg) 48%, var(--bsi-lp-lesson-body-bg));
	top: var(--bsi-lp-lesson-shell-top) !important;
	left: var(--bsi-lp-lesson-shell-left) !important;
	right: 0 !important;
	bottom: 0 !important;
	width: auto !important;
	height: auto !important;
	position: fixed !important;
	background: var(--bsi-lp-lesson-body-bg) !important;
	color: var(--bsi-lp-lesson-body-fg);
	/* Single column: fixed full-width chrome + in-flow #popup-content. #popup-sidebar is a fixed left rail: on mobile it overlays lesson content; from tablet up, open state indents chrome + lesson (see @media min-width 768px below). */
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap;
	align-items: stretch;
	min-height: 0;
}

/* Fixed full-width top chrome (viewport coordinates; shell top/left come from theme inset vars). */
body.course-item-popup #popup-course.bsi-lp-popup-course .bsi-lp-sticky-nav {
	position: fixed !important;
	top: var(--bsi-lp-lesson-shell-top, 0px) !important;
	left: var(--bsi-lp-lesson-shell-left, 0px) !important;
	right: 0 !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	z-index: 101;
	box-sizing: border-box;
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-header {
	position: fixed !important;
	top: calc(var(--bsi-lp-lesson-shell-top, 0px) + var(--bsi-lp-sticky-nav-h, 0px)) !important;
	left: var(--bsi-lp-lesson-shell-left, 0px) !important;
	right: 0 !important;
	bottom: auto !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	z-index: 100;
	box-sizing: border-box;
	height: var(--bsi-lp-popup-chrome-height, 70px) !important;
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-footer {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	z-index: 4;
}

/* Curriculum drawer: fixed left rail under the top bar. On viewports <768px it overlays the lesson; from 768px up, open state indents chrome + #popup-content (see block after .lp-sidebar-toggle__ rules). */
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-sidebar {
	position: fixed !important;
	top: var(--bsi-lp-popup-sidebar-top, 96px) !important;
	bottom: 0 !important;
	left: var(--bsi-lp-lesson-shell-left, 0px) !important;
	right: auto !important;
	width: var(--bsi-lp-popup-sidebar-basis) !important;
	min-width: 0 !important;
	max-width: var(--bsi-lp-popup-sidebar-basis) !important;
	flex: none !important;
	margin: 0 !important;
	z-index: 40;
	box-sizing: border-box;
	overflow: hidden !important;
	transition: transform 0.25s ease, visibility 0.25s ease;
	transform: translateX(-100%);
	visibility: hidden;
	pointer-events: none;
}

body.course-item-popup.lp-sidebar-toggle__open #popup-course.bsi-lp-popup-course #popup-sidebar {
	transform: translateX(0);
	visibility: visible;
	pointer-events: auto;
}

body.course-item-popup.lp-sidebar-toggle__close #popup-course.bsi-lp-popup-course #popup-sidebar,
body.course-item-popup:not(.lp-sidebar-toggle__open) #popup-course.bsi-lp-popup-course #popup-sidebar {
	transform: translateX(-100%);
	visibility: hidden;
	pointer-events: none;
}

/*
 * Tablet / desktop: when the curriculum drawer is open, indent fixed chrome + lesson column by the
 * sidebar width so the main area sits beside the rail (pushed layout). Mobile (max-width: 767px)
 * keeps full-width chrome + overlay drawer unchanged.
 */
@media (min-width: 768px) {
	body.course-item-popup #popup-course.bsi-lp-popup-course .bsi-lp-sticky-nav,
	
	body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content {
		transition: left 0.25s ease, padding-left 0.25s ease;
	}

	body.course-item-popup.lp-sidebar-toggle__open #popup-course.bsi-lp-popup-course .bsi-lp-sticky-nav
	{
		left: calc(var(--bsi-lp-lesson-shell-left, 0px) + var(--bsi-lp-popup-sidebar-basis)) !important;
	}

	body.course-item-popup.lp-sidebar-toggle__open #popup-course.bsi-lp-popup-course #popup-content {
		padding-left: var(--bsi-lp-popup-sidebar-basis);
		box-sizing: border-box;
	}
}

/* LP pins curriculum to 475px — match overlay rail width */
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-sidebar .course-curriculum {
	width: 100% !important;
	max-width: 100% !important;
	left: 0 !important;
}

#popup-course {
	--bsi-lp-popup-sidebar-basis: 300px;
}

/* LP flex rail (non–course-item-popup or legacy) */
#popup-course #popup-sidebar {
	flex: 0 0 var(--bsi-lp-popup-sidebar-basis);
	max-width: var(--bsi-lp-popup-sidebar-basis);
	min-width: 0;
}

#popup-course #popup-sidebar .course-curriculum {
	width: 100%;
	max-width: 100%;
}
body a:before, body a:after{
	color: inherit !important;
}
/*
 * Popup header — single row like Fit for Duty module rail
 * (https://fitforduty.academy/module/1): course title left, links to the right, LP progress at end.
 */
#popup-course #popup-header {
	--bsi-lp-topbar-link-fs: var(
		--bsi-lp-topbar-fs,
		max(0.65rem, calc(var(--awb-typography5-font-size, 1rem) * 0.62))
	);
	--bsi-lp-topbar-link-track: var(--bsi-lp-topbar-ls, 0.14em);
}

/* Top bar: same palette as sidebar (--bsi-lp-pb-* on #popup-course.bsi-lp-popup-course) */
#popup-course.bsi-lp-popup-course #popup-header {
	background: var(--bsi-lp-pb-bg) !important;
	color: var(--bsi-lp-pb-fg);
	border-bottom: none;
}

#popup-course.bsi-lp-popup-course #popup-header .bsi-lp-sidebar-toggle-slot {
	position: relative;
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	align-self: center;
	min-width: 44px;
	min-height: 44px;
	margin: 0 0 0 10px;
}

#popup-course.bsi-lp-popup-course #popup-header #sidebar-toggle,
#popup-course.bsi-lp-popup-course #popup-header .back-course {
	background: transparent;
	color: var(--bsi-lp-pb-fg);
	border: none;
}

/*
 * MetFix sidebar toggle (SSR in bsi_lp_render_popup_sidebar_toggle): checkbox + label.
 * Label click toggles the checkbox; LP JS updates body.lp-sidebar-toggle__* + cookie.
 * .active on the label = curriculum open (asterisk); default = hamburger.
 */
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-header #sidebar-toggle::before,
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-header #sidebar-toggle::after {
	display: none !important;
	content: none !important;
}

#popup-course.bsi-lp-popup-course #popup-header input#sidebar-toggle.bsi-lp-metfix-input {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	border: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

#popup-course.bsi-lp-popup-course #popup-header label.bsi-lp-metfix-toggle[for="sidebar-toggle"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border-radius: 6px;
	color: var(--bsi-lp-pb-fg);
	flex-shrink: 0;
	margin: 0;
	align-self: center;
	cursor: pointer;
	transition: background-color 150ms ease;
}

#popup-course.bsi-lp-popup-course #popup-header label.bsi-lp-metfix-toggle[for="sidebar-toggle"]:hover {
	background: color-mix(in srgb, var(--bsi-lp-pb-fg) 18%, transparent);
}

#popup-course.bsi-lp-popup-course #popup-header label.bsi-lp-metfix-toggle[for="sidebar-toggle"]:focus-within {
	outline: 2px solid color-mix(in srgb, var(--bsi-lp-pb-label) 70%, transparent);
	outline-offset: 2px;
}

#popup-course.bsi-lp-popup-course #popup-header .metfix-anim-menu-icon {
	position: relative;
	width: 44px;
	height: 44px;
	flex-shrink: 0;
}

#popup-course.bsi-lp-popup-course #popup-header .metfix-anim-line {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 32px;
	height: 4px;
	margin-left: -16px;
	margin-top: -2px;
	background: currentColor;
	transform-origin: center;
	transition:
		transform 0.35s cubic-bezier(0.68, -0.55, 0.265, 1.55),
		width 0.35s cubic-bezier(0.68, -0.55, 0.265, 1.55),
		height 0.35s cubic-bezier(0.68, -0.55, 0.265, 1.55),
		margin 0.35s cubic-bezier(0.68, -0.55, 0.265, 1.55),
		opacity 0.25s ease;
}

/* Hamburger (sidebar closed) */
#popup-course.bsi-lp-popup-course #popup-header .metfix-anim-menu-button:not(.active) .metfix-anim-line:nth-child(1) {
	transform: translateY(-12px);
}

#popup-course.bsi-lp-popup-course #popup-header .metfix-anim-menu-button:not(.active) .metfix-anim-line:nth-child(2) {
	transform: translateY(-4px);
}

#popup-course.bsi-lp-popup-course #popup-header .metfix-anim-menu-button:not(.active) .metfix-anim-line:nth-child(3) {
	transform: translateY(4px);
}

#popup-course.bsi-lp-popup-course #popup-header .metfix-anim-menu-button:not(.active) .metfix-anim-line:nth-child(4) {
	transform: translateY(12px);
}

#popup-course.bsi-lp-popup-course #popup-header .metfix-anim-menu-button:not(.active) .metfix-anim-line.metfix-anim-dot {
	opacity: 0;
	transform: scale(0);
}

/* Asterisk (sidebar open) — geometry aligned with metfix-loader.css */
#popup-course.bsi-lp-popup-course #popup-header .metfix-anim-menu-button.active .metfix-anim-line:nth-child(1) {
	transform: rotate(45deg);
}

#popup-course.bsi-lp-popup-course #popup-header .metfix-anim-menu-button.active .metfix-anim-line:nth-child(2) {
	transform: rotate(-45deg);
}

#popup-course.bsi-lp-popup-course #popup-header .metfix-anim-menu-button.active .metfix-anim-line:nth-child(3) {
	transform: rotate(0deg);
}

#popup-course.bsi-lp-popup-course #popup-header .metfix-anim-menu-button.active .metfix-anim-line:nth-child(4) {
	transform: rotate(90deg);
	width: 16px;
	margin-left: -8px;
	margin-top: 6px;
}

#popup-course.bsi-lp-popup-course #popup-header .metfix-anim-menu-button.active .metfix-anim-line.metfix-anim-dot {
	width: 4px;
	height: 8px;
	margin-left: -2px;
	margin-top: -14px;
	border-radius: 50%;
	opacity: 1;
	transform: scale(1);
}

#popup-course.bsi-lp-popup-course #popup-header .back-course:hover {
	background: color-mix(in srgb, var(--bsi-lp-pb-fg) 20%, transparent);
	color: var(--bsi-lp-pb-label);
	opacity: 1;
}

#popup-course.bsi-lp-popup-course #popup-header .course-title a {
	color: color-mix(in srgb, var(--bsi-lp-pb-fg) 94%, transparent);
}

#popup-course.bsi-lp-popup-course #popup-header .course-title a:hover {
	color: var(--bsi-lp-pb-label);
}

/* Override LP column stack on small screens for this inner */
#popup-course #popup-header .popup-header__inner.bsi-lp-popup-header__inner {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
	column-gap: 0.75rem;
	row-gap: 0.1rem;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding-top: 0.35rem;
	padding-bottom: 0.35rem;
	padding-left: 5vw;
	padding-right: 1rem;
	border-bottom: 1px solid var(--bsi-lp-pb-border);
	overflow-x: hidden;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
}

.video-shortcode iframe{
    max-width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
}

@media (max-width: 767px) {
	#popup-course #popup-header {
		align-items: center;
	}

	#popup-course #popup-header .popup-header__inner.bsi-lp-popup-header__inner {
		flex-direction: row;
		flex-wrap: nowrap;
		flex: 1 1 auto;
		min-width: 0;
		justify-content: center;
		align-items: center;
		column-gap: 0.5rem;
		overflow-x: visible;
	}

	#popup-course #popup-header #sidebar-toggle {
		line-height: 1;
		min-height: 44px;
		align-self: center;
		flex-shrink: 0;
	}

	#popup-course #popup-header .back-course {
		flex-shrink: 0;
		align-self: center;
	}
	
}

#popup-course #popup-header .popup-header__inner.bsi-lp-popup-header__inner .course-title {
	flex: 1 1 auto;
	min-width: 0;
	max-width: min(78vw, 32rem);
	margin: 0;
	padding: 0;
	text-align: left;
	/* Below Avada typography 5 when it is large; similar to clamp(8px, 0.75rem, 14px) */
	font-size: clamp(8px, min(0.75rem, var(--awb-typography5-font-size, 0.875rem)), 14px);
	font-family: var(--bsi-lp-topbar-ff, var(--awb-typography5-font-family, inherit));
	font-weight: 700;
	line-height: var(--bsi-lp-topbar-lh, var(--awb-typography5-line-height, 1.35));
	letter-spacing: var(--bsi-lp-topbar-ls, var(--awb-typography5-letter-spacing, normal));
}

@media (max-width: 767px) {
	#popup-course #popup-header .popup-header__inner.bsi-lp-popup-header__inner .course-title {
		flex: 0 1 auto;
		max-width: min(72vw, 28rem);
		text-align: center;
	}
}

#popup-course #popup-header .popup-header__inner.bsi-lp-popup-header__inner .course-title a {
	display: block;
	overflow: visible;
	white-space: normal;
	word-break: break-word;
	overflow-wrap: break-word;
	-webkit-line-clamp: unset;
	-webkit-box-orient: unset;
	font-size: inherit;
	font-family: inherit;
	font-weight: inherit;
	line-height: inherit;
	letter-spacing: inherit;
}

/* Course excerpt under the title (desktop only). Force a row break before it via flex-basis: 100%. */
#popup-course #popup-header .popup-header__inner.bsi-lp-popup-header__inner .course-excerpt {
	flex: 0 0 100%;
	width: 100%;
	max-width: min(78vw, 32rem);
	margin: 0;
	padding: 0;
	font-family: var(--bsi-lp-topbar-ff, var(--awb-typography5-font-family, inherit));
	font-size: clamp(8px, calc(var(--awb-typography5-font-size, 0.875rem) * 0.78), 12px);
	font-weight: 400;
	line-height: 1.35;
	letter-spacing: 0.02em;
	color: color-mix(in srgb, var(--bsi-lp-pb-fg) 70%, transparent);
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
}

@media (max-width: 767px) {
	#popup-course #popup-header .popup-header__inner.bsi-lp-popup-header__inner .course-excerpt {
		display: none;
	}
}

/* Lesson body: parchment surface + charcoal type (see --bsi-lp-lesson-surface-* on course shell) */
#popup-course.bsi-lp-popup-course #popup-content {
	/* Query container for lesson rail; #popup-footer is a direct child of #popup-content. */
	container-type: inline-size;
	container-name: bsi-lp-lesson-col;
	background: var(--bsi-lp-lesson-body-bg, #f2efe9) !important;
	color: var(--bsi-lp-lesson-body-fg, #1a1a1a) !important;
	font-family: var(--bsi-lp-lesson-reading-ff, inherit);
	font-size: var(--bsi-lp-lesson-reading-fs, inherit);
	font-weight: var(--bsi-lp-lesson-reading-fw, inherit);
	line-height: var(--bsi-lp-lesson-reading-lh, inherit);
	letter-spacing: var(--bsi-lp-lesson-reading-ls, inherit);
	width: 100%;
	min-height: 0;
	flex: 1 1 auto;
	position: relative;
	z-index: 1;
	/* Reserve space for fixed sticky nav + fixed #popup-header (set via --bsi-lp-popup-chrome-height in JS). */
	margin-top: var(--bsi-lp-popup-chrome-height, 70px) !important;
	margin-bottom: 0 !important;
	padding: 0px;
}

#popup-course.bsi-lp-popup-course #popup-content .content-item-wrap,
#popup-course.bsi-lp-popup-course #popup-content .content-item-description,
#popup-course.bsi-lp-popup-course #popup-content .content-item-summary {
	color: inherit;
}

/* Lesson body blocks: fade-up on scroll (Missing Manual / Fit for Duty module pattern). */
@media (prefers-reduced-motion: no-preference) {
	#popup-course.bsi-lp-popup-course .bsi-lp-lesson-layout__main .content-item-description.lesson-description > .bsi-lp-reveal {
		opacity: 0;
		transform: translateY(24px);
		transition:
			opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1),
			transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
		transition-delay: var(--bsi-lp-reveal-delay, 0s);
	}

	#popup-course.bsi-lp-popup-course .bsi-lp-lesson-layout__main .content-item-description.lesson-description > .bsi-lp-reveal.bsi-lp-reveal--in {
		opacity: 1;
		transform: translateY(0);
	}
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content .course-item-title,
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content h1 {
	font-family: var(--bsi-lp-h1-ff, inherit);
	font-size: var(--bsi-lp-h1-fs, clamp(1.25rem, 1rem + 1vw, 1.85rem));
	font-weight: var(--bsi-lp-h1-fw, 600);
	line-height: var(--bsi-lp-h1-lh, 1.25);
	letter-spacing: var(--bsi-lp-h1-ls, normal);
	color: var(--bsi-lp-h1-fg, var(--bsi-lp-lesson-body-fg, #1a1a1a));
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content h2 {
	font-family: var(--bsi-lp-h2-ff, inherit);
	font-size: var(--bsi-lp-h2-fs, clamp(1.1rem, 0.95rem + 0.55vw, 1.45rem));
	font-weight: var(--bsi-lp-h2-fw, 600);
	line-height: var(--bsi-lp-h2-lh, 1.3);
	letter-spacing: var(--bsi-lp-h2-ls, normal);
	color: var(--bsi-lp-h2-fg, var(--bsi-lp-lesson-body-fg, #1a1a1a));
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content h3 {
	font-family: var(--bsi-lp-h3-ff, inherit);
	font-size: var(--bsi-lp-h3-fs, clamp(1rem, 0.9rem + 0.35vw, 1.2rem));
	font-weight: var(--bsi-lp-h3-fw, 600);
	line-height: var(--bsi-lp-h3-lh, 1.35);
	letter-spacing: var(--bsi-lp-h3-ls, normal);
	color: var(--bsi-lp-h3-fg, var(--bsi-lp-lesson-body-fg, #1a1a1a));
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content h4 {
	font-family: var(--bsi-lp-h4-ff, inherit);
	font-size: var(--bsi-lp-h4-fs, clamp(0.95rem, 0.88rem + 0.25vw, 1.05rem));
	font-weight: var(--bsi-lp-h4-fw, 600);
	line-height: var(--bsi-lp-h4-lh, 1.4);
	letter-spacing: var(--bsi-lp-h4-ls, normal);
	color: var(--bsi-lp-h4-fg, var(--bsi-lp-lesson-body-fg, #1a1a1a));
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content blockquote {
	font-family: var(--bsi-lp-bq-ff, inherit);
	font-size: var(--bsi-lp-bq-fs, 1.05em);
	font-weight: var(--bsi-lp-bq-fw, inherit);
	line-height: var(--bsi-lp-bq-lh, 1.45);
	letter-spacing: var(--bsi-lp-bq-ls, normal);
	color: var(--bsi-lp-bq-fg, var(--bsi-lp-lesson-body-fg, #1a1a1a));
	background: var(--bsi-lp-bq-bg, transparent);
	border-left: 3px solid var(--bsi-lp-bq-accent, var(--bsi-lp-primary, #c9a66b));
	padding: 0.65rem 1rem;
	margin: 1rem 0;
	box-sizing: border-box;
}

#popup-course.bsi-lp-popup-course #popup-content .course-item-title a {
	color: inherit;
}

#popup-course.bsi-lp-popup-course #popup-content a {
	color: var(--bsi-lp-primary, #c9a66b);
}

/* Current in-content links: markup may use .is_current or .is-current; exclude lesson rail (its own contrast). */
#popup-course.bsi-lp-popup-course #popup-content a.is_current:not(.bsi-lp-rail-progress__btn),
#popup-course.bsi-lp-popup-course #popup-content a.is-current:not(.bsi-lp-rail-progress__btn) {
	color: var(--bsi-lp-lesson-body-fg, #1a1a1a);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

#popup-course.bsi-lp-popup-course #popup-content a:hover,
#popup-course.bsi-lp-popup-course #popup-content a:focus-visible {
	color: var(--bsi-lp-accent-2, #a88455);
}

#popup-course.bsi-lp-popup-course #popup-content hr {
	border: 0;
	border-top: 1px solid color-mix(in srgb, var(--bsi-lp-lesson-body-fg) 14%, var(--bsi-lp-lesson-body-bg));
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-item-meta {
	color: var(--bsi-lp-lesson-body-muted);
}

#popup-course.bsi-lp-popup-course #popup-content::-webkit-scrollbar-track {
	background: color-mix(in srgb, var(--bsi-lp-lesson-body-fg) 6%, var(--bsi-lp-lesson-body-bg));
}

#popup-course.bsi-lp-popup-course #popup-content::-webkit-scrollbar-thumb {
	background: color-mix(in srgb, var(--bsi-lp-lesson-body-fg) 22%, var(--bsi-lp-lesson-body-bg));
}

/*
 * Item comments (LearnPress #learn-press-item-comments → comments_template): match lesson column
 * surface, spacing, and circular 1:1 avatars. Overrides learnpress.css .learn-press-comments width.
 */
#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments {
	--bsi-lp-cmt-surface: color-mix(in srgb, var(--bsi-lp-lesson-body-bg, #f2efe9) 78%, #fff);
	--bsi-lp-cmt-border: color-mix(in srgb, var(--bsi-lp-lesson-body-fg, #1a1a1a) 10%, var(--bsi-lp-lesson-body-bg, #f2efe9));
	--bsi-lp-cmt-muted: var(--bsi-lp-lesson-body-muted, color-mix(in srgb, var(--bsi-lp-lesson-body-fg, #1a1a1a) 48%, var(--bsi-lp-lesson-body-bg, #f2efe9)));
	margin: 0;
	padding: 1.75rem clamp(1rem, 4vw, 2.25rem) 2.75rem;
	box-sizing: border-box;
	border-top: 1px solid var(--bsi-lp-cmt-border);
	background: var(--bsi-lp-cmt-surface);
	color: var(--bsi-lp-lesson-body-fg, #1a1a1a);
}

#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .learn-press-comments {
	width: 100% !important;
	max-width: 40rem;
	margin: 0 auto !important;
	padding: 0;
	box-sizing: border-box;
}

#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comments-area,
#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments #comments {
	margin: 0;
	padding: 0;
}

#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comments-title,
#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments #reply-title,
#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-reply-title {
	font-family: var(--bsi-lp-h3-ff, inherit);
	font-size: var(--bsi-lp-h3-fs, clamp(1rem, 0.9rem + 0.35vw, 1.2rem));
	font-weight: var(--bsi-lp-h3-fw, 600);
	line-height: var(--bsi-lp-h3-lh, 1.35);
	letter-spacing: var(--bsi-lp-h3-ls, normal);
	color: var(--bsi-lp-h3-fg, var(--bsi-lp-lesson-body-fg, #1a1a1a));
	margin: 0 0 1rem;
}

#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-list,
#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-list .children {
	list-style: none;
	margin: 0;
	padding: 0;
}

#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-list .children {
	margin-top: 0.85rem;
	margin-left: 0;
	padding-left: clamp(0.75rem, 3vw, 1.25rem);
	border-left: 2px solid color-mix(in srgb, var(--bsi-lp-primary, #a88455) 55%, var(--bsi-lp-cmt-border));
}

#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-list > li,
#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-list .children > li {
	margin: 0;
	padding: 0;
}

#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-body {
	margin: 0;
	padding: 1.1rem 0;
	border-bottom: 1px solid var(--bsi-lp-cmt-border);
	box-sizing: border-box;
}

#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-list > li:first-child > .comment-body {
	padding-top: 0;
}

#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 1rem;
	margin-bottom: 0.5rem;
	font-size: max(0.8125rem, 0.75rem + 0.2vw);
	line-height: 1.35;
	color: var(--bsi-lp-cmt-muted);
}

#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-author.vcard {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	min-width: 0;
	color: var(--bsi-lp-lesson-body-fg, #1a1a1a);
}

#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-author .says {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments img.avatar,
#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .avatar {
	width: 2.75rem !important;
	height: 2.75rem !important;
	max-width: none;
	aspect-ratio: 1;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid color-mix(in srgb, var(--bsi-lp-lesson-body-fg, #1a1a1a) 8%, var(--bsi-lp-lesson-body-bg, #f2efe9));
	box-sizing: border-box;
	flex-shrink: 0;
	display: block;
}

#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-author .fn,
#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-author .fn a {
	font-weight: 600;
	color: var(--bsi-lp-lesson-body-fg, #1a1a1a);
	text-decoration: none;
}

#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-author .fn a:hover,
#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-author .fn a:focus-visible {
	color: var(--bsi-lp-primary, #c9a66b);
}

#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-metadata a {
	color: var(--bsi-lp-cmt-muted);
	text-decoration: none;
}

#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-metadata a:hover,
#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-metadata a:focus-visible {
	color: var(--bsi-lp-primary, #c9a66b);
}

#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-content,
#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-content p {
	font-size: var(--bsi-lp-lesson-reading-fs, inherit);
	line-height: var(--bsi-lp-lesson-reading-lh, 1.45);
	margin: 0 0 0.65rem;
	color: var(--bsi-lp-lesson-body-fg, #1a1a1a);
}

#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-content > *:last-child {
	margin-bottom: 0;
}

#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .reply {
	margin-top: 0.35rem;
}

#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .reply a,
#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-reply-link {
	display: inline-block;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--bsi-lp-primary, #c9a66b);
	padding: 0.2rem 0;
}

#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .reply a:hover,
#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .reply a:focus-visible,
#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-reply-link:hover,
#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-reply-link:focus-visible {
	color: var(--bsi-lp-accent-2, #a88455);
}

#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-respond,
#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments #respond {
	margin-top: 1.75rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--bsi-lp-cmt-border);
}

#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-form {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin: 0;
}

#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-form p,
#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-form .comment-form-comment {
	margin: 0;
}

#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-form label {
	display: block;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--bsi-lp-cmt-muted);
	margin-bottom: 0.35rem;
}

#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-form input[type="text"],
#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-form input[type="email"],
#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-form input[type="url"],
#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-form textarea {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	font: inherit;
	font-size: 0.9375rem;
	line-height: 1.45;
	padding: 0.65rem 0.85rem;
	border: 1px solid var(--bsi-lp-cmt-border);
	border-radius: 8px;
	background: var(--bsi-lp-lesson-body-bg, #f2efe9);
	color: var(--bsi-lp-lesson-body-fg, #1a1a1a);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-form textarea {
	min-height: 7.5rem;
	resize: vertical;
}

#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-form input[type="text"]:focus,
#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-form input[type="email"]:focus,
#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-form input[type="url"]:focus,
#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-form textarea:focus {
	outline: none;
	border-color: color-mix(in srgb, var(--bsi-lp-primary, #a88455) 65%, var(--bsi-lp-cmt-border));
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--bsi-lp-primary, #a88455) 22%, transparent);
}

#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-form .form-submit {
	margin: 0;
	padding: 0;
}

#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-form input[type="submit"],
#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments #submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.5rem;
	padding: 0.5rem 1.35rem;
	border: none;
	border-radius: 6px;
	font: inherit;
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	cursor: pointer;
	background: var(--bsi-lp-primary, #a88455);
	color: #fff;
	box-sizing: border-box;
	transition: background-color 0.15s ease, transform 0.1s ease;
}

#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-form input[type="submit"]:hover,
#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments #submit:hover {
	background: color-mix(in srgb, var(--bsi-lp-primary, #a88455) 88%, #1a1a1a);
}

#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .comment-form input[type="submit"]:focus-visible,
#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments #submit:focus-visible {
	outline: 2px solid var(--bsi-lp-accent, #e4c892);
	outline-offset: 2px;
}

#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .logged-in-as,
#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .must-log-in {
	font-size: 0.875rem;
	line-height: 1.45;
	color: var(--bsi-lp-cmt-muted);
	margin: 0;
}

#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .logged-in-as a {
	color: var(--bsi-lp-primary, #c9a66b);
}

#popup-course.bsi-lp-popup-course #popup-content #learn-press-item-comments .no-comments {
	margin: 0;
	font-size: 0.9375rem;
	color: var(--bsi-lp-cmt-muted);
}

/* Lesson footer: mark complete + prev/next on lesson body background */
#popup-course.bsi-lp-popup-course #popup-footer {
	background: var(--bsi-lp-lesson-body-bg, #f2efe9) !important;
	color: var(--bsi-lp-lesson-body-fg, #1a1a1a);
	border-top: 1px solid color-mix(in srgb, var(--bsi-lp-lesson-body-fg, #1a1a1a) 12%, var(--bsi-lp-lesson-body-bg, #f2efe9)) !important;
	padding: 1rem 1rem 1.25rem;
	box-sizing: border-box;
}

#popup-course.bsi-lp-popup-course #popup-footer:not(:has(.bsi-lp-lesson-footer__actions)) {
	display: none;
	border: none;
	padding: 0;
	margin: 0 !important;
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #popup-footer {
	margin-top: 1.5rem !important;
	margin-bottom: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	width: 100% !important;
	max-width: none !important;
	box-sizing: border-box;
}

.bsi-lp-lesson-footer__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1rem;
	max-width: min(var(--bsi-lp-lesson-main-max, 52rem), 100%);
	margin-inline: auto;
	box-sizing: border-box;
}

.bsi-lp-lesson-footer__actions:not(:has(.bsi-lp-lesson-footer__complete)) {
	justify-content: flex-end;
}

.bsi-lp-lesson-footer__nav {
	margin-left: auto;
	flex: 0 0 auto;
}

.bsi-lp-lesson-footer__nav-buttons {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.5rem;
}

.bsi-lp-lesson-footer__complete-form {
	margin: 0;
	display: block;
}

#popup-course.bsi-lp-popup-course #popup-footer .bsi-lp-lesson-footer__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	box-sizing: border-box;
	font-family: var(--bsi-lp-nav-btn-ff, inherit);
	font-size: 0.78rem;
	font-weight: var(--bsi-lp-nav-btn-fw, 600);
	line-height: 1.25;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	padding: 0.55rem 1rem;
	min-height: 2.5rem;
	border-radius: 4px;
	border: 1px solid transparent;
	cursor: pointer;
	transition:
		background-color 0.18s ease,
		color 0.18s ease,
		border-color 0.18s ease,
		opacity 0.18s ease;
}

#popup-course.bsi-lp-popup-course #popup-footer .bsi-lp-lesson-footer__btn-label {
	display: inline-block;
}

#popup-course.bsi-lp-popup-course #popup-footer .bsi-lp-lesson-footer__btn-arrow {
	font-size: 1em;
	line-height: 1;
	font-weight: 400;
}

#popup-course.bsi-lp-popup-course #popup-footer .bsi-lp-lesson-footer__btn-icon {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
}

#popup-course.bsi-lp-popup-course #popup-footer .bsi-lp-lesson-footer__btn-icon-svg {
	display: block;
}

#popup-course.bsi-lp-popup-course #popup-footer .bsi-lp-lesson-footer__btn--prev {
	color: var(--bsi-lp-primary, #2d6a4f) !important;
	background: transparent !important;
	border-color: var(--bsi-lp-primary, #2d6a4f) !important;
}

#popup-course.bsi-lp-popup-course #popup-footer .bsi-lp-lesson-footer__btn--prev:hover,
#popup-course.bsi-lp-popup-course #popup-footer .bsi-lp-lesson-footer__btn--prev:focus-visible {
	color: var(--bsi-lp-nav-btn-fg, #fff) !important;
	background: var(--bsi-lp-primary, #2d6a4f) !important;
	border-color: var(--bsi-lp-primary, #2d6a4f) !important;
}

#popup-course.bsi-lp-popup-course #popup-footer .bsi-lp-lesson-footer__btn--next {
	color: var(--bsi-lp-nav-btn-fg, #fff) !important;
	background: var(--bsi-lp-primary, #2d6a4f) !important;
	border-color: var(--bsi-lp-primary, #2d6a4f) !important;
}

#popup-course.bsi-lp-popup-course #popup-footer .bsi-lp-lesson-footer__btn--next:hover,
#popup-course.bsi-lp-popup-course #popup-footer .bsi-lp-lesson-footer__btn--next:focus-visible {
	filter: brightness(1.06);
}

#popup-course.bsi-lp-popup-course #popup-footer .bsi-lp-lesson-footer__btn--complete {
	color: var(--bsi-lp-lesson-body-fg, #1a1a1a) !important;
	background: var(--bsi-lp-accent, #e4c892) !important;
	border-color: var(--bsi-lp-accent, #e4c892) !important;
	width: auto;
}

#popup-course.bsi-lp-popup-course #popup-footer .bsi-lp-lesson-footer__btn--complete:hover,
#popup-course.bsi-lp-popup-course #popup-footer .bsi-lp-lesson-footer__btn--complete:focus-visible {
	background: var(--bsi-lp-accent-2, #a88455) !important;
	border-color: var(--bsi-lp-accent-2, #a88455) !important;
}

#popup-course.bsi-lp-popup-course #popup-footer .bsi-lp-lesson-footer__btn--completed {
	color: color-mix(in srgb, var(--bsi-lp-lesson-body-fg, #1a1a1a) 55%, var(--bsi-lp-lesson-body-bg, #f2efe9)) !important;
	background: color-mix(in srgb, var(--bsi-lp-lesson-body-fg, #1a1a1a) 8%, var(--bsi-lp-lesson-body-bg, #f2efe9)) !important;
	border-color: color-mix(in srgb, var(--bsi-lp-lesson-body-fg, #1a1a1a) 18%, var(--bsi-lp-lesson-body-bg, #f2efe9)) !important;
	cursor: default;
}

@media (max-width: 640px) {
	.bsi-lp-lesson-footer__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.bsi-lp-lesson-footer__complete,
	.bsi-lp-lesson-footer__complete-form,
	#popup-course.bsi-lp-popup-course #popup-footer .bsi-lp-lesson-footer__btn--complete {
		width: 100%;
	}

	.bsi-lp-lesson-footer__nav {
		width: 100%;
		margin-left: 0;
	}

	.bsi-lp-lesson-footer__nav-buttons {
		width: 100%;
		justify-content: flex-end;
	}
}

#popup-course.bsi-lp-popup-course .bsi-lp-sticky-nav {
	background: var(
		--bsi-lp-nav-btn-bg,
		color-mix(in srgb, var(--bsi-lp-lesson-body-fg) 4%, var(--bsi-lp-lesson-body-bg))
	);
	border-bottom: 1px solid color-mix(in srgb, var(--bsi-lp-lesson-body-fg) 10%, var(--bsi-lp-lesson-body-bg));
	border-bottom-color: var(--bsi-lp-nav-btn-accent, color-mix(in srgb, var(--bsi-lp-lesson-body-fg) 10%, var(--bsi-lp-lesson-body-bg)));
}

#popup-course.bsi-lp-popup-course .bsi-lp-sticky-nav__link {
	color: var(--bsi-lp-nav-btn-fg, var(--bsi-lp-lesson-body-fg));
	font-family: var(--bsi-lp-nav-btn-ff, inherit);
	font-size: var(--bsi-lp-nav-btn-fs, inherit);
	font-weight: var(--bsi-lp-nav-btn-fw, inherit);
	line-height: var(--bsi-lp-nav-btn-lh, inherit);
	letter-spacing: var(--bsi-lp-nav-btn-ls, normal);
}

#popup-course.bsi-lp-popup-course .bsi-lp-sticky-nav__link:hover {
	color: var(--bsi-lp-nav-btn-accent, var(--bsi-lp-primary));
}

/*
 * Lesson column + rail (2:1 grid = main ~66.7%, rail ≤33.3%).
 * Rail first in DOM → stacks on top on mobile; desktop places rail right (cols 2–3 of implicit 3-col).
 * Main body: centered reading column + horizontal padding (module-style spacing).
 */
#popup-course.bsi-lp-popup-course #learn-press-content-item {
	min-height: 0;
	--bsi-lp-lesson-main-max: min(52rem, 100%);
	--bsi-lp-lesson-main-pad-inline: clamp(1rem, 3.5vw, 2.25rem);
	--bsi-lp-lesson-col-gap: clamp(1.25rem, 3.2vw, 2.75rem);
	max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
}

#popup-course.bsi-lp-popup-course .bsi-lp-lesson-layout {
	display: grid;
	gap: var(--bsi-lp-lesson-col-gap);
	align-items: start;
	grid-template-columns: 1fr;
	padding-top: 2vh;
}

#popup-course.bsi-lp-popup-course .bsi-lp-lesson-layout__main {
	min-width: 0;
	display: flex;
	flex-direction: column;
	min-height: 0;
}

#popup-course.bsi-lp-popup-course .bsi-lp-lesson-layout__main .content-item-scrollable {
	flex: 1 1 auto;
	min-height: 0;
	padding-inline: var(--bsi-lp-lesson-main-pad-inline);
	box-sizing: border-box;
}

/* Centered article column inside the 2fr main track (overrides LP 792px when wider readability is desired) */
#popup-course.bsi-lp-popup-course .bsi-lp-lesson-layout__main .content-item-wrap {
	max-width: var(--bsi-lp-lesson-main-max);
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	box-sizing: border-box;
	padding-top: 0px;
}

@media (min-width: 1024px) {
	/* Three equal tracks: main spans 2, rail spans 1 → rail is exactly one-third of the row */
	#popup-course.bsi-lp-popup-course .bsi-lp-lesson-layout {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	#popup-course.bsi-lp-popup-course .bsi-lp-lesson-layout__main {
		grid-column: 1 / span 2;
		grid-row: 1;
	}

	#popup-course.bsi-lp-popup-course .bsi-lp-lesson-layout__rail {
		grid-column: 3;
		grid-row: 1;
		min-width: 0;
		max-width: 100%;
		width: 100%;
		position: sticky;
		top: 0.75rem;
		align-self: start;
		max-height: calc(100vh - var(--bsi-lp-lesson-shell-top, 0px) - 2.5rem);
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}

	/* No rail (e.g. guest / not enrolled): main spans full width instead of 2/3 empty grid track */
	#popup-course.bsi-lp-popup-course .bsi-lp-lesson-layout--no-rail {
		grid-template-columns: minmax(0, 1fr);
	}

	#popup-course.bsi-lp-popup-course .bsi-lp-lesson-layout--no-rail .bsi-lp-lesson-layout__main {
		grid-column: 1 / -1;
		grid-row: 1;
	}
}

#popup-course.bsi-lp-popup-course .bsi-lp-rail-card {
	background: color-mix(in srgb, var(--bsi-lp-lesson-body-fg) 5%, #fff);
	color: var(--bsi-lp-lesson-body-fg, #1a1a1a);
	border: 1px solid color-mix(in srgb, var(--bsi-lp-lesson-body-fg) 12%, var(--bsi-lp-lesson-body-bg, #f2efe9));
	border-radius: 8px;
	padding: 0.65rem 0.75rem 0.75rem;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

#popup-course.bsi-lp-popup-course .bsi-lp-rail-divider {
	height: 0;
	margin: 0.65rem 0;
	border: 0;
	border-top: 1px solid color-mix(in srgb, var(--bsi-lp-lesson-body-fg) 10%, var(--bsi-lp-lesson-body-bg, #f2efe9));
}

body.course-item-popup #popup-course.bsi-lp-popup-course .bsi-lp-rail-objectives__title,
body.course-item-popup #popup-course.bsi-lp-popup-course .bsi-lp-rail-notes__title,
body.course-item-popup #popup-course.bsi-lp-popup-course .bsi-lp-rail-progress__title {
	margin: 0 0 0.4rem;
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--bsi-lp-primary, #b8860b);
}

#popup-course.bsi-lp-popup-course .bsi-lp-rail-objectives__excerpt {
	margin: 0 0 0.5rem;
	font-size: 0.8125rem;
	line-height: 1.45;
	color: var(--bsi-lp-lesson-body-fg, #1a1a1a);
}

body.course-item-popup #popup-course.bsi-lp-popup-course .bsi-lp-rail-objectives__comp-label {
	margin: 0 0 0.35rem;
	font-size: 0.6rem;
	font-weight: 600;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--bsi-lp-lesson-body-muted);
}

#popup-course.bsi-lp-popup-course .bsi-lp-rail-competency-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	counter-reset: comp;
}

#popup-course.bsi-lp-popup-course .bsi-lp-rail-competency-list__item {
	counter-increment: comp;
	display: flex;
	align-items: flex-start;
	gap: 0.45rem;
	margin: 0;
	font-size: 0.8125rem;
	line-height: 1.4;
}

#popup-course.bsi-lp-popup-course .bsi-lp-rail-competency-list__badge {
	flex: 0 0 auto;
	width: 1.25rem;
	height: 1.25rem;
	border-radius: 50%;
	background: color-mix(in srgb, var(--bsi-lp-primary, #6a8f6a) 42%, #c5e6c8);
	border: 1px solid color-mix(in srgb, var(--bsi-lp-primary, #5a7) 28%, #9ccc9c);
}

#popup-course.bsi-lp-popup-course .bsi-lp-rail-competency-list__badge::before {
	content: counter(comp);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-size: 0.625rem;
	font-weight: 700;
	color: #fff;
}

#popup-course.bsi-lp-popup-course .bsi-lp-rail-competency-list__text {
	flex: 1 1 auto;
	min-width: 0;
}

#popup-course.bsi-lp-popup-course .bsi-lp-rail-progress__grid {
	display: flex;
	flex-wrap: wrap;
	gap: 0.3rem;
}

#popup-course.bsi-lp-popup-course .bsi-lp-rail-progress__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.75rem;
	height: 1.75rem;
	padding: 0 0.25rem;
	border-radius: 3px;
	border: 1px solid color-mix(in srgb, var(--bsi-lp-lesson-body-fg) 14%, #ddd);
	background: color-mix(in srgb, var(--bsi-lp-lesson-body-fg) 5%, #f5f5f5);
	color: var(--bsi-lp-lesson-body-fg, #1a1a1a);
	font-size: 0.6875rem;
	font-weight: 600;
	text-decoration: none;
	line-height: 1;
	box-sizing: border-box;
}

#popup-course.bsi-lp-popup-course .bsi-lp-rail-progress__btn:hover,
#popup-course.bsi-lp-popup-course .bsi-lp-rail-progress__btn:focus-visible {
	border-color: var(--bsi-lp-primary, #a88455);
	color: var(--bsi-lp-primary, #c9a66b);
}

#popup-course.bsi-lp-popup-course .bsi-lp-rail-progress {
	/* Filled pill: bg uses course primary; fg uses popup chrome text (designed for dark shell / wheat type). */
	--bsi-lp-rail-current-bg: var(--bsi-lp-primary, #c9a66b);
	--bsi-lp-rail-current-fg: var(--bsi-lp-pb-fg, var(--bsi-lp-text, #ece6dc));
}

#popup-course.bsi-lp-popup-course .bsi-lp-rail-progress__btn.is-current {
	background: var(--bsi-lp-rail-current-bg);
	border-color: color-mix(in srgb, var(--bsi-lp-rail-current-bg) 68%, var(--bsi-lp-rail-current-fg) 32%);
	color: var(--bsi-lp-rail-current-fg);
	font-weight: 700;
	text-decoration: none;
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content .bsi-lp-lesson-layout__rail a.bsi-lp-rail-progress__btn.is-current {
	background: var(--bsi-lp-rail-current-bg);
	border-color: color-mix(in srgb, var(--bsi-lp-rail-current-bg) 68%, var(--bsi-lp-rail-current-fg) 32%);
	color: var(--bsi-lp-rail-current-fg);
	text-decoration: none;
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content .bsi-lp-lesson-layout__rail a.bsi-lp-rail-progress__btn.is-current:hover,
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content .bsi-lp-lesson-layout__rail a.bsi-lp-rail-progress__btn.is-current:focus-visible {
	background: color-mix(in srgb, var(--bsi-lp-rail-current-bg) 88%, #000);
	border-color: color-mix(in srgb, var(--bsi-lp-rail-current-bg) 58%, var(--bsi-lp-rail-current-fg) 42%);
	color: var(--bsi-lp-rail-current-fg);
}

#popup-course.bsi-lp-popup-course .bsi-lp-rail-progress__btn.is-completed:not(.is-current) {
	text-decoration: line-through;
	opacity: 0.85;
}

#popup-course.bsi-lp-popup-course .bsi-lp-rail-progress__btn.is-section.is-completed:not(.is-current) {
	text-decoration: none;
}

#popup-course.bsi-lp-popup-course .bsi-lp-notes-panel {
	border: 1px solid color-mix(in srgb, var(--bsi-lp-lesson-body-fg) 12%, #e0e0e0);
	background: var(--bsi-lp-notes-bg, #fafafa);
	border-radius: 5px;
	padding: 0.45rem 0.5rem 0.5rem;
	color: var(--bsi-lp-notes-fg, inherit);
	font-family: var(--bsi-lp-notes-ff, inherit);
	font-weight: var(--bsi-lp-notes-fw, inherit);
	letter-spacing: var(--bsi-lp-notes-ls, normal);
}

#popup-course.bsi-lp-popup-course .bsi-lp-rail-card .bsi-lp-notes-panel {
	background: color-mix(in srgb, var(--bsi-lp-lesson-body-bg, #f2efe9) 55%, #fff);
}

#popup-course.bsi-lp-popup-course .bsi-lp-notes-panel__field {
	width: 100%;
	box-sizing: border-box;
	margin-top: 0.25rem;
	font-family: inherit;
	font-size: var(--bsi-lp-notes-fs, 0.8125rem);
	line-height: var(--bsi-lp-notes-lh, 1.4);
	padding: 0.4rem 0.45rem;
	border-radius: 4px;
}

#popup-course.bsi-lp-popup-course .bsi-lp-notes-panel__actions {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	margin-top: 0.45rem;
	align-items: stretch;
}

#popup-course.bsi-lp-popup-course .bsi-lp-notes-panel__save.button {
	position: relative;
	width: 100%;
	background: var(--bsi-lp-pb-bg, #1a2f1a);
	color: var(--bsi-lp-pb-fg, #fff);
	border: none;
	font-size: 0.625rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 0.35rem 0.55rem;
	border-radius: 4px;
	line-height: 1.2;
	transition:
		background-color 0.15s ease,
		box-shadow 0.15s ease,
		transform 0.15s ease,
		opacity 0.15s ease;
}

#popup-course.bsi-lp-popup-course .bsi-lp-notes-panel__save.button:hover:not(:disabled):not(.is-saving),
#popup-course.bsi-lp-popup-course .bsi-lp-notes-panel__save.button:focus-visible:not(:disabled):not(.is-saving) {
	background: color-mix(in srgb, var(--bsi-lp-pb-bg, #1a2f1a) 82%, #000);
	box-shadow: 0 2px 6px color-mix(in srgb, var(--bsi-lp-pb-bg, #1a2f1a) 35%, transparent);
	transform: translateY(-1px);
}

#popup-course.bsi-lp-popup-course .bsi-lp-notes-panel__save.button:active:not(:disabled):not(.is-saving) {
	transform: translateY(0);
	box-shadow: none;
}

#popup-course.bsi-lp-popup-course .bsi-lp-notes-panel__save.button.is-saving {
	cursor: wait;
	opacity: 0.92;
}

#popup-course.bsi-lp-popup-course .bsi-lp-notes-panel__save.button.is-saving .bsi-lp-notes-panel__save-label {
	visibility: hidden;
}

#popup-course.bsi-lp-popup-course .bsi-lp-notes-panel__dashboard.button {
	width: 100%;
	background: color-mix(in srgb, var(--bsi-lp-lesson-body-fg) 5%, #fff);
	color: var(--bsi-lp-lesson-body-fg, #1a1a1a);
	border: 1px solid color-mix(in srgb, var(--bsi-lp-lesson-body-fg) 22%, #ccc);
	font-size: 0.625rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 0.35rem 0.55rem;
	border-radius: 4px;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition:
		background-color 0.15s ease,
		border-color 0.15s ease,
		color 0.15s ease,
		box-shadow 0.15s ease,
		transform 0.15s ease;
}

#popup-course.bsi-lp-popup-course .bsi-lp-notes-panel__dashboard.button:hover,
#popup-course.bsi-lp-popup-course .bsi-lp-notes-panel__dashboard.button:focus-visible {
	background: color-mix(in srgb, var(--bsi-lp-lesson-body-fg) 10%, #fff);
	border-color: color-mix(in srgb, var(--bsi-lp-lesson-body-fg) 38%, #ccc);
	color: var(--bsi-lp-lesson-body-fg, #1a1a1a);
	box-shadow: 0 2px 6px color-mix(in srgb, var(--bsi-lp-lesson-body-fg) 12%, transparent);
	transform: translateY(-1px);
	text-decoration: none;
}

#popup-course.bsi-lp-popup-course .bsi-lp-notes-panel__dashboard.button:active {
	transform: translateY(0);
	box-shadow: none;
}

#popup-course.bsi-lp-popup-course .bsi-lp-notes-panel__label,
#popup-course.bsi-lp-popup-course .bsi-lp-notes-panel__status {
	color: var(--bsi-lp-lesson-body-muted);
	font-size: 0.6875rem;
}

/* --- Popup sidebar (curriculum rail): inherits --bsi-lp-pb-* from #popup-course --- */
#popup-sidebar.bsi-lp-popup-sidebar {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: var(--bsi-lp-pb-bg);
	color: var(--bsi-lp-pb-fg);
	font-family: var(--bsi-lp-sidebar-ff, inherit);
	font-weight: var(--bsi-lp-sidebar-fw, inherit);
	letter-spacing: var(--bsi-lp-sidebar-ls, normal);
	box-shadow: 0 15px 30px rgba(0, 0, 0, 0.18);
}

#popup-sidebar.bsi-lp-popup-sidebar .bsi-lp-popup-sidebar__main {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-height: 0;
	position: relative;
}

/* Popup shortcut nav: single collapsible block in sidebar (all breakpoints). */
#popup-sidebar.bsi-lp-popup-sidebar .bsi-lp-popup-sidebar__nav-wrap {
	padding: 0.45rem 1rem 0.5rem;
	border-bottom: 1px solid var(--bsi-lp-pb-border);
	background: color-mix(in srgb, var(--bsi-lp-pb-fg) 6%, var(--bsi-lp-pb-bg));
	flex: 0 0 auto;
}

#popup-sidebar.bsi-lp-popup-sidebar .bsi-lp-popup-dashboard-nav {
	margin: 0;
}

#popup-sidebar.bsi-lp-popup-sidebar .bsi-lp-popup-dashboard-nav > summary {
	list-style: none;
	cursor: pointer;
	padding: 0.45rem 0 0.5rem;
	margin: 0;
	font-family: var(--bsi-lp-topbar-ff, inherit);
	font-size: max(0.72rem, var(--bsi-lp-pb-meta-fs));
	font-weight: var(--bsi-lp-topbar-fw, 700);
	line-height: 1.35;
	letter-spacing: var(--bsi-lp-topbar-ls, 0.1em);
	text-transform: uppercase;
	color: var(--bsi-lp-pb-label);
}

#popup-sidebar.bsi-lp-popup-sidebar .bsi-lp-popup-dashboard-nav > summary::-webkit-details-marker {
	display: none;
}

#popup-sidebar.bsi-lp-popup-sidebar .bsi-lp-popup-dashboard-nav__row {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	column-gap: 0.5rem;
	width: 100%;
}

#popup-sidebar.bsi-lp-popup-sidebar .bsi-lp-popup-dashboard-nav__row-ico {
	flex: 0 0 auto;
	font-size: 1rem;
	opacity: 0.95;
}

#popup-sidebar.bsi-lp-popup-sidebar .bsi-lp-popup-dashboard-nav__title {
	flex: 1 1 auto;
	min-width: 0;
}

#popup-sidebar.bsi-lp-popup-sidebar .bsi-lp-popup-dashboard-nav__chevron {
	flex: 0 0 auto;
	margin-left: auto;
	font-size: 0.65rem;
	opacity: 0.88;
	transition: transform 0.2s ease;
}

#popup-sidebar.bsi-lp-popup-sidebar .bsi-lp-popup-dashboard-nav[open] .bsi-lp-popup-dashboard-nav__chevron {
	transform: rotate(180deg);
}

#popup-sidebar.bsi-lp-popup-sidebar .bsi-lp-popup-dashboard-nav__body {
	padding: 0.2rem 0 0.15rem;
	margin-top: 0.15rem;
	border-top: 1px solid color-mix(in srgb, var(--bsi-lp-pb-fg) 12%, transparent);
}

#popup-sidebar.bsi-lp-popup-sidebar .bsi-lp-popup-topbar--sidebar {
	display: block;
	width: 100%;
	padding: 0;
	margin: 0;
	border: none;
	min-width: 0;
}

#popup-sidebar.bsi-lp-popup-sidebar .bsi-lp-popup-topbar--sidebar .bsi-lp-popup-topbar__list {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	row-gap: 0;
	column-gap: 0;
	overflow-x: visible;
	overflow-y: visible;
	list-style: none;
	margin: 0;
	padding: 0;
}

#popup-sidebar.bsi-lp-popup-sidebar .bsi-lp-popup-topbar--sidebar .bsi-lp-popup-topbar__item {
	display: block;
	width: 100%;
	flex: 0 0 auto;
}

#popup-sidebar.bsi-lp-popup-sidebar .bsi-lp-popup-topbar--sidebar .bsi-lp-popup-topbar__item + .bsi-lp-popup-topbar__item::before {
	display: none;
}

#popup-sidebar.bsi-lp-popup-sidebar .bsi-lp-popup-topbar--sidebar .bsi-lp-popup-topbar__link {
	display: flex;
	flex-direction: row;
	align-items: center;
	column-gap: 0.55rem;
	width: 100%;
	padding: 0.5rem 0.35rem 0.5rem 0.1rem;
	box-sizing: border-box;
	font-family: var(--bsi-lp-topbar-ff, inherit);
	font-size: max(0.6875rem, var(--bsi-lp-pb-meta-fs));
	font-weight: var(--bsi-lp-topbar-fw, 600);
	line-height: var(--bsi-lp-topbar-lh, 1.35);
	letter-spacing: var(--bsi-lp-topbar-ls, 0.12em);
	text-transform: uppercase;
	text-decoration: none;
	color: color-mix(in srgb, var(--bsi-lp-pb-fg) 90%, transparent);
	white-space: normal;
	word-break: break-word;
	border-bottom: 1px solid color-mix(in srgb, var(--bsi-lp-pb-fg) 10%, transparent);
	transition: color 0.15s ease;
}

#popup-sidebar.bsi-lp-popup-sidebar .bsi-lp-popup-topbar--sidebar .bsi-lp-popup-topbar__ico {
	flex: 0 0 auto;
	width: 1.35rem;
	text-align: center;
	font-size: 1rem;
	line-height: 1;
	color: color-mix(in srgb, var(--bsi-lp-pb-fg) 72%, transparent);
}

#popup-sidebar.bsi-lp-popup-sidebar .bsi-lp-popup-topbar--sidebar .bsi-lp-popup-topbar__label {
	flex: 1 1 auto;
	min-width: 0;
}

#popup-sidebar.bsi-lp-popup-sidebar .bsi-lp-popup-topbar--sidebar .bsi-lp-popup-topbar__item:last-child .bsi-lp-popup-topbar__link {
	border-bottom: none;
	padding-bottom: 0.2rem;
}

#popup-sidebar.bsi-lp-popup-sidebar .bsi-lp-popup-topbar--sidebar .bsi-lp-popup-topbar__link:hover,
#popup-sidebar.bsi-lp-popup-sidebar .bsi-lp-popup-topbar--sidebar .bsi-lp-popup-topbar__link:focus-visible {
	color: var(--bsi-lp-pb-label);
	outline: none;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

#popup-sidebar.bsi-lp-popup-sidebar .bsi-lp-popup-topbar--sidebar .bsi-lp-popup-topbar__link:hover .bsi-lp-popup-topbar__ico,
#popup-sidebar.bsi-lp-popup-sidebar .bsi-lp-popup-topbar--sidebar .bsi-lp-popup-topbar__link:focus-visible .bsi-lp-popup-topbar__ico {
	color: var(--bsi-lp-pb-label);
}

#popup-sidebar.bsi-lp-popup-sidebar .bsi-lp-popup-sidebar__footer {
	flex: 0 0 auto;
	padding: 1rem 1.1rem 1.25rem;
	border-top: 1px solid var(--bsi-lp-pb-border);
	background: var(--bsi-lp-pb-bg);
}

#popup-sidebar.bsi-lp-popup-sidebar .search-course {
	height: auto;
	min-height: 3.25rem;
	padding: 0.35rem 0;
	background: color-mix(in srgb, var(--bsi-lp-pb-fg) 6%, var(--bsi-lp-pb-bg));
	border-bottom: 1px solid var(--bsi-lp-pb-border);
}

#popup-sidebar.bsi-lp-popup-sidebar .search-course input[name="s"] {
	color: var(--bsi-lp-pb-fg);
	font-size: var(--bsi-lp-pb-meta-fs);
}

#popup-sidebar.bsi-lp-popup-sidebar .search-course input[name="s"]::placeholder {
	color: var(--bsi-lp-pb-muted);
}

#popup-sidebar.bsi-lp-popup-sidebar .search-course button i {
	color: var(--bsi-lp-pb-muted);
}

/* Replace LP absolute curriculum scroll with flex fill */
#popup-sidebar.bsi-lp-popup-sidebar .lp-course-curriculum {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
	overflow: hidden;
	position: relative !important;
	top: auto !important;
	bottom: auto !important;
	width: 100% !important;
}

#popup-sidebar.bsi-lp-popup-sidebar .course-curriculum {
	position: relative !important;
	top: auto !important;
	bottom: auto !important;
	left: auto !important;
	width: 100% !important;
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
	background: var(--bsi-lp-pb-bg);
}

#popup-sidebar.bsi-lp-popup-sidebar .course-curriculum::-webkit-scrollbar-thumb {
	background: color-mix(in srgb, var(--bsi-lp-pb-fg) 28%, transparent);
}

#popup-sidebar.bsi-lp-popup-sidebar .course-curriculum::-webkit-scrollbar-track {
	background: color-mix(in srgb, var(--bsi-lp-pb-fg) 6%, transparent);
}

/* Mission briefing header */
#popup-sidebar.bsi-lp-popup-sidebar .bsi-lp-sidebar-heading-wrap {
	display: block;
	margin: 0;
	padding: 1rem 1.1rem 0.65rem;
	border-bottom: 1px solid var(--bsi-lp-pb-border);
}

#popup-sidebar.bsi-lp-popup-sidebar .bsi-lp-sidebar-heading-wrap .bsi-lp-sidebar-heading {
	display: block;
	margin: 0;
	padding: 0;
	font-size: var(--bsi-lp-pb-meta-fs);
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--bsi-lp-pb-label);
	opacity: 1;
	border-bottom: none;
}

#popup-sidebar.bsi-lp-popup-sidebar .bsi-lp-curriculum-stats {
	margin: 0.35rem 0 0;
	padding: 0;
	font-size: 0.6875rem;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0.02em;
	text-transform: none;
	color: var(--bsi-lp-pb-muted);
}

#popup-sidebar.bsi-lp-popup-sidebar .bsi-lp-sidebar-heading {
	display: block;
	margin: 0;
	padding: 1rem 1.1rem 0.6rem;
	font-size: var(--bsi-lp-pb-meta-fs);
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--bsi-lp-pb-label);
	opacity: 1;
	border-bottom: 1px solid var(--bsi-lp-pb-border);
}

#popup-sidebar.bsi-lp-popup-sidebar .lp-course-curriculum__title {
	display: none !important;
}

/* Sections + collapsible headers */
#popup-sidebar.bsi-lp-popup-sidebar .course-section {
	margin: 0 0 0.35rem !important;
	border: none !important;
	border-radius: 0 !important;
	overflow: hidden;
	background: transparent;
	border-bottom: 1px solid var(--bsi-lp-pb-border);
	cursor: pointer;
}

#popup-sidebar.bsi-lp-popup-sidebar .course-section:last-child {
	border-bottom: none;
	margin-bottom: 0 !important;
}

#popup-sidebar.bsi-lp-popup-sidebar .course-section-header {
	display: flex !important;
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.65rem;
	padding: 0.85rem 1rem !important;
	margin: 0 !important;
	column-gap: 0.65rem !important;
	background: color-mix(in srgb, var(--bsi-lp-pb-fg) 8%, var(--bsi-lp-pb-bg)) !important;
	position: sticky;
	top: 0;
	z-index: 3;
	box-sizing: border-box;
}

#popup-sidebar.bsi-lp-popup-sidebar .course-section-header .course-section-info {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0 !important;
}

#popup-sidebar.bsi-lp-popup-sidebar .bsi-lp-section-module-label {
	display: block;
	margin: 0 0 0.2rem;
	padding: 0;
	font-size: 0.6875rem;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--bsi-lp-pb-label);
	opacity: 0.85;
}

#popup-sidebar.bsi-lp-popup-sidebar .course-section__title {
	font-size: var(--bsi-lp-pb-section-fs);
	font-weight: 600;
	line-height: 1.35;
	color: var(--bsi-lp-pb-fg);
	margin: 0;
}

#popup-sidebar.bsi-lp-popup-sidebar .course-section__description {
	margin: 0.35rem 0 0 !important;
	font-size: var(--bsi-lp-pb-meta-fs);
	line-height: 1.4;
	color: var(--bsi-lp-pb-muted);
}

#popup-sidebar.bsi-lp-popup-sidebar .course-section-header .section-toggle {
	flex: 0 0 auto;
	line-height: 1;
	color: var(--bsi-lp-pb-label);
}

#popup-sidebar.bsi-lp-popup-sidebar .course-section-header .section-toggle i {
	font-size: 1.15rem !important;
	opacity: 0.9;
}

#popup-sidebar.bsi-lp-popup-sidebar .course-section-header .section-count-items {
	min-width: 1.75rem;
	padding: 0.15rem 0.35rem;
	font-size: var(--bsi-lp-pb-meta-fs);
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	color: var(--bsi-lp-pb-muted);
	background: color-mix(in srgb, var(--bsi-lp-pb-fg) 10%, transparent);
	border-radius: 4px;
}

#popup-sidebar.bsi-lp-popup-sidebar .course-sections {
	margin: 0;
	padding: 0 0 0.35rem;
	list-style: none;
}

#popup-sidebar.bsi-lp-popup-sidebar .course-section__items {
	margin: 0;
	padding: 0;
	list-style: none;
	border: none;
	background: var(--bsi-lp-pb-bg);
}

#popup-sidebar.bsi-lp-popup-sidebar .course-item {
	margin: 0;
	padding: 0;
	border: none;
	border-top: 1px solid var(--bsi-lp-pb-border);
	list-style: none;
	background: transparent;
}

#popup-sidebar.bsi-lp-popup-sidebar .course-section__items .course-item:first-child {
	border-top: none;
}

#popup-sidebar.bsi-lp-popup-sidebar .course-item__link {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 0.65rem;
	padding: 0.65rem 1rem;
	text-decoration: none;
	color: inherit;
	border-radius: 6px;
	transition: background 0.15s ease;
}

#popup-sidebar.bsi-lp-popup-sidebar .course-item.current .course-item__link,
#popup-sidebar.bsi-lp-popup-sidebar .course-item .course-item__link:hover {
	background: var(--bsi-lp-pb-active);
}

#popup-sidebar.bsi-lp-popup-sidebar .course-item__status {
	flex: 0 0 auto;
	margin-top: 0.15rem;
}

#popup-sidebar.bsi-lp-popup-sidebar .course-item__status .course-item-ico {
	display: inline-block;
	width: 1.05rem;
	height: 1.05rem;
	border: 1px solid var(--bsi-lp-pb-muted);
	border-radius: 50%;
	background: transparent;
	box-sizing: border-box;
	transition:
		background 0.45s ease,
		border-color 0.45s ease,
		transform 0.35s ease,
		opacity 0.35s ease;
}

#popup-sidebar.bsi-lp-popup-sidebar .course-item__status .course-item-ico::before {
	display: none !important;
	content: none !important;
}

#popup-sidebar.bsi-lp-popup-sidebar .course-item.current::before,
#popup-sidebar.bsi-lp-popup-sidebar .course-item.current::after {
	display: none !important;
	content: none !important;
}

#popup-sidebar.bsi-lp-popup-sidebar .course-item__status .course-item-ico.passed.completed,
#popup-sidebar.bsi-lp-popup-sidebar .course-item__status .course-item-ico.completed:not(.in-progress):not(.started):not(.failed) {
	background: color-mix(in srgb, var(--bsi-lp-pb-fill) 55%, transparent);
	border-color: var(--bsi-lp-pb-fill);
	transform: scale(1);
}

#popup-sidebar.bsi-lp-popup-sidebar .course-item__status .course-item-ico.failed.completed {
	background: color-mix(in srgb, var(--bsi-lp-pb-fail) 55%, transparent);
	border-color: var(--bsi-lp-pb-fail);
	transform: scale(1);
}

#popup-sidebar.bsi-lp-popup-sidebar .course-item__status .course-item-ico.passed.completed.is-revealed,
#popup-sidebar.bsi-lp-popup-sidebar .course-item__status .course-item-ico.completed:not(.in-progress):not(.started):not(.failed).is-revealed,
#popup-sidebar.bsi-lp-popup-sidebar .course-item__status .course-item-ico.failed.completed.is-revealed {
	animation: bsi-lp-sidebar-complete-pop 0.45s ease;
}

#popup-sidebar.bsi-lp-popup-sidebar .course-item__info {
	display: none;
}

#popup-sidebar.bsi-lp-popup-sidebar .course-item__content {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
}

#popup-sidebar.bsi-lp-popup-sidebar .bsi-lp-item-meta {
	font-size: var(--bsi-lp-pb-meta-fs);
	line-height: 1.35;
	color: var(--bsi-lp-pb-muted);
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

#popup-sidebar.bsi-lp-popup-sidebar .course-item-title {
	font-size: var(--bsi-lp-pb-title-fs);
	font-weight: 500;
	line-height: 1.35;
	color: var(--bsi-lp-pb-fg);
	margin: 0;
}

/* Footer mission progress */
#popup-sidebar.bsi-lp-popup-sidebar .bsi-lp-mission-progress__label {
	font-family: var(--bsi-lp-progress-ff, inherit);
	font-size: var(--bsi-lp-progress-fs, var(--bsi-lp-pb-meta-fs));
	font-weight: var(--bsi-lp-progress-fw, 600);
	line-height: var(--bsi-lp-progress-lh, inherit);
	letter-spacing: var(--bsi-lp-progress-ls, 0.12em);
	text-transform: uppercase;
	color: var(--bsi-lp-pb-label);
	margin-bottom: 0.5rem;
}

#popup-sidebar.bsi-lp-popup-sidebar .bsi-lp-mission-progress__bar {
	height: 8px;
	border-radius: 4px;
	background: var(--bsi-lp-pb-track);
}

#popup-sidebar.bsi-lp-popup-sidebar .bsi-lp-mission-progress__fill {
	background: var(--bsi-lp-pb-fill);
	border-radius: 4px;
}

#popup-sidebar.bsi-lp-popup-sidebar .bsi-lp-mission-progress__counts {
	font-family: var(--bsi-lp-progress-ff, inherit);
	font-size: var(--bsi-lp-progress-fs, var(--bsi-lp-pb-meta-fs));
	font-weight: var(--bsi-lp-progress-fw, inherit);
	line-height: var(--bsi-lp-progress-lh, inherit);
	letter-spacing: var(--bsi-lp-progress-ls, 0.06em);
	margin-top: 0.45rem;
	color: var(--bsi-lp-pb-muted);
	text-transform: uppercase;
}

/* Tour overlay */
.bsi-lp-tour-backdrop {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	box-sizing: border-box;
}

.bsi-lp-tour-dialog {
	max-width: 42rem;
	width: 100%;
	max-height: 90vh;
	overflow: auto;
	padding: 1.5rem;
	background: var(--bsi-lp-tour-bg, color-mix(in srgb, var(--bsi-lp-bg, #0a0a0a) 8%, #f5f0e8));
	color: var(--bsi-lp-tour-fg, var(--bsi-lp-text, #111));
	font-family: var(--bsi-lp-tour-ff, inherit);
	font-size: var(--bsi-lp-tour-fs, inherit);
	font-weight: var(--bsi-lp-tour-fw, inherit);
	line-height: var(--bsi-lp-tour-lh, inherit);
	letter-spacing: var(--bsi-lp-tour-ls, normal);
	border-radius: 4px;
	position: relative;
	box-shadow: 0 8px 40px rgba(0, 0, 0, 0.25);
}

.bsi-lp-tour-dialog__header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 1rem;
	margin-bottom: 1rem;
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.bsi-lp-tour-dialog__skip {
	background: none;
	border: none;
	cursor: pointer;
	text-decoration: underline;
	font: inherit;
	color: inherit;
}

.bsi-lp-tour-dialog__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.5rem 1rem;
	margin-bottom: 0.75rem;
}

.bsi-lp-tour-dialog__index {
	font-weight: 600;
}

.bsi-lp-tour-dialog__tag {
	border: 1px solid currentColor;
	padding: 0.15rem 0.45rem;
	font-size: 0.65rem;
	text-transform: uppercase;
}

.bsi-lp-tour-dialog__subtitle {
	font-size: 1.5rem;
	margin: 0 0 0.5rem;
}

.bsi-lp-tour-dialog__body {
	margin-bottom: 1rem;
	line-height: 1.5;
}

.bsi-lp-tour-dialog__footer {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 0.75rem;
}

.bsi-lp-tour-dialog__dots {
	display: flex;
	gap: 0.35rem;
	justify-content: center;
	flex: 1 0 100%;
	order: 3;
	margin-top: 0.75rem;
}

.bsi-lp-tour-dot {
	width: 10px;
	height: 10px;
	border: 1px solid currentColor;
	opacity: 0.35;
	padding: 0;
	background: transparent;
	cursor: default;
}

.bsi-lp-tour-dot.is-active {
	opacity: 1;
	background: currentColor;
}

body.bsi-lp-tour-open {
	overflow: hidden;
}

/*
 * LearnPress confirm overlay (complete lesson / finish course).
 * Scoped to member course pages only (body.bsi-lp-course-view) and .lp-overlay
 * (footer template from LP_Assets::show_overlay). Does not target #lp-modal-content
 * (separate React modal) or admin .lp-modal-dialog.
 */
body.bsi-lp-course-view .lp-overlay {
	background-color: color-mix(in srgb, var(--bsi-lp-bg, #0a0a0a) 50%, transparent);
}

body.bsi-lp-course-view .lp-overlay .lp-modal-dialog .lp-modal-content {
	background: var(
		--bsi-lp-tour-bg,
		var(--bsi-lp-lesson-reading-bg, var(--bsi-lp-lesson-surface-bg, #f2efe9))
	);
	color: var(
		--bsi-lp-tour-fg,
		var(--bsi-lp-lesson-reading-fg, var(--bsi-lp-lesson-surface-fg, #1a1a1a))
	);
	font-family: var(--bsi-lp-tour-ff, var(--bsi-lp-lesson-reading-ff, inherit));
	font-size: var(--bsi-lp-tour-fs, inherit);
	font-weight: var(--bsi-lp-tour-fw, inherit);
	line-height: var(--bsi-lp-tour-lh, 1.45);
	letter-spacing: var(--bsi-lp-tour-ls, normal);
	border-radius: 4px;
}

body.bsi-lp-course-view .lp-overlay .lp-modal-dialog .lp-modal-content h2,
body.bsi-lp-course-view .lp-overlay .lp-modal-dialog .lp-modal-content h3 {
	color: inherit;
	font-family: inherit;
}

body.bsi-lp-course-view .lp-overlay .lp-modal-dialog .lp-modal-header {
	background: var(--bsi-lp-sidebar-bg, var(--bsi-lp-bg, #0a0a0a));
	border-bottom: 1px solid color-mix(in srgb, var(--bsi-lp-text, #ece6dc) 14%, transparent);
	padding: 1em 1.25rem;
}

body.bsi-lp-course-view .lp-overlay .lp-modal-dialog .lp-modal-header h3.modal-title {
	margin: 0;
	color: var(--bsi-lp-sidebar-fg, var(--bsi-lp-text, #ece6dc));
	font-family: var(--bsi-lp-sidebar-ff, inherit);
	font-size: var(--bsi-lp-sidebar-fs, 1.05rem);
	font-weight: var(--bsi-lp-sidebar-fw, 600);
	line-height: var(--bsi-lp-sidebar-lh, 1.25);
	letter-spacing: var(--bsi-lp-sidebar-ls, normal);
}

body.bsi-lp-course-view .lp-overlay .lp-modal-dialog .lp-modal-body .main-content {
	color: inherit;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
}

body.bsi-lp-course-view .lp-overlay .lp-modal-dialog .lp-modal-body .main-content .pd-2em {
	padding: 1.25rem 1.5rem;
}

body.bsi-lp-course-view .lp-overlay .lp-modal-dialog .lp-modal-footer {
	padding: 1rem 1.25rem 1.25rem;
	background: color-mix(
		in srgb,
		var(--bsi-lp-tour-bg, var(--bsi-lp-lesson-surface-bg, #f2efe9)) 88%,
		var(--bsi-lp-bg, #0a0a0a)
	);
	text-align: right;
}

body.bsi-lp-course-view .lp-overlay .lp-modal-dialog .lp-modal-footer .lp-button {
	font-family: var(--bsi-lp-nav-btn-ff, inherit);
	font-size: var(--bsi-lp-nav-btn-fs, inherit);
	font-weight: var(--bsi-lp-nav-btn-fw, 600);
	letter-spacing: var(--bsi-lp-nav-btn-ls, normal);
	border-radius: 2px;
}

body.bsi-lp-course-view .lp-overlay .lp-modal-dialog .lp-modal-footer .btn-no {
	color: var(--bsi-lp-nav-btn-fg, var(--bsi-lp-lesson-body-fg, #1a1a1a));
	background: color-mix(in srgb, var(--bsi-lp-lesson-body-fg, #1a1a1a) 8%, transparent);
	border: 1px solid color-mix(in srgb, var(--bsi-lp-lesson-body-fg, #1a1a1a) 18%, transparent);
}

body.bsi-lp-course-view .lp-overlay .lp-modal-dialog .lp-modal-footer .btn-yes {
	color: var(--bsi-lp-bg, #0a0a0a);
	background-color: var(--bsi-lp-nav-btn-accent, var(--bsi-lp-primary, #c9a66b));
	border: 1px solid transparent;
}

body.bsi-lp-course-view .lp-overlay .lp-modal-dialog .lp-modal-footer .btn-yes:hover,
body.bsi-lp-course-view .lp-overlay .lp-modal-dialog .lp-modal-footer .btn-yes:focus {
	background-color: var(--bsi-lp-accent, var(--bsi-lp-primary, #c9a66b));
}

/* --- Mission Control course dashboard (/dashboard/my-courses) --- */
body.bsi-lp-mission-dashboard-page .site-content,
body.bsi-lp-mission-dashboard-page #main,
body.bsi-lp-mission-dashboard-page .fusion-row {
	max-width: none;
}

body.bsi-lp-mission-dashboard-page .main-content.bsi-lp-dashboard-mission-main {
	flex: 1 1 auto;
	min-width: 0;
	width: 100%;
}

.bsi-lp-dashboard-mission-inner {
	width: 100%;
	max-width: none;
	padding: 0;
}

#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard,
.bsi-lp-mission-dashboard {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin: 0;
	min-height: 50vh;
	background: var(--bsi-lp-md-page-bg, #f0f2f5);
	color: var(--bsi-lp-md-fg, #1a1d21);
	font-family: inherit;
	--bsi-lp-md-header-title-fs: clamp(1.2rem, 1rem + 0.55vw, 1.48rem);
	--bsi-lp-md-card-title-fs: 0.875rem;
	--bsi-lp-md-h1-fs: clamp(1.1rem, 0.98rem + 0.4vw, 1.32rem);
	--bsi-lp-md-h2-fs: clamp(0.98rem, 0.92rem + 0.2vw, 1.05rem);
	--bsi-lp-md-h3-fs: 0.9rem;
	--bsi-lp-md-h4-fs: 0.86rem;
	--bsi-lp-md-h5-fs: 0.82rem;
	--bsi-lp-md-h6-fs: 0.8rem;
}

/* Mission dashboard: compact heading scale (beats Avada .post-content / theme h#). */
body.bsi-lp-mission-dashboard-page #bsi-lp-mission-dashboard.bsi-lp-mission-dashboard :is(h1, h2, h3, h4, h5, h6) {
	font-family: inherit !important;
	line-height: 1.25;
}

body.bsi-lp-mission-dashboard-page #bsi-lp-mission-dashboard.bsi-lp-mission-dashboard h1 {
	font-size: var(--bsi-lp-md-h1-fs) !important;
	font-weight: 700 !important;
}

body.bsi-lp-mission-dashboard-page #bsi-lp-mission-dashboard.bsi-lp-mission-dashboard h2 {
	font-size: var(--bsi-lp-md-h2-fs) !important;
	font-weight: 600 !important;
}

body.bsi-lp-mission-dashboard-page #bsi-lp-mission-dashboard.bsi-lp-mission-dashboard h3 {
	font-size: var(--bsi-lp-md-h3-fs) !important;
	font-weight: 600 !important;
}

body.bsi-lp-mission-dashboard-page #bsi-lp-mission-dashboard.bsi-lp-mission-dashboard h4 {
	font-size: var(--bsi-lp-md-h4-fs) !important;
	font-weight: 600 !important;
}

body.bsi-lp-mission-dashboard-page #bsi-lp-mission-dashboard.bsi-lp-mission-dashboard h5 {
	font-size: var(--bsi-lp-md-h5-fs) !important;
	font-weight: 600 !important;
}

body.bsi-lp-mission-dashboard-page #bsi-lp-mission-dashboard.bsi-lp-mission-dashboard h6 {
	font-size: var(--bsi-lp-md-h6-fs) !important;
	font-weight: 600 !important;
}

.bsi-lp-md-header {
	background: var(--bsi-lp-primary, #2d4028);
	color: #fff;
	padding: 1.5rem 1.25rem 1.65rem;
	border-radius: 8px;
	margin-bottom: 0;
}

.bsi-lp-md-header__inner {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
	align-items: start;
}

@media (min-width: 900px) {
	.bsi-lp-md-header__inner {
		grid-template-columns: minmax(0, 1fr) minmax(220px, 320px);
	}
}

.bsi-lp-md-header__actions {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.6rem;
}

@media (min-width: 900px) {
	.bsi-lp-md-header__actions {
		align-items: flex-end;
	}
}

.bsi-lp-md-header__switcher {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	width: 100%;
}

.bsi-lp-md-switcher__label {
	margin: 0;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.88);
}

.bsi-lp-md-course-switch {
	width: 100%;
	max-width: 320px;
	padding: 0.5rem 0.65rem;
	border-radius: 6px;
	border: 1px solid rgba(255, 255, 255, 0.55);
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
	font-size: 0.875rem;
	font-weight: 600;
	cursor: pointer;
}

.bsi-lp-md-course-switch option {
	color: #1a1a1a;
	background: #fff;
}

.bsi-lp-md-header__link-secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.4rem 0.75rem;
	font-size: 0.8rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.95);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.bsi-lp-md-header__link-secondary:hover,
.bsi-lp-md-header__link-secondary:focus {
	color: #fff;
}

.bsi-lp-md-header__eyebrow {
	margin: 0 0 0.35rem;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--bsi-lp-md-header-eyebrow, var(--bsi-lp-accent, #e4c892));
}

body.bsi-lp-mission-dashboard-page #bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-md-header h1.bsi-lp-md-header__title {
	margin: 0;
	font-size: var(--bsi-lp-md-header-title-fs) !important;
	font-weight: 800 !important;
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: inherit;
}

.bsi-lp-md-header__subnav {
	margin: 0.75rem 0 0;
	font-size: 0.85rem;
	line-height: 1.45;
	max-width: 52rem;
	opacity: 0.92;
}

.bsi-lp-md-header__back {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.45rem 0.85rem;
	border: 1px solid rgba(255, 255, 255, 0.85);
	border-radius: 4px;
	color: #fff;
	text-decoration: none;
	font-size: 0.8rem;
	font-weight: 600;
}

.bsi-lp-md-header__back:hover,
.bsi-lp-md-header__back:focus {
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
}

.bsi-lp-md-tabs-wrap {
	margin-bottom: 1.25rem;
	padding: 0.65rem 1rem 0.75rem;
	background: color-mix(in srgb, var(--bsi-lp-primary, #2d6a4f) 6%, var(--bsi-lp-md-card-bg, #fff));
	border: 1px solid var(--bsi-lp-md-border, color-mix(in srgb, #1a1d21 10%, #e0e0e0));
	border-top: none;
	border-radius: 0 0 8px 8px;
}

.bsi-lp-md-tabs__note {
	margin: 0 0 0.5rem;
	font-size: 0.8rem;
	color: var(--bsi-lp-md-muted, color-mix(in srgb, #1a1d21 58%, #666));
	line-height: 1.4;
}

.bsi-lp-md-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 0.5rem;
	padding: 0;
	margin: 0;
	background: transparent;
	border: none;
}

.bsi-lp-md-tabs__btn,
.bsi-lp-md-tabs__link,
.bsi-lp-md-tabs__tab {
	border: none;
	background: transparent;
	padding: 0.4rem 0.65rem;
	font: inherit;
	font-family: inherit;
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--bsi-lp-md-muted, color-mix(in srgb, #1a1d21 58%, #555));
	border-bottom: 3px solid transparent;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
}

.bsi-lp-md-tabs__btn {
	cursor: default;
}

.bsi-lp-md-tabs__link,
.bsi-lp-md-tabs__tab {
	cursor: pointer;
}

.bsi-lp-md-tabs__link:hover,
.bsi-lp-md-tabs__link:focus-visible,
.bsi-lp-md-tabs__tab:hover,
.bsi-lp-md-tabs__tab:focus-visible {
	color: var(--bsi-lp-primary, #2d6a4f);
	outline: none;
}

.bsi-lp-md-tabs__btn.is-active,
.bsi-lp-md-tabs__link.is-active,
.bsi-lp-md-tabs__tab.is-active {
	color: var(--bsi-lp-primary, #2d6a4f);
	font-weight: 700;
	border-bottom-color: var(--bsi-lp-primary, #2d6a4f);
}

.bsi-lp-md-body {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.bsi-lp-md-tab-panels {
	transition: opacity 0.22s ease;
}

.bsi-lp-md-tab-panels.is-loading {
	opacity: 0.5;
	pointer-events: none;
	transition: opacity 0.15s ease;
}

.bsi-lp-md-card {
	background: var(--bsi-lp-md-card-bg, #fff);
	border: 1px solid var(--bsi-lp-md-border, color-mix(in srgb, #1a1d21 12%, #e0dcd4));
	border-radius: 10px;
	padding: 1.35rem 1.5rem 1.5rem;
	box-shadow: 0 2px 12px color-mix(in srgb, var(--bsi-lp-md-fg, #1a1d21) 8%, transparent);
}

.bsi-lp-md-card__head {
	margin-bottom: 1rem;
}

body.bsi-lp-mission-dashboard-page #bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-md-card__title {
	margin: 0 0 0.25rem;
	font-size: var(--bsi-lp-md-card-title-fs) !important;
	font-weight: 800 !important;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--bsi-lp-primary, #2d6a4f);
}

.bsi-lp-md-card__sub {
	margin: 0;
	font-size: 0.9rem;
	color: var(--bsi-lp-md-muted, color-mix(in srgb, #1a1d21 58%, #888));
	font-family: Georgia, "Times New Roman", serif;
}

.bsi-lp-md-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 0.75rem;
	margin-bottom: 1.25rem;
}

.bsi-lp-md-stats--four {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 782px) {
	.bsi-lp-md-stats--four {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	
}

.bsi-lp-md-stat {
	background: var(--bsi-lp-md-stat-bg, #f3f1ec);
	border-radius: 6px;
	padding: 0.65rem 0.75rem;
	text-align: center;
}

.bsi-lp-md-stat__value {
	display: block;
	font-size: 1.15rem;
	font-weight: 800;
	color: var(--bsi-lp-md-fg, #1a1d21);
}

.bsi-lp-md-stat__label {
	font-size: 0.65rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--bsi-lp-md-muted, color-mix(in srgb, #1a1d21 58%, #777));
}

.bsi-lp-md-overall {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 0.35rem;
	color: var(--bsi-lp-md-fg, #1a1d21);
}

.bsi-lp-md-overall-bar {
	height: 6px;
	background: var(--bsi-lp-md-track-bg, #e4e1d8);
	border-radius: 4px;
	overflow: hidden;
	margin-bottom: 1.25rem;
}

.bsi-lp-md-overall-bar__fill {
	display: block;
	height: 100%;
	background: var(--bsi-lp-md-progress-fill, var(--bsi-lp-accent, var(--bsi-lp-primary, #2d6a4f)));
	border-radius: 4px;
}

.bsi-lp-md-modules {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem 1.25rem;
	margin-top: 0.35rem;
	align-items: start;
}

@media (max-width: 640px) {
	.bsi-lp-md-modules {
		grid-template-columns: 1fr;
	}
}

details.bsi-lp-md-module,
.bsi-lp-md-module.bsi-lp-md-module--static {
	min-width: 0;
	border: 1px solid var(--bsi-lp-md-divider, #eee);
	border-radius: 8px;
	background: color-mix(in srgb, var(--bsi-lp-md-card-bg, #fff) 96%, var(--bsi-lp-md-stat-bg, #f3f1ec));
	overflow: hidden;
}

.bsi-lp-md-module__summary {
	display: grid;
	grid-template-columns: auto auto minmax(0, 1fr) auto auto auto;
	align-items: center;
	gap: 0.45rem 0.5rem;
	font-size: 0.85rem;
	padding: 0.55rem 1.1rem 0.55rem 0.65rem;
	list-style: none;
	cursor: pointer;
	color: inherit;
	border-radius: 0;
	transition: background-color 0.18s ease;
}

.bsi-lp-md-module__summary--static {
	display: grid;
	grid-template-columns: auto auto 1fr auto;
	cursor: default;
	padding: 0.45rem 1.1rem 0.45rem 0.65rem;
}

.bsi-lp-md-module__summary::-webkit-details-marker {
	display: none;
}

.bsi-lp-md-module__summary::marker {
	content: '';
}

.bsi-lp-md-module__summary:hover,
.bsi-lp-md-module__summary:focus-visible {
	background: color-mix(in srgb, var(--bsi-lp-primary, #2d6a4f) 10%, var(--bsi-lp-md-card-bg, #fff));
	outline: none;
}

.bsi-lp-md-module__summary:focus-visible {
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--bsi-lp-primary, #2d6a4f) 35%, transparent);
}

.bsi-lp-md-module__chevron {
	flex-shrink: 0;
	width: 0.45rem;
	height: 0.45rem;
	margin-left: 0.1rem;
	border-right: 2px solid var(--bsi-lp-md-muted, #888);
	border-bottom: 2px solid var(--bsi-lp-md-muted, #888);
	transform: rotate(45deg);
	transition: transform 0.2s ease;
}

details.bsi-lp-md-module[open] > .bsi-lp-md-module__summary .bsi-lp-md-module__chevron {
	transform: rotate(-135deg);
	margin-top: 2px;
}

.bsi-lp-md-module__continue {
	flex-shrink: 0;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--bsi-lp-primary, #2d6a4f);
	padding: 0.2rem 0.45rem;
	border-radius: 4px;
	border: 1px solid color-mix(in srgb, var(--bsi-lp-primary, #2d6a4f) 35%, transparent);
	background: color-mix(in srgb, var(--bsi-lp-primary, #2d6a4f) 8%, var(--bsi-lp-md-card-bg, #fff));
}

.bsi-lp-md-module__continue:hover,
.bsi-lp-md-module__continue:focus-visible {
	background: color-mix(in srgb, var(--bsi-lp-primary, #2d6a4f) 16%, var(--bsi-lp-md-card-bg, #fff));
	outline: none;
}

.bsi-lp-md-module__items {
	list-style: none;
	margin: 0;
	padding: 0 1rem 0.75rem 0.35rem;
}

.bsi-lp-md-module__item {
	margin: 0;
	padding: 0;
}

.bsi-lp-md-module__item-link {
	display: grid;
	grid-template-columns: auto auto 1fr auto;
	align-items: center;
	gap: 0.4rem 0.5rem;
	padding: 0.4rem 0.35rem 0.4rem 0.65rem;
	margin-left: 0.5rem;
	border-left: 2px solid color-mix(in srgb, var(--bsi-lp-md-divider, #eee) 85%, var(--bsi-lp-primary, #2d6a4f));
	font-size: 0.82rem;
	text-decoration: none;
	color: inherit;
	border-radius: 0 4px 4px 0;
	transition: background-color 0.18s ease;
}

.bsi-lp-md-module__item-link:hover,
.bsi-lp-md-module__item-link:focus-visible {
	background: color-mix(in srgb, var(--bsi-lp-primary, #2d6a4f) 8%, var(--bsi-lp-md-card-bg, #fff));
	outline: none;
}

.bsi-lp-md-module__item-link:focus-visible {
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--bsi-lp-primary, #2d6a4f) 30%, transparent);
}

.bsi-lp-md-module__item-link--static {
	cursor: default;
}

.bsi-lp-md-module__dot--item {
	width: 12px;
	height: 12px;
	border-width: 1.5px;
}

.bsi-lp-md-lesson-progress {
	list-style: none;
	margin: 0;
	padding: 0;
}

.bsi-lp-md-lesson-progress__item {
	margin: 0;
	padding: 0;
}

.bsi-lp-md-lesson-progress__link {
	display: grid;
	grid-template-columns: auto auto 1fr auto;
	align-items: center;
	gap: 0.4rem 0.5rem;
	padding: 0.45rem 0.35rem;
	font-size: 0.82rem;
	text-decoration: none;
	color: inherit;
	border-radius: 4px;
	transition: background-color 0.18s ease;
}

.bsi-lp-md-lesson-progress__link:hover,
.bsi-lp-md-lesson-progress__link:focus-visible {
	background: color-mix(in srgb, var(--bsi-lp-primary, #2d6a4f) 8%, var(--bsi-lp-md-card-bg, #fff));
	outline: none;
}

.bsi-lp-md-lesson-progress__num {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	font-size: 0.75rem;
	color: color-mix(in srgb, var(--bsi-lp-md-fg, #1a1d21) 72%, transparent);
}

.bsi-lp-md-lesson-progress__empty {
	padding: 0.75rem 0;
	color: var(--bsi-lp-md-muted, #666);
	font-size: 0.85rem;
}

.bsi-lp-md-module__dot--item.is-done::after {
	width: 2.5px;
	height: 5px;
	border-width: 0 1.25px 1.25px 0;
}

.bsi-lp-md-module__item-type {
	font-size: 0.62rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--bsi-lp-md-muted, color-mix(in srgb, #1a1d21 58%, #666));
	white-space: nowrap;
}

.bsi-lp-md-module__item-title {
	font-weight: 600;
	color: var(--bsi-lp-md-fg, #1a1d21);
	min-width: 0;
}

.bsi-lp-md-module__item-dur {
	font-size: 0.72rem;
	color: var(--bsi-lp-md-muted, color-mix(in srgb, #1a1d21 58%, #888));
	white-space: nowrap;
}

.bsi-lp-md-module__dot {
	box-sizing: border-box;
	flex-shrink: 0;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	border: 2px solid color-mix(in srgb, var(--bsi-lp-primary) 40%, var(--bsi-lp-md-track-bg, #bbb));
	background: transparent;
}

.bsi-lp-md-module__dot.is-done {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--bsi-lp-md-progress-fill, var(--bsi-lp-accent, var(--bsi-lp-primary, #2d6a4f)));
	border-color: var(--bsi-lp-md-progress-fill, var(--bsi-lp-accent, var(--bsi-lp-primary, #2d6a4f)));
}

.bsi-lp-md-module__dot.is-done::after {
	content: '';
	display: block;
	width: 3px;
	height: 6px;
	margin-top: -1px;
	border: solid color-mix(in srgb, #fff 92%, var(--bsi-lp-md-progress-fill, var(--bsi-lp-primary)));
	border-width: 0 1.5px 1.5px 0;
	transform: rotate(45deg);
}

.bsi-lp-md-module__mod {
	font-size: 0.65rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	color: var(--bsi-lp-md-muted, color-mix(in srgb, #1a1d21 58%, #666));
}

.bsi-lp-md-module__title {
	font-weight: 600;
	color: var(--bsi-lp-md-fg, #1a1d21);
}

.bsi-lp-md-module__dur {
	font-size: 0.75rem;
	color: var(--bsi-lp-md-muted, color-mix(in srgb, #1a1d21 58%, #888));
}

.bsi-lp-md-modules__empty,
.bsi-lp-md-login-note {
	margin: 0;
	font-size: 0.9rem;
	color: var(--bsi-lp-md-muted, color-mix(in srgb, #1a1d21 58%, #777));
}

.bsi-lp-md-cta {
	background: color-mix(in srgb, var(--bsi-lp-primary, #1a1a1a) 88%, #000);
	color: #f5f2e9;
	border-radius: 10px;
	padding: 1.5rem 1.75rem;
}

.bsi-lp-md-cta__badge {
	display: inline-block;
	margin: 0 0 0.5rem;
	font-size: 0.65rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--bsi-lp-md-header-eyebrow, var(--bsi-lp-accent, #e4c892));
}

.bsi-lp-md-cta__lines {
	margin: 0 0 0.5rem;
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--bsi-lp-md-header-eyebrow, var(--bsi-lp-accent, #e4c892));
}

.bsi-lp-md-cta__copy {
	margin: 0 0 1rem;
	font-size: 0.85rem;
	line-height: 1.5;
	opacity: 0.9;
}

.bsi-lp-md-cta__btn.button,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-md-cta__btn.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0.55rem 1.1rem !important;
	font-size: 0.8rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--bsi-lp-md-fg, #1a1d21) !important;
	background: var(--bsi-lp-md-header-eyebrow, var(--bsi-lp-accent, #e4c892)) !important;
	border: 1px solid transparent !important;
	border-radius: 4px;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.bsi-lp-md-cta__btn.button:hover,
.bsi-lp-md-cta__btn.button:focus-visible,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-md-cta__btn.button:hover,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-md-cta__btn.button:focus-visible {
	color: var(--bsi-lp-md-fg, #1a1d21) !important;
	background: color-mix(in srgb, var(--bsi-lp-md-header-eyebrow, var(--bsi-lp-accent, #e4c892)) 88%, #fff) !important;
	text-decoration: none;
}

.bsi-lp-md-course-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.bsi-lp-md-course-list__item {
	border-bottom: 1px solid var(--bsi-lp-md-divider, #eee);
}

.bsi-lp-md-course-list__link {
	display: block;
	padding: 0.65rem 0;
	text-decoration: none;
	font-weight: 600;
	color: var(--bsi-lp-primary, #2d6a4f);
}

.bsi-lp-md-course-list__link:hover,
.bsi-lp-md-course-list__link:focus {
	text-decoration: underline;
}

.bsi-lp-md-course-list__empty {
	padding: 0.5rem 0;
	color: var(--bsi-lp-md-muted, color-mix(in srgb, #1a1d21 58%, #777));
}

.bsi-lp-md-course-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 1rem;
	margin-top: 0.35rem;
}

.bsi-lp-md-course-card {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	padding: 1rem 1.1rem;
	border: 1px solid var(--bsi-lp-md-border, color-mix(in srgb, #1a1d21 10%, #dcd8cf));
	border-radius: 10px;
	text-decoration: none;
	color: inherit;
	background: color-mix(in srgb, var(--bsi-lp-md-card-bg, #fff) 92%, var(--bsi-lp-primary) 8%);
	box-shadow: 0 1px 3px color-mix(in srgb, var(--bsi-lp-md-fg, #1a1d21) 6%, transparent);
	transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.bsi-lp-md-course-card:hover,
.bsi-lp-md-course-card:focus-visible {
	border-color: color-mix(in srgb, var(--bsi-lp-primary) 45%, #bbb);
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
	transform: translateY(-1px);
	outline: none;
}

.bsi-lp-md-course-card__title {
	font-weight: 700;
	font-size: 0.95rem;
	line-height: 1.35;
	color: var(--bsi-lp-md-fg, #1a1d21);
}

.bsi-lp-md-course-card__pct {
	font-size: 1.4rem;
	font-weight: 800;
	color: var(--bsi-lp-primary, #2d6a4f);
}

.bsi-lp-md-course-card__bar {
	height: 7px;
	background: var(--bsi-lp-md-track-bg, #e4e1d8);
	border-radius: 4px;
	overflow: hidden;
}

.bsi-lp-md-course-card__fill {
	display: block;
	height: 100%;
	background: var(--bsi-lp-md-progress-fill, var(--bsi-lp-accent, var(--bsi-lp-primary, #2d6a4f)));
	border-radius: 4px;
}

.bsi-lp-md-course-card__hint {
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: color-mix(in srgb, var(--bsi-lp-primary) 82%, var(--bsi-lp-md-fg, #555));
}



.bsi-lp-md-tab-panels .bsi-lp-md-tab-panel {
	padding: 0.25rem 0 0;
}

/* Internal course tabs (notes, handouts, …) */
.bsi-lp-internal-view {
	--bsi-lp-iv-bg: color-mix(in srgb, var(--bsi-lp-lesson-surface-bg, #f2efe9) 92%, #fff);
	--bsi-lp-iv-fg: var(--bsi-lp-lesson-surface-fg, var(--bsi-lp-md-fg, #1a1a1a));
	--bsi-lp-iv-muted: color-mix(in srgb, var(--bsi-lp-iv-fg) 58%, transparent);
	--bsi-lp-iv-border: color-mix(in srgb, var(--bsi-lp-primary, #c9a66b) 28%, #d9d9d9);
	--bsi-lp-iv-accent: var(--bsi-lp-primary, #c9a66b);
	max-width: min(100%,56rem);
	margin: 1.5rem auto 2rem;
	padding: 0;
	background: var(--bsi-lp-iv-bg);
	border: none;
	border-radius: 8px;
	color: var(--bsi-lp-iv-fg);
}

#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-internal-view:not(.bsi-lp-internal-view--notes) {
	--bsi-lp-iv-bg: var(--bsi-lp-md-card-bg, #fff);
	--bsi-lp-iv-fg: var(--bsi-lp-md-fg, #1a1d21);
	--bsi-lp-iv-muted: var(--bsi-lp-md-muted, color-mix(in srgb, #1a1d21 58%, transparent));
	background: var(--bsi-lp-md-card-bg, #fff);
	border: 1px solid var(--bsi-lp-md-border, color-mix(in srgb, #1a1d21 12%, #e0dcd4));
	border-radius: 10px;
	padding: 1.25rem 1.5rem 1.5rem;
	box-shadow: 0 2px 12px color-mix(in srgb, var(--bsi-lp-md-fg, #1a1d21) 8%, transparent);
}

body.bsi-lp-mission-dashboard-page #bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-internal-view h1.bsi-lp-internal-view__title {
	margin: 0 0 0.35rem;
	font-size: var(--bsi-lp-md-h2-fs) !important;
	font-weight: 700 !important;
	line-height: 1.25;
	color: var(--bsi-lp-iv-fg);
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content .bsi-lp-internal-view h1.bsi-lp-internal-view__title {
	margin: 0 0 0.35rem;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.25;
	color: var(--bsi-lp-iv-fg);
}

.bsi-lp-internal-view__intro {
	margin: 0;
	font-size: 0.9rem;
	color: var(--bsi-lp-iv-muted);
}

.bsi-lp-internal-view__body {
	font-size: 0.95rem;
	line-height: 1.55;
	margin-top: 0.9rem;
}

/* Mission dashboard: WYSIWYG / tab HTML — inherit compact --bsi-lp-md-h* scale (see heading block above). */
body.bsi-lp-mission-dashboard-page #bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-internal-view__body :is(h1, h2, h3, h4, h5, h6) {
	color: var(--bsi-lp-iv-fg);
	line-height: 1.28;
	margin: 1rem 0 0.5rem;
}

.bsi-lp-internal-view__body a {
	color: var(--bsi-lp-iv-accent);
}

.bsi-lp-internal-view__body .button,
.bsi-lp-internal-view__body .lp-button,
.bsi-lp-notes-list__link.button {
	border: 1px solid color-mix(in srgb, var(--bsi-lp-iv-accent) 42%, var(--bsi-lp-iv-border));
	background: color-mix(in srgb, var(--bsi-lp-iv-accent) 12%, var(--bsi-lp-iv-bg));
	color: var(--bsi-lp-iv-fg);
}

.bsi-lp-internal-view__body .button:hover,
.bsi-lp-internal-view__body .button:focus,
.bsi-lp-internal-view__body .lp-button:hover,
.bsi-lp-internal-view__body .lp-button:focus,
.bsi-lp-notes-list__link.button:hover,
.bsi-lp-notes-list__link.button:focus {
	background: color-mix(in srgb, var(--bsi-lp-iv-accent) 20%, var(--bsi-lp-iv-bg));
	color: var(--bsi-lp-iv-fg);
}

body.bsi-lp-course-internal-tab #learn-press-course.course-summary {
	display: none;
}

.bsi-lp-internal-empty {
	margin: 0;
	color: var(--bsi-lp-iv-muted);
}

/* Editors: empty catalog / library tab (learners never see these URLs — see template_redirect gate) */
.bsi-lp-editor-empty-card {
	max-width: 32rem;
	margin: 2rem auto;
	padding: 2.25rem 1.75rem 2rem;
	text-align: center;
	border: 1px solid color-mix(in srgb, var(--bsi-lp-iv-fg, #1a1a1a) 12%, var(--bsi-lp-iv-border, #ddd));
	border-radius: 14px;
	background: color-mix(in srgb, var(--bsi-lp-iv-bg, #faf7f0) 97%, #fff);
	box-sizing: border-box;
}

.bsi-lp-editor-empty-card__icon {
	margin: 0 0 1rem;
	display: flex;
	justify-content: center;
}

.bsi-lp-editor-empty-card__qmark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 50%;
	font-size: 1.45rem;
	font-weight: 800;
	line-height: 1;
	color: var(--bsi-lp-iv-bg, #faf7f0);
	background: var(--bsi-lp-primary, var(--bsi-lp-iv-accent, #2d6a4f));
	font-family: var(--bsi-lp-lesson-reading-ff, inherit);
}

.bsi-lp-editor-empty-card__title {
	margin: 0 0 0.85rem;
	font-size: clamp(1.2rem, 1rem + 1vw, 1.45rem);
	font-weight: 700;
	line-height: 1.25;
	color: var(--bsi-lp-primary, var(--bsi-lp-iv-fg, #1a1a1a));
	font-family: var(--bsi-lp-lesson-serif-ff, "Source Serif 4", Georgia, "Times New Roman", serif);
}

.bsi-lp-editor-empty-card__desc {
	margin: 0 0 1.35rem;
	font-size: 0.95rem;
	line-height: 1.55;
	color: color-mix(in srgb, var(--bsi-lp-iv-fg, #1a1a1a) 72%, transparent);
}

.bsi-lp-editor-empty-card__actions {
	margin: 0;
}

.bsi-lp-editor-empty-card__btn {
	display: inline-block;
	padding: 0.55rem 1.35rem;
	font-weight: 700;
	font-size: 0.82rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	border-radius: 8px;
	border: 1px solid color-mix(in srgb, var(--bsi-lp-iv-accent, #e4a030) 55%, #000);
	background: transparent;
	color: var(--bsi-lp-iv-fg, #1a1a1a);
	text-decoration: none;
}

.bsi-lp-editor-empty-card__btn:hover,
.bsi-lp-editor-empty-card__btn:focus {
	background: transparent;
	color: var(--bsi-lp-iv-fg, #1a1a1a);
}

.bsi-lp-editor-empty-card__btn:focus-visible {
	outline: 2px solid color-mix(in srgb, var(--bsi-lp-iv-accent, #f4a23a) 65%, transparent);
	outline-offset: 2px;
}

/* Resource cards — Handouts tab + in-lesson materials (matches BSI resource spec) */
.bsi-lp-resource-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 20rem), 1fr));
	gap: 1.25rem;
	margin-top: 0.5rem;
}

.bsi-lp-lesson-materials {
	margin-top: 1.75rem;
}

.bsi-lp-resource-card {
	--bsi-res-tag: #c0823e;
	--bsi-res-title: #1b331d;
	--bsi-res-btn: #1b331d;
	--bsi-res-body: color-mix(in srgb, var(--bsi-lp-iv-fg, #1a1a1a) 78%, var(--bsi-lp-iv-bg, #f2efe9));
	--bsi-res-muted: color-mix(in srgb, var(--bsi-lp-iv-fg, #1a1a1a) 52%, var(--bsi-lp-iv-bg, #f2efe9));
	display: flex;
	flex-direction: column;
	min-height: 12rem;
	padding: 1.35rem 1.4rem 1.25rem;
	box-sizing: border-box;
	background: #fff;
	border: 1px solid color-mix(in srgb, var(--bsi-lp-iv-fg, #1a1a1a) 10%, #e8e4df);
	border-radius: 12px;
	box-shadow: 0 2px 10px color-mix(in srgb, var(--bsi-lp-iv-fg, #1a1a1a) 8%, transparent);
	color: var(--bsi-lp-iv-fg, #1a1a1a);
	transition:
		transform 0.28s ease,
		box-shadow 0.28s ease;
}

.bsi-lp-resource-card:hover {
	transform: scale(1.02);
	box-shadow: 0 10px 28px color-mix(in srgb, var(--bsi-lp-iv-fg, #1a1a1a) 14%, transparent);
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-resource-card {
	--bsi-res-body: color-mix(in srgb, var(--bsi-lp-lesson-body-fg, #1a1a1a) 78%, var(--bsi-lp-lesson-body-bg, #f2efe9));
	--bsi-res-muted: color-mix(in srgb, var(--bsi-lp-lesson-body-fg, #1a1a1a) 52%, var(--bsi-lp-lesson-body-bg, #f2efe9));
	color: var(--bsi-lp-lesson-body-fg, #1a1a1a);
	border-color: color-mix(in srgb, var(--bsi-lp-lesson-body-fg, #1a1a1a) 10%, #e8e4df);
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-resource-card:hover {
	box-shadow: 0 10px 28px color-mix(in srgb, var(--bsi-lp-lesson-body-fg, #1a1a1a) 14%, transparent);
}

@media (prefers-reduced-motion: reduce) {
	.bsi-lp-resource-card {
		transition: box-shadow 0.28s ease;
	}

	.bsi-lp-resource-card:hover {
		transform: none;
	}
}

.bsi-lp-resource-card__top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 0.65rem;
}

.bsi-lp-resource-card__tags {
	margin: 0 !important;
	font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--bsi-res-tag);
	line-height: 1.35;
	flex: 1 1 auto;
	min-width: 0;
}

.bsi-lp-resource-card__tags--empty {
	min-height: 1em;
}

.bsi-lp-resource-card__icon {
	flex: 0 0 auto;
	color: var(--bsi-res-tag);
	line-height: 0;
}

.bsi-lp-resource-card__icon-svg {
	display: block;
}

.bsi-lp-resource-card__title {
	margin: 0 0 0.35rem;
	font-family: Georgia, "Iowan Old Style", "Times New Roman", Times, serif;
	font-size: clamp(1.2rem, 1.05rem + 0.45vw, 1.45rem);
	font-weight: 700;
	line-height: 1.2;
	color: var(--bsi-res-title);
	letter-spacing: -0.01em;
}

#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-resource-card__title,
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content .bsi-lp-resource-card__title {
	font-family: Georgia, "Iowan Old Style", "Times New Roman", Times, serif;
}

.bsi-lp-resource-card__kicker {
	margin: 0 0 0.75rem;
	font-family: Georgia, "Iowan Old Style", "Times New Roman", Times, serif;
	font-size: 0.95rem;
	font-weight: 400;
	line-height: 1.45;
	color: var(--bsi-res-muted);
}

.bsi-lp-resource-card__desc {
	margin: 0 0 1.25rem;
	flex: 1 1 auto;
	font-family: Georgia, "Iowan Old Style", "Times New Roman", Times, serif;
	font-size: 0.92rem;
	font-weight: 400;
	line-height: 1.55;
	color: var(--bsi-res-body);
}

.bsi-lp-resource-card__desc p {
	margin: 0 0 0.5rem;
}

.bsi-lp-resource-card__desc p:last-child {
	margin-bottom: 0;
}

.bsi-lp-resource-card__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-top: auto;
	padding-top: 0.35rem;
}

.bsi-lp-resource-card__meta {
	margin: 0;
	font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--bsi-res-muted);
	line-height: 1.35;
	flex: 1 1 auto;
	min-width: 0;
}

.bsi-lp-resource-card__meta--empty {
	min-height: 1em;
}

.bsi-lp-resource-card__download {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	flex-shrink: 0;
	padding: 0.55rem 1rem;
	border-radius: 6px;
	background: var(--bsi-res-btn);
	color: #fff !important;
	font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-decoration: none;
	line-height: 1;
	border: none;
	box-sizing: border-box;
	transition: background-color 0.15s ease;
}

.bsi-lp-resource-card__download:hover,
.bsi-lp-resource-card__download:focus-visible {
	background: color-mix(in srgb, var(--bsi-res-btn) 88%, #000);
	color: #fff !important;
	text-decoration: none;
}

.bsi-lp-resource-card__dl-icon {
	display: block;
	flex-shrink: 0;
}

.bsi-lp-resource-card__dl-text {
	display: inline-block;
}

.bsi-lp-internal-view__body .bsi-lp-resource-card__download {
	color: #fff !important;
}

/* Notes workspace (My Notes tab) — boxed widget on page */
.bsi-lp-internal-view.bsi-lp-internal-view--notes {
	background: transparent;
	border: none;
	box-shadow: none;
	padding: 0;
}

.bsi-lp-internal-view--notes .bsi-lp-internal-view__body {
	margin-top: 0;
}

.bsi-lp-notes-workspace {
	--bsi-lp-nw-tab-h: 1.65rem;
	--bsi-lp-nw-nav-max: calc(var(--bsi-lp-nw-tab-h) * 15 + 0.2rem * 14);
	--bsi-lp-nw-widget-bg: color-mix(in srgb, var(--bsi-lp-lesson-surface-bg, #f2efe9) 12%, #fff);
	box-sizing: border-box;
	margin: 0;
	padding: clamp(1.15rem, 2.5vw, 1.6rem) clamp(1.25rem, 3vw, 3.75rem);
	background: var(--bsi-lp-nw-widget-bg);
	border: 1px solid color-mix(in srgb, var(--bsi-lp-iv-fg, #1a1a1a) 8%, var(--bsi-lp-iv-border, #e2e0db));
	border-radius: 10px;
	box-shadow: 0 2px 14px color-mix(in srgb, var(--bsi-lp-iv-fg, #1a1a1a) 9%, transparent);
	color: var(--bsi-lp-iv-fg, #1a1a1a);
}

.bsi-lp-notes-workspace__head {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	margin: 0 0 1.15rem;
	padding-bottom: 0.15rem;
}

.bsi-lp-notes-workspace__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 2rem;
	height: 2rem;
	font-size: 1rem;
	line-height: 1;
	border-radius: 4px;
	background: var(--bsi-lp-primary, #2d4028);
	color: #fff;
}

.bsi-lp-notes-workspace__title {
	margin: 0;
	font-size: 0.88rem;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: var(--bsi-lp-iv-fg, inherit);
}

body.bsi-lp-mission-dashboard-page #bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-notes-workspace__title {
	font-size: 0.88rem !important;
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content .bsi-lp-notes-workspace__title {
	font-size: 0.88rem;
}

.bsi-lp-notes-workspace__subtitle {
	margin: 0.2rem 0 0;
	font-size: 0.82rem;
	color: var(--bsi-lp-iv-muted, #5c5c5c);
	line-height: 1.4;
}

.bsi-lp-notes-workspace__layout {
	display: grid;
	grid-template-columns: minmax(9.5rem, 18.5rem) minmax(0, 1fr);
	gap: 1.15rem 1.5rem;
	align-items: start;
}

@media (max-width: 640px) {
	.bsi-lp-notes-workspace__layout {
		grid-template-columns: 1fr;
	}
}

.bsi-lp-notes-workspace__nav-wrap {
	position: relative;
	min-width: 0;
	align-self: start;
}

.bsi-lp-notes-workspace__nav {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	max-height: var(--bsi-lp-nw-nav-max);
	overflow-y: auto;
	padding-right: 0.15rem;
	scrollbar-gutter: stable;
}

.bsi-lp-notes-workspace__nav-scroll-hint {
	pointer-events: none;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	height: 2.1rem;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	padding-bottom: 0.25rem;
	box-sizing: border-box;
	opacity: 0;
	transition: opacity 0.22s ease;
	background: linear-gradient(
		to top,
		color-mix(in srgb, var(--bsi-lp-nw-widget-bg, #fff) 92%, var(--bsi-lp-iv-fg) 5%) 0%,
		color-mix(in srgb, var(--bsi-lp-nw-widget-bg, #fff) 55%, transparent) 55%,
		transparent 100%
	);
}

.bsi-lp-notes-workspace__nav-wrap.has-overflow:not(.is-scrolled-end) .bsi-lp-notes-workspace__nav-scroll-hint {
	opacity: 1;
}

.bsi-lp-notes-workspace__nav-scroll-hint-icon {
	display: block;
	width: 0;
	height: 0;
	margin: 0 auto 0.05rem;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 6px solid color-mix(in srgb, var(--bsi-lp-iv-muted, #5c5c5c) 85%, var(--bsi-lp-iv-fg, #1a1a1a));
	opacity: 0.9;
	filter: drop-shadow(0 1px 0 color-mix(in srgb, var(--bsi-lp-nw-widget-bg, #fff) 70%, transparent));
}

.bsi-lp-notes-workspace__tab {
	display: grid;
	grid-template-columns: 2rem minmax(0, 1fr) auto;
	align-items: center;
	gap: 0.35rem;
	width: 100%;
	min-height: var(--bsi-lp-nw-tab-h);
	padding: 0.2rem 0.45rem;
	border: 1px solid color-mix(in srgb, var(--bsi-lp-iv-fg) 14%, transparent);
	border-radius: 0.2rem;
	background: color-mix(in srgb, var(--bsi-lp-nw-widget-bg, #fff) 88%, var(--bsi-lp-lesson-surface-bg, #f2efe9) 12%);
	color: var(--bsi-lp-iv-fg, inherit);
	font-size: 0.72rem;
	line-height: 1.2;
	text-align: left;
	cursor: pointer;
	transition: background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.bsi-lp-notes-workspace__tab:not(:disabled):hover,
.bsi-lp-notes-workspace__tab:not(:disabled):focus-visible {
	border-color: color-mix(in srgb, var(--bsi-lp-primary, #2d4028) 45%, transparent);
	box-shadow: 0 2px 8px color-mix(in srgb, var(--bsi-lp-iv-fg) 10%, transparent);
	background: color-mix(in srgb, var(--bsi-lp-nw-widget-bg, #fff) 82%, var(--bsi-lp-primary, #2d4028) 7%);
}

.bsi-lp-notes-workspace__tab.is-active:not(:disabled):hover,
.bsi-lp-notes-workspace__tab.is-active:not(:disabled):focus-visible {
	background: color-mix(in srgb, var(--bsi-lp-primary, #2d4028) 88%, #000 12%);
	border-color: var(--bsi-lp-primary, #2d4028);
	color: #fff;
	box-shadow: 0 3px 12px color-mix(in srgb, var(--bsi-lp-primary, #2d4028) 28%, transparent);
}

.bsi-lp-notes-workspace__tab.is-active {
	background: var(--bsi-lp-primary, #2d4028);
	border-color: var(--bsi-lp-primary, #2d4028);
	color: #fff;
}

.bsi-lp-notes-workspace__tab.is-locked,
.bsi-lp-notes-workspace__tab:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

.bsi-lp-notes-workspace__tab-num {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.bsi-lp-notes-workspace__tab-label {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.bsi-lp-notes-workspace__tab-lock {
	font-size: 0.65rem;
	opacity: 0.85;
}

.bsi-lp-notes-workspace__tab.has-note:not(.is-active) .bsi-lp-notes-workspace__tab-num::after {
	content: '•';
	margin-left: 0.15rem;
	color: var(--bsi-lp-primary, #2d4028);
}

.bsi-lp-notes-workspace__nav--by-module {
	gap: 0.65rem;
}

.bsi-lp-notes-workspace__nav-section {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.bsi-lp-notes-workspace__nav-section-label {
	margin: 0;
	padding: 0.15rem 0.35rem 0;
	font-size: 0.62rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: color-mix(in srgb, var(--bsi-lp-notes-fg, #1a1a1a) 55%, transparent);
}

.bsi-lp-notes-workspace__nav-section-tabs {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
}

.bsi-lp-notes-workspace__editor-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.5rem 0.75rem;
	margin-bottom: 0.5rem;
}

.bsi-lp-notes-workspace__module-block {
	flex: 1;
	min-width: 0;
}

.bsi-lp-notes-workspace__module {
	margin: 0;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--bsi-lp-iv-muted, #5c5c5c);
}

.bsi-lp-notes-workspace__lesson-kicker {
	margin: 0.2rem 0 0;
	font-size: 0.62rem;
	line-height: 1.35;
	font-weight: 500;
	color: color-mix(in srgb, var(--bsi-lp-iv-muted, #5c5c5c) 92%, var(--bsi-lp-iv-fg, #1a1a1a));
}

#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-notes-workspace__save.button,
.bsi-lp-internal-view--notes .bsi-lp-notes-workspace__save.button {
	position: relative;
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: 0.35rem;
	padding: 0.32rem 0.75rem !important;
	font-size: 0.72rem !important;
	line-height: 1.2 !important;
	border-radius: 0.25rem !important;
	border: 1px solid transparent !important;
	background: var(--bsi-lp-primary, #2d4028) !important;
	color: #fff !important;
	transition:
		background-color 0.15s ease,
		box-shadow 0.15s ease,
		transform 0.15s ease,
		opacity 0.15s ease;
}

#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-notes-workspace__save.button:hover:not(:disabled):not(.is-saving),
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-notes-workspace__save.button:focus-visible:not(:disabled):not(.is-saving),
.bsi-lp-internal-view--notes .bsi-lp-notes-workspace__save.button:hover:not(:disabled):not(.is-saving),
.bsi-lp-internal-view--notes .bsi-lp-notes-workspace__save.button:focus-visible:not(:disabled):not(.is-saving) {
	background: color-mix(in srgb, var(--bsi-lp-primary, #2d4028) 88%, #000) !important;
	color: #fff !important;
	box-shadow: 0 2px 8px color-mix(in srgb, var(--bsi-lp-primary, #2d4028) 32%, transparent);
	transform: translateY(-1px);
}

#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-notes-workspace__save.button:active:not(:disabled):not(.is-saving),
.bsi-lp-internal-view--notes .bsi-lp-notes-workspace__save.button:active:not(:disabled):not(.is-saving) {
	transform: translateY(0);
	box-shadow: none;
}

#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-notes-workspace__save.button.is-saving,
.bsi-lp-internal-view--notes .bsi-lp-notes-workspace__save.button.is-saving {
	cursor: wait;
	opacity: 0.92;
}

#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-notes-workspace__save.button.is-saving .bsi-lp-notes-workspace__save-icon,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-notes-workspace__save.button.is-saving .bsi-lp-notes-workspace__save-label,
.bsi-lp-internal-view--notes .bsi-lp-notes-workspace__save.button.is-saving .bsi-lp-notes-workspace__save-icon,
.bsi-lp-internal-view--notes .bsi-lp-notes-workspace__save.button.is-saving .bsi-lp-notes-workspace__save-label {
	visibility: hidden;
}

#popup-course.bsi-lp-popup-course .bsi-lp-notes-panel__save.button.is-saving::after,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-notes-workspace__save.button.is-saving::after,
.bsi-lp-internal-view--notes .bsi-lp-notes-workspace__save.button.is-saving::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 0.85rem;
	height: 0.85rem;
	margin: -0.425rem 0 0 -0.425rem;
	border: 2px solid color-mix(in srgb, currentColor 28%, transparent);
	border-top-color: currentColor;
	border-radius: 50%;
	animation: bsi-lp-notes-save-spin 0.65s linear infinite;
	pointer-events: none;
}

@keyframes bsi-lp-notes-save-spin {
	to {
		transform: rotate(360deg);
	}
}

.bsi-lp-notes-workspace__field {
	display: block;
	width: 100%;
	min-height: 14rem;
	padding: 0.85rem 1rem;
	border: 1px solid color-mix(in srgb, var(--bsi-lp-iv-fg) 12%, var(--bsi-lp-lesson-surface-bg, #f2efe9));
	border-radius: 0.25rem;
	background: var(--bsi-lp-lesson-surface-bg, #f2efe9);
	color: var(--bsi-lp-lesson-surface-fg, var(--bsi-lp-iv-fg, inherit));
	font-size: 0.85rem;
	line-height: 1.45;
	resize: vertical;
}

.bsi-lp-notes-workspace__field:disabled {
	opacity: 0.65;
	cursor: not-allowed;
}

.bsi-lp-notes-workspace__hint {
	margin: 0.45rem 0 0;
	font-size: 0.72rem;
	color: var(--bsi-lp-iv-muted, #5c5c5c);
}

.bsi-lp-notes-workspace__status {
	margin: 0.25rem 0 0;
	min-height: 1.1em;
	font-size: 0.72rem;
	color: var(--bsi-lp-primary, #2d4028);
	opacity: 1;
	transition: opacity 0.4s ease;
}

.bsi-lp-notes-workspace__status.is-fading {
	opacity: 0;
}

.bsi-lp-notes-workspace__locked-msg {
	margin: 0.35rem 0 0;
	font-size: 0.78rem;
	color: var(--bsi-lp-iv-muted, #5c5c5c);
}

.bsi-lp-notes-workspace__locked-msg[hidden] {
	display: none !important;
}

/* Notes list (legacy) */
.bsi-lp-notes-list {
	list-style: none;
	margin: 0.5rem 0 0;
	padding: 0;
}

.bsi-lp-notes-list__item {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem 1rem;
	padding: 1rem 0;
	border-bottom: 1px solid color-mix(in srgb, var(--bsi-lp-iv-fg) 12%, var(--bsi-lp-iv-border));
}

.bsi-lp-notes-list__item:last-child {
	border-bottom: 0;
}

body.bsi-lp-mission-dashboard-page #bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-notes-list .bsi-lp-notes-list__title {
	margin: 0 0 0.25rem;
	font-size: var(--bsi-lp-md-h3-fs) !important;
	font-weight: 600 !important;
	line-height: 1.35;
	color: var(--bsi-lp-iv-fg);
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content .bsi-lp-notes-list h2.bsi-lp-notes-list__title {
	margin: 0 0 0.25rem;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.35;
	color: var(--bsi-lp-iv-fg);
}

.bsi-lp-notes-list__excerpt {
	margin: 0 0 0.5rem;
	font-size: 0.88rem;
	color: var(--bsi-lp-iv-muted);
}

.bsi-lp-notes-list__note {
	margin: 0;
	padding: 0.65rem 0.85rem;
	border-left: 3px solid var(--bsi-lp-primary, #2d4028);
	background: color-mix(in srgb, var(--bsi-lp-iv-bg) 82%, var(--bsi-lp-iv-accent) 4%);
	font-size: 0.9rem;
}

.bsi-lp-notes-list__note p {
	margin: 0 0 0.5em;
}

.bsi-lp-notes-list__note p:last-child {
	margin-bottom: 0;
}

.bsi-lp-notes-list__link {
	flex-shrink: 0;
}

/*
 * Quiz item (LearnPress #content-item-quiz): intro meta, Start/Retake, in-quiz status bar.
 * Tokens come from .bsi-lp-course-shell on course pages (ACF).
 */
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz {
	--bsi-lp-quiz-icon: var(--bsi-lp-primary, #c9a66b);
	--bsi-lp-quiz-label: color-mix(in srgb, var(--bsi-lp-lesson-body-fg, #1a1a1a) 58%, var(--bsi-lp-lesson-body-bg, #f2efe9));
	--bsi-lp-quiz-value: var(--bsi-lp-lesson-body-fg, #1a1a1a);
	--bsi-lp-quiz-btn-bg: var(--bsi-lp-nav-btn-accent, var(--bsi-lp-primary, #c9a66b));
	--bsi-lp-quiz-btn-fg: var(--bsi-lp-bg, #0a0a0a);
	--bsi-lp-quiz-btn-hover: var(--bsi-lp-accent, var(--bsi-lp-accent-2, var(--bsi-lp-quiz-btn-bg)));
	--bsi-lp-quiz-status-bg: var(--bsi-lp-sidebar-bg, var(--bsi-lp-bg, #0a0a0a));
	--bsi-lp-quiz-status-fg: var(--bsi-lp-sidebar-fg, var(--bsi-lp-text, #ece6dc));
	--bsi-lp-quiz-status-muted: color-mix(in srgb, var(--bsi-lp-quiz-status-fg) 72%, var(--bsi-lp-quiz-status-bg));
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .quiz-intro-item::before {
	color: var(--bsi-lp-quiz-icon) !important;
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .quiz-intro-item__title {
	margin: 0;
	color: var(--bsi-lp-quiz-label) !important;
	font-family: var(--bsi-lp-lesson-reading-ff, inherit);
	font-size: var(--bsi-lp-lesson-reading-fs, 1rem);
	font-weight: var(--bsi-lp-lesson-reading-fw, 400);
	line-height: var(--bsi-lp-lesson-reading-lh, 1.45);
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .quiz-intro-item__content {
	color: var(--bsi-lp-quiz-value) !important;
	font-family: var(--bsi-lp-lesson-reading-ff, inherit);
	font-size: var(--bsi-lp-lesson-reading-fs, 1rem);
	font-weight: 600;
	line-height: var(--bsi-lp-lesson-reading-lh, 1.45);
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .lp-button.start,
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .quiz-buttons .lp-button.start,
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .quiz-buttons .lp-button.review-quiz,
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .quiz-buttons .lp-button.back-quiz,
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .quiz-buttons .lp-button.submit-quiz {
	font-family: var(--bsi-lp-nav-btn-ff, inherit) !important;
	font-size: var(--bsi-lp-nav-btn-fs, inherit) !important;
	font-weight: var(--bsi-lp-nav-btn-fw, 600) !important;
	letter-spacing: var(--bsi-lp-nav-btn-ls, normal);
	color: var(--bsi-lp-quiz-btn-fg) !important;
	background-color: var(--bsi-lp-quiz-btn-bg) !important;
	border: 1px solid color-mix(in srgb, var(--bsi-lp-quiz-btn-bg) 72%, var(--bsi-lp-lesson-body-fg, #1a1a1a)) !important;
	border-radius: 2px;
	transition:
		background-color 0.2s ease,
		color 0.2s ease,
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .lp-button.start:hover,
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .lp-button.start:focus-visible,
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .quiz-buttons .lp-button:hover,
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .quiz-buttons .lp-button:focus-visible {
	color: var(--bsi-lp-quiz-btn-fg) !important;
	background-color: var(--bsi-lp-quiz-btn-hover) !important;
	border-color: color-mix(in srgb, var(--bsi-lp-quiz-btn-hover) 65%, var(--bsi-lp-lesson-body-fg, #1a1a1a)) !important;
	box-shadow: 0 2px 10px color-mix(in srgb, var(--bsi-lp-quiz-btn-hover) 28%, transparent);
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .quiz-status > div {
	background: var(--bsi-lp-quiz-status-bg) !important;
	color: var(--bsi-lp-quiz-status-fg);
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .quiz-status .questions-index {
	color: var(--bsi-lp-quiz-status-muted) !important;
	font-family: var(--bsi-lp-lesson-reading-ff, inherit);
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .quiz-status .questions-index span {
	color: var(--bsi-lp-quiz-status-fg) !important;
	font-weight: 600;
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .quiz-status .countdown,
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .quiz-status .countdown i,
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .quiz-status .countdown .fas {
	color: var(--bsi-lp-quiz-status-fg) !important;
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .quiz-status .countdown .lp-icon-stopwatch,
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .quiz-status .countdown .lp-icon-stopwatch::before {
	color: var(--bsi-lp-quiz-icon) !important;
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .quiz-status .submit-quiz .lp-button,
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .quiz-status .submit-quiz #button-submit-quiz {
	color: var(--bsi-lp-quiz-btn-fg) !important;
	background: var(--bsi-lp-quiz-btn-bg) !important;
	border: 1px solid transparent !important;
	border-radius: 2px;
	font-family: var(--bsi-lp-nav-btn-ff, inherit);
	font-weight: var(--bsi-lp-nav-btn-fw, 600);
	letter-spacing: var(--bsi-lp-nav-btn-ls, 0.05em);
	text-transform: uppercase;
	transition: background-color 0.2s ease, color 0.2s ease;
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .quiz-status .submit-quiz .lp-button:hover,
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .quiz-status .submit-quiz .lp-button:focus-visible,
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .quiz-status .submit-quiz #button-submit-quiz:hover,
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .quiz-status .submit-quiz #button-submit-quiz:focus-visible {
	background: var(--bsi-lp-quiz-btn-hover) !important;
	color: var(--bsi-lp-quiz-btn-fg) !important;
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .quiz-status.submitting .submit-quiz .lp-button,
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .quiz-status.submitting .submit-quiz #button-submit-quiz {
	background: color-mix(in srgb, var(--bsi-lp-quiz-status-fg) 22%, var(--bsi-lp-quiz-status-bg)) !important;
	color: var(--bsi-lp-quiz-status-muted) !important;
}

/* Quiz answer options — hover uses a light wash of course primary on the lesson paper */
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .answer-options .answer-option {
	transition: background 0.2s ease;
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .answer-options .answer-option:hover,
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .answer-options .answer-option:focus-within {
	background: color-mix(
		in srgb,
		var(--bsi-lp-primary, #c9a66b) 14%,
		var(--bsi-lp-lesson-body-bg, #f2efe9)
	) !important;
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .answer-options .answer-option:hover .option-title::before,
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .answer-options .answer-option:focus-within .option-title::before {
	background: color-mix(
		in srgb,
		var(--bsi-lp-primary, #c9a66b) 48%,
		var(--bsi-lp-lesson-body-bg, #f2efe9)
	) !important;
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .question .answer-option .option-title {
	color: color-mix(in srgb, var(--bsi-lp-lesson-body-fg, #1a1a1a) 82%, var(--bsi-lp-lesson-body-bg, #f2efe9));
	transition: background 0.2s ease, border-color 0.2s ease;
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .question .answer-option .option-title:hover,
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .question .answer-option:focus-within .option-title {
	background: color-mix(
		in srgb,
		var(--bsi-lp-primary, #c9a66b) 14%,
		var(--bsi-lp-lesson-body-bg, #f2efe9)
	) !important;
	border-color: color-mix(
		in srgb,
		var(--bsi-lp-primary, #c9a66b) 28%,
		var(--bsi-lp-lesson-body-bg, #f2efe9)
	) !important;
	color: var(--bsi-lp-lesson-body-fg, #1a1a1a) !important;
}

/* Quiz result grade ring */
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .quiz-result .result-grade::before {
	border-color: color-mix(
		in srgb,
		var(--bsi-lp-primary, #c9a66b) 20%,
		var(--bsi-lp-lesson-body-bg, #f2efe9)
	) !important;
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .quiz-result .result-grade svg circle,
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .quiz-result .result-grade svg .circle-progress-bar__circle {
	stroke: var(--bsi-lp-primary, var(--bsi-lp-quiz-icon, #c9a66b)) !important;
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .quiz-result .result-grade .result-achieved {
	color: var(--bsi-lp-lesson-body-fg, #1a1a1a);
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .quiz-result.passed .result-grade .result-achieved {
	color: var(--bsi-lp-primary, var(--bsi-lp-quiz-icon, #c9a66b)) !important;
}

/* During an active quiz, hide course curriculum prev/next (use question nav below). */
body.bsi-lp-quiz-in-progress .bsi-lp-lesson-footer__nav,
body.bsi-lp-quiz-reviewing .bsi-lp-lesson-footer__nav {
	display: none !important;
}

body.bsi-lp-quiz-in-progress .bsi-lp-lesson-footer__actions:not(:has(.bsi-lp-lesson-footer__complete)) {
	display: none;
}

/* LearnPress question pagination — match lesson footer controls */
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .quiz-buttons.bsi-lp-quiz-buttons {
	display: block;
	margin: 1.5rem auto 0;
	max-width: min(var(--bsi-lp-lesson-main-max, 52rem), 100%);
	padding: 0 0 1rem;
	box-sizing: border-box;
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .quiz-buttons.bsi-lp-quiz-buttons .button-left.fixed {
	position: static !important;
	left: auto !important;
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	transform: none !important;
	background: transparent !important;
	padding-bottom: 0 !important;
	z-index: auto !important;
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .quiz-buttons.bsi-lp-quiz-buttons .button-right {
	display: flex;
	justify-content: flex-end;
	margin-top: 0.75rem;
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .questions-pagination {
	margin: 0;
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .bsi-lp-quiz-q-nav {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .bsi-lp-quiz-q-nav .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 2.5rem;
	min-width: 2.5rem;
	padding: 0.55rem 0.85rem;
	margin: 0;
	border-radius: 4px;
	border: 1px solid color-mix(in srgb, var(--bsi-lp-lesson-body-fg, #1a1a1a) 18%, var(--bsi-lp-lesson-body-bg, #f2efe9));
	background: color-mix(in srgb, var(--bsi-lp-lesson-body-bg, #f2efe9) 92%, var(--bsi-lp-lesson-body-fg, #1a1a1a) 8%);
	color: var(--bsi-lp-lesson-body-fg, #1a1a1a);
	font-family: var(--bsi-lp-nav-btn-ff, inherit);
	font-size: 0.78rem;
	font-weight: var(--bsi-lp-nav-btn-fw, 600);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition:
		background-color 0.18s ease,
		color 0.18s ease,
		border-color 0.18s ease;
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .bsi-lp-quiz-q-nav .page-numbers.current {
	background: var(--bsi-lp-nav-btn-accent, var(--bsi-lp-primary, #c9a66b));
	border-color: color-mix(in srgb, var(--bsi-lp-nav-btn-accent, var(--bsi-lp-primary, #c9a66b)) 72%, var(--bsi-lp-lesson-body-fg, #1a1a1a));
	color: var(--bsi-lp-nav-btn-fg, var(--bsi-lp-bg, #0a0a0a));
	cursor: default;
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .bsi-lp-quiz-q-nav .page-numbers.prev,
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .bsi-lp-quiz-q-nav .page-numbers.next {
	min-width: auto;
	padding-left: 1rem;
	padding-right: 1rem;
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .bsi-lp-quiz-q-nav .page-numbers.prev:hover,
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .bsi-lp-quiz-q-nav .page-numbers.prev:focus-visible,
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .bsi-lp-quiz-q-nav .page-numbers.next:hover,
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .bsi-lp-quiz-q-nav .page-numbers.next:focus-visible,
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .bsi-lp-quiz-q-nav button.page-numbers:not(.current):hover,
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .bsi-lp-quiz-q-nav button.page-numbers:not(.current):focus-visible {
	background: var(--bsi-lp-nav-btn-accent, var(--bsi-lp-primary, #c9a66b));
	border-color: color-mix(in srgb, var(--bsi-lp-nav-btn-accent, var(--bsi-lp-primary, #c9a66b)) 72%, var(--bsi-lp-lesson-body-fg, #1a1a1a));
	color: var(--bsi-lp-nav-btn-fg, var(--bsi-lp-bg, #0a0a0a));
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content #content-item-quiz .bsi-lp-quiz-q-nav .page-numbers.dots {
	border: none;
	background: transparent;
	min-width: auto;
	padding: 0 0.25rem;
	cursor: default;
	color: color-mix(in srgb, var(--bsi-lp-lesson-body-fg, #1a1a1a) 45%, var(--bsi-lp-lesson-body-bg, #f2efe9));
}

/* Quiz scores table */
.bsi-lp-quiz-scores,
.bsi-lp-course-assignments {
	width: 100%;
	margin-top: 0.5rem;
	border-collapse: collapse;
	font-size: 0.9rem;
}

.bsi-lp-quiz-scores th,
.bsi-lp-quiz-scores td,
.bsi-lp-course-assignments th,
.bsi-lp-course-assignments td {
	padding: 0.55rem 0.65rem;
	text-align: left;
	border-bottom: 1px solid color-mix(in srgb, var(--bsi-lp-iv-fg) 14%, var(--bsi-lp-iv-border));
}

.bsi-lp-quiz-scores th,
.bsi-lp-course-assignments th {
	font-weight: 600;
	font-size: 0.82rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--bsi-lp-iv-muted);
}

/* Course assignments tab (module cards) */
.bsi-lp-assignments-board {
	max-width: 52rem;
	margin: 0 auto;
	padding: 1rem 0 2rem;
}

.bsi-lp-assignments-board__head {
	display: flex;
	align-items: flex-start;
	gap: 0.85rem;
	margin-bottom: 1.25rem;
}

.bsi-lp-assignments-board__brand {
	flex-shrink: 0;
}

.bsi-lp-assignments-board__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 0.45rem;
	background: color-mix(in srgb, var(--bsi-lp-iv-accent, #c9a66b) 18%, #2d4a2d 82%);
	color: var(--bsi-lp-iv-accent, #c9a66b);
	font-size: 1.15rem;
	line-height: 1;
}

.bsi-lp-assignments-board__title {
	margin: 0;
	font-size: 1.35rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: color-mix(in srgb, var(--bsi-lp-iv-fg, #1a1a1a) 88%, #2d4a2d 12%);
}

.bsi-lp-assignments-board__summary {
	margin: 0.2rem 0 0 !important;
	font-size: 0.92rem;
	color: var(--bsi-lp-iv-muted, #6b7280);
}

.bsi-lp-assignments-board__login {
	margin: 0 0 1rem;
	font-size: 0.9rem;
	color: var(--bsi-lp-iv-muted, #6b7280);
}

.bsi-lp-assignments-board__cards {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.bsi-lp-assignments-board__card {
	background: var(--bsi-lp-iv-bg, #fff);
	border: 1px solid color-mix(in srgb, var(--bsi-lp-iv-fg, #1a1a1a) 10%, var(--bsi-lp-iv-border, #e5e7eb));
	border-radius: 0.65rem;
	padding: 1.15rem 1.25rem 1.05rem;
	box-shadow: 0 1px 3px color-mix(in srgb, var(--bsi-lp-iv-fg, #1a1a1a) 6%, transparent);
	transition: border-color 0.45s ease, box-shadow 0.45s ease;
}

.bsi-lp-assignments-board__card-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 0.65rem;
}

.bsi-lp-assignments-board__kicker {
	margin: 0 0 0.2rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: var(--bsi-lp-iv-accent, #c9a66b);
}

.bsi-lp-assignments-board__card-title {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.35;
	color: var(--bsi-lp-iv-fg, #1a1a1a);
}

.bsi-lp-assignments-board__card-progress {
	flex-shrink: 0;
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--bsi-lp-iv-muted, #6b7280);
}

.bsi-lp-assignments-board__card-head-right {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.35rem;
	flex-shrink: 0;
}

.bsi-lp-assignments-board__card-done {
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--bsi-lp-iv-accent, #c9a66b);
	opacity: 0;
	transform: translateY(-5px);
	transition: opacity 0.45s ease, transform 0.45s ease;
}

.bsi-lp-assignments-board__card-done.is-revealed {
	opacity: 1;
	transform: translateY(0);
}

.bsi-lp-assignments-board__card-done[hidden] {
	display: none !important;
}

.bsi-lp-assignments-board__card.is-assignment-complete {
	border-color: color-mix(in srgb, var(--bsi-lp-iv-accent, #c9a66b) 38%, var(--bsi-lp-iv-border, #e5e7eb));
	box-shadow: 0 2px 8px color-mix(in srgb, var(--bsi-lp-iv-accent, #c9a66b) 12%, transparent);
}

.bsi-lp-assignments-board__card-empty {
	margin: 0;
	font-size: 0.9rem;
	color: var(--bsi-lp-iv-muted, #6b7280);
}

/* Course quiz scores tab (dashboard + internal quiz-scores segment) */
.bsi-lp-quiz-scores-board {
	max-width: 52rem;
	margin: 0 auto;
	padding: 0.25rem 0 2rem;
}

.bsi-lp-quiz-scores-board__head {
	display: flex;
	align-items: flex-start;
	gap: 0.85rem;
	margin-bottom: 1.25rem;
}

.bsi-lp-quiz-scores-board__brand {
	flex-shrink: 0;
}

.bsi-lp-quiz-scores-board__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 0.45rem;
	background: color-mix(in srgb, var(--bsi-lp-iv-accent, #c9a66b) 18%, #2d4a2d 82%);
	color: var(--bsi-lp-iv-accent, #c9a66b);
	font-size: 1.15rem;
	font-weight: 800;
	line-height: 1;
}

.bsi-lp-quiz-scores-board__title {
	margin: 0;
	font-size: 1.35rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: color-mix(in srgb, var(--bsi-lp-iv-fg, #1a1a1a) 88%, #2d4a2d 12%);
}

.bsi-lp-quiz-scores-board__summary {
	margin: 0.2rem 0 0;
	font-size: 0.92rem;
	color: var(--bsi-lp-iv-muted, #6b7280);
}

.bsi-lp-quiz-scores-board__login {
	margin: 0 0 1rem;
	font-size: 0.9rem;
	color: var(--bsi-lp-iv-muted, #6b7280);
}

.bsi-lp-quiz-scores-board__cards {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.bsi-lp-quiz-scores-board__card {
	background: var(--bsi-lp-iv-bg, #fff);
	border: 1px solid color-mix(in srgb, var(--bsi-lp-iv-fg, #1a1a1a) 10%, var(--bsi-lp-iv-border, #e5e7eb));
	border-radius: 0.65rem;
	padding: 1.15rem 1.25rem 1.05rem;
	box-shadow: 0 1px 3px color-mix(in srgb, var(--bsi-lp-iv-fg, #1a1a1a) 6%, transparent);
	transition: border-color 0.35s ease, box-shadow 0.35s ease;
}

.bsi-lp-quiz-scores-board__card.is-quiz-complete {
	border-color: color-mix(in srgb, var(--bsi-lp-iv-accent, #c9a66b) 38%, var(--bsi-lp-iv-border, #e5e7eb));
	box-shadow: 0 2px 8px color-mix(in srgb, var(--bsi-lp-iv-accent, #c9a66b) 12%, transparent);
}

.bsi-lp-quiz-scores-board__card-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
}

.bsi-lp-quiz-scores-board__card-meta {
	min-width: 0;
	flex: 1 1 auto;
}

.bsi-lp-quiz-scores-board__kicker {
	margin: 0 0 0.2rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: var(--bsi-lp-iv-accent, #c9a66b);
}

.bsi-lp-quiz-scores-board__card-title {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.35;
	color: var(--bsi-lp-iv-fg, #1a1a1a);
}

.bsi-lp-quiz-scores-board__card-link {
	color: inherit;
	text-decoration: none;
}

.bsi-lp-quiz-scores-board__card-link:hover,
.bsi-lp-quiz-scores-board__card-link:focus-visible {
	color: var(--bsi-lp-primary, var(--bsi-lp-iv-accent, #2d6a4f));
	text-decoration: underline;
	text-underline-offset: 2px;
}

.bsi-lp-quiz-scores-board__status {
	margin: 0.35rem 0 0;
	font-size: 0.88rem;
	color: var(--bsi-lp-iv-muted, #6b7280);
}

.bsi-lp-quiz-scores-board__card-score {
	flex-shrink: 0;
}

.bsi-lp-quiz-scores-board__card-action {
	margin: 0.85rem 0 0;
	padding-top: 0.65rem;
	border-top: 1px solid color-mix(in srgb, var(--bsi-lp-iv-fg, #1a1a1a) 10%, var(--bsi-lp-iv-border, #e5e7eb));
}

.bsi-lp-quiz-scores-board__review-link {
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--bsi-lp-primary, var(--bsi-lp-iv-accent, #2d6a4f));
	text-decoration: none;
}

.bsi-lp-quiz-scores-board__review-link:hover,
.bsi-lp-quiz-scores-board__review-link:focus-visible {
	text-decoration: underline;
	text-underline-offset: 2px;
}

.bsi-lp-quiz-score-ring {
	position: relative;
	width: var(--bsi-lp-quiz-ring-size, 44px);
	height: var(--bsi-lp-quiz-ring-size, 44px);
	margin: 0;
	flex-shrink: 0;
}

.bsi-lp-quiz-score-ring__svg {
	display: block;
}

.bsi-lp-quiz-score-ring__track {
	stroke: color-mix(in srgb, var(--bsi-lp-iv-fg, #1a1a1a) 14%, var(--bsi-lp-iv-border, #e5e7eb));
}

.bsi-lp-quiz-score-ring__bar {
	stroke: var(--bsi-lp-primary, var(--bsi-lp-iv-accent, #2d6a4f));
	stroke-linecap: round;
	transition: stroke-dashoffset 0.45s ease;
}

.bsi-lp-quiz-score-ring--passed .bsi-lp-quiz-score-ring__bar {
	stroke: var(--bsi-lp-primary, var(--bsi-lp-iv-accent, #c9a66b));
}

.bsi-lp-quiz-score-ring__value {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.62rem;
	font-weight: 800;
	line-height: 1;
	color: var(--bsi-lp-iv-fg, #1a1a1a);
	pointer-events: none;
}

.bsi-lp-quiz-score-ring--passed .bsi-lp-quiz-score-ring__value {
	color: var(--bsi-lp-primary, var(--bsi-lp-iv-accent, #2d6a4f));
}

.bsi-lp-assignments-board .bsi-lp-assignment__list {
	margin: 0;
}

.bsi-lp-assignment__item.is-complete .bsi-lp-assignment__text {
	color: color-mix(in srgb, var(--bsi-lp-iv-muted, #6b7280) 88%, var(--bsi-lp-iv-fg, #1a1a1a) 12%);
	text-decoration: line-through;
	text-decoration-thickness: 1px;
}

.bsi-lp-assignments-board .bsi-lp-assignment__label {
	cursor: pointer;
}

.bsi-lp-assignments-board .bsi-lp-assignment__headline {
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

/* Course assignments (checklists) */
.bsi-lp-assignment__intro {
	margin: 0 0 0.75rem;
	font-size: 0.95rem;
	color: color-mix(in srgb, var(--bsi-lp-text, #1a1a1a) 75%, #555);
}

.bsi-lp-assignment__list {
	list-style: none;
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.bsi-lp-assignment__item {
	list-style: none;
	list-style-type: none;
	margin: 0;
	padding: 0;
	border-bottom: 1px solid color-mix(in srgb, var(--bsi-lp-iv-fg) 12%, var(--bsi-lp-iv-border));
}

.bsi-lp-assignment__item::marker {
	content: none;
	display: none;
	font-size: 0;
}

#popup-content .bsi-lp-assignment__list,
#popup-content .bsi-lp-assignment__item {
	list-style: none;
	padding-left: 0;
	margin-left: 0;
}

#popup-content .bsi-lp-assignment__item::marker {
	content: none;
}

.bsi-lp-assignment__item:last-child {
	border-bottom: 0;
}

.bsi-lp-assignment__label {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	padding: 0.65rem 0;
	cursor: pointer;
	font-size: 0.95rem;
	line-height: 1.45;
}

.bsi-lp-assignment__cb {
	margin-top: 0.2rem;
	flex-shrink: 0;
	width: 1.15rem;
	height: 1.15rem;
	border-radius: 50%;
	accent-color: var(--bsi-lp-iv-accent, #c9a66b);
	cursor: pointer;
}

.bsi-lp-assignment__text {
	flex: 1;
}

.bsi-lp-assignment__login,
.bsi-lp-assignment__empty {
	margin: 0.5rem 0 0;
	font-size: 0.9rem;
	color: var(--bsi-lp-iv-muted);
}

.bsi-lp-assignment__status {
	margin: 0.75rem 0 0;
	font-size: 0.85rem;
	color: var(--bsi-lp-iv-accent);
}

/*
 * Titles on course-shell surfaces (--bsi-lp-bg / sidebar), not the lesson reading column.
 * Do not fall back to --bsi-lp-lesson-body-fg (often opposite polarity vs these backgrounds).
 */
.bsi-lp-field-assignment,
.bsi-lp-wl-hero {
	--bsi-lp-shell-title-fg: var(--bsi-lp-text, var(--bsi-lp-sidebar-fg, #ece6dc));
}

/* Single assignment item (field assignment layout in course popup) */
.bsi-lp-field-assignment {
	--bsi-lp-fa-bar: color-mix(in srgb, var(--bsi-lp-primary, #2d4a2d) 88%, #1a1a1a 12%);
	--bsi-lp-fa-body: color-mix(in srgb, var(--bsi-lp-bg, #f4f6f0) 92%, #c5d4bc 8%);
	--bsi-lp-fa-border: color-mix(in srgb, var(--bsi-lp-fa-bar) 55%, var(--bsi-lp-iv-border, #c5c9c0));
	max-width: 52rem;
	margin: 0 auto 1.5rem;
	border: 1px solid var(--bsi-lp-fa-border);
	border-radius: 0.5rem;
	overflow: hidden;
	box-shadow: 0 2px 8px color-mix(in srgb, var(--bsi-lp-fa-bar) 12%, transparent);
}

.bsi-lp-field-assignment__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
	padding: 0.85rem 1.15rem;
	background: var(--bsi-lp-fa-bar);
	color: color-mix(in srgb, var(--bsi-lp-accent, #c9a66b) 88%, #fff 12%);
}

.bsi-lp-field-assignment__bar-brand {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.35rem 0.5rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.bsi-lp-field-assignment__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1rem;
	line-height: 1;
}

.bsi-lp-field-assignment__dot {
	opacity: 0.85;
}

.bsi-lp-field-assignment__kicker {
	color: var(--bsi-lp-accent, #c9a66b);
}

.bsi-lp-field-assignment__completed {
	flex-shrink: 0;
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
	border: 1px solid color-mix(in srgb, currentColor 55%, transparent);
	background: color-mix(in srgb, currentColor 14%, transparent);
	color: inherit;
	opacity: 0;
	transform: translateY(-5px);
	transition: opacity 0.45s ease, transform 0.45s ease;
}

.bsi-lp-field-assignment__completed.is-revealed {
	opacity: 1;
	transform: translateY(0);
}

.bsi-lp-field-assignment__completed[hidden] {
	display: none !important;
}

@keyframes bsi-lp-sidebar-complete-pop {
	0% {
		transform: scale(0.82);
		opacity: 0.35;
	}
	70% {
		transform: scale(1.08);
		opacity: 1;
	}
	100% {
		transform: scale(1);
		opacity: 1;
	}
}

@media (prefers-reduced-motion: reduce) {
	.bsi-lp-field-assignment__completed,
	.bsi-lp-assignments-board__card-done {
		transition: none;
		transform: none;
	}

	.bsi-lp-field-assignment__completed.is-revealed,
	.bsi-lp-assignments-board__card-done.is-revealed {
		opacity: 1;
		transform: none;
	}

	#popup-sidebar.bsi-lp-popup-sidebar .course-item__status .course-item-ico {
		transition: none;
	}

	#popup-sidebar.bsi-lp-popup-sidebar .course-item__status .course-item-ico.passed.completed.is-revealed,
	#popup-sidebar.bsi-lp-popup-sidebar .course-item__status .course-item-ico.completed:not(.in-progress):not(.started):not(.failed).is-revealed,
	#popup-sidebar.bsi-lp-popup-sidebar .course-item__status .course-item-ico.failed.completed.is-revealed {
		animation: none;
	}

	.bsi-lp-assignments-board__card {
		transition: none;
	}
}

.bsi-lp-field-assignment__body {
	padding: 1.35rem 1.25rem 1.5rem;
	background: var(--bsi-lp-fa-body);
}

.bsi-lp-field-assignment__title {
	margin: 0 0 0.85rem;
	font-size: clamp(1.35rem, 1.1rem + 0.6vw, 1.75rem);
	font-weight: 700;
	line-height: 1.25;
	color: color-mix(in srgb, var(--bsi-lp-shell-title-fg) 96%, var(--bsi-lp-fa-body, #f4f6f0));
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content .bsi-lp-field-assignment h1.bsi-lp-field-assignment__title.course-item-title {
	color: color-mix(in srgb, var(--bsi-lp-shell-title-fg) 96%, var(--bsi-lp-fa-body, #f4f6f0));
}

.bsi-lp-field-assignment__content {
	margin-bottom: 1.1rem;
	font-size: 1rem;
	line-height: 1.65;
	color: color-mix(in srgb, var(--bsi-lp-text, #1a1a1a) 92%, #444);
}

.bsi-lp-field-assignment__content p:last-child {
	margin-bottom: 0;
}

.bsi-lp-field-assignment__progress {
	margin: 0 0 0.85rem;
	font-size: 0.9rem;
	font-weight: 600;
	color: color-mix(in srgb, var(--bsi-lp-text, #1a1a1a) 65%, #555);
}

.bsi-lp-field-assignment .bsi-lp-assignment__list--field-cards {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	margin: 0;
	padding: 0;
}

.bsi-lp-field-assignment .bsi-lp-assignment__list--field-cards .bsi-lp-assignment__item {
	border: 0;
	background: var(--bsi-lp-iv-bg, #fff);
	border-radius: 0.45rem;
	box-shadow: 0 1px 2px color-mix(in srgb, var(--bsi-lp-fa-bar) 8%, transparent);
}

.bsi-lp-field-assignment .bsi-lp-assignment__list--field-cards .bsi-lp-assignment__label {
	padding: 1rem 1.05rem;
}

.bsi-lp-field-assignment .bsi-lp-assignment__cb,
.bsi-lp-assignments-board .bsi-lp-assignment__cb {
	appearance: none;
	-webkit-appearance: none;
	border: 2px solid color-mix(in srgb, var(--bsi-lp-iv-muted, #6b7280) 55%, var(--bsi-lp-iv-fg, #1a1a1a) 45%);
	background: transparent;
}

.bsi-lp-field-assignment .bsi-lp-assignment__cb:checked,
.bsi-lp-assignments-board .bsi-lp-assignment__cb:checked {
	border-color: var(--bsi-lp-iv-accent, #c9a66b);
	background: radial-gradient(circle at center, var(--bsi-lp-iv-accent, #c9a66b) 42%, transparent 44%);
}

#popup-content .bsi-lp-field-assignment {
	margin-top: 0.25rem;
}

/* Workout library (internal tab) */
.bsi-lp-workout-library__filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0.75rem 0 1rem;
}

/*
 * Chip color tokens. Fallback chains live here so the chip rules below can
 * use bare var(--token) without per-class fallbacks. Theme/internal-view
 * vars override these for free via the cascade.
 */
.bsi-lp-workout-library,
.bsi-lp-recipe-library,
.bsi-lp-challenge-library {
	--bsi-lp-chip-active-bg: var(--bsi-lp-primary, #c9a66b);
	--bsi-lp-chip-active-fg: var(--bsi-lp-bg, #0a0a0a);
	--bsi-lp-chip-inactive-bg: var(--bsi-lp-iv-accent, var(--bsi-lp-primary, #c9a66b));
	--bsi-lp-chip-inactive-fg: var(--bsi-lp-iv-bg, #fff);
	--bsi-lp-chip-focus-ring: var(--bsi-lp-primary, #c9a66b);
}

.bsi-lp-chip {
	appearance: none;
	-webkit-appearance: none;
	display: inline-flex;
	align-items: center;
	border: 1px solid transparent;
	background: var(--bsi-lp-chip-inactive-bg);
	color: var(--bsi-lp-chip-inactive-fg);
	border-radius: 0.25rem;
	padding: 0.2rem 0.5rem;
	font-size: 0.65rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1.2;
	cursor: pointer;
	text-decoration: none;
	box-shadow: none;
	transition: background-color 120ms ease, color 120ms ease, border-color 120ms ease, box-shadow 120ms ease, transform 80ms ease;
}

.bsi-lp-chip:hover {
	background: color-mix(in srgb, var(--bsi-lp-chip-inactive-bg) 85%, #000);
	color: var(--bsi-lp-chip-inactive-fg);
}

.bsi-lp-chip:focus-visible {
	outline: 2px solid color-mix(in srgb, var(--bsi-lp-chip-focus-ring) 70%, transparent);
	outline-offset: 2px;
}

.bsi-lp-chip:active {
	transform: translateY(1px);
}

.bsi-lp-chip.is-active,
.bsi-lp-chip[aria-pressed="true"] {
	background: var(--bsi-lp-chip-active-bg);
	color: var(--bsi-lp-chip-active-fg);
	border-color: transparent;
	box-shadow: 0 1px 2px color-mix(in srgb, var(--bsi-lp-chip-active-bg) 35%, transparent);
}

.bsi-lp-chip.is-active:hover,
.bsi-lp-chip[aria-pressed="true"]:hover {
	background: color-mix(in srgb, var(--bsi-lp-chip-active-bg) 88%, #000);
	color: var(--bsi-lp-chip-active-fg);
}

.bsi-lp-chip[disabled],
.bsi-lp-chip[aria-disabled="true"] {
	opacity: 0.5;
	cursor: not-allowed;
}

.bsi-lp-chip--wl {
	font-family: var(--bsi-lp-lesson-reading-ff, var(--bsi-lp-sidebar-ff, inherit));
}

/* Workout library hero + toolbar (course theme / internal IV tokens) */
.bsi-lp-wl-hero {
	--bsi-lp-wl-hero-bg: color-mix(
		in srgb,
		var(--bsi-lp-bg, #0a0a0a) 78%,
		var(--bsi-lp-primary, #2d6a4f) 22%
	);
	padding: 5vh 15vw;
	margin: 0;
	border-radius: 0px;
	background: var(--bsi-lp-wl-hero-bg);
	color: var(--bsi-lp-shell-title-fg);
	font-family: var(--bsi-lp-lesson-reading-ff, inherit);
	box-sizing: border-box;
}

.bsi-lp-wl-hero__brand {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
	margin-bottom: 0.5rem;
}

.bsi-lp-wl-hero__badge {
	display: inline-block;
	padding: 0.12rem 0.45rem;
	font-size: 0.65rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	background: var(--bsi-lp-accent, #e4c892);
	color: var(--bsi-lp-bg, #0a0a0a);
	border-radius: 2px;
}

.bsi-lp-wl-hero__kicker {
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: var(--bsi-lp-accent, #e4c892);
}

.bsi-lp-wl-hero__title,
#bsi-lp-wl-hero-title {
	margin: 0 0 0.65rem;
	font-size: clamp(1.45rem, 1.1rem + 2.2vw, 2.15rem);
	font-weight: 800;
	letter-spacing: 0.04em;
	line-height: 1.1;
	color: color-mix(in srgb, var(--bsi-lp-shell-title-fg) 97%, var(--bsi-lp-wl-hero-bg, #0a0a0a));
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content .bsi-lp-wl-hero h1.bsi-lp-wl-hero__title,
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content .bsi-lp-wl-hero h1#bsi-lp-wl-hero-title {
	margin: 0 0 0.65rem;
	font-family: inherit;
	font-size: clamp(1.45rem, 1.1rem + 2.2vw, 2.15rem);
	font-weight: 800;
	letter-spacing: 0.04em;
	line-height: 1.1;
	color: color-mix(in srgb, var(--bsi-lp-shell-title-fg) 97%, var(--bsi-lp-wl-hero-bg, #0a0a0a));
}

.bsi-lp-wl-hero__desc {
	margin: 0 0 1rem;
	max-width: 52rem;
	font-size: 0.95rem;
	line-height: 1.45;
	color: color-mix(in srgb, var(--bsi-lp-shell-title-fg) 88%, var(--bsi-lp-wl-hero-bg, #0a0a0a));
}

.bsi-lp-wl-pitch {
	--bsi-lp-wl-pitch-bg: color-mix(in srgb, var(--bsi-lp-primary, #2d6a4f) 42%, var(--bsi-lp-bg, #0a0a0a) 58%);
	--bsi-lp-wl-pitch-icon-bg: color-mix(in srgb, var(--bsi-lp-primary, #3d7a5a) 62%, var(--bsi-lp-bg, #0a0a0a) 38%);
	--bsi-lp-wl-pitch-title: var(--bsi-lp-shell-title-fg, var(--bsi-lp-text, #ece6dc));
	--bsi-lp-wl-pitch-body: color-mix(in srgb, var(--bsi-lp-accent, #c9a66b) 72%, var(--bsi-lp-wl-pitch-title) 28%);
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.65rem;
	margin: 0 0 1rem;
	padding: 1.1rem 15vw 1.25rem;
	border-radius: 0;
	background: var(--bsi-lp-wl-pitch-bg);
	color: var(--bsi-lp-wl-pitch-body);
	font-family: var(--bsi-lp-bq-ff, var(--bsi-lp-h1-ff, Georgia, "Times New Roman", serif));
}

@media (min-width: 768px) {
	.bsi-lp-wl-pitch {
		grid-template-columns: repeat(auto-fit, minmax(min(100%, 10.5rem), 1fr));
		gap: 0.75rem 1.1rem;
	}
}

.bsi-lp-wl-pitch__col {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: auto auto;
	column-gap: 0.6rem;
	row-gap: 0.12rem;
	align-items: start;
	min-width: 0;
}

.bsi-lp-wl-pitch__icon {
	grid-row: 1 / -1;
	grid-column: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 1.75rem;
	height: 1.75rem;
	font-size: 0.8rem;
	line-height: 1;
	border-radius: 0.3rem;
	background: var(--bsi-lp-wl-pitch-icon-bg);
	color: var(--bsi-lp-accent, #e4c892);
	opacity: 1;
}

.bsi-lp-wl-pitch__heading {
	grid-column: 2;
	grid-row: 1;
	margin: 0;
	font-family: inherit;
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.02em;
	color: var(--bsi-lp-wl-pitch-title);
}

.bsi-lp-wl-pitch__text {
	grid-column: 2;
	grid-row: 2;
	margin: 0;
	font-family: inherit;
	font-size: 0.7rem;
	font-weight: 400;
	line-height: 1.35;
	color: var(--bsi-lp-wl-pitch-body);
	opacity: 1;
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content .bsi-lp-wl-pitch h2.bsi-lp-wl-pitch__heading {
	margin: 0;
	font-family: inherit;
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.02em;
	color: var(--bsi-lp-wl-pitch-title);
}

.bsi-lp-wl-toolbar {
	margin: 0 0 1rem;
	padding: 5vh 15vw;
	border-radius: 10px;
	background: color-mix(in srgb, var(--bsi-lp-iv-bg, #fafafa) 94%, var(--bsi-lp-primary, #2d6a4f) 6%);
	border: 1px solid color-mix(in srgb, var(--bsi-lp-iv-fg) 10%, var(--bsi-lp-iv-border));
	box-sizing: border-box;
}

@media (max-width: 767px) {
	.bsi-lp-wl-hero, .bsi-lp-wl-pitch, .bsi-lp-wl-toolbar {
	padding-left: 8vw;
	padding-right: 8vw;
	}
}


.bsi-lp-wl-toolbar__filter-toggle {
	display: none;
	align-items: center;
	gap: 0.35rem;
	appearance: none;
	-webkit-appearance: none;
	margin: 0 0 0.65rem;
	padding: 0.22rem 0.55rem;
	border-radius: 0.25rem;
	border: 1px solid color-mix(in srgb, var(--bsi-lp-iv-fg) 18%, var(--bsi-lp-iv-border));
	background: transparent;
	color: var(--bsi-lp-iv-fg);
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.2;
	cursor: pointer;
	transition: background-color 120ms ease, color 120ms ease, border-color 120ms ease;
}

.bsi-lp-wl-toolbar__filter-toggle:hover {
	background: color-mix(in srgb, var(--bsi-lp-chip-active-bg) 14%, transparent);
	border-color: color-mix(in srgb, var(--bsi-lp-chip-active-bg) 50%, var(--bsi-lp-iv-border));
}

.bsi-lp-wl-toolbar__filter-toggle:focus-visible {
	outline: 2px solid color-mix(in srgb, var(--bsi-lp-chip-focus-ring) 70%, transparent);
	outline-offset: 2px;
}

.bsi-lp-wl-toolbar__filter-toggle[aria-expanded="true"] {
	background: var(--bsi-lp-chip-active-bg);
	color: var(--bsi-lp-chip-active-fg);
	border-color: transparent;
}

.bsi-lp-wl-toolbar__filter-icon {
	display: inline-flex;
	align-items: center;
	line-height: 0;
}

.bsi-lp-wl-toolbar__filters {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 0.65rem 1rem;
}

@media (max-width: 767px) {
	.bsi-lp-wl-toolbar__filter-toggle {
		display: inline-flex;
	}
	.bsi-lp-wl-toolbar__filters {
		display: none;
		width: 100%;
	}
	.bsi-lp-wl-toolbar.is-filters-open .bsi-lp-wl-toolbar__filters {
		display: flex;
	}
	.bsi-lp-wl-toolbar__sep {
		display: none;
	}
}

.bsi-lp-wl-toolbar__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.45rem 0.65rem;
	min-width: 0;
}

.bsi-lp-wl-toolbar__row-label {
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: var(--bsi-lp-iv-muted);
	flex: 0 0 100%;
}

@media (min-width: 520px) {
	.bsi-lp-wl-toolbar__row-label {
		flex: 0 0 auto;
	}
}

.bsi-lp-wl-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}

.bsi-lp-wl-toolbar__sep {
	width: 1px;
	align-self: stretch;
	min-height: 2rem;
	background: color-mix(in srgb, var(--bsi-lp-iv-fg) 14%, var(--bsi-lp-iv-border));
	flex: 0 0 auto;
}

.bsi-lp-wl-toolbar__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.65rem;
	margin-top: 0.85rem;
	padding-top: 0.75rem;
	border-top: 1px solid color-mix(in srgb, var(--bsi-lp-iv-fg) 10%, var(--bsi-lp-iv-border));
}

.bsi-lp-wl-toolbar__count {
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: var(--bsi-lp-iv-muted);
}

/* Print-all: beat parent-theme .button padding/font (Avada/Fusion, etc.) */
.bsi-lp-wl-print-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	box-sizing: border-box;
	font-family: inherit;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.25;
	background: var(--bsi-lp-primary, #2d6a4f);
	color: var(--bsi-lp-text, #fff);
	border: 1px solid transparent;
	border-radius: 0.25rem;
	padding: 0.28rem 0.6rem;
	font-size: 0.65rem;
	min-height: 0;
	box-shadow: none;
	text-transform: none;
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content .bsi-lp-workout-library button.bsi-lp-wl-print-btn.button,
#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-workout-library button.bsi-lp-wl-print-btn.button,
.bsi-lp-internal-view .bsi-lp-workout-library button.bsi-lp-wl-print-btn.button {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.35rem !important;
	box-sizing: border-box !important;
	font-family: inherit !important;
	font-weight: 700 !important;
	font-size: 0.65rem !important;
	line-height: 1.25 !important;
	letter-spacing: 0.05em !important;
	padding: 0.28rem 0.6rem !important;
	min-height: 0 !important;
	height: auto !important;
	border-radius: 0.25rem !important;
	border: 1px solid transparent !important;
	background: var(--bsi-lp-primary, #2d6a4f) !important;
	color: var(--bsi-lp-text, #fff) !important;
	box-shadow: none !important;
	text-transform: none !important;
}

.bsi-lp-wl-print-btn__icon {
	font-size: 0.85rem;
	line-height: 1;
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content .bsi-lp-workout-library button.bsi-lp-wl-print-btn.button .bsi-lp-wl-print-btn__icon,
#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-workout-library button.bsi-lp-wl-print-btn.button .bsi-lp-wl-print-btn__icon,
.bsi-lp-internal-view .bsi-lp-workout-library button.bsi-lp-wl-print-btn.button .bsi-lp-wl-print-btn__icon {
	font-size: 0.85rem !important;
	line-height: 1 !important;
}

.bsi-lp-wl-print-root,
.bsi-lp-rl-print-root {
	display: none !important;
}

.bsi-lp-wl-print {
	max-width: 48rem;
	margin: 0 auto;
	padding: 0.5rem 0;
	color: #111;
	font-family: Georgia, "Times New Roman", Times, serif;
}

.bsi-lp-wl-print__header {
	text-align: center;
	margin-bottom: 1.25rem;
	padding-bottom: 0.75rem;
	border-bottom: 4px solid #000;
}

.bsi-lp-wl-print__title {
	margin: 0;
	font-size: 1.65rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	font-family: ui-monospace, "Cascadia Mono", "Segoe UI Mono", monospace;
}

.bsi-lp-wl-print__sub,
.bsi-lp-wl-print__sub2 {
	margin: 0.35rem 0 0;
	font-size: 0.68rem;
	letter-spacing: 0.08em;
	font-family: system-ui, sans-serif;
	color: #333;
}

.bsi-lp-wl-print__article {
	margin: 0;
	padding: 0;
}

.bsi-lp-wl-print__article-head {
	display: flex;
	gap: 0.65rem;
	align-items: flex-start;
}

.bsi-lp-wl-print__num {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 1.85rem;
	height: 1.85rem;
	background: #111;
	color: #fff;
	font-size: 0.75rem;
	font-weight: 800;
	font-family: system-ui, sans-serif;
}

.bsi-lp-wl-print__name {
	margin: 0 0 0.25rem;
	font-size: 1.15rem;
	font-weight: 700;
}

.bsi-lp-wl-print__meta {
	margin: 0;
	font-size: 0.62rem;
	letter-spacing: 0.06em;
	font-family: system-ui, sans-serif;
	color: #444;
}

.bsi-lp-wl-print__goal {
	margin: 0.35rem 0 0;
	font-size: 0.8rem;
	font-style: italic;
}

.bsi-lp-wl-print__movements {
	margin: 0.5rem 0 0;
	padding-left: 1.25rem;
	font-size: 0.85rem;
}

.bsi-lp-wl-print__coaching {
	margin: 0.5rem 0 0;
	font-size: 0.82rem;
	font-style: italic;
	line-height: 1.45;
}

.bsi-lp-wl-print__metfix {
	margin: 0.5rem 0 0;
	font-size: 0.8rem;
	font-family: system-ui, sans-serif;
}

.bsi-lp-wl-print__metfix-bar {
	margin-right: 0.25rem;
	font-weight: 700;
}

/* Recipe library print stack (screen: hidden via .bsi-lp-rl-print-root above) */
.bsi-lp-rl-print {
	max-width: 42rem;
	margin: 0 auto;
	padding: 0;
	color: #1a2e1a;
	font-family: Georgia, "Times New Roman", Times, serif;
}

.bsi-lp-rl-print__article {
	margin: 0;
	padding: 0;
}

.bsi-lp-rl-print__kicker {
	margin: 0 0 0.35rem;
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-family: ui-monospace, "Cascadia Mono", "Segoe UI Mono", Consolas, monospace;
	color: #7a5c1a;
}

.bsi-lp-rl-print__title {
	margin: 0 0 0.35rem;
	font-size: 1.65rem;
	font-weight: 700;
	line-height: 1.15;
	color: #1a2e1a;
}

.bsi-lp-rl-print__excerpt {
	margin: 0;
	font-size: 0.9rem;
	font-style: italic;
	line-height: 1.4;
	color: #4a6a4a;
}

.bsi-lp-rl-print__rule {
	height: 3px;
	margin: 0.65rem 0 0.75rem;
	background: #1a2e1a;
}

.bsi-lp-rl-print__stats {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 1rem;
	margin: 0 0 1rem;
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	font-family: ui-monospace, "Cascadia Mono", "Segoe UI Mono", Consolas, monospace;
	color: #2a3a2a;
}

.bsi-lp-rl-print__stat strong {
	font-weight: 800;
}

.bsi-lp-rl-print__section-title {
	margin: 0 0 0.5rem;
	font-size: 0.62rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-family: ui-monospace, "Cascadia Mono", "Segoe UI Mono", Consolas, monospace;
	color: #7a5c1a;
}

.bsi-lp-rl-print__ingredients {
	margin: 0 0 1rem;
}

.bsi-lp-rl-print__method {
	margin: 0 0 1rem;
}

.bsi-lp-rl-print__list {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0.85rem;
	line-height: 1.45;
	color: #2a3a2a;
}

.bsi-lp-rl-print__list--bullets li {
	position: relative;
	margin: 0 0 0.25rem;
	padding-left: 0.85rem;
}

.bsi-lp-rl-print__list--bullets li::before {
	content: "·";
	position: absolute;
	left: 0;
	font-weight: 700;
	color: #7a5c1a;
}

.bsi-lp-rl-print__list--steps {
	counter-reset: bsi-rl-print-step;
	padding-left: 0;
}

.bsi-lp-rl-print__list--steps li {
	position: relative;
	margin: 0 0 0.4rem;
	padding-left: 1.35rem;
	counter-increment: bsi-rl-print-step;
}

.bsi-lp-rl-print__list--steps li::before {
	content: counter(bsi-rl-print-step) ".";
	position: absolute;
	left: 0;
	font-family: ui-monospace, "Cascadia Mono", "Segoe UI Mono", Consolas, monospace;
	font-weight: 700;
	color: #2d4a2d;
}

.bsi-lp-rl-print__note {
	margin: 0.75rem 0 0;
	padding: 0.65rem 0.75rem 0.65rem 0.85rem;
	border-left: 3px solid #7a5c1a;
	background: #f0f4f0;
	print-color-adjust: exact;
	-webkit-print-color-adjust: exact;
}

.bsi-lp-rl-print__note-body {
	font-size: 0.82rem;
	font-style: italic;
	line-height: 1.5;
	color: #3a4a3a;
}

.bsi-lp-rl-print__note-body p {
	margin: 0;
}

@media print {
	/* Course library print: hide all page chrome; print-stack headers restored below. */
	body.bsi-lp-wl-print-active header,
	body.bsi-lp-rl-print-active header,
	body.bsi-lp-wl-print-active footer,
	body.bsi-lp-rl-print-active footer,
	body.bsi-lp-wl-print-active #popup-sidebar,
	body.bsi-lp-rl-print-active #popup-sidebar,
	body.bsi-lp-wl-print-active #popup-header,
	body.bsi-lp-rl-print-active #popup-header,
	body.bsi-lp-wl-print-active #popup-footer,
	body.bsi-lp-rl-print-active #popup-footer,
	body.bsi-lp-wl-print-active .bsi-lp-sticky-nav,
	body.bsi-lp-rl-print-active .bsi-lp-sticky-nav,
	body.bsi-lp-wl-print-active .fusion-header-wrapper,
	body.bsi-lp-rl-print-active .fusion-header-wrapper,
	body.bsi-lp-wl-print-active .fusion-footer,
	body.bsi-lp-rl-print-active .fusion-footer {
		display: none !important;
		visibility: hidden !important;
		height: 0 !important;
		overflow: hidden !important;
		margin: 0 !important;
		padding: 0 !important;
		border: none !important;
	}

	body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content {
		margin-top: 0 !important;
		padding-left: 0 !important;
	}

	body.bsi-lp-wl-print-active #popup-course.bsi-lp-popup-course,
	body.bsi-lp-wl-print-active #popup-course.bsi-lp-popup-course #popup-content,
	body.bsi-lp-rl-print-active #popup-course.bsi-lp-popup-course,
	body.bsi-lp-rl-print-active #popup-course.bsi-lp-popup-course #popup-content {
		position: static !important;
		inset: auto !important;
		width: auto !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		overflow: visible !important;
		display: block !important;
	}

	body.bsi-lp-wl-print-active .bsi-lp-workout-library .bsi-lp-wl-hero,
	body.bsi-lp-wl-print-active .bsi-lp-workout-library .bsi-lp-wl-pitch,
	body.bsi-lp-wl-print-active .bsi-lp-workout-library .bsi-lp-wl-toolbar,
	body.bsi-lp-wl-print-active .bsi-lp-workout-library .bsi-lp-internal-view,
	body.bsi-lp-wl-print-active .bsi-lp-workout-library .bsi-lp-workout-library__cta {
		display: none !important;
	}

	body.bsi-lp-wl-print-active #bsi-lp-wl-print-root,
	body.bsi-lp-wl-print-active #bsi-lp-wl-print-root[hidden],
	body.bsi-lp-wl-print-active #bsi-lp-wl-print-root .bsi-lp-wl-print,
	body.bsi-lp-wl-print-active #bsi-lp-wl-print-root .bsi-lp-wl-print__header,
	body.bsi-lp-wl-print-active #bsi-lp-wl-print-root .bsi-lp-wl-print__body,
	body.bsi-lp-wl-print-active #bsi-lp-wl-print-root .bsi-lp-wl-print__article.is-print-visible,
	body.bsi-lp-wl-print-active #bsi-lp-wl-print-root .bsi-lp-wl-print__article.is-print-visible * {
		visibility: visible !important;
	}

	body.bsi-lp-wl-print-active #bsi-lp-wl-print-root,
	body.bsi-lp-wl-print-active #bsi-lp-wl-print-root[hidden] {
		display: block !important;
		position: static !important;
		left: auto !important;
		top: auto !important;
		width: auto !important;
		height: auto !important;
		overflow: visible !important;
		visibility: visible !important;
	}

	body.bsi-lp-wl-print-active #bsi-lp-wl-print-root header.bsi-lp-wl-print__header {
		display: block !important;
		visibility: visible !important;
		height: auto !important;
		overflow: visible !important;
		margin: revert !important;
		padding: revert !important;
		border: revert !important;
	}

	body.bsi-lp-rl-print-active .bsi-lp-recipe-library .bsi-lp-wl-hero,
	body.bsi-lp-rl-print-active .bsi-lp-recipe-library .bsi-lp-wl-pitch,
	body.bsi-lp-rl-print-active .bsi-lp-recipe-library .bsi-lp-wl-toolbar,
	body.bsi-lp-rl-print-active .bsi-lp-recipe-library .bsi-lp-internal-view,
	body.bsi-lp-rl-print-active .bsi-lp-recipe-library .bsi-lp-rl-screen,
	body.bsi-lp-rl-print-active .bsi-lp-recipe-library .bsi-lp-recipe-library__cta {
		display: none !important;
	}

	body.bsi-lp-rl-print-active #bsi-lp-rl-print-root,
	body.bsi-lp-rl-print-active #bsi-lp-rl-print-root[hidden],
	body.bsi-lp-rl-print-active #bsi-lp-rl-print-root .bsi-lp-rl-print,
	body.bsi-lp-rl-print-active #bsi-lp-rl-print-root .bsi-lp-rl-print__head,
	body.bsi-lp-rl-print-active #bsi-lp-rl-print-root .bsi-lp-rl-print__article.is-print-visible,
	body.bsi-lp-rl-print-active #bsi-lp-rl-print-root .bsi-lp-rl-print__article.is-print-visible * {
		visibility: visible !important;
	}

	body.bsi-lp-rl-print-active #bsi-lp-rl-print-root,
	body.bsi-lp-rl-print-active #bsi-lp-rl-print-root[hidden] {
		display: block !important;
		position: static !important;
		left: auto !important;
		top: auto !important;
		width: auto !important;
		height: auto !important;
		overflow: visible !important;
		visibility: visible !important;
	}

	body.bsi-lp-rl-print-active #bsi-lp-rl-print-root header.bsi-lp-rl-print__head {
		display: block !important;
		visibility: visible !important;
		height: auto !important;
		overflow: visible !important;
		margin: revert !important;
		padding: revert !important;
		border: revert !important;
	}

	.bsi-lp-wl-print__article[hidden],
	.bsi-lp-wl-print__article:not(.is-print-visible),
	.bsi-lp-rl-print__article[hidden],
	.bsi-lp-rl-print__article:not(.is-print-visible) {
		display: none !important;
		height: 0 !important;
		overflow: hidden !important;
		margin: 0 !important;
		padding: 0 !important;
		border: none !important;
		break-before: auto !important;
		break-after: auto !important;
		page-break-before: auto !important;
		page-break-after: auto !important;
	}

	.bsi-lp-wl-print__article.is-print-visible,
	.bsi-lp-rl-print__article.is-print-visible {
		display: block !important;
		break-inside: avoid-page;
		page-break-inside: avoid;
	}

	.bsi-lp-wl-print-root:not(.is-single-item) .bsi-lp-wl-print__article.is-print-visible:not(.is-print-last),
	.bsi-lp-rl-print-root:not(.is-single-item) .bsi-lp-rl-print__article.is-print-visible:not(.is-print-last) {
		break-after: page;
		page-break-after: always;
	}

	.bsi-lp-wl-print-root.is-single-item .bsi-lp-wl-print__article.is-print-visible,
	.bsi-lp-rl-print-root.is-single-item .bsi-lp-rl-print__article.is-print-visible,
	.bsi-lp-wl-print__article.is-print-visible.is-print-last,
	.bsi-lp-rl-print__article.is-print-visible.is-print-last {
		break-after: auto !important;
		page-break-after: auto !important;
	}

	.bsi-lp-wl-print__article-head,
	.bsi-lp-wl-print__movements,
	.bsi-lp-wl-print__coaching,
	.bsi-lp-wl-print__metfix,
	.bsi-lp-rl-print__head,
	.bsi-lp-rl-print__stats,
	.bsi-lp-rl-print__ingredients,
	.bsi-lp-rl-print__method,
	.bsi-lp-rl-print__note {
		break-inside: avoid-page;
		page-break-inside: avoid;
	}
}

.bsi-lp-wl-screen__empty {
	margin: 0.35rem 0 0;
}

.bsi-lp-workout-library__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.bsi-lp-wl-screen {
	--bsi-lp-wl-card-bg: #fff;
	--bsi-lp-wl-card-border: color-mix(in srgb, var(--bsi-lp-primary, #1a3d2e) 22%, #c8d4c8);
	--bsi-lp-wl-index-bg: var(--bsi-lp-primary, #1a3d2e);
	--bsi-lp-wl-index-fg: var(--bsi-lp-accent, #c9a66b);
	--bsi-lp-wl-pill-group-bg: var(--bsi-lp-primary, #1a3d2e);
	--bsi-lp-wl-pill-group-fg: #fff;
	--bsi-lp-wl-pill-format-bg: #6b2d2d;
	--bsi-lp-wl-pill-format-fg: #fff;
	--bsi-lp-wl-pill-moderate-bg: #e8c9a0;
	--bsi-lp-wl-pill-moderate-fg: #5c3d1e;
	--bsi-lp-wl-pill-high-bg: #f0c4c4;
	--bsi-lp-wl-pill-high-fg: #6b2d2d;
	--bsi-lp-wl-title-fg: #1a1a1a;
	--bsi-lp-wl-meta-fg: #5c6b5c;
	--bsi-lp-wl-movement-num-bg: color-mix(in srgb, var(--bsi-lp-primary, #1a3d2e) 14%, #fff);
	--bsi-lp-wl-movement-num-fg: var(--bsi-lp-primary, #1a3d2e);
	--bsi-lp-wl-principle-bg: var(--bsi-lp-primary, #1a3d2e);
	--bsi-lp-wl-principle-label: var(--bsi-lp-accent, #c9a66b);
	--bsi-lp-wl-principle-fg: #f5f0e8;
}

.bsi-lp-workout-card {
	list-style: none;
	border: 1px solid var(--bsi-lp-wl-card-border);
	border-radius: 8px;
	margin-bottom: 0.75rem;
	background: var(--bsi-lp-wl-card-bg);
	box-shadow: 0 1px 0 color-mix(in srgb, var(--bsi-lp-primary, #1a3d2e) 6%, transparent);
	overflow: hidden;
}

.bsi-lp-workout-card__toggle {
	width: 100%;
	display: flex;
	align-items: flex-start;
	gap: 0.85rem;
	text-align: left;
	padding: 1rem 1.1rem;
	border: 0;
	background: transparent;
	cursor: pointer;
	font: inherit;
	color: var(--bsi-lp-wl-title-fg);
}

.bsi-lp-workout-card__toggle:hover {
	background: color-mix(in srgb, var(--bsi-lp-primary, #1a3d2e) 4%, #fff);
}

.bsi-lp-workout-card__index {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.35rem;
	height: 2.35rem;
	padding: 0 0.35rem;
	border-radius: 6px;
	background: var(--bsi-lp-wl-index-bg);
	color: var(--bsi-lp-wl-index-fg);
	font-family: "Roboto Slab", "Rockwell", "Georgia", serif;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.02em;
}

.bsi-lp-workout-card__main {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.bsi-lp-workout-card__tags-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.5rem;
}

.bsi-lp-workout-card__tags {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem;
}

.bsi-lp-workout-card__equip {
	font-size: 0.72rem;
	font-weight: 500;
	color: var(--bsi-lp-wl-meta-fg);
	font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
	letter-spacing: 0.02em;
}

.bsi-lp-workout-card__title {
	display: block;
	font-family: "Roboto Slab", "Rockwell", "Georgia", serif;
	font-size: clamp(1.35rem, 2.5vw, 1.65rem);
	font-weight: 700;
	line-height: 1.15;
	color: var(--bsi-lp-wl-title-fg);
}

.bsi-lp-workout-card__meta {
	display: block;
	font-size: 0.78rem;
	color: var(--bsi-lp-wl-meta-fg);
	font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
	letter-spacing: 0.02em;
}

.bsi-lp-workout-card__meta-time {
	margin-right: 0.2rem;
	opacity: 0.85;
}

.bsi-lp-workout-card__meta-goal {
	font-style: normal;
}

.bsi-lp-workout-card__chev {
	flex: 0 0 auto;
	align-self: center;
	width: 0.55rem;
	height: 0.55rem;
	margin-right: 0.15rem;
	border-right: 2px solid var(--bsi-lp-wl-meta-fg);
	border-bottom: 2px solid var(--bsi-lp-wl-meta-fg);
	transform: rotate(45deg);
	transition: transform 0.15s ease;
}

.bsi-lp-workout-card[data-collapsed="0"] .bsi-lp-workout-card__chev {
	transform: rotate(-135deg);
	margin-top: 0.35rem;
}

.bsi-lp-workout-card__panel {
	padding: 1.1rem;
	border-top: 1px solid color-mix(in srgb, var(--bsi-lp-wl-card-border) 80%, transparent);
}

.bsi-lp-workout-card__cols {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}

@media (min-width: 720px) {
	.bsi-lp-workout-card__cols {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
		gap: 1.5rem;
	}
}

.bsi-lp-workout-card__col-label {
	margin: 0 0 0.65rem;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--bsi-lp-wl-meta-fg);
	font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
}

.bsi-lp-workout-card__movement-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}

.bsi-lp-workout-card__movement-item {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	list-style: none;
}

.bsi-lp-workout-card__movement-item::marker {
	content: none;
}

.bsi-lp-workout-card__movement-num {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.65rem;
	height: 1.65rem;
	border-radius: 4px;
	background: var(--bsi-lp-wl-movement-num-bg);
	color: var(--bsi-lp-wl-movement-num-fg);
	font-family: "Roboto Slab", "Rockwell", "Georgia", serif;
	font-size: 0.82rem;
	font-weight: 700;
	line-height: 1;
}

.bsi-lp-workout-card__movement-text {
	flex: 1 1 auto;
	font-family: "Roboto Slab", "Rockwell", "Georgia", serif;
	font-size: 0.98rem;
	line-height: 1.35;
	color: var(--bsi-lp-wl-title-fg);
}

.bsi-lp-workout-card__body {
	font-family: "Roboto Slab", "Rockwell", "Georgia", serif;
	font-size: 0.95rem;
	line-height: 1.55;
	color: var(--bsi-lp-wl-title-fg);
}

.bsi-lp-workout-card__body p {
	margin: 0 0 0.65rem;
}

.bsi-lp-pill {
	display: inline-block;
	margin: 0;
	padding: 0.2rem 0.55rem;
	border-radius: 3px;
	font-size: 0.62rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1.25;
	text-transform: uppercase;
	font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}

.bsi-lp-pill--format {
	background: var(--bsi-lp-wl-pill-format-bg);
	color: var(--bsi-lp-wl-pill-format-fg);
}

.bsi-lp-pill--group {
	background: var(--bsi-lp-wl-pill-group-bg);
	color: var(--bsi-lp-wl-pill-group-fg);
}

.bsi-lp-pill--intensity.bsi-lp-pill--i5 {
	background: var(--bsi-lp-wl-pill-moderate-bg);
	color: var(--bsi-lp-wl-pill-moderate-fg);
}

.bsi-lp-pill--intensity.bsi-lp-pill--i10 {
	background: var(--bsi-lp-wl-pill-high-bg);
	color: var(--bsi-lp-wl-pill-high-fg);
}

.bsi-lp-pill--intensity.bsi-lp-pill--i1 {
	background: color-mix(in srgb, var(--bsi-lp-wl-meta-fg) 18%, #fff);
	color: var(--bsi-lp-wl-meta-fg);
}

.bsi-lp-pill--intensity:not(.bsi-lp-pill--i1):not(.bsi-lp-pill--i5):not(.bsi-lp-pill--i10) {
	background: color-mix(in srgb, var(--bsi-lp-wl-meta-fg) 14%, #fff);
	color: var(--bsi-lp-wl-meta-fg);
}

.bsi-lp-pill--segment {
	background: color-mix(in srgb, var(--bsi-lp-wl-pill-format-bg, #5c2d2d) 18%, #fff);
	color: var(--bsi-lp-wl-meta-fg, #4a4a4a);
	border: 1px solid color-mix(in srgb, var(--bsi-lp-wl-meta-fg, #6b6b6b) 22%, transparent);
}

.bsi-lp-workout-card__principle {
	margin-top: 1rem;
	padding: 0.9rem 1rem;
	border-radius: 6px;
	border: 0;
	background: var(--bsi-lp-wl-principle-bg);
	color: var(--bsi-lp-wl-principle-fg);
}

.bsi-lp-workout-card__principle h4 {
	margin: 0 0 0.45rem;
	font-size: 0.62rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--bsi-lp-wl-principle-label);
	font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
}

.bsi-lp-workout-card__principle div,
.bsi-lp-workout-card__principle p {
	margin: 0;
	font-family: "Roboto Slab", "Rockwell", "Georgia", serif;
	font-size: 0.92rem;
	font-style: italic;
	line-height: 1.5;
	color: var(--bsi-lp-wl-principle-fg);
}

/* Popup / internal view: keep workout library cards readable on themed shells */
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content .bsi-lp-workout-library .bsi-lp-workout-card__title,
#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-workout-library .bsi-lp-workout-card__title,
.bsi-lp-internal-view .bsi-lp-workout-library .bsi-lp-workout-card__title {
	color: var(--bsi-lp-wl-title-fg, #1a1a1a);
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content .bsi-lp-workout-library .bsi-lp-workout-card__toggle,
#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-workout-library .bsi-lp-workout-card__toggle,
.bsi-lp-internal-view .bsi-lp-workout-library .bsi-lp-workout-card__toggle {
	color: var(--bsi-lp-wl-title-fg, #1a1a1a);
}

/* Recipe library tab: hero actions + print (marketing chrome reuses .bsi-lp-wl-hero / pitch / toolbar) */
.bsi-lp-rl-hero__actions {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 1rem;
	margin: 0.35rem 0 1.35rem;
}

.bsi-lp-rl-hero__buttons {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.65rem;
	width: 100%;
	max-width: 20rem;
}

@media (min-width: 640px) {
	.bsi-lp-rl-hero__buttons {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		width: auto;
		max-width: none;
		gap: 0.75rem 1rem;
	}
}

.bsi-lp-rl-print-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	box-sizing: border-box;
	font-family: inherit;
	font-weight: 800;
	letter-spacing: 0.06em;
	line-height: 1.25;
	background: var(--bsi-lp-accent, #e4c892);
	color: var(--bsi-lp-bg, #0a0a0a);
	border: 1px solid transparent;
	border-radius: 0.35rem;
	padding: 0.5rem 0.95rem;
	font-size: 0.72rem;
	min-height: 0;
	box-shadow: none;
	text-transform: uppercase;
	white-space: nowrap;
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library button.bsi-lp-rl-print-btn.button,
#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library button.bsi-lp-rl-print-btn.button,
.bsi-lp-internal-view .bsi-lp-recipe-library button.bsi-lp-rl-print-btn.button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.45rem !important;
	box-sizing: border-box !important;
	font-family: inherit !important;
	font-weight: 800 !important;
	font-size: 0.72rem !important;
	line-height: 1.25 !important;
	letter-spacing: 0.06em !important;
	padding: 0.5rem 0.95rem !important;
	min-height: 0 !important;
	height: auto !important;
	border-radius: 0.35rem !important;
	border: 1px solid transparent !important;
	background: var(--bsi-lp-accent, #e4c892) !important;
	color: var(--bsi-lp-bg, #0a0a0a) !important;
	box-shadow: none !important;
	text-transform: uppercase !important;
	white-space: nowrap !important;
}

.bsi-lp-rl-print-btn__icon,
.bsi-lp-rl-hero__archive-icon {
	flex-shrink: 0;
	width: 1rem;
	height: 1rem;
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library button.bsi-lp-rl-print-btn.button .bsi-lp-rl-print-btn__icon,
#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library button.bsi-lp-rl-print-btn.button .bsi-lp-rl-print-btn__icon,
.bsi-lp-internal-view .bsi-lp-recipe-library button.bsi-lp-rl-print-btn.button .bsi-lp-rl-print-btn__icon {
	width: 1rem !important;
	height: 1rem !important;
}

.bsi-lp-rl-hero__archive {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	box-sizing: border-box;
	font-family: inherit;
	font-weight: 700;
	font-size: 0.72rem;
	line-height: 1.25;
	letter-spacing: 0.06em;
	padding: 0.5rem 0.95rem;
	min-height: 0;
	border-radius: 0.35rem;
	background: transparent !important;
	color: color-mix(in srgb, var(--bsi-lp-text, #fff) 96%, transparent) !important;
	border: 1px solid color-mix(in srgb, var(--bsi-lp-text, #fff) 55%, transparent) !important;
	box-shadow: none !important;
	text-transform: uppercase;
	text-decoration: none !important;
	white-space: nowrap;
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library a.bsi-lp-rl-hero__archive.button,
#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library a.bsi-lp-rl-hero__archive.button,
.bsi-lp-internal-view .bsi-lp-recipe-library a.bsi-lp-rl-hero__archive.button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.45rem !important;
	box-sizing: border-box !important;
	font-family: inherit !important;
	font-weight: 700 !important;
	font-size: 0.72rem !important;
	line-height: 1.25 !important;
	letter-spacing: 0.06em !important;
	padding: 0.5rem 0.95rem !important;
	min-height: 0 !important;
	height: auto !important;
	border-radius: 0.35rem !important;
	border: 1px solid color-mix(in srgb, var(--bsi-lp-text, #fff) 55%, transparent) !important;
	box-shadow: none !important;
	text-transform: uppercase !important;
	white-space: nowrap !important;
}

.bsi-lp-rl-hero__archive:hover,
.bsi-lp-rl-hero__archive:focus-visible {
	color: var(--bsi-lp-accent, #e4c892) !important;
	background: color-mix(in srgb, var(--bsi-lp-accent, #e4c892) 12%, transparent) !important;
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library a.bsi-lp-rl-hero__archive.button:hover,
body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library a.bsi-lp-rl-hero__archive.button:focus-visible,
#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library a.bsi-lp-rl-hero__archive.button:hover,
#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library a.bsi-lp-rl-hero__archive.button:focus-visible,
.bsi-lp-internal-view .bsi-lp-recipe-library a.bsi-lp-rl-hero__archive.button:hover,
.bsi-lp-internal-view .bsi-lp-recipe-library a.bsi-lp-rl-hero__archive.button:focus-visible {
	color: var(--bsi-lp-accent, #e4c892) !important;
	background: color-mix(in srgb, var(--bsi-lp-accent, #e4c892) 12%, transparent) !important;
	border-color: var(--bsi-lp-accent, #e4c892) !important;
}

body.course-item-popup #popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library a.bsi-lp-rl-hero__archive.button .bsi-lp-rl-hero__archive-icon,
#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library a.bsi-lp-rl-hero__archive.button .bsi-lp-rl-hero__archive-icon,
.bsi-lp-internal-view .bsi-lp-recipe-library a.bsi-lp-rl-hero__archive.button .bsi-lp-rl-hero__archive-icon {
	width: 1rem !important;
	height: 1rem !important;
}

.bsi-lp-rl-hero__qr {
	margin: 0;
	text-align: left;
}

.bsi-lp-rl-hero__qr-card {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 0.35rem;
	box-sizing: border-box;
	background: #fff;
	border-radius: 0.5rem;
	padding: 0.75rem;
}

.bsi-lp-rl-hero__qr-card img,
.bsi-lp-rl-hero__qr-card svg {
	display: block;
	width: 7.5rem;
	height: auto;
	max-width: 100%;
}

.bsi-lp-rl-hero__qr-label {
	margin: 0;
	padding: 0;
	font-size: 0.62rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-align: center;
	color: #111;
	line-height: 1.2;
}

.bsi-lp-rl-screen__empty {
	margin: 0.35rem 0 0;
}

/* Recipe library: wider internal tab only (hero / pitch / toolbar stay full width of parent) */
#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library > .bsi-lp-internal-view.bsi-lp-internal-view--recipes,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library > .bsi-lp-internal-view.bsi-lp-internal-view--recipes,
.bsi-lp-recipe-library > .bsi-lp-internal-view.bsi-lp-internal-view--recipes {
	max-width: min(100%, 80rem) !important;
	width: 100%;
	box-sizing: border-box;
}

/* Recipe library root: no max-width here so wl-hero / pitch / toolbar are not narrowed */
.bsi-lp-recipe-library {
	box-sizing: border-box;
}

/* Screen: single-recipe print chrome + masthead (shown only in @media print) */
#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__kicker--print,
#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__print-meta,
#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__print-footer,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__kicker--print,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__print-meta,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__print-footer,
.bsi-lp-recipe-library .bsi-lp-recipe-card__kicker--print,
.bsi-lp-recipe-library .bsi-lp-recipe-card__print-meta,
.bsi-lp-recipe-library .bsi-lp-recipe-card__print-footer {
	display: none !important;
}

.bsi-lp-recipe-library__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.35rem;
	align-items: stretch;
	margin: 0 1.35rem;
}

@media (min-width: 900px) {
	.bsi-lp-recipe-library__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.5rem 1.35rem;
	}
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library article.bsi-lp-recipe-card.bsi-lp-recipe-card--ffd,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library article.bsi-lp-recipe-card.bsi-lp-recipe-card--ffd,
.bsi-lp-recipe-library article.bsi-lp-recipe-card.bsi-lp-recipe-card--ffd {

	box-sizing: border-box !important;
	border-radius: 0.5rem !important;
	overflow: hidden !important;
	border: 1px solid color-mix(in srgb, var(--bsi-lp-iv-fg, #1a1a1a) 10%, var(--bsi-lp-iv-border, #d9d9d9)) !important;
	background: var(--bsi-lp-iv-bg, #fff) !important;
	box-shadow: none !important;
	font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace !important;
	transition: box-shadow 0.2s ease;
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-start !important;
	min-height: 0 !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library article.bsi-lp-recipe-card.bsi-lp-recipe-card--ffd:hover,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library article.bsi-lp-recipe-card.bsi-lp-recipe-card--ffd:hover,
.bsi-lp-recipe-library article.bsi-lp-recipe-card.bsi-lp-recipe-card--ffd:hover {

	box-shadow: 0 4px 24px color-mix(in srgb, var(--bsi-lp-iv-fg, #1a1a1a) 14%, transparent) !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__chrome,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__chrome,
.bsi-lp-recipe-library .bsi-lp-recipe-card__chrome {

	padding: 1.25rem !important;
	display: flex !important;
	flex-direction: column !important;
	flex: 0 0 auto !important;
	min-height: 0 !important;
	justify-content: flex-start !important;
	gap: 0.65rem !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__header-row,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__header-row,
.bsi-lp-recipe-library .bsi-lp-recipe-card__header-row {

	display: flex !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
	gap: 0.75rem !important;
	margin-bottom: 0.5rem !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__header-text,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__header-text,
.bsi-lp-recipe-library .bsi-lp-recipe-card__header-text {

	flex: 1 1 auto !important;
	min-width: 0 !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__kicker,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__kicker,
.bsi-lp-recipe-library .bsi-lp-recipe-card__kicker {

	margin: 0 0 0.25rem !important;
	padding: 0 !important;
	font-size: 9px !important;
	font-weight: 700 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	color: var(--bsi-lp-iv-accent, var(--bsi-lp-primary, #c9a66b)) !important;
	font-family: "JetBrains Mono", ui-monospace, monospace !important;
	line-height: 1.2 !important;
	background: transparent !important;
	border: none !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__print-one,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__print-one,
.bsi-lp-recipe-library .bsi-lp-recipe-card__print-one {

	flex-shrink: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0.5rem !important;
	border: none !important;
	border-radius: 0.375rem !important;
	background: color-mix(in srgb, var(--bsi-lp-iv-accent, var(--bsi-lp-primary, #c9a66b)) 14%, var(--bsi-lp-iv-bg, #fff)) !important;
	color: var(--bsi-lp-iv-fg, #1a1a1a) !important;
	cursor: pointer !important;
	transition: opacity 0.15s ease, background-color 0.15s ease !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__print-one:hover,
#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__print-one:focus-visible,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__print-one:hover,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__print-one:focus-visible,
.bsi-lp-recipe-library .bsi-lp-recipe-card__print-one:hover,
.bsi-lp-recipe-library .bsi-lp-recipe-card__print-one:focus-visible {
	opacity: 0.88 !important;
	outline: 2px solid color-mix(in srgb, var(--bsi-lp-iv-accent, var(--bsi-lp-primary, #c9a66b)) 45%, transparent) !important;
	outline-offset: 2px !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__print-svg,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__print-svg,
.bsi-lp-recipe-library .bsi-lp-recipe-card__print-svg {

	display: block !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__title,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__title,
.bsi-lp-recipe-library .bsi-lp-recipe-card__title {

	margin: 0 !important;
	padding: 0 !important;
	font-family: "Source Serif 4", Georgia, "Times New Roman", serif !important;
	font-size: 1.125rem !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	color: var(--bsi-lp-iv-fg, #1a1a1a) !important;
	border: none !important;
	background: transparent !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__excerpt,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__excerpt,
.bsi-lp-recipe-library .bsi-lp-recipe-card__excerpt {

	margin: 0.35rem 0 0 !important;
	padding: 0 !important;
	font-family: "Source Serif 4", Georgia, serif !important;
	font-size: 0.75rem !important;
	line-height: 1.5 !important;
	color: var(--bsi-lp-iv-muted, color-mix(in srgb, var(--bsi-lp-iv-fg, #1a1a1a) 55%, transparent)) !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__meta-row,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__meta-row,
.bsi-lp-recipe-library .bsi-lp-recipe-card__meta-row {

	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 0.75rem 1rem !important;
	margin: 0.75rem 0 0.75rem !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__meta-cell,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__meta-cell,
.bsi-lp-recipe-library .bsi-lp-recipe-card__meta-cell {

	display: flex !important;
	align-items: center !important;
	gap: 0.35rem !important;
	margin: 0 !important;
	padding: 0 !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__meta-ico,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__meta-ico,
.bsi-lp-recipe-library .bsi-lp-recipe-card__meta-ico {

	flex-shrink: 0 !important;
	color: var(--bsi-lp-iv-muted, color-mix(in srgb, var(--bsi-lp-iv-fg, #1a1a1a) 50%, transparent)) !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__meta-txt,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__meta-txt,
.bsi-lp-recipe-library .bsi-lp-recipe-card__meta-txt {

	font-size: 10px !important;
	font-weight: 500 !important;
	color: var(--bsi-lp-iv-muted, color-mix(in srgb, var(--bsi-lp-iv-fg, #1a1a1a) 50%, transparent)) !important;
	font-family: "JetBrains Mono", ui-monospace, monospace !important;
	line-height: 1.3 !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__macro-bar,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__macro-bar,
.bsi-lp-recipe-library .bsi-lp-recipe-card__macro-bar {

	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 0.5rem !important;
	margin: 0 0 0.75rem !important;
	padding: 0.75rem !important;
	border-radius: 0.375rem !important;
	background: color-mix(in srgb, var(--bsi-lp-iv-bg, #fff) 90%, var(--bsi-lp-iv-accent, var(--bsi-lp-primary, #c9a66b)) 10%) !important;
	border: none !important;
	text-align: center !important;
}

@media (max-width: 420px) {
	#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__macro-bar,
	#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__macro-bar,
	.bsi-lp-recipe-library .bsi-lp-recipe-card__macro-bar {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__macro-val,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__macro-val,
.bsi-lp-recipe-library .bsi-lp-recipe-card__macro-val {

	display: block !important;
	font-family: "JetBrains Mono", ui-monospace, monospace !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
	color: var(--bsi-lp-iv-fg, #1a1a1a) !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__macro--fat .bsi-lp-recipe-card__macro-val,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__macro--fat .bsi-lp-recipe-card__macro-val,
.bsi-lp-recipe-library .bsi-lp-recipe-card__macro--fat .bsi-lp-recipe-card__macro-val {

	color: color-mix(in srgb, var(--bsi-lp-iv-accent, var(--bsi-lp-primary, #c9a66b)) 78%, var(--bsi-lp-iv-fg, #1a1a1a) 22%) !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__macro-val--cal,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__macro-val--cal,
.bsi-lp-recipe-library .bsi-lp-recipe-card__macro-val--cal {

	color: var(--bsi-lp-iv-muted, color-mix(in srgb, var(--bsi-lp-iv-fg, #1a1a1a) 52%, transparent)) !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__macro-lab,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__macro-lab,
.bsi-lp-recipe-library .bsi-lp-recipe-card__macro-lab {

	display: block !important;
	margin-top: 0.2rem !important;
	font-size: 9px !important;
	font-weight: 600 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	color: var(--bsi-lp-iv-muted, color-mix(in srgb, var(--bsi-lp-iv-fg, #1a1a1a) 50%, transparent)) !important;
	font-family: "JetBrains Mono", ui-monospace, monospace !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__macro--fat .bsi-lp-recipe-card__macro-lab,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__macro--fat .bsi-lp-recipe-card__macro-lab,
.bsi-lp-recipe-library .bsi-lp-recipe-card__macro--fat .bsi-lp-recipe-card__macro-lab {

	color: var(--bsi-lp-iv-muted, color-mix(in srgb, var(--bsi-lp-iv-fg, #1a1a1a) 50%, transparent)) !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__tags,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__tags,
.bsi-lp-recipe-library .bsi-lp-recipe-card__tags {

	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.35rem !important;
	margin: 0.75rem 0 0 !important;
	padding: 0 !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__tag,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__tag,
.bsi-lp-recipe-library .bsi-lp-recipe-card__tag {

	display: inline-block !important;
	padding: 0.125rem 0.5rem !important;
	margin: 0 !important;
	font-size: 9px !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em !important;
	border-radius: 0.125rem !important;
	background: color-mix(in srgb, var(--bsi-lp-iv-accent, var(--bsi-lp-primary, #c9a66b)) 12%, var(--bsi-lp-iv-bg, #fff)) !important;
	color: var(--bsi-lp-iv-fg, #1a1a1a) !important;
	font-family: "JetBrains Mono", ui-monospace, monospace !important;
	border: none !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__equip-list,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__equip-list,
.bsi-lp-recipe-library .bsi-lp-recipe-card__equip-list {

	margin: 0.25rem 0 0 !important;
	padding: 0 0 0 1.15rem !important;
	font-size: 0.875rem !important;
	line-height: 1.45 !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__expando,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__expando,
.bsi-lp-recipe-library .bsi-lp-recipe-card__expando {

	width: 100% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 0.75rem !important;
	margin: 0 !important;
	padding: 0.65rem 1.25rem !important;
	border: none !important;
	border-radius: 0 !important;
	background: color-mix(in srgb, var(--bsi-lp-iv-fg, #1a1a1a) 88%, var(--bsi-lp-iv-accent, var(--bsi-lp-primary, #c9a66b)) 12%) !important;
	color: color-mix(in srgb, var(--bsi-lp-iv-bg, #fff) 94%, var(--bsi-lp-iv-accent, var(--bsi-lp-primary, #c9a66b)) 6%) !important;
	font-family: "JetBrains Mono", ui-monospace, monospace !important;
	font-size: 0.75rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em !important;
	text-transform: none !important;
	cursor: pointer !important;
	text-align: left !important;
	transition: opacity 0.15s ease !important;
	flex-shrink: 0 !important;
}

/* Collapsed: absorb grid row stretch below the expando (button stays under chrome). Expanded: no gap before panel. */
#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card[data-collapsed="1"] .bsi-lp-recipe-card__expando,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card[data-collapsed="1"] .bsi-lp-recipe-card__expando,
.bsi-lp-recipe-library .bsi-lp-recipe-card[data-collapsed="1"] .bsi-lp-recipe-card__expando {

	margin-top: 0 !important;
	margin-bottom: auto !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card[data-collapsed="0"] .bsi-lp-recipe-card__expando,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card[data-collapsed="0"] .bsi-lp-recipe-card__expando,
.bsi-lp-recipe-library .bsi-lp-recipe-card[data-collapsed="0"] .bsi-lp-recipe-card__expando {

	margin-top: 0 !important;
	margin-bottom: 0 !important;
}
#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__expando:hover,
#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__expando:focus-visible,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__expando:hover,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__expando:focus-visible,
.bsi-lp-recipe-library .bsi-lp-recipe-card__expando:hover,
.bsi-lp-recipe-library .bsi-lp-recipe-card__expando:focus-visible {
	opacity: 0.88 !important;
	outline: none !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__expando-label--less[hidden],
#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__expando-label--more[hidden],
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__expando-label--less[hidden],
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__expando-label--more[hidden],
.bsi-lp-recipe-library .bsi-lp-recipe-card__expando-label--less[hidden],
.bsi-lp-recipe-library .bsi-lp-recipe-card__expando-label--more[hidden] {
	display: none !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__expando-chev,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__expando-chev,
.bsi-lp-recipe-library .bsi-lp-recipe-card__expando-chev {

	flex-shrink: 0 !important;
	font-size: 0.65rem !important;
	line-height: 1 !important;
	transition: transform 0.2s ease !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card[data-collapsed="0"] .bsi-lp-recipe-card__expando-chev,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card[data-collapsed="0"] .bsi-lp-recipe-card__expando-chev,
.bsi-lp-recipe-library .bsi-lp-recipe-card[data-collapsed="0"] .bsi-lp-recipe-card__expando-chev {

	transform: rotate(180deg) !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__panel,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__panel,
.bsi-lp-recipe-library .bsi-lp-recipe-card__panel {

	padding: 1.1rem 1.25rem 1.35rem !important;
	border-top: 1px solid color-mix(in srgb, var(--bsi-lp-iv-fg, #1a1a1a) 10%, var(--bsi-lp-iv-border, #d9d9d9)) !important;
	background: color-mix(in srgb, var(--bsi-lp-iv-bg, #fff) 96%, var(--bsi-lp-iv-fg, #1a1a1a) 4%) !important;
	margin: 0 !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__panel-columns,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__panel-columns,
.bsi-lp-recipe-library .bsi-lp-recipe-card__panel-columns {

	display: block !important;
}

@media (min-width: 720px) {
	#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__panel-columns,
	#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__panel-columns,
	.bsi-lp-recipe-library .bsi-lp-recipe-card__panel-columns {
		display: grid !important;
		grid-template-columns: 1fr 1fr !important;
		gap: 1rem 1.5rem !important;
		align-items: start !important;
	}

	#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__panel-columns:has(.bsi-lp-recipe-card__section--equipment) .bsi-lp-recipe-card__section--method,
	#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__panel-columns:has(.bsi-lp-recipe-card__section--equipment) .bsi-lp-recipe-card__section--method,
	.bsi-lp-recipe-library .bsi-lp-recipe-card__panel-columns:has(.bsi-lp-recipe-card__section--equipment) .bsi-lp-recipe-card__section--method {
		grid-column: 1 / -1 !important;
	}
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__section,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__section,
.bsi-lp-recipe-library .bsi-lp-recipe-card__section {

	margin: 0 0 1rem !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__section:last-child,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__section:last-child,
.bsi-lp-recipe-library .bsi-lp-recipe-card__section:last-child {

	margin-bottom: 0 !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__section-title,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__section-title,
.bsi-lp-recipe-library .bsi-lp-recipe-card__section-title {

	margin: 0 0 0.45rem !important;
	padding: 0 !important;
	font-size: 0.65rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	color: var(--bsi-lp-iv-accent, var(--bsi-lp-primary, #c9a66b)) !important;
	font-family: "JetBrains Mono", ui-monospace, monospace !important;
	background: transparent !important;
	border: none !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__body,
#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__steps,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__body,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__steps,
.bsi-lp-recipe-library .bsi-lp-recipe-card__body,
.bsi-lp-recipe-library .bsi-lp-recipe-card__steps {
	font-size: 0.875rem !important;
	line-height: 1.5 !important;
	color: var(--bsi-lp-iv-fg, #1a1a1a) !important;
	font-family: "Source Serif 4", Georgia, serif !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__body p,
#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__steps p,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__body p,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__steps p,
.bsi-lp-recipe-library .bsi-lp-recipe-card__body p,
.bsi-lp-recipe-library .bsi-lp-recipe-card__steps p {
	margin: 0 0 0.5rem !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__note,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__note,
.bsi-lp-recipe-library .bsi-lp-recipe-card__note {

	margin-top: 1rem !important;
	padding: 0.85rem 1rem !important;
	border-left: 4px solid var(--bsi-lp-iv-accent, var(--bsi-lp-primary, #c9a66b)) !important;
	background: color-mix(in srgb, var(--bsi-lp-iv-bg, #fff) 90%, var(--bsi-lp-iv-accent, var(--bsi-lp-primary, #c9a66b)) 10%) !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__note .bsi-lp-recipe-card__section-title,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__note .bsi-lp-recipe-card__section-title,
.bsi-lp-recipe-library .bsi-lp-recipe-card__note .bsi-lp-recipe-card__section-title {

	margin-bottom: 0.35rem !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__note-body,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__note-body,
.bsi-lp-recipe-library .bsi-lp-recipe-card__note-body {

	font-style: italic !important;
	color: var(--bsi-lp-iv-muted, color-mix(in srgb, var(--bsi-lp-iv-fg, #1a1a1a) 55%, transparent)) !important;
	font-size: 0.875rem !important;
	font-family: "Source Serif 4", Georgia, serif !important;
}

#popup-course.bsi-lp-popup-course #popup-content .bsi-lp-recipe-library .bsi-lp-recipe-card__note-footer,
#bsi-lp-mission-dashboard.bsi-lp-mission-dashboard .bsi-lp-recipe-library .bsi-lp-recipe-card__note-footer,
.bsi-lp-recipe-library .bsi-lp-recipe-card__note-footer {

	margin: 0.65rem 0 0 !important;
	font-size: 0.62rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.06em !important;
	color: color-mix(in srgb, var(--bsi-lp-iv-muted, color-mix(in srgb, var(--bsi-lp-iv-fg, #1a1a1a) 50%, transparent)) 88%, transparent) !important;
	font-family: "JetBrains Mono", ui-monospace, monospace !important;
	text-transform: none !important;
}


/* Trackers */
.bsi-lp-trackers__compare {
	margin: 0 0 1rem;
	max-width: 100%;
}

#bsi-lp-trackers-compare {
	width: 100%;
	max-height: 220px;
}

.bsi-lp-trackers__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 1rem;
}

.bsi-lp-tracker-card {
	border: 1px solid color-mix(in srgb, var(--bsi-lp-iv-fg) 12%, var(--bsi-lp-iv-border));
	border-radius: 10px;
	padding: 0.75rem;
	background: color-mix(in srgb, var(--bsi-lp-iv-bg) 92%, var(--tracker-color, #2d5a3d) 4%);
}

.bsi-lp-tracker-card__chart {
	height: 5rem;
	margin-top: 0.5rem;
}

/* Challenge tab (/challenges) — hero reuses .bsi-lp-wl-hero (workout/recipe tokens) */
.bsi-lp-challenge-library__hero-back {
	margin: 0 0 0.5rem;
}

.bsi-lp-challenge-library__hero-back-link {
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: var(--bsi-lp-accent, #e4c892);
	font-family: var(--bsi-lp-lesson-reading-ff, var(--bsi-lp-sidebar-ff, inherit));
	text-decoration: none;
}

.bsi-lp-challenge-library__hero-back-link:hover,
.bsi-lp-challenge-library__hero-back-link:focus-visible {
	text-decoration: underline;
}

.bsi-lp-challenge-library__hero-back-link:focus-visible {
	outline: 2px solid color-mix(in srgb, var(--bsi-lp-accent, #e4c892) 55%, transparent);
	outline-offset: 2px;
}

.bsi-lp-challenge-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 280px;
	gap: 1.25rem;
	align-items: start;
}

@media (max-width: 900px) {
	.bsi-lp-challenge-layout {
		grid-template-columns: 1fr;
	}	
	.bsi-lp-lesson-layout__rail{
		margin: 0 var(--bsi-lp-lesson-main-pad-inline);
	}
}

@media (max-width: 1440px) and (min-width: 900px){
	.bsi-lp-lesson-layout__rail{
		padding: 0 calc(0.5 * var(--bsi-lp-lesson-main-pad-inline));
	}
}

.bsi-lp-challenge-cta-card {
	max-width: 520px;
	margin: 0 auto;
	padding: 2rem 1.75rem;
	border: 1px solid color-mix(in srgb, var(--bsi-lp-iv-fg, #1a1a1a) 14%, var(--bsi-lp-iv-border, #ddd));
	border-radius: 14px;
	background: color-mix(in srgb, var(--bsi-lp-iv-bg, #faf7f0) 96%, #fff);
	text-align: center;
}

.bsi-lp-challenge-cta-card__icon {
	font-size: 2rem;
	margin-bottom: 0.75rem;
	color: var(--bsi-lp-iv-accent, var(--bsi-lp-primary, #2d6a4f));
}

.bsi-lp-challenge-cta-card__title {
	font-size: 1.35rem;
	margin: 0 0 0.75rem;
	color: var(--bsi-lp-iv-fg, #1a1a1a);
}

.bsi-lp-challenge-cta-card__text {
	margin: 0 0 1.25rem;
	line-height: 1.5;
	color: color-mix(in srgb, var(--bsi-lp-iv-fg, #1a1a1a) 78%, transparent);
}

.bsi-lp-challenge-cta-card__secondary {
	margin: 1rem 0 0;
	font-size: 0.75rem;
	color: color-mix(in srgb, var(--bsi-lp-iv-fg, #1a1a1a) 72%, transparent);
}

.bsi-lp-challenge-joined {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.25rem;
	padding: 1.25rem 1.5rem;
	border: 1px solid color-mix(in srgb, var(--bsi-lp-iv-fg, #1a1a1a) 12%, var(--bsi-lp-iv-border, #ddd));
	border-radius: 12px;
	background: var(--bsi-lp-iv-bg, #faf7f0);
}

@media (max-width: 700px) {
	.bsi-lp-challenge-joined {
		grid-template-columns: 1fr;
	}
}

.bsi-lp-challenge-joined__title {
	margin: 0 0 0.75rem;
	font-size: 1.35rem;
	color: var(--bsi-lp-iv-fg, #1a1a1a);
}

.bsi-lp-challenge-joined__desc {
	font-size: 0.95rem;
	line-height: 1.55;
	margin-bottom: 0.75rem;
}

.bsi-lp-challenge-joined__rules {
	margin: 0;
	font-size: 0.8rem;
	color: color-mix(in srgb, var(--bsi-lp-iv-fg, #1a1a1a) 65%, transparent);
}

.bsi-lp-challenge-metrics__head {
	margin: 0 0 0.5rem;
	font-size: 1rem;
}

.bsi-lp-challenge-metrics {
	list-style: none;
	margin: 0;
	padding: 0;
}

.bsi-lp-challenge-metrics__item {
	padding: 0.35rem 0;
	border-bottom: 1px solid color-mix(in srgb, var(--bsi-lp-iv-fg) 8%, transparent);
}

.bsi-lp-challenge-metrics__item.is-struck {
	opacity: 0.55;
}

.bsi-lp-challenge-rail-card {
	padding: 0.75rem 1rem 1rem;
}

.bsi-lp-challenge-leaderboard__list {
	list-style: none;
	margin: 0;
	padding: 0;
	max-height: 420px;
	overflow: auto;
}

.bsi-lp-challenge-leaderboard__row {
	display: grid;
	grid-template-columns: 2.5rem 1fr auto;
	gap: 0.35rem;
	padding: 0.35rem 0;
	font-size: 0.85rem;
	border-bottom: 1px solid color-mix(in srgb, var(--bsi-lp-iv-fg) 8%, transparent);
}

.bsi-lp-challenge-leaderboard__row.is-self {
	font-weight: 700;
}

.bsi-lp-challenge-leaderboard__placeholder {
	margin: 0;
	font-size: 0.85rem;
	color: color-mix(in srgb, var(--bsi-lp-iv-fg) 55%, transparent);
}

/* Post-completion gift purchase (/gift-course/) */
.bsi-lp-gift-course {
	max-width: 36rem;
	margin: 0 auto;
	padding: 1.5rem 1.25rem 2.5rem;
	color: var(--bsi-lp-text, #f5f5f0);
}

.bsi-lp-gift-course__badge {
	margin: 0 0 0.35rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--bsi-lp-accent, #c9a227);
}

.bsi-lp-gift-course__title {
	margin: 0 0 0.35rem;
	font-size: clamp(1.5rem, 3vw, 2rem);
	line-height: 1.15;
}

.bsi-lp-gift-course__course {
	margin: 0 0 0.75rem;
	font-size: 1rem;
	opacity: 0.85;
}

.bsi-lp-gift-course__intro {
	margin: 0 0 1.5rem;
	line-height: 1.5;
	opacity: 0.9;
}

.bsi-lp-gift-course__body {
	padding: 1.25rem 1.35rem;
	border-radius: 12px;
	background: color-mix(in srgb, var(--bsi-lp-bg, #1a1a1a) 88%, #fff 12%);
	border: 1px solid color-mix(in srgb, var(--bsi-lp-primary, #2d5a3d) 35%, transparent);
}

.bsi-lp-gift-course__locked p {
	margin: 0 0 0.75rem;
}

.bsi-lp-gift-course__form .bsi-lp-gift-course__field {
	margin: 0 0 1rem;
}

.bsi-lp-gift-course__form label {
	display: block;
	margin-bottom: 0.35rem;
	font-weight: 600;
}

.bsi-lp-gift-course__form .description {
	display: block;
	margin-top: 0.25rem;
	font-size: 0.85rem;
	opacity: 0.75;
}

.bsi-lp-gift-course__price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.5rem 1rem;
	margin: 0 0 1.25rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid color-mix(in srgb, var(--bsi-lp-text) 15%, transparent);
}

.bsi-lp-gift-course__price-value {
	font-size: 1.25rem;
	font-weight: 700;
}

.bsi-lp-gift-course__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin: 1.25rem 0 0;
}

.bsi-lp-gift-course__submit.button-primary {
	background: var(--bsi-lp-primary, #2d5a3d);
	border-color: var(--bsi-lp-primary, #2d5a3d);
}
