.crs-hero{background-image:linear-gradient(180deg,var(--bg2) 0%,var(--bg) 100%);padding:28px 24px 24px}
.crs-hero-in{max-width:1200px;margin:0 auto;padding:0 24px}
.crs-breadcrumb{display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--txt3);margin-bottom:14px}
.crs-breadcrumb a{color:var(--blue);text-decoration:none}
.crs-breadcrumb a:hover{text-decoration:underline}
.crs-breadcrumb-sep{color:var(--bdr2)}
.crs-hero-meta{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.crs-tag{font-size:.65rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;padding:3px 10px;border-radius:var(--md-sys-shape-corner-full);background:rgba(34,197,94,.1);color:#16a34a}
[data-theme="dark"] .crs-tag{background:rgba(34,197,94,.15);color:#4ade80}
.crs-count{font-size:.78rem;color:var(--txt3)}
.crs-hero h1{font-size:clamp(1.2rem,2.5vw,1.6rem);font-weight:900;color:var(--txt);margin:0 0 8px;line-height:1.3}
.crs-hero-desc{font-size:.88rem;color:var(--txt2);line-height:1.7;max-width:680px;margin:0}

.crs-partner-strip{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--blue);border-radius:var(--r);padding:10px 16px;margin-top:16px;text-decoration:none;font-size:.82rem;width:fit-content;max-width:100%;transition:box-shadow var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard)}
.crs-partner-strip:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}
.crs-partner-strip-ico{font-size:1rem;flex-shrink:0}
.crs-partner-strip strong{color:var(--txt);font-weight:800}
.crs-partner-strip .crs-partner-strip-sub{color:var(--txt2);font-weight:600}
.crs-partner-strip-arrow{color:var(--blue);font-weight:800;flex-shrink:0}
@media(max-width:640px){.crs-partner-strip{font-size:.78rem}}
.crs-body{max-width:1200px;margin:0 auto;padding:28px 24px 80px;display:grid;grid-template-columns:360px 1fr;gap:28px;align-items:start}
.crs-player-wrap{position:sticky;top:80px}
.crs-player{background:#000;border-radius:var(--md-sys-shape-corner-medium);overflow:hidden;aspect-ratio:16/9;width:100%}
.crs-player iframe{width:100%;height:100%;border:none;display:block}
.crs-player iframe[hidden]{display:none}
/* click-to-load poster: the YouTube player (~1 MB) loads only on play */
.crs-yt-facade{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:#000;cursor:pointer}
.crs-yt-facade[hidden]{display:none}
.crs-yt-facade img{width:100%;height:100%;object-fit:cover;display:block}
.crs-yt-play{position:absolute;inset:0;margin:auto;width:68px;height:48px;border-radius:var(--md-sys-shape-corner-large);background:rgba(0,0,0,.72);transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}
.crs-yt-play::before{content:"";position:absolute;inset:0;margin:auto;width:0;height:0;border-style:solid;border-width:11px 0 11px 19px;border-color:transparent transparent transparent #fff;transform:translateX(2px)}
.crs-yt-facade:hover .crs-yt-play,.crs-yt-facade:focus-visible .crs-yt-play{background:#e00}
.crs-yt-facade:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}
.crs-now-title{margin-top:14px;font-size:.95rem;font-weight:700;color:var(--txt);line-height:1.4}
.crs-now-num{font-size:.78rem;color:var(--txt3);margin-top:4px}
.crs-now-desc{margin-top:14px;padding:16px;background:var(--bg2);border:1px solid var(--bdr);border-radius:var(--md-sys-shape-corner-medium);font-size:.83rem;color:var(--txt2);line-height:1.75;white-space:pre-line}
.crs-next-btn{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.crs-btn-next{flex:1;background:var(--md-sys-color-primary-filled);color:#fff;border:none;border-radius:var(--r);padding:10px 20px;font-size:.85rem;font-weight:700;font-family:system-ui,sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}
.crs-btn-next:hover{opacity:.88}
.crs-btn-next:disabled{opacity:.35;cursor:default}
.crs-btn-done{background:var(--bg2);border:1px solid var(--bdr);border-radius:var(--r);padding:10px 16px;font-size:.82rem;font-weight:600;font-family:system-ui,sans-serif;color:var(--txt2);cursor:pointer;display:flex;align-items:center;gap:6px;white-space:nowrap;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}
.crs-btn-done.done{background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.3);color:#16a34a}
[data-theme="dark"] .crs-btn-done.done{background:rgba(34,197,94,.15);color:#4ade80}
.crs-progress-wrap{padding:12px 18px 10px;border-bottom:1px solid var(--bdr)}
.crs-progress-label{display:flex;justify-content:space-between;font-size:.72rem;color:var(--txt3);margin-bottom:6px}
.crs-progress-label strong{color:var(--txt2)}
.crs-progress-bar{height:4px;background:var(--bdr2);border-radius:var(--md-sys-shape-corner-extra-small);overflow:hidden}
.crs-progress-fill{height:100%;background:var(--blue);border-radius:var(--md-sys-shape-corner-extra-small);transition:width var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard)}
.crs-lesson .crs-check{flex-shrink:0;width:16px;height:16px;border-radius:50%;border:1.5px solid var(--bdr2);display:flex;align-items:center;justify-content:center;font-size:.55rem;color:transparent;margin-top:3px;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}
.crs-lesson.watched .crs-check{background:#16a34a;border-color:#16a34a;color:#fff}
.crs-playlist{background:var(--card);border:1px solid var(--bdr);border-radius:var(--rl);overflow:hidden;max-height:calc(100vh - 120px);overflow-y:auto;position:sticky;top:80px}
.crs-playlist::-webkit-scrollbar{width:4px}
.crs-playlist::-webkit-scrollbar-track{background:transparent;margin:12px 0}
.crs-playlist::-webkit-scrollbar-thumb{background:var(--bdr2);border-radius:var(--md-sys-shape-corner-extra-small)}
.crs-pl-header{padding:16px 18px;border-bottom:1px solid var(--bdr);font-size:.8rem;font-weight:700;color:var(--txt);position:sticky;top:0;background:var(--card);z-index:2}
.crs-pl-header span{color:var(--txt3);font-weight:400}
.crs-group-title{padding:10px 18px 8px;font-size:.68rem;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--txt3);background:var(--bg2);border-top:1px solid var(--bdr);border-bottom:1px solid var(--bdr);position:sticky;top:49px;z-index:1}
.crs-lesson{display:flex;align-items:flex-start;gap:12px;padding:12px 18px;cursor:pointer;border-bottom:1px solid var(--bdr2);transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}
.crs-lesson:hover{background:var(--bg2)}
.crs-lesson.active{background:rgba(31,98,142,.07)}
[data-theme="dark"] .crs-lesson.active{background:rgba(74,159,212,.1)}
.crs-lesson-num{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--bdr2);color:var(--txt3);font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:1px}
.crs-lesson.active .crs-lesson-num{background:var(--md-sys-color-primary-filled);color:#fff}
.crs-lesson-text{font-size:.82rem;color:var(--txt2);line-height:1.45;flex:1}
.crs-lesson.active .crs-lesson-text{color:var(--txt);font-weight:600}
@media(max-width:860px){.crs-body{grid-template-columns:1fr}.crs-player-wrap,.crs-playlist{position:static;max-height:none}.crs-playlist{max-height:480px;overflow-y:auto}}
