.bl-lesson { margin-top: 24px; }
.bl-lesson p { max-width: 74ch; }
.bl-lesson-section { margin: 34px 0; }
.bl-lesson-section h3 { font-size: 1.18rem; margin-bottom: 20px; }
.bl-lesson-section p + p { margin-top: 20px; }
.bl-lesson-goal { padding: 20px 22px; background: var(--bg-hover); border-left: 3px solid var(--primary); border-radius: 0 12px 12px 0; }
.bl-lesson-goal p { margin: 8px 0 0; }
.bl-prerequisites, .bl-quick-recap { margin: 22px 0; padding: 0 18px; border: 1px solid var(--border-color); border-radius: 10px; font-size: .88rem; }
.bl-prerequisites summary, .bl-quick-recap summary { min-height: 48px; padding: 14px 0; color: var(--accent-violet); cursor: pointer; }
.bl-prerequisites ul { padding: 0 0 16px 20px; color: var(--text-secondary); }
.bl-prerequisites li + li { margin-top: 10px; }
.bl-lesson h4 { font: 600 1rem/1.65 var(--font-body); color: var(--text-primary); margin: 14px 0; }
.bl-concept-checks, .bl-topic-practice, .bl-lesson-examples { margin: 40px 0; }
.bl-concept-check { min-width: 0; border: 1px solid var(--border-color); border-radius: 12px; padding: 20px; margin: 24px 0; }
.bl-concept-check legend { font-size: .95rem; font-weight: 600; padding: 0 8px; }
.bl-check-option { display: flex; align-items: baseline; gap: 12px; width: 100%; min-height: 48px; text-align: left; padding: 13px 16px; margin: 9px 0; color: var(--text-primary); background: var(--bg-card); border: 1px solid var(--border-color); border-radius: 9px; line-height: 1.6; }
.bl-check-option > span { color: var(--text-muted); }
.bl-check-option:hover { border-color: var(--border-active); }
.bl-check-option.is-correct { border-color: var(--success); background: rgba(143,217,168,.07); }
.bl-check-option.is-retry { border-color: var(--warning); background: rgba(240,212,143,.07); }
.bl-check-feedback:empty { display: none; }
.bl-lesson .bl-check-feedback { margin: 18px 0 0; font-size: .9rem; }
.bl-explorer { margin: 36px 0; padding: 22px; border: 1px solid var(--border-active); border-radius: 14px; background: var(--bg-card); }
.bl-explorer svg { display: block; width: 100%; height: auto; margin: 20px 0; }
.bl-explorer svg text { fill: var(--text-muted); font: 12px var(--font-body); }
.bl-graph-asymptote { stroke: var(--warning); stroke-width: 1.5; stroke-dasharray: 5 4; }
.bl-graph-axis { stroke: var(--text-muted); stroke-opacity: .4; }
.bl-graph-curve { fill: none; stroke: var(--accent-violet); stroke-width: 3; }
.bl-graph-point { fill: var(--success); }
.bl-graph-distance { stroke: var(--success); stroke-width: 2; }
.bl-explorer label { display: block; margin: 14px 0; font-size: .82rem; }
.bl-explorer select { display: block; max-width: 100%; margin-top: 8px; min-height: 44px; border: 1px solid var(--border-color); border-radius: 8px; padding: 8px; background: var(--bg-dark); color: var(--text-primary); font: inherit; }
.bl-explorer input[type="range"] { display: block; width: 100%; min-height: 44px; accent-color: var(--primary); }
.bl-explorer-output { display: block; padding: 12px; border-radius: 8px; background: var(--bg-hover); font-variant-numeric: tabular-nums; font-size: .85rem; }
.bl-explorer .bl-small { margin-top: 12px; }
.bl-topic:has(.bl-lesson) { margin-bottom: 60px; padding-bottom: 36px; }
@media (max-width: 600px) { .bl-concept-check { padding: 14px; } .bl-check-option { padding: 12px; font-size: .88rem; } .bl-explorer { padding: 16px; } .bl-lesson-goal { padding: 16px; } }
