.lesson-page{padding-top:28px;padding-bottom:64px}.lesson-heading{max-width:860px;margin-bottom:36px}.lesson-heading h1{font-size:clamp(32px,4vw,50px);line-height:1.15;letter-spacing:-.035em;margin:12px 0 20px}.lesson-heading>p{max-width:68ch;color:var(--muted)}.lesson-layout{display:grid;grid-template-columns:245px minmax(0,760px);gap:48px;align-items:start}.lesson-sidebar{position:sticky;top:22px;max-height:calc(100vh - 44px);overflow:auto;padding-right:16px}.lesson-sidebar h2{font-size:17px;margin-top:0}.lesson-sidebar ol{list-style:none;padding:0;display:grid;gap:12px}.lesson-sidebar a{font-size:14px;line-height:1.5;display:block;padding:3px 0}.lesson-progress{margin-top:25px;padding-top:18px;border-top:1px solid var(--border);font-size:13px}.lesson-progress #lesson-progress{font-weight:650;color:var(--ink)}.lesson-progress button,.lesson-copy{font:inherit;min-height:44px;border:1px solid var(--border);border-radius:6px;background:white;color:var(--primary);padding:9px 13px;cursor:pointer}.lesson-article{min-width:0;overflow-wrap:anywhere}.lesson-article h2{font-size:27px;line-height:1.3;margin:42px 0 18px;scroll-margin-top:25px}.lesson-article h3{font-size:20px;line-height:1.4;margin:28px 0 12px}.lesson-article p,.lesson-article li{max-width:76ch}.lesson-article li{margin-bottom:9px}.lesson-environment{display:grid;grid-template-columns:150px minmax(0,1fr);gap:8px 18px;background:#edf2fa;padding:20px;border-left:3px solid var(--primary);font-size:14px}.lesson-environment dt{font-weight:650}.lesson-environment dd{margin:0;min-width:0}.lesson-warning{background:#fff6df;border:1px solid #e3c679;padding:20px;border-radius:8px;margin-bottom:22px}.lesson-warning h2{font-size:21px;margin-top:0}.lesson-warning p:last-child{margin-bottom:0}.lesson-code{margin:18px 0 24px;min-width:0}.lesson-code pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#15243c;color:#f0f5ff;border-radius:8px;padding:20px;font-size:14px;line-height:1.65;margin:0 0 8px;tab-size:2}.lesson-code code{background:none;color:inherit;padding:0}.lesson-copy[hidden],#lesson-reset[hidden]{display:none}.lesson-checklist{display:grid;gap:10px;margin:20px 0}.lesson-checklist label{display:flex;align-items:flex-start;gap:12px;padding:15px;border:1px solid var(--border);border-radius:7px;background:white;cursor:pointer}.lesson-checklist input{width:22px;height:22px;flex:none;margin-top:2px;accent-color:var(--primary)}.lesson-checklist label:has(input:checked){border-color:var(--support);background:#edf7f3}.lesson-article details{border-bottom:1px solid var(--border);padding:15px 0}.lesson-article summary{font-weight:650;cursor:pointer;min-height:32px}.lesson-article .state-panel{margin-top:40px}.lesson-article .state-panel h2{margin-top:0}.lesson-related{border-top:1px solid var(--border);margin-top:35px}.lesson-code pre:focus-visible,.lesson-checklist input:focus-visible{outline:3px solid #1d69c9;outline-offset:4px}
@media(max-width:900px){.lesson-layout{grid-template-columns:200px minmax(0,1fr);gap:25px}}
@media(max-width:700px){.lesson-page{padding-top:20px}.lesson-layout{grid-template-columns:minmax(0,1fr);gap:24px}.lesson-sidebar{position:static;max-height:none;padding:18px;background:#edf2fa;border-radius:8px}.lesson-sidebar ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}.lesson-progress{margin-top:18px}.lesson-heading{margin-bottom:24px}.lesson-article h2{font-size:24px;margin-top:32px}.lesson-environment{grid-template-columns:minmax(0,1fr);gap:4px;padding:16px}.lesson-environment dd{margin-bottom:10px}.lesson-code pre{padding:16px;font-size:13px}.lesson-warning{padding:16px}}
