/* Lessons share the site's paper, type and rules. No remote player is loaded. */
:root{--course-ink:#17131c;--course-paper:#fcfbfd;--course-muted:#635d6a;--course-purple:#6b238e;--course-line:#e2dee6;--course-serif:"Songti SC","STSong",serif}
.course-shell{width:min(1160px,calc(100% - 64px));margin-inline:auto}
.course-kicker{margin:0 0 18px;color:var(--course-purple);font-size:12px;font-weight:550;letter-spacing:.1em;line-height:1.7}
.course-hero{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:80px;align-items:center;padding-block:64px 72px}
.course-hero h1{margin:0;font:500 clamp(52px,6.5vw,84px)/1.15 var(--course-serif);letter-spacing:-.04em;color:var(--course-ink)}
.course-lead{margin:26px 0 0;font-size:17px;line-height:1.9;color:var(--course-muted)}
.course-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;margin-top:30px}
.course-action{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border:1px solid transparent;border-radius:8px;font-size:14px;line-height:1.6;text-decoration:none}
.video-course-page .course-action.primary,.course-action.primary{background:var(--course-ink);color:var(--course-paper)}
.video-course-page .course-action.quiet{color:var(--course-muted);padding-inline:0}
.course-action.primary:hover{background:var(--course-purple)}
.course-action.quiet:hover{color:var(--course-purple)}
.course-aside{padding-left:38px;border-left:1px solid var(--course-line)}
.course-aside img{width:130px;height:auto;display:block;margin:0 0 20px -8px}
.course-aside p{font:500 23px/1.5 var(--course-serif);margin:0 0 12px;color:var(--course-ink)}
.course-aside span{display:block;font-size:14px;line-height:1.9;color:var(--course-muted)}
.course-aside small{display:block;margin-top:22px;font-size:12px;line-height:1.85;color:var(--course-muted)}
.course-index{position:sticky;top:0;z-index:10;background:var(--course-paper);border-block:1px solid var(--course-line)}
.course-index>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}
.course-index a{display:flex;align-items:center;gap:14px;min-height:64px;padding-block:12px;text-decoration:none;font-size:14px;color:var(--course-ink)}
.course-index a span{font-size:11px;color:var(--course-purple);font-variant-numeric:tabular-nums}
.course-index a:hover{color:var(--course-purple)}
.course-chapter{display:grid;grid-template-columns:230px minmax(0,1fr);gap:60px;padding-block:64px;border-bottom:1px solid var(--course-line);scroll-margin-top:80px}
.chapter-heading h2{font:500 32px/1.35 var(--course-serif);letter-spacing:-.025em;margin:0 0 16px}
.chapter-heading>p:last-child{max-width:220px;font-size:14px;line-height:1.85;color:var(--course-muted)}
.chapter-heading .course-kicker{margin-bottom:16px}
.lesson-row{display:grid;grid-template-columns:72px minmax(0,1fr) 108px;gap:22px;padding:28px 0;border-top:1px solid var(--course-line);scroll-margin-top:88px;transition:background-color 160ms}
.lesson-row:first-child{border-top:0;padding-top:0}
.lesson-row:last-child{padding-bottom:0}
.lesson-index>span{font:400 32px/1.2 var(--course-serif);font-variant-numeric:tabular-nums;color:var(--course-purple)}
.lesson-index small{display:block;margin-top:10px;font-size:11px;line-height:1.5;color:var(--course-muted)}
.lesson-copy h3{font-size:20px;font-weight:550;line-height:1.5;margin:0 0 9px;letter-spacing:-.015em}
.lesson-copy>p{font-size:14px;line-height:1.85;color:var(--course-muted);margin:0}
.lesson-practice{margin-top:12px;font-size:13px}
.lesson-practice summary{cursor:pointer;min-height:36px;padding-block:8px;color:var(--course-purple);list-style:none}
.lesson-practice summary::-webkit-details-marker{display:none}
.lesson-practice summary::before{content:'＋';display:inline-block;margin-right:8px}
.lesson-practice[open] summary::before{content:'−'}
.lesson-practice p{margin:6px 0 0;padding-left:21px;border-left:1px solid #cdc4d5;color:var(--course-muted);font-size:14px;line-height:1.85}
.lesson-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch}
.lesson-actions a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;font-size:13px;text-decoration:none}
.video-course-page .lesson-watch{padding:10px 14px;border:1px solid var(--course-line);border-radius:6px;color:var(--course-ink);background:transparent}
.video-course-page .lesson-watch:hover{background:var(--course-ink);color:var(--course-paper);border-color:var(--course-ink)}
.video-course-page .lesson-context{padding:6px 14px;color:var(--course-muted)}
.lesson-context:hover{color:var(--course-purple)}
.lesson-row:target{background:#f2edf6;outline:12px solid #f2edf6;border-radius:2px}
.course-closing{padding-block:72px}
.course-closing>.course-shell{display:flex;align-items:center;justify-content:space-between;gap:40px}
.course-closing h2{font:500 clamp(32px,4vw,48px)/1.25 var(--course-serif);letter-spacing:-.035em;margin:0 0 20px}
.course-closing p:not(.course-kicker){font-size:14px;color:var(--course-muted);line-height:1.85;margin:0}
.course-footer{display:flex;justify-content:space-between;gap:30px}
.course-footer p{font-size:13px;color:var(--course-muted);line-height:1.8;margin-top:12px}
.course-footer nav{display:flex;gap:12px 24px;flex-wrap:wrap;align-content:start}
.course-footer nav a{display:flex;align-items:center;min-height:44px;font-size:13px}
/* A compact invitation on the homepage, after visitors have met the tools. */
.home-video-bridge{padding-block:72px;border-block:1px solid var(--course-line);background:var(--course-paper)}
.home-video-bridge-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}
.home-video-bridge h2{font:500 clamp(34px,4vw,52px)/1.22 var(--course-serif);letter-spacing:-.035em;margin:0;color:var(--course-ink)}
.home-video-bridge-copy>p:not(.course-kicker){max-width:420px;margin:22px 0 0;font-size:15px;line-height:1.85;color:var(--course-muted)}
.home-video-bridge .home-video-bridge-link{display:inline-flex;align-items:center;min-height:48px;margin-top:20px;font-size:14px;text-decoration:none;color:var(--course-purple)}
.home-video-picks{display:grid}
.home-video-pick{display:grid;grid-template-columns:116px minmax(0,1fr);gap:6px 18px;padding-block:24px;border-bottom:1px solid var(--course-line);text-decoration:none}
.home-video-pick:first-child{border-top:1px solid var(--course-line)}
.home-video-pick span{grid-row:1/3;color:var(--course-purple);font-size:12px;line-height:1.7}
.home-video-pick strong{font-size:19px;font-weight:550;color:var(--course-ink)}
.home-video-pick small{font-size:13px;line-height:1.8;color:var(--course-muted)}
.home-video-pick:hover strong{color:var(--course-purple)}
/* A companion is a reading aid, with one destination per lesson. */
.video-companion{padding:56px 0;border-block:1px solid var(--course-line);background:var(--course-paper);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--course-ink)}
.video-companion-inner{width:min(1160px,calc(100% - 64px));margin-inline:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:start}
.video-companion h2{font:500 clamp(26px,3vw,36px)/1.4 var(--course-serif);letter-spacing:-.025em;margin:0 0 18px;color:var(--course-ink)}
.video-companion .course-kicker{font-size:12px;line-height:1.7;color:var(--course-purple);margin:0 0 16px}
.video-companion-inner>div>p:not(.course-kicker){font-size:14px;line-height:1.85;color:var(--course-muted);margin:0;max-width:460px}
.video-companion .companion-directory{display:inline-flex;align-items:center;min-height:44px;margin-top:15px;font-size:13px;color:var(--course-purple);text-decoration:none}
.video-companion .companion-lesson{display:grid;grid-template-columns:28px minmax(0,1fr) auto 16px;align-items:center;gap:14px;min-height:68px;border-bottom:1px solid var(--course-line);text-decoration:none;color:var(--course-ink);padding-block:14px}
.companion-lesson:first-child{border-top:1px solid var(--course-line)}
.companion-lesson span{font-size:12px;color:var(--course-purple)}
.companion-lesson strong{font-size:16px;font-weight:550;line-height:1.6}
.companion-lesson small{font-size:12px;color:var(--course-muted);white-space:nowrap}
.companion-lesson b{font-size:17px;font-weight:400;color:var(--course-purple)}
.companion-lesson:hover strong{color:var(--course-purple)}
.video-companion .companion-practice{margin:20px 0 0;font-size:13px;line-height:1.85;color:var(--course-muted)}
.companion-practice strong{display:block;font-size:12px;font-weight:550;color:var(--course-ink);margin-bottom:7px}
#related-video{scroll-margin-top:100px}
@media(max-width:1000px){.course-hero{gap:40px;grid-template-columns:1fr 220px}.course-aside{padding-left:28px}.course-chapter{grid-template-columns:180px minmax(0,1fr);gap:36px}.lesson-row{grid-template-columns:55px minmax(0,1fr) 100px;gap:16px}.home-video-bridge-grid{gap:36px}.home-video-pick{grid-template-columns:95px 1fr;gap:6px 12px}.video-companion-inner{gap:40px}}
@media(max-width:760px){
.course-shell,.video-companion-inner{width:calc(100% - 40px)}
.course-hero{grid-template-columns:1fr;gap:32px;padding-block:40px}
.course-hero h1{font-size:clamp(48px,12vw,64px)}
.course-lead{font-size:15px;margin-top:20px}.course-lead br{display:none}
.course-aside{display:grid;grid-template-columns:76px minmax(0,1fr);gap:5px 18px;padding:22px 0 0;border-left:0;border-top:1px solid var(--course-line)}
.course-aside img{width:76px;grid-row:1/3;margin:0}.course-aside p{font-size:20px;margin:0}.course-aside span{font-size:13px}.course-aside small{grid-column:2;margin-top:4px;font-size:12px}.course-aside small br{display:none}
.course-actions{gap:8px 18px;margin-top:22px}.course-action{font-size:13px;padding-inline:16px}
.course-index>div{display:flex;flex-wrap:wrap;gap:0 22px;padding-block:8px}.course-index a{font-size:12px;min-height:36px;padding:6px 0;gap:7px}.course-index a span{font-size:10px}
.course-chapter{grid-template-columns:1fr;gap:24px;padding-block:40px;scroll-margin-top:115px}.chapter-heading .course-kicker{margin-bottom:10px}.chapter-heading h2{font-size:29px;margin-bottom:10px}.chapter-heading>p:last-child{max-width:none;font-size:13px}
.lesson-row{grid-template-columns:42px minmax(0,1fr);gap:10px 18px;padding-block:24px;scroll-margin-top:122px}.lesson-row:first-child{border-top:1px solid var(--course-line);padding-top:24px}.lesson-index span{font-size:28px}.lesson-index small{font-size:10px}.lesson-copy h3{font-size:19px}.lesson-copy>p{font-size:14px}.lesson-actions{grid-column:2;flex-direction:row;gap:12px}.lesson-actions a{min-height:44px;gap:14px}.lesson-practice{margin-top:8px}.lesson-row:target{outline-width:8px}
.course-closing{padding-block:48px}.course-closing>.course-shell{display:block}.course-closing .course-action{margin-top:24px}.course-footer{flex-direction:column}.course-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px}
.home-video-bridge{padding-block:48px}.home-video-bridge-grid{grid-template-columns:1fr;gap:24px}.home-video-bridge h2{font-size:36px}.home-video-bridge-copy>p:not(.course-kicker){font-size:14px}.home-video-pick{grid-template-columns:90px 1fr;padding-block:20px}.home-video-pick strong{font-size:18px}
.video-companion{padding-block:40px}.video-companion-inner{grid-template-columns:1fr;gap:24px}.video-companion h2{font-size:28px}.companion-lesson strong{font-size:15px}.video-companion .companion-lesson{gap:10px;grid-template-columns:24px minmax(0,1fr) auto 12px}.companion-lesson small{font-size:11px}
}
@media(max-width:359px){.course-index>div{gap:0 14px}.course-index a{font-size:11px}.course-index a span{display:none}.lesson-row{column-gap:12px}.companion-lesson small{grid-column:2}.companion-lesson b{grid-column:4;grid-row:1/3}.course-action{font-size:12px}.home-video-pick{grid-template-columns:76px 1fr}}
@media(prefers-reduced-motion:reduce){.lesson-row{transition:none}}
