/* Shared course curriculum: all existing and future courses. */
.hsc-learning-home{color:#20374a}
.hsc-course-back{display:inline-flex;color:#496778;font-size:13px;margin-bottom:20px;gap:8px}
.hsc-course-intro{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:40px;padding:28px;background:#fff;border:1px solid #dce4e9;border-top:3px solid #147c91;border-radius:10px;margin-bottom:30px}
.hsc-course-code{font-size:11px;font-weight:700;letter-spacing:.09em;color:#147386}
.hsc-course-intro h1{font-size:clamp(23px,2.4vw,32px);line-height:1.3;letter-spacing:-.6px;margin:12px 0}
.hsc-course-intro p{font-size:14px;line-height:1.7;color:#607181;max-width:760px;margin:0 0 18px}
.hsc-course-meta{font-size:12px;color:#607181}
.hsc-resume-panel{display:flex;flex-direction:column;justify-content:center;gap:12px;border-left:1px solid #e3e9ed;padding-left:28px}
.hsc-resume-panel strong{font-size:20px}.hsc-resume-panel small{color:#607181;font-size:12px}
.hsc-resume-panel progress{width:100%;height:7px;border:0;border-radius:5px;overflow:hidden;appearance:none;background:#e6edf0}
.hsc-resume-panel progress::-webkit-progress-bar{background:#e6edf0}.hsc-resume-panel progress::-webkit-progress-value{background:#168579}.hsc-resume-panel progress::-moz-progress-bar{background:#168579}
.hsc-resume-panel .btn{margin-top:5px;justify-content:space-between}
.hsc-learning-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:28px;align-items:start}
.hsc-curriculum-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px}
.hsc-curriculum-heading h2,.hsc-course-support h2{font-size:18px;margin:0;color:#20374a}
.hsc-curriculum-heading>span{color:#607181;font-size:12px}
.hsc-outline{display:grid;gap:12px}
.hsc-module{border:1px solid #dce4e9;border-radius:9px;background:white;overflow:hidden}
.hsc-module>summary{display:flex;gap:16px;align-items:center;cursor:pointer;list-style:none;padding:20px}
.hsc-module>summary::-webkit-details-marker{display:none}
.hsc-unit-number{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border:1px solid #dce7eb;border-radius:8px;color:#34657b;background:#f4f8fa;font-size:13px;font-weight:700}
.hsc-unit-title{flex:1;min-width:0;font-size:15px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.hsc-unit-title small{display:block;font-size:11px;font-weight:400;color:#73818e;margin-top:4px}
.hsc-chevron{color:#748694;transition:transform .15s}.hsc-module[open]>summary .hsc-chevron{transform:rotate(180deg)}
.hsc-unit-lessons{border-top:1px solid #edf1f4;padding:4px 16px}
.hsc-lesson-row{display:flex;align-items:center;gap:14px;padding:16px 6px;color:#304a5c;border-bottom:1px solid #edf1f4;text-decoration:none}
.hsc-lesson-row:last-child{border-bottom:0}.hsc-lesson-row:hover{background:#f4f8fb}
.hsc-lesson-status{flex-shrink:0;display:grid;place-items:center;width:26px;height:26px;border:1px solid #cbd9e1;border-radius:50%;font-size:13px;color:#5b788b}
.is-done .hsc-lesson-status{background:#e9f6f0;border-color:#c3e5d6;color:#1d785c}
.hsc-lesson-name{flex:1;min-width:0;overflow-wrap:anywhere;font-size:14px;line-height:1.5}
.hsc-lesson-name small{display:block;margin-top:3px;font-size:11px;color:#73818e}
.hsc-lesson-open{color:#668390}
.hsc-course-support{background:#f0f5f7;border:1px solid #dce4e9;border-radius:9px;padding:22px}
.hsc-course-support h2{font-size:15px;margin-bottom:20px}
.hsc-course-fact{display:flex;justify-content:space-between;gap:12px;font-size:12px;line-height:1.5;margin-bottom:14px}
.hsc-course-support>a{display:flex;justify-content:space-between;gap:14px;border-top:1px solid #dbe4e9;padding:15px 0 0;margin-top:15px;color:#365c73;font-size:13px;line-height:1.5}
.hsc-course-empty{font-size:13px;padding:16px;color:#607181}
body.hsc-workspace .hsc-course-player.course-shell{grid-template-columns:280px minmax(0,1fr);gap:20px;align-items:start}
.hsc-study-outline{min-width:0;position:sticky;top:90px;max-height:calc(100vh - 110px);overflow:auto;padding:0 4px 12px 0}
.hsc-outline-disclosure>summary{font-size:14px;font-weight:700;cursor:pointer;margin-bottom:14px}
.hsc-study-outline .hsc-module>summary{padding:14px 12px;gap:9px}
.hsc-study-outline .hsc-unit-number{width:25px;height:25px;border:0;font-size:11px}
.hsc-study-outline .hsc-unit-title{font-size:12px}
.hsc-study-outline .hsc-unit-lessons{padding:0 8px}
.hsc-study-outline .hsc-lesson-row{padding:12px 6px;gap:8px;border-radius:5px}
.hsc-study-outline .hsc-lesson-name{font-size:12px}
.hsc-study-outline .hsc-lesson-status{width:20px;height:20px;font-size:11px}
.hsc-study-outline .hsc-lesson-open{display:none}
.hsc-study-outline .is-current{background:#e8f2f7;border-left:3px solid #177c9a;color:#075d78}
.hsc-course-player .lesson-main{min-width:0}
.hsc-course-player .lesson-content{min-height:300px}
.hsc-course-player .lesson-notes-card{max-width:900px;margin:20px auto!important;padding:24px;line-height:1.9}
.hsc-lesson-navigation{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 24px;border-top:1px solid #e4ebef;font-size:13px;color:#356079}
.hsc-learning-home a:focus-visible,.hsc-course-player a:focus-visible,.hsc-module>summary:focus-visible,.hsc-outline-disclosure>summary:focus-visible{outline:3px solid #16869e;outline-offset:2px}
@media(max-width:1150px){.hsc-course-intro{grid-template-columns:minmax(0,1fr) 210px;gap:24px}.hsc-learning-layout{grid-template-columns:1fr}.hsc-course-support{max-width:none}.hsc-curriculum-heading{flex-wrap:wrap}body.hsc-workspace .hsc-course-player.course-shell{grid-template-columns:230px minmax(0,1fr)}}
@media(max-width:800px){.hsc-course-intro{grid-template-columns:1fr;padding:22px;gap:22px}.hsc-resume-panel{border-left:0;border-top:1px solid #e3e9ed;padding:20px 0 0}.hsc-resume-panel .btn{align-self:flex-start}.hsc-module>summary{padding:16px;gap:12px}.hsc-unit-lessons{padding:0 10px}.hsc-unit-title{font-size:14px}.hsc-course-intro h1{font-size:24px}body.hsc-workspace .hsc-course-player.course-shell{display:flex;flex-direction:column}.hsc-study-outline{position:static;max-height:none;width:100%;padding:0}.hsc-outline-disclosure[open]>.hsc-outline{max-height:300px;overflow:auto}.hsc-course-player .lesson-main{width:100%}.hsc-course-player .lesson-notes-card{padding:12px}.hsc-lesson-navigation{padding:16px}}
