.caml-lesson-intro { margin: 20px 0 26px; }
.caml-lesson-intro .caml-content h4 { margin: 22px 0 8px; font-size: 1.05rem; color: #37265f; }
.caml-lesson-intro .caml-content h4:first-child { margin-top: 0; }
.caml-lesson-intro .caml-content p { line-height: 1.65; margin: 0 0 8px; }
.caml-lesson-intro .caml-content small { color: #536171; }
.caml-lesson-intro .caml-content ul { padding-left: 22px; margin: 8px 0; }
.caml-reflections label { display: block; margin: 20px 0 8px; }
.caml-reflections label span { display: block; margin-top: 6px; }
.caml-reflections textarea { min-height: 100px; resize: vertical; color: #213547; background: #fff; }
.caml-reflections button { background: #51369b; color: #fff; border: 0; padding: 12px 20px; border-radius: 10px; cursor: pointer; margin-top: 12px; }
.caml-reflections [role=status] { min-height: 24px; color: #3b4857; font-size: .9rem; }
.caml-references { margin-top: 24px; border-top: 1px solid #e7e3ef; padding-top: 16px; }
.caml-references a { color: #51369b; text-decoration: underline; overflow-wrap: anywhere; }
.caml-app button:focus-visible,.caml-app textarea:focus-visible,.caml-app a:focus-visible { outline: 3px solid #345cc4; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .caml-app * { scroll-behavior: auto !important; transition: none !important; } }
