/* Opt-in source composition within the existing neutral reader.
   No collection palette: permanent lens colors remain in the shared reader CSS. */
.qr-source-columns .qr-prose { margin: 2rem 0 4rem; font-size: 1rem; line-height: 1.6; }
.qr-source-columns .qr-prose p { margin: .4rem 0; }
.qr-source-columns .qr-source-group { margin: 0 0 3rem; }
.qr-source-columns .qr-question-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; }
.qr-source-columns .qr-question-columns > ul { min-width: 0; }
.qr-source-columns .qr-source-heading-soft { background: var(--resource-soft); border-radius: 14px; padding: 1.2rem; }
.qr-source-columns .qr-source-heading-label { font-size: .75rem; letter-spacing: .025em; line-height: 1.4; }
.qr-source-columns .qr-three-lenses { margin-bottom: 2.5rem; }
.qr-source-columns .qr-three-lenses p:not(.qr-label) { margin: .7rem 0 0; font-size: 1rem; line-height: 1.45; }
.qr-source-columns .qr-lens-lead { font-weight: 700; }
@media (max-width: 800px) {
  .qr-source-columns .qr-question-columns { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .qr-source-columns .qr-prose { margin-bottom: 2.5rem; }
}
/* A large preferred text size also gets one continuous reading column. */
@media (max-width: 50em) {
  .qr-source-columns .qr-question-columns,
  .qr-source-columns .qr-three-lenses { grid-template-columns: minmax(0, 1fr); }
  .qr-source-columns .qr-question-columns { gap: 0; }
}
