.course-path { margin-top: 18px; }
.course-path-head, .course-next, .course-step { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.course-path-head h2 { margin:5px 0 3px; font-size:1.4rem; line-height:1.2; }
.course-path-head p, .course-next span, .course-focus p { margin:0; color:var(--text-dim); line-height:1.5; }
.course-eyebrow { color:var(--accent); font-size:.78rem; font-weight:750; letter-spacing:.09em; }
.course-next { margin-top:18px; padding:15px 17px; border-radius:var(--radius); background:var(--surface-2); }
.course-next div { display:grid; gap:4px; }
.course-next strong { font-size:1rem; }
.course-depth { margin-top:20px; padding-top:18px; border-top:1px solid var(--border); }
.course-assessment { margin:0 0 14px; color:var(--text-dim); }
.course-caution { border-left:3px solid var(--bad); padding:10px 12px; background:var(--surface-2); line-height:1.5; }
.course-step { margin:21px 0 10px; font-weight:700; }
.course-step small { color:var(--text-dim); font-weight:500; }
.course-domains, .course-topics { display:flex; gap:8px; overflow-x:auto; padding-bottom:7px; }
.course-domains button, .course-topics button { flex:none; max-width:250px; border:1px solid var(--border); border-radius:10px; padding:10px 13px; background:var(--surface); color:var(--text); cursor:pointer; font:inherit; text-align:left; }
.course-domains button.selected, .course-topics button.selected { color:var(--accent); border-color:var(--accent); background:var(--surface-2); font-weight:700; }
.course-focus { margin-top:17px; border:1px solid var(--border); border-radius:var(--radius); padding:18px; }
.course-focus h3 { margin:5px 0 2px; font-size:1.2rem; }
.course-concepts { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:8px; margin:17px 0; }
.course-concepts button { padding:12px; text-align:left; background:var(--surface-2); color:var(--text); border:1px solid var(--border); border-radius:10px; cursor:pointer; font:inherit; display:grid; gap:5px; }
.course-concepts button.selected { border-color:var(--accent); box-shadow:inset 3px 0 var(--accent); }
.course-concepts small, .course-concept-detail small { color:var(--text-dim); }
.course-concept-detail { border-top:1px solid var(--border); padding-top:16px; }
.course-concept-detail strong { font-size:1.06rem; }
.course-verified { color:var(--accent) !important; font-weight:650; }
.course-verified a { color:inherit; text-decoration:underline; }
.course-concept-detail p { margin:8px 0; }
.course-actions { display:flex; flex-wrap:wrap; gap:8px; margin:15px 0 8px; }
.course-provenance { margin-top:20px; padding:14px 0 0; border-top:1px solid var(--border); }
.course-provenance summary { cursor:pointer; font-weight:650; }
.course-provenance p { color:var(--text-dim); margin:10px 0; }
.course-provenance a { color:var(--accent); }
.course-evidence { margin:12px 0; }
.course-evidence summary, .course-provenance details summary { cursor:pointer; color:var(--accent); }
.course-evidence ul, .course-provenance ul { margin:9px 0; padding-left:22px; color:var(--text-dim); line-height:1.7; }
.course-path button:focus-visible, .course-provenance summary:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
@media(max-width:650px) {
  .course-path-head, .course-next { align-items:flex-start; flex-direction:column; }
  .course-path-head .btn, .course-next .btn { width:100%; }
  .course-focus { padding:14px; }
}
