/* The reading surface stays quiet while the surrounding brand carries the motion. */
.course-price{font-size:clamp(1.65rem,4vw,2.4rem);font-weight:600;line-height:1.25;color:var(--ink)}
.course-price small{display:block;font-size:.83rem;font-weight:400;line-height:1.7;color:var(--muted);margin-top:8px}
.course-access-panel{padding:clamp(24px,4vw,44px);border:1px solid var(--line);border-radius:24px;background:var(--surface);margin-block:24px}
.course-access-panel .text-link{display:flex;margin-top:20px}.course-access-panel h2{font-size:clamp(1.6rem,3vw,2.4rem)}
.course-access-note{font-size:.88rem;max-width:58ch;margin-top:16px}.course-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.course-actions form{margin:0}.course-actions .button{white-space:normal;text-align:center}
.curriculum>div{gap:18px}.curriculum>div>span{min-width:0}.curriculum>div>a,.curriculum>div>small{flex-shrink:0}
.curriculum summary>span{font-size:.75rem}.curriculum>div svg{width:18px;flex-shrink:0}
.curriculum-quizzes{font-size:.87rem;padding:12px 0 20px;color:var(--muted)}
.lesson-layout{display:grid;grid-template-columns:minmax(230px,300px) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}
.lesson-sidebar{position:sticky;top:110px;max-height:calc(100dvh - 140px);overflow:auto;scrollbar-width:thin;padding:20px;background:var(--surface);border-radius:20px;border:1px solid var(--line)}
.lesson-navigation summary{font-weight:600;padding:14px 0;cursor:pointer;list-style:revert}.lesson-navigation h3{font-size:.8rem;margin:28px 0 10px;color:var(--muted);line-height:1.6}
.lesson-sidebar a:not(.breadcrumb){display:flex;gap:10px;align-items:center;justify-content:space-between;font-size:.82rem;line-height:1.55;padding:12px;border-radius:10px;min-height:48px;text-decoration:none}
.lesson-navigation a>span{flex:1;min-width:0;white-space:normal;overflow-wrap:anywhere;font-size:inherit}
.lesson-sidebar a small{display:block;font-size:.73rem;margin-top:3px;color:var(--muted)}
.lesson-sidebar a svg{flex:0 0 16px;width:16px;height:16px}.lesson-sidebar a.active{color:#fff;background:#1268f3}.lesson-sidebar a.active small{color:#fff}
.lesson-content{min-width:0;max-width:850px}.lesson-content h1{font-size:clamp(2rem,4.4vw,3.65rem);line-height:1.15;letter-spacing:-.045em;margin:20px 0}
.lesson-toolbar{display:flex;gap:20px;flex-wrap:wrap;align-items:center;justify-content:space-between;font-size:.8rem}.lesson-module{font-size:.9rem;color:var(--muted);margin-bottom:24px}
.learning-cover{aspect-ratio:16/7;overflow:hidden;border-radius:20px;margin:28px 0}.learning-cover img{width:100%;height:100%;object-fit:cover}
.lesson-notes{font-size:clamp(1rem,1.2vw,1.08rem);line-height:1.9;color:var(--ink)}.lesson-notes p{max-width:72ch;margin:0 0 22px}
.lesson-notes h2{font-size:clamp(1.45rem,2.5vw,2rem);margin:44px 0 18px;line-height:1.35;letter-spacing:-.025em}.lesson-notes h3{font-size:1.2rem;margin:28px 0 12px}
.lesson-notes ul,.lesson-notes ol{padding-left:24px;margin:18px 0 28px}.lesson-notes li{padding-left:4px;margin-bottom:10px}.lesson-notes strong{font-weight:600}
.lesson-notes code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.89em;padding:2px 5px;border-radius:5px;background:rgba(18,104,243,.08);overflow-wrap:anywhere}
.lesson-notes pre{max-width:100%;overflow:auto;background:#071c3b;color:#e8f0fd;border:1px solid #254463;padding:24px;border-radius:16px;margin:24px 0;line-height:1.7;tab-size:2}
.lesson-notes pre code{background:none;padding:0;color:inherit;overflow-wrap:normal}.lesson-notes a{text-decoration:underline;text-underline-offset:3px}
.lesson-diagram{margin:36px 0;padding:clamp(20px,3vw,32px);background:linear-gradient(140deg,#071c3b,#0e3258);border-radius:22px;color:#f0f6ff}
.lesson-diagram figcaption{font-weight:600;font-size:1.1rem;margin-bottom:22px}.lesson-diagram ol{padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:16px;margin:0}
.lesson-diagram li{position:relative;padding:16px 0 0;border-top:2px solid #3b80dd;margin:0}.lesson-diagram li:last-child{border-color:#ef843c}.diagram-index{font-family:ui-monospace,monospace;display:block;font-size:.75rem;color:#95bcec;margin-bottom:12px}
.lesson-diagram strong{display:block;font-size:.9rem}.lesson-diagram p{font-size:.8rem;line-height:1.75;color:#c5d6ee;margin:9px 0 0}
.reading-policy{font-size:.78rem;color:var(--muted);border-top:1px solid var(--line);padding-top:24px;margin-top:36px}.print-reading-policy{display:none}
.locked-course{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;min-height:65vh}.locked-art{border-radius:28px;overflow:hidden;aspect-ratio:4/3}.locked-art img{width:100%;height:100%;object-fit:cover}.locked-course h1{font-size:clamp(2rem,4vw,3.5rem)}
.classroom-hero{max-width:1050px}.classroom-hero h1{font-size:clamp(2.2rem,5vw,4.5rem)}.course-reading-language{font-size:.78rem;color:var(--muted)}
@media(max-width:900px){.lesson-layout{grid-template-columns:1fr}.lesson-sidebar{position:static;max-height:330px}.locked-course{grid-template-columns:1fr;gap:12px}.locked-art{max-height:320px}.curriculum>div{flex-wrap:wrap}.curriculum>div>a,.curriculum>div>small{margin-left:auto}}
@media(max-width:480px){.lesson-diagram ol{grid-template-columns:1fr}.lesson-diagram li{padding-top:12px}.lesson-notes pre{padding:16px}.course-actions{align-items:stretch}.course-actions>*{width:100%}.lesson-navigation summary{font-size:1rem}.lesson-layout{gap:28px}.curriculum summary{align-items:start;gap:12px}.curriculum summary>span{min-width:55px;text-align:right}}
@media print{.lesson-notes,.lesson-sidebar,.lesson-video,.learning-cover,.lesson-content form,.reading-policy,.lesson-content .course-access-panel{display:none!important}.print-reading-policy{display:block}.lesson-layout{display:block}}

.course-access-note{color:var(--muted)}
.lesson-content{--ink:#071c3b;--muted:#53657a;--line:#dce5f0;--surface:#f7f9fc;--surface-alt:#eaf1fb;--link:#1268f3;--focus:#1268f3;color:var(--ink);background:#fff;padding:clamp(22px,3.4vw,48px);border-radius:24px}
.lesson-content .button.secondary,.lesson-content .button.ghost{color:var(--ink)}
.lesson-content .notice{background:#e8f4ef;color:#195c48;border-color:#a4cfbf}
@media(max-width:480px){.lesson-content{padding:22px 18px}.lesson-content h1{font-size:1.9rem}.course-access-note{font-size:.85rem}}
