/* Respect hidden state even when shared button and card CSS sets display. */
.dv-module-3.m3-concise [hidden] { display: none !important; }
/* Scoped to Module 3; the other course modules keep their existing layout. */
.dv-module-3 .m3-extra { margin: 1rem 0; border: 1px solid var(--border, #cbd5e1); border-radius: .75rem; padding: .8rem 1rem; }
.dv-module-3 .m3-extra > summary { cursor: pointer; font-weight: 650; min-height: 32px; }
.dv-module-3 .m3-extra[open] > summary { margin-bottom: .8rem; }
.dv-module-3 .m3-lab-choices { display: grid; gap: .7rem; }
.dv-module-3 .btn.btn-primary, .dv-module-3 .m3-topic-nav .btn.btn-primary { background: #15803d; color: #fff; border-color: #15803d; min-height: 48px; padding: .8rem 1rem; white-space: normal; }
.dv-module-3 :is(a, button, summary, textarea, input):focus-visible { outline: 3px solid #0ea5e9; outline-offset: 3px; }
.dv-module-3 .m3-lab-panel[hidden], .dv-module-3 .tf-card[hidden], .dv-module-3 .m3-mini-nav [hidden] { display: none !important; }
.dv-module-3 .m3-lab-panel { margin: .8rem 0; }
.dv-module-3 .m3-r-compact > h3 { font-size: 1.3rem; }
.dv-module-3 .m3-r-compact .r-editor { min-height: 240px; height: 300px; width: 100%; box-sizing: border-box; }
.dv-module-3 .m3-mini-nav { display: flex; align-items: center; gap: .7rem; justify-content: space-between; margin-top: 1rem; flex-wrap: wrap; }
.dv-module-3 .m3-mini-nav button { min-height: 48px; }
.dv-module-3 .m3-step-status { margin: 0; font-weight: 600; }
.dv-module-3 .m3-points-help { font-size: .85rem; margin-bottom: 0; }
.dv-module-3 .m3-topic-page > .lead { font-size: 1.1rem; max-width: 65ch; }
.dv-module-3 .m3-r-compact .typed-concept-check { margin: .5rem 0; }
.dv-module-3 .m3-r-compact .r-guide-step > span { display: none; }
.dv-module-3 .m3-r-compact .r-variable-scroll { max-width: 100%; overflow-x: auto; }
@media (max-width: 600px) {
 .dv-module-3 .m3-mini-nav .btn-primary { flex: 1 1 100%; }
 .dv-module-3 .m3-topic-nav { display: grid; gap: .7rem; }
 .dv-module-3 .m3-r-compact { padding: .8rem; }
 .dv-module-3 .m3-r-compact .r-editor { font-size: 16px; }
}

/* Keep the bottom quiet: one lesson action, a small help disclosure, no extra pill. */
.dv-module-3 .m3-lab-reference { border: 0; padding: 0; margin: .75rem 0; border-radius: 0; font-size: .9rem; }
.dv-module-3 .m3-lab-reference > summary { display: list-item; min-height: 44px; align-content: center; font-weight: 500; }
.dv-module-3 .m3-mini-nav > .m3-step-status { margin-right: auto; }
.dv-module-3 .qa-ci-dock { margin-top: 0; margin-bottom: 20px; }
.dv-module-3 #qa-ci-launcher.qa-ci-inline { background: transparent; box-shadow: none; color: var(--muted, #94a3b8); font-weight: 500; font-size: 13px; border-radius: 6px; }
.dv-module-3 #qa-ci-launcher.qa-ci-inline:hover { transform: none; box-shadow: none; color: var(--text, #f1f5f9); text-decoration: underline; }

.dv-module-3 .m3-prediction-options { border: 0; padding: 0; margin: .7rem 0; min-width: 0; }
.dv-module-3 .m3-prediction-options legend { padding: 0; line-height: 1.5; }
.dv-module-3 .m3-prediction-data { font-size: .9rem; line-height: 1.5; }
.dv-module-3 .m3-prediction-choice { display: flex; gap: .7rem; align-items: flex-start; cursor: pointer; border: 1px solid var(--border, #475569); border-radius: .6rem; padding: .75rem; margin: .55rem 0; min-height: 48px; box-sizing: border-box; }
.dv-module-3 .m3-prediction-choice input[type=radio] { width: 20px; height: 20px; min-height: 20px; flex: 0 0 20px; margin: .15rem 0 0; accent-color: #0ea5e9; }
.dv-module-3 .m3-prediction-choice:has(input:checked) { border-color: #0ea5e9; outline: 1px solid #0ea5e9; }
.dv-module-3 .m3-prediction-choice span { line-height: 1.5; }
