/* Course and replay details have their own route and normal page scrolling. */
.lesson-page{padding-top:28px;padding-bottom:50px}
.lesson-breadcrumb{display:flex;align-items:center;gap:14px;margin-bottom:18px;font-size:12px;line-height:1.5;color:#858585}
.lesson-breadcrumb>a{display:inline-flex;align-items:center;gap:7px;color:#606060;min-height:28px}
.lesson-breadcrumb>a:hover{color:#161616}
.lesson-breadcrumb svg{width:15px;height:15px}
.lesson-breadcrumb>span{padding-left:14px;border-left:1px solid #e5e5e5}
.lesson-page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}
.lesson-page-heading h1{margin:0;font-size:clamp(25px,2.5vw,32px);line-height:1.4;letter-spacing:-.7px;font-weight:650}
.lesson-page-heading h1:focus{outline:none}
.lesson-page-tools{display:flex;align-items:center;gap:10px;flex:none}
.lesson-save{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:#606060;background:#f3f3f3}
.lesson-save svg{width:17px;height:17px}
.lesson-save:hover{background:#eaeaea}
.lesson-save.saved{color:#237a45}.lesson-save.saved svg{fill:#41d87e33}
.lesson-complete{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 14px;border-radius:999px;background:#f3f3f3;color:#606060;font-size:12px;font-weight:500}
.lesson-complete svg{width:15px;height:15px}
.lesson-complete:hover{background:#eaeaea}
.lesson-complete.is-complete{background:#e9f8ef;color:#237a45}
.lesson-page-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,290px);gap:30px;align-items:start}
.lesson-main-column{min-width:0}
.lesson-page-grid.is-single{grid-template-columns:minmax(0,1fr);max-width:960px}
.lesson-watch-cover{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;border-radius:14px;background:#171717;color:#fff;isolation:isolate}
.lesson-watch-cover>img{display:block;width:100%;height:100%;object-fit:cover}
.lesson-watch-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0009,transparent 40%);pointer-events:none}
.lesson-watch-play{position:absolute;z-index:1;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#fffffff2;color:#171717;box-shadow:0 4px 20px #0002;transition:background .18s ease,transform .18s ease}
.lesson-watch-play svg{width:21px;height:21px;margin-left:2px}
.lesson-watch-cover:hover .lesson-watch-play{background:var(--brand);transform:translate(-50%,-50%) scale(1.05)}
.lesson-watch-label{position:absolute;z-index:1;left:22px;bottom:20px;display:inline-flex;align-items:center;gap:8px;font-size:12px;line-height:1.5;font-weight:550}
.lesson-watch-label svg{width:14px;height:14px}
.lesson-overview{margin-top:27px}
.lesson-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.lesson-section-heading h2,.lesson-takeaways>h2{margin:0;font-size:18px;line-height:1.5;font-weight:600;letter-spacing:-.2px}
.lesson-section-heading>a{display:inline-flex;align-items:center;gap:5px;flex:none;font-size:12px;color:#737373}
.lesson-section-heading>a:hover{color:#161616}
.lesson-section-heading>a svg{width:13px;height:13px}
.lesson-overview>p{margin:0;font-size:14px;line-height:1.9;color:#666}
.lesson-overview>p+p{margin-top:10px}
.lesson-takeaways{margin-top:28px;padding-top:24px;border-top:1px solid #ececec}
.lesson-takeaways ol{display:grid;gap:20px;list-style:none;margin:20px 0 0;padding:0}
.lesson-takeaways li{display:grid;grid-template-columns:23px minmax(0,1fr);gap:14px;align-items:start}
.lesson-point-index{padding-top:3px;font-size:11px;line-height:1.6;font-variant-numeric:tabular-nums;color:#999}
.lesson-takeaways h3{margin:0;font-size:14px;line-height:1.6;font-weight:600;color:#333}
.lesson-takeaways p{margin:5px 0 0;font-size:13px;line-height:1.8;color:#737373}
.lesson-related{min-width:0}
.lesson-related-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}
.lesson-related-heading h2{margin:0;font-size:17px;line-height:1.5;font-weight:600}
.lesson-related-heading>a{display:inline-flex;align-items:center;gap:3px;font-size:11px;color:#858585}
.lesson-related-heading>a svg{width:13px;height:13px}
.lesson-related-list{display:grid;gap:20px}
.lesson-related-card{display:grid;grid-template-columns:42% minmax(0,1fr);align-items:start;gap:13px;min-width:0}
.lesson-related-card>img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:8px}
.lesson-related-card h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:0;font-size:13px;line-height:1.6;font-weight:550}
.lesson-related-card span{display:block;margin-top:6px;font-size:10px;color:#858585}
.lesson-related-card:hover h3{color:#237a45}
.lesson-missing{padding:70px 0}.lesson-missing h1{font-size:28px;margin-bottom:20px}.lesson-missing>a{display:inline-flex;align-items:center;gap:7px;font-size:14px}
@media(max-width:1100px){.lesson-page-grid{grid-template-columns:minmax(0,1fr) 230px;gap:24px}.lesson-related-card{grid-template-columns:40% minmax(0,1fr);gap:10px}.lesson-related-card h3{font-size:12px}}
@media(max-width:900px){.lesson-page-grid{grid-template-columns:1fr}.lesson-related{margin-top:10px;padding-top:24px;border-top:1px solid #ececec}.lesson-related-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.lesson-related-card h3{font-size:13px}}
@media(max-width:600px){.lesson-page{padding-top:18px;padding-bottom:36px}.lesson-breadcrumb{margin-bottom:12px;font-size:11px}.lesson-page-heading{align-items:flex-start;flex-direction:column;gap:15px;margin-bottom:20px}.lesson-page-heading h1{font-size:25px}.lesson-page-tools{gap:9px}.lesson-watch-cover{border-radius:10px}.lesson-watch-play{width:46px;height:46px}.lesson-watch-label{left:16px;bottom:14px;font-size:11px}.lesson-overview{margin-top:22px}.lesson-overview>p{font-size:13px}.lesson-related-list{grid-template-columns:1fr;gap:18px}.lesson-related-card{grid-template-columns:112px minmax(0,1fr);gap:14px}.lesson-related-card h3{font-size:14px}.lesson-takeaways li{gap:10px}}
@media(prefers-reduced-motion:reduce){.lesson-watch-play{transition:none}}
.lesson-article-section{margin-top:32px;padding-top:28px;border-top:1px solid #ececec}
.lesson-article-section>h2{margin:0 0 16px;font-size:18px;line-height:1.5;font-weight:600;letter-spacing:-.2px;color:#171717}
.lesson-article-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-radius:14px;background:#f6f7f4;color:#1f2a22;text-decoration:none;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}
.lesson-article-cta:hover{background:#eaf1e5;transform:translateY(-1px);box-shadow:0 6px 20px rgba(31,42,34,.08)}
.lesson-article-cta-label{display:flex;flex-direction:column;gap:4px;min-width:0}
.lesson-article-cta-title{font-size:16px;font-weight:600;line-height:1.4}
.lesson-article-cta-sub{font-size:13px;color:#5f6a60;line-height:1.5}
.lesson-article-cta-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#1f2a22;color:#fff;flex:none;transition:background .2s ease}
.lesson-article-cta-icon svg{width:18px;height:18px;stroke-width:1.8;color:#fff}
.lesson-article-cta:hover .lesson-article-cta-icon{background:#2a3a2d}
.lesson-article-image{display:block;width:100%;padding:0;border:none;background:#f6f7f4;border-radius:14px;overflow:hidden;cursor:zoom-in;position:relative;text-align:left;transition:box-shadow .2s ease,transform .2s ease}
.lesson-article-image:hover{box-shadow:0 8px 24px rgba(31,42,34,.10);transform:translateY(-1px)}
.lesson-article-image>img{display:block;width:100%;height:auto;max-height:520px;object-fit:cover}
.lesson-article-image-hint{position:absolute;right:14px;bottom:14px;padding:6px 12px;border-radius:999px;background:rgba(31,42,34,.75);color:#fff;font-size:12px;line-height:1.5;letter-spacing:.02em}
.lesson-article-image-overlay{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:rgba(10,15,12,.92);padding:36px;cursor:zoom-out}
.lesson-article-image-overlay>img{max-width:100%;max-height:100%;object-fit:contain;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.lesson-article-image-close{position:absolute;top:20px;right:24px;width:44px;height:44px;border-radius:50%;border:none;background:rgba(255,255,255,.12);color:#fff;font-size:28px;line-height:1;cursor:pointer;transition:background .2s ease}
.lesson-article-image-close:hover{background:rgba(255,255,255,.22)}
@media(max-width:600px){.lesson-article-section{margin-top:26px;padding-top:22px}.lesson-article-cta{padding:16px 18px;gap:12px}.lesson-article-cta-title{font-size:15px}.lesson-article-cta-sub{font-size:12px}.lesson-article-cta-icon{width:36px;height:36px}.lesson-article-image>img{max-height:360px}.lesson-article-image-overlay{padding:16px}.lesson-article-image-close{top:12px;right:12px;width:40px;height:40px}}

/* ── 速查手册（One Page Cheatsheet）：内嵌滚动浏览 + 下载 ───────────────── */
.lesson-cheatsheet-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px}
.lesson-cheatsheet-head h2{margin:0;font-size:18px;line-height:1.5;font-weight:600;letter-spacing:-.2px;color:#171717}
.lesson-cheatsheet-download{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:1px solid #d5e5da;border-radius:999px;background:#f6fbf7;color:#1e5c35;font-size:12.5px;font-weight:600;text-decoration:none;transition:background .15s ease,border-color .15s ease}
.lesson-cheatsheet-download:hover{background:#e9f7ee;border-color:#41d87e}
.lesson-cheatsheet-download svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.lesson-cheatsheet-scroll{max-height:520px;overflow-y:auto;border:1px solid #e8efe9;border-radius:14px;background:#fbfdfb;scrollbar-width:thin;scrollbar-color:#bcd6c4 transparent}
.lesson-cheatsheet-scroll::-webkit-scrollbar{width:8px}
.lesson-cheatsheet-scroll::-webkit-scrollbar-thumb{background:#c4dccb;border-radius:4px}
.lesson-cheatsheet-scroll:focus-visible{outline:3px solid #a18cec;outline-offset:2px}
.lesson-cheatsheet-scroll>img{display:block;width:100%;height:auto}
.lesson-cheatsheet-frame{width:100%;height:520px;border:1px solid #e8efe9;border-radius:14px;background:#fff}
@media(max-width:760px){.lesson-cheatsheet-scroll{max-height:420px}.lesson-cheatsheet-frame{height:420px}.lesson-cheatsheet-head h2{font-size:16px}.lesson-cheatsheet-download{padding:7px 12px;font-size:12px}}
.lesson-cheatsheet-fallback{padding:40px 24px;border:1px dashed #cfcfc8;border-radius:14px;color:#8a8a82;font-size:13px;text-align:center}
