/* Focused chapter header (exercise-header). Fixed with a spacer, so it stays at the top like Lovable's sticky header. */
.tv-xh { position: fixed; inset: 0 0 auto; z-index: 50; border-bottom: 1px solid color-mix(in oklab, var(--tvc-navy) 12%, transparent); background: color-mix(in oklab, var(--tvc-cream) 95%, transparent); box-shadow: 0 8px 24px color-mix(in oklab, var(--tvc-navy) 5%, transparent); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.admin-bar .tv-xh { top: 32px; }
@media (max-width: 782px) { .admin-bar .tv-xh { top: 46px; } }
.tv-xh-spacer { height: 65px; }
.tv-xh-bar { display: flex; max-width: 80rem; height: 4rem; align-items: center; gap: 1rem; margin-inline: auto; padding-inline: 1rem; }
.tv-xh-brand { flex-shrink: 0; }
.tv-xh-brand img { display: block; width: 2.25rem; height: 2.25rem; object-fit: contain; }
.tv-xh-text { min-width: 0; flex: 1; border-left: 1px solid color-mix(in oklab, var(--tvc-navy) 10%, transparent); padding-left: 1rem; }
.tv-xh-title { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-family: "Outfit", sans-serif; font-size: .875rem; font-weight: 600; line-height: 1.25rem; color: var(--tvc-navy); }
.tv-xh-step { font-size: .75rem; line-height: 1rem; color: rgba(14, 35, 56, .5); }
.tv-xh-progress { display: none; width: 12rem; }
.tv-xh-progress > div { height: .375rem; overflow: hidden; border-radius: 999px; background: var(--tvc-soft-gold); }
.tv-xh-progress span { display: block; height: 100%; border-radius: 999px; background: var(--tvc-steel); }
.tv-ch .tv-xh-exit { display: inline-flex; min-height: 2.5rem; align-items: center; gap: .5rem; border-radius: 6px; padding-inline: .5rem; color: var(--tvc-navy); font-family: "Outfit", sans-serif; font-size: .875rem; font-weight: 500; line-height: 1.25rem; transition: background-color .15s ease; }
.tv-ch .tv-xh-exit:hover { background: var(--tvc-blue-tint); color: var(--tvc-navy); }
.tv-xh-exit span { display: none; }
@media (min-width: 640px) {
	.tv-xh-bar { padding-inline: 1.5rem; }
	.tv-xh-title { font-size: 1rem; line-height: 1.5rem; }
	.tv-xh-progress { display: block; }
	.tv-xh-exit span { display: inline; }
}
@media (min-width: 1024px) {
	.tv-xh-bar { padding-inline: 2.5rem; }
}
