.course-entry{padding-block:16px}.course-intro{max-width:52rem;margin-bottom:32px}.course-intro h1{font-size:clamp(28px,4vw,44px);line-height:1.25;letter-spacing:-.03em;margin:16px 0}.course-intro p{line-height:1.8;color:var(--muted,#a4aaa7)}.course-index{display:grid;gap:24px;grid-template-columns:repeat(2,minmax(0,1fr))}.course-card{display:block;border-top:1px solid var(--line,#34433c);padding:28px 0}.course-card h2{font-size:26px;margin:16px 0}.course-card p{line-height:1.8}.course-path{font-size:14px;line-height:2;color:var(--muted,#a4aaa7)}.course-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:0;align-items:start}.course-preparation{border-top:1px solid var(--line,#34433c);padding-top:20px;line-height:1.8}.course-preparation li{margin:12px 0}.course-module{margin:0 0 36px}.course-module h2{font-size:23px;margin-bottom:8px}.course-module>p{font-size:15px;color:var(--muted,#a4aaa7);line-height:1.7}.course-lessons{list-style:none;padding:0;margin:20px 0}.course-lessons li{border-bottom:1px solid var(--line,#34433c)}.course-lesson-link{display:grid;grid-template-columns:3.2rem minmax(0,1fr) auto;gap:16px;padding:20px 0;align-items:start;text-decoration:none;color:inherit}.course-lesson-link:hover strong{color:var(--accent,#a7ed8a)}.course-lesson-link small{display:block;line-height:1.65;color:var(--muted,#a4aaa7);margin-top:8px}.course-number{font-variant-numeric:tabular-nums;color:var(--accent,#a7ed8a)}.course-lesson-nav{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0;align-items:center}.course-lesson-nav a{min-height:44px}.course-notice{font-size:14px;color:var(--muted,#a4aaa7);line-height:1.8}.course-error{padding:32px 0}.course-preview-banner{padding:12px;background:#283b28;color:#d4f1be;border:1px solid #547449;margin:16px 0}.course-layout a:focus-visible,.course-card:focus-visible{outline:2px solid #a7ed8a;outline-offset:6px}.course-lesson-link[aria-disabled=true]{opacity:.6;cursor:default}.course-admin{margin-top:40px;padding-top:24px;border-top:1px solid #34433c}
@media(max-width:760px){.course-index,.course-layout{grid-template-columns:1fr;gap:24px}.course-lesson-link{grid-template-columns:2.5rem minmax(0,1fr);gap:10px}.course-lesson-link>.course-state{grid-column:2;font-size:13px}.course-lesson-nav .button{flex:1;white-space:normal}.course-preparation{order:-1}.course-intro h1{font-size:30px}}
/* Course reading: one course directory and one uninterrupted lesson column. */
.course-reading{--lesson-content:48rem;--lesson-sidebar:16rem;--lesson-gap:3.5rem;--lesson-section-space:2.75rem}
.course-reading .reader-layout{grid-template-columns:var(--lesson-sidebar) minmax(0,var(--lesson-content));max-width:78rem;gap:var(--lesson-gap);justify-content:center;padding-top:2.5rem}
.course-reading .reader-title{font-size:clamp(1.65rem,3vw,2.2rem);line-height:1.45;margin:1rem 0}.course-reading .reader-main>.lede{margin-bottom:.5rem}.lesson-duration{font-size:14px;color:var(--muted);margin:0 0 1.5rem}
.course-reading .reader-categories>summary{font-size:15px;margin-bottom:1rem}.lesson-course-back{display:block;margin:0 0 1.4rem;color:var(--accent);font-size:14px;line-height:1.7}.lesson-module{margin-bottom:1.5rem}.lesson-module h3{font-size:13px;color:var(--muted);font-weight:500;margin:0 0 .5rem}.lesson-module a{display:grid;grid-template-columns:2.7rem 1fr;gap:.5rem;line-height:1.65;font-size:13px;padding:.7rem .6rem;border-radius:6px;color:var(--muted)}.lesson-module a span{font-variant-numeric:tabular-nums;font-size:12px}.lesson-module a[aria-current]{background:var(--accent-soft);color:var(--accent)}.lesson-module a:hover{color:var(--ink);background:var(--surface)}
.lesson-reading-options{font-size:13px;color:var(--muted);margin:1rem 0}.lesson-reading-options summary{cursor:pointer;padding:.5rem 0}.course-reading .reader-toolbar{margin:.5rem 0;padding:.5rem 0}.lesson-jump{display:flex;flex-wrap:wrap;gap:1.4rem;border-bottom:1px solid var(--rule);padding:0 0 1rem;margin-bottom:2rem}.lesson-jump a{font-size:14px;padding:.5rem 0;color:var(--accent)}
.course-reading .lesson-section{margin:0 0 var(--lesson-section-space)}.course-reading .lesson-section>h2{font-size:21px;margin:0 0 1.2rem;padding-top:.3rem;line-height:1.5}.course-reading .lesson-section>h2 a{display:none}.course-reading .reader-body p{line-height:1.85;font-size:var(--article-size,16px)}
.lesson-step{margin:1.6rem 0 2rem;padding-bottom:1.6rem;border-bottom:1px solid var(--rule)}.lesson-step:last-child{border-bottom:0;padding-bottom:0}.lesson-step h3{display:flex;align-items:baseline;gap:.8rem;font-size:18px;line-height:1.6;margin:0 0 .8rem}.lesson-step-number{color:var(--accent);font-size:14px;font-variant-numeric:tabular-nums}.lesson-step p{white-space:pre-wrap;margin:.7rem 0}.lesson-materials{padding-left:1.3rem;line-height:1.85}.lesson-materials li{margin:.6rem 0}.course-reading .reader-body figure{max-width:30rem;margin:1.5rem auto}.course-reading .reader-body figure img{max-height:none}.course-reading .lesson-section details{border-bottom:1px solid var(--rule);padding:1rem 0}.course-reading .lesson-section summary{cursor:pointer;line-height:1.7;font-weight:600}.course-reading .prompt-box{margin:1rem 0;border-radius:8px}.course-reading .prompt-box pre{font-size:14px;line-height:1.8}.course-reading .reader-end{display:none}
@media(max-width:900px){.course-reading .reader-layout{grid-template-columns:13rem minmax(0,1fr);gap:2rem}}
@media(max-width:650px){.course-reading .reader-layout{display:block;padding-top:1.3rem}.course-reading .reader-categories{position:static;max-height:none;border-bottom:1px solid var(--rule);padding-bottom:.5rem;margin-bottom:1.5rem}.course-reading .reader-categories>nav{max-height:50dvh;overflow:auto}.course-reading .reader-categories>summary{margin:0;padding:.7rem 0}.course-reading .reader-title{font-size:26px}.course-reading .lesson-section>h2{font-size:20px}.lesson-step h3{font-size:17px}.lesson-jump{gap:1.1rem}.course-reading .lesson-section{margin-bottom:2.25rem}}
.course-reading.reader-focus .reader-layout{grid-template-columns:minmax(0,var(--lesson-content))}

.course-reading .reader-section-link{display:none}.course-reading .lesson-example-note{font-size:14px;color:var(--muted);margin:1rem 0}.course-reading .lesson-example-note summary{font-weight:400}

.lesson-module{border-bottom:1px solid var(--rule,#34433c);margin-bottom:.2rem}.lesson-module>summary{cursor:pointer;list-style:none;color:var(--muted);padding:.8rem .6rem;font-size:13px;font-weight:600}.lesson-module>summary::-webkit-details-marker{display:none}.lesson-module>summary::after{content:"+";float:right}.lesson-module[open]>summary::after{content:"−"}.lesson-module[open]>summary{color:var(--ink)}
