/* One shared typography and palette for the locked lesson and reader. */
.course-lock-panel {
  background:var(--surface); color:var(--ink); border-color:var(--line);
  border-radius:26px; box-shadow:var(--shadow-sm); padding:22px;
  font-family:inherit; align-items:start;
}
.course-lock-panel > .icon { color:var(--primary); }
.course-lock-panel strong { font-family:inherit; font-weight:600; font-size:17px; line-height:1.45; color:var(--ink); }
.course-lock-panel p { font-family:inherit; font-size:14px; line-height:1.7; color:var(--muted); }
.course-lock-panel__actions { margin-top:6px; }
.course-lock-panel__actions .btn { font-family:inherit; }
.reader__title { color:var(--ink); font-family:inherit; }
.reader__lead { color:var(--ink); font-family:inherit; font-size:17px; line-height:1.75; }
.reader__body,.reader__body p,.reader-attention p { color:var(--ink); font-family:inherit; font-size:16px; line-height:1.85; }
.extra-disclosure { background:var(--surface); border-color:var(--line); }
.extra-disclosure__toggle { color:var(--ink); }
.extra-disclosure__toggle > span > i { background:var(--primary-3); color:var(--primary); }
.extra-disclosure__inner p { color:var(--ink); font-size:15px; line-height:1.8; }
.extra-disclosure__source { display:block; padding:0 18px 18px; color:var(--muted); font-size:11px; line-height:1.6; }
@media(max-width:600px) {
  .course-lock-panel { padding:18px; }
  .course-lock-panel__actions .btn { width:100%; }
}
.reader-sources { margin: 28px 0 12px; background: var(--surface); border: 1px solid var(--line); border-radius: 24px; overflow: hidden; }
.reader-sources summary { display: flex; align-items: center; gap: 14px; padding: 20px; cursor: pointer; list-style: none; color: var(--ink); }
.reader-sources summary::-webkit-details-marker { display: none; }
.reader-sources summary > span:nth-child(2) { flex: 1; min-width: 0; }
.reader-sources strong, .reader-sources small { display: block; }
.reader-sources small { margin-top: 4px; color: var(--muted); font-size: 13px; }
.reader-sources__icon { display: grid; place-items: center; width: 44px; height: 44px; flex-shrink: 0; border-radius: 50%; background: var(--primary-3); color: var(--primary); }
.reader-sources svg { width: 22px; height: 22px; }
.reader-sources__chevron { color: var(--muted); transition: transform .2s ease; }
.reader-sources[open] .reader-sources__chevron { transform: rotate(180deg); }
.reader-sources[open] small { display: none; }
.reader-sources ul { margin: 0; padding: 0 24px 22px 44px; }
.reader-sources li { padding: 6px 0; color: var(--muted); }
.reader-sources a { color: var(--primary); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; font-size: 14px; line-height: 1.6; }
.reader-sources summary:focus-visible { outline: 2px solid var(--primary); outline-offset: -4px; border-radius: 24px; }
@media (prefers-reduced-motion: reduce) { .reader-sources__chevron { transition: none; } }
