:root{--course-ink:#26364e;--course-muted:#8592a6;--course-paper:#f5f8fc;--course-line:#dfe7f0}
.course-page{background:var(--course-paper);color:var(--course-ink);min-height:calc(100vh - 50px);padding:42px clamp(24px,3.5vw,68px) 64px}.course-hero,.course-layout{margin:0 auto;max-width:none;width:100%}.course-hero{align-items:end;background:#fff;border:1px solid var(--course-line);border-radius:12px;box-shadow:0 12px 32px rgba(56,82,115,.06);display:flex;justify-content:space-between;padding:30px 36px}.eyebrow{color:#7889a1;font-size:11px;font-weight:800;letter-spacing:.2em;margin:0 0 9px;text-transform:uppercase}.course-hero h1{font-size:32px;letter-spacing:.02em;margin:0 0 10px}.course-summary{color:#7a899e;margin:0}.course-stat{border-left:1px solid var(--course-line);padding-left:34px;text-align:center}.course-stat strong{display:block;font-size:30px}.course-stat span{color:var(--course-muted);font-size:13px}
.course-layout{display:grid;gap:22px;grid-template-columns:300px minmax(0,1fr);margin-top:22px}.course-directory,.knowledge-panel{background:#fff;border:1px solid var(--course-line);border-radius:14px;box-shadow:0 12px 32px rgba(56,82,115,.05)}.course-directory{padding:24px}.course-directory h2{font-size:20px;margin:0}.course-directory ol{list-style:none;margin:0;padding:0}.course-directory>.directory-level-0{margin-top:18px}.course-directory li{border-top:1px solid #edf1f5}.course-directory a,.course-directory .directory-item{align-items:center;color:var(--course-ink);display:flex;gap:12px;padding:13px 0;text-decoration:none}.course-directory a:hover{color:#496cf3}.course-directory a span,.course-directory .directory-item span{color:#7187a5;font-size:12px;font-weight:700;min-width:22px}.course-directory .directory-level-1,.course-directory .directory-level-2,.course-directory .directory-level-3{margin-left:18px}.course-directory .directory-level-1 a,.course-directory .directory-level-1 .directory-item{font-size:14px;padding:8px 0}.course-directory .directory-level-2 a,.course-directory .directory-level-2 .directory-item{color:#718096;font-size:13px;padding:6px 0}.course-directory .directory-level-3 a,.course-directory .directory-level-3 .directory-item{color:#8996a8;font-size:12px;padding:5px 0}.muted{color:var(--course-muted);font-size:14px}
.knowledge-panel{min-width:0;overflow:hidden;padding:0}.orbit-shell{background:radial-gradient(circle at 48% 46%,#fff 0%,#f8fafd 46%,#edf2f8 100%);min-height:720px;overflow:hidden;position:relative}.orbit-topbar{display:flex;justify-content:space-between;left:28px;pointer-events:none;position:absolute;right:28px;top:24px;z-index:3}.orbit-title,.orbit-toolbar{pointer-events:auto}.graph-tabs{display:flex;gap:7px;margin-bottom:13px}.orbit-shell .graph-tab{background:rgba(255,255,255,.72);border-color:#d8e1ec;border-radius:99px;box-shadow:none;color:#7a899d;font-size:11px;padding:5px 11px}.orbit-shell .graph-tab.active{background:#425f86;border-color:#425f86;color:#fff}.orbit-eyebrow{color:#98a6b9;font-size:10px;font-weight:800;letter-spacing:.2em;margin:0 0 8px}.orbit-title h2{font-size:27px;letter-spacing:.02em;margin:0}.orbit-subtitle{color:#8996a9;font-size:12px;margin:7px 0 0}.orbit-toolbar{display:flex;gap:8px}.orbit-shell button{backdrop-filter:blur(8px);background:rgba(255,255,255,.75);border:1px solid #d9e2ed;border-radius:10px;box-shadow:0 6px 18px rgba(73,103,137,.07);color:#52637b;cursor:pointer;font:inherit;font-size:12px;padding:9px 13px}.orbit-shell button:hover{border-color:#9fb2ca;color:#253c5b;transform:translateY(-1px)}.orbit-svg{cursor:grab;display:block;height:720px;width:100%}.orbit-svg:active{cursor:grabbing}.orbit-hint{bottom:20px;color:#99a6b7;font-size:11px;left:28px;margin:0;position:absolute}.orbit-legend{align-items:center;background:rgba(255,255,255,.66);border:1px solid #e3eaf2;border-radius:12px;bottom:17px;color:#75849a;display:flex;flex-wrap:wrap;gap:10px;max-width:56%;padding:8px 11px;position:absolute;right:20px}.orbit-legend span{font-size:11px;white-space:nowrap}.orbit-legend i{border-radius:50%;display:inline-block;height:8px;margin-right:5px;vertical-align:-1px;width:8px}.orbit-panel{background:rgba(255,255,255,.86);border:1px solid #e1e8f2;border-radius:16px;box-shadow:0 18px 46px rgba(56,82,115,.13);opacity:0;padding:18px;pointer-events:none;position:absolute;right:20px;top:82px;transform:translateX(18px);transition:.24s ease;width:235px;z-index:4}.orbit-panel.open{opacity:1;pointer-events:auto;transform:none}.orbit-kicker{color:#9caabc;font-size:10px;letter-spacing:.18em}.orbit-panel h3{font-size:19px;margin:7px 0 12px}.orbit-panel p{color:#748197;font-size:12px;line-height:1.65;margin:0 0 14px}.orbit-pill{background:#eff4f9;border-radius:99px;color:#60738e;display:inline-block;font-size:11px;padding:6px 9px}.orbit-close{background:transparent!important;border:0!important;box-shadow:none!important;color:#98a4b4!important;font-size:20px!important;padding:0 7px!important;position:absolute;right:6px;top:5px}.orbit-link{fill:none;stroke-linecap:round;opacity:.48}.orbit-ring{fill:none;stroke:#dce5ef;stroke-dasharray:1 10;opacity:.28}.orbit-track{fill:none;stroke-dasharray:2 8;stroke-linecap:round;opacity:.58}.orbit-track-inner{fill:none;stroke-dasharray:1 7;opacity:.25}.orbit-node{cursor:pointer}.orbit-node circle{stroke-width:1.4}.orbit-node text{dominant-baseline:central;font-weight:650;pointer-events:none;text-anchor:middle}.orbit-node.root text{fill:#355471;font-size:14px;letter-spacing:.05em}.orbit-node.cluster text{fill:#fff;font-size:11px}.orbit-node.sub text{fill:#fff;font-size:9px}.orbit-node.leaf text{fill:#fff;font-size:8px}.orbit-node.dim,.orbit-link.dim{opacity:.1}.orbit-node.focus circle{filter:url(#orbit-glow);stroke:#fff;stroke-width:3}
.mastery-pending-dot{background:#aeb8c6;border-radius:50%;display:inline-block;height:8px;margin-right:5px;width:8px}.orbit-node.pending circle{stroke:#8795a8;stroke-dasharray:3 2}.orbit-node .mastery-node-label{fill:#718096!important;font-size:7px!important;font-weight:700;letter-spacing:0!important;paint-order:stroke;stroke:#f6f9fc;stroke-width:3px}
@media(max-width:900px){.course-layout{grid-template-columns:1fr}.course-directory{order:2}}@media(max-width:650px){.course-page{padding:24px 14px 46px}.course-hero{align-items:flex-start;display:block;padding:24px}.course-stat{border-left:0;border-top:1px solid var(--course-line);margin-top:20px;padding:15px 0 0;text-align:left}.orbit-shell{min-height:540px}.orbit-topbar{left:17px;right:17px;top:18px}.orbit-toolbar{display:none}.orbit-svg{height:540px}.orbit-panel{right:14px;top:72px;width:215px}.orbit-hint{left:17px}.orbit-legend{bottom:14px;left:14px;max-width:calc(100% - 28px);right:auto}}
.course-directory .directory-row{align-items:center;display:flex;min-width:0}.course-directory .directory-row>a,.course-directory .directory-row>.directory-item{flex:1;min-width:0}.course-directory .directory-toggle,.course-directory .directory-toggle-spacer{flex:0 0 20px;height:24px;width:20px}.course-directory .directory-toggle{align-items:center;background:transparent;border:0;color:#8798ae;cursor:pointer;display:inline-flex;justify-content:center;margin:0;padding:0}.course-directory .directory-toggle:hover{color:#496cf3}.course-directory .directory-toggle:focus-visible{border-radius:4px;outline:2px solid #91a8c4;outline-offset:1px}.course-directory .directory-toggle-icon{color:inherit;font-size:16px;font-weight:700;line-height:1;min-width:0!important;transition:transform .18s ease}.course-directory .directory-toggle[aria-expanded=true] .directory-toggle-icon{transform:rotate(90deg)}.course-directory .directory-toggle-spacer{display:inline-block}.course-directory .directory-index{flex:0 0 22px;min-width:22px!important}.course-directory .directory-title{overflow-wrap:anywhere}.course-directory .directory-level[hidden]{display:none!important}
.course-directory .directory-title{color:inherit;font-size:inherit;font-weight:inherit;min-width:0!important}
