.course-recap{color:var(--ink,#263f37);font-size:12px;line-height:1.65;overflow-wrap:anywhere}.recap-heading,.recap-row-title,.recap-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.recap-heading h3{font-size:15px}.recap-mode,.recap-caption,.recap-device{color:var(--muted,#718478);font-size:11px}.recap-caption{margin:5px 0 10px}.recap-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:12px 0}.recap-metric{display:flex;flex-direction:column;gap:4px;padding:9px 7px;background:var(--soft,#f3f6f0);border:1px solid var(--line,#dde5dd);border-radius:7px;text-align:center}.recap-metric>span{font-size:10px;color:var(--muted,#718478)}.recap-metric strong{font-size:14px;font-variant-numeric:tabular-nums}.recap-scoring-rule{font-size:11px;color:var(--muted,#718478);line-height:1.75}.recap-outcome{margin:10px 0;padding:9px 10px;border-radius:7px;background:#fff3e6;color:#89552e}.recap-outcome[data-passed="true"]{background:#e8f4ee;color:#226c50}.recap-section{border-top:1px solid var(--line,#dde5dd);margin-top:13px;padding-top:9px}.recap-section>summary{cursor:pointer;padding:3px 0 8px;font-weight:600}.recap-step,.recap-issue,.recap-event{padding:11px 0;border-bottom:1px solid #e8ede7;break-inside:avoid}.recap-step:last-child,.recap-issue:last-child,.recap-event:last-child{border-bottom:0}.recap-row-title{align-items:flex-start}.recap-row-title>strong{font-size:12px;min-width:0}.recap-badge{display:inline-block;font-size:10px;line-height:1.6;padding:2px 6px;border-radius:4px;white-space:nowrap;flex:none}.recap-badge.completed{color:#267051;background:#e8f3eb}.recap-badge.missed{color:#995947;background:#fbede7}.recap-device{margin:4px 0}.recap-step-points{font-size:11px;color:#687763;font-variant-numeric:tabular-nums}.recap-reading{color:#176d59;font-weight:600;margin:4px 0}.recap-instruction{margin:5px 0;font-size:11px}.recap-instruction>summary{cursor:pointer;color:#5a795f}.recap-instruction p{margin:5px 0;color:#6e7b6b;line-height:1.8}.recap-actions{justify-content:flex-start;flex-wrap:wrap;margin-top:6px}.recap-focus.button{font-size:10px;min-height:28px;padding:4px 7px}.recap-evidence-links{display:inline-flex;flex-wrap:wrap;gap:4px 10px}.recap-evidence-links .text-button{font-size:10px;min-height:26px}.recap-reason{color:#a15943;margin-top:5px}.recap-advice{color:#6c7b69;font-size:11px;margin-top:6px}.recap-recommendations{padding:11px 10px;background:#f4f6ed;border-radius:7px;margin-top:14px}.recap-recommendations h4{margin:0 0 6px;font-size:12px}.recap-recommendations p{font-size:11px;margin:6px 0}.recap-recommendations .recap-evidence-links{display:flex}.recap-event>strong{font-size:11px;margin-right:7px}.recap-event>p{font-size:11px}.recap-event:focus{outline:2px solid #20a489;outline-offset:3px;border-radius:3px}.recap-empty{color:var(--muted,#718478);font-size:11px;padding:8px 0}.recap-timeline{scroll-margin-top:10px}@media print{.course-recap{color:#222;font-size:10pt}.course-recap .recap-focus,.course-recap .recap-evidence-links{display:none}.course-recap details>summary{list-style:none}.course-recap details>*,.course-recap details:not([open])>*:not(summary){display:block!important}.course-recap .recap-metrics{display:grid}.recap-heading,.recap-row-title{display:flex}.recap-instruction{display:block!important}}
