/* Authored learning controls. All selectors are scoped to these components. */
.learning-checkpoint,.scenario-journal{margin:3rem 0;padding:clamp(1.1rem,3vw,2.3rem);border:1px solid var(--line,#d7d9dd);border-radius:12px;background:var(--white,#fff);scroll-margin-top:1rem}
.learning-checkpoint [hidden],.scenario-journal [hidden]{display:none!important}
.learning-checkpoint h2,.scenario-journal h2{max-width:32ch;margin-top:.5rem}
.learning-checkpoint p,.scenario-journal p{max-width:78ch}
.learning-checkpoint fieldset{min-width:0;margin:1.75rem 0;padding:1.2rem;border:1px solid var(--line,#d7d9dd);border-radius:8px}
.learning-checkpoint legend{font-weight:700;padding:0 .4rem;max-width:100%;font-size:1.05rem;line-height:1.5}
.learning-choice{display:flex;align-items:flex-start;gap:.75rem;min-height:44px;padding:.75rem;margin:.4rem 0;border:1px solid var(--line,#d7d9dd);border-radius:6px;cursor:pointer;font-weight:400}
.learning-choice input{width:1.1rem;height:1.1rem;flex:0 0 1.1rem;margin:.22rem 0 0;accent-color:#b81426}
.learning-choice:has(input:checked){border-color:#b81426;background:#fff2f3}
.learning-choice:focus-within{outline:3px solid #155fc1;outline-offset:3px}
.learning-checkpoint :is(a,button,summary):focus-visible,.scenario-journal :is(a,button,input,textarea,summary):focus-visible{outline:3px solid #155fc1;outline-offset:3px}
.learning-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:1.5rem}
.learning-actions button{min-height:44px;white-space:normal}
.learning-actions button:disabled{cursor:not-allowed;opacity:.6}
.learning-result:not(:empty){padding:1rem;border-left:4px solid #155fc1;background:#f1f6ff;line-height:1.6}
.learning-result[data-error=true]{border-color:#b81426;background:#fff2f3}
.learning-feedback{font-weight:700;margin-top:1rem}.learning-feedback[data-correct=true]{color:#176139}.learning-feedback[data-correct=false]{color:#a11120}
.learning-source{font-size:.85rem;line-height:1.65;overflow-wrap:anywhere}
.learning-static{padding-left:1.4rem}.learning-static>li{padding-left:.3rem;margin:1.7rem 0}.learning-static h3{font-size:1.1rem;line-height:1.5}.learning-options{list-style-type:upper-alpha;padding-left:1.6rem;margin-bottom:1rem}.learning-options li{margin:.5rem 0}
.learning-checkpoint summary,.scenario-journal summary{cursor:pointer;padding:.7rem 0;font-weight:650;min-height:44px}
.scenario-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem 1.4rem;margin:1.5rem 0}.scenario-fields label,.scenario-journal form>label{display:block;font-weight:650;margin-bottom:.4rem}
.scenario-fields input,.scenario-journal textarea{box-sizing:border-box;width:100%;max-width:100%;border:1px solid #727781;border-radius:5px;min-height:44px;padding:.65rem;background:#fff;color:#17202b;font:inherit}.scenario-journal textarea{resize:vertical;min-height:7rem}
.scenario-fields small,.scenario-journal form>small{display:block;font-size:.83rem;line-height:1.5;color:#4d525b;margin-top:.4rem}
.scenario-worked{padding:1rem 0;border-bottom:1px solid var(--line,#d7d9dd);margin-bottom:1.5rem}.scenario-worked dl>div{margin:1rem 0}.scenario-worked dt{font-weight:650}.scenario-worked dd{margin:.25rem 0 0;line-height:1.6}
.scenario-report{margin-top:1.5rem}.scenario-report table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}.scenario-report th,.scenario-report td{padding:.8rem .5rem;border-bottom:1px solid #d7d9dd;text-align:left;vertical-align:top}.scenario-report th{width:65%;font-weight:600}.scenario-report td{overflow-wrap:anywhere}.scenario-report caption{text-align:left;font-weight:700;margin-bottom:.75rem}.scenario-report .scenario-reflection{white-space:pre-wrap;overflow-wrap:anywhere}.scenario-method{margin-top:1.5rem}
@media(max-width:600px){.scenario-fields{grid-template-columns:1fr}.learning-checkpoint fieldset{padding:.8rem}.learning-actions{align-items:stretch}.learning-actions button{flex:1 1 100%}.scenario-report th{width:57%}.learning-choice{padding:.6rem}}
@media(prefers-reduced-motion:reduce){.learning-checkpoint *,.scenario-journal *{scroll-behavior:auto!important}}
