.lesson-hero{max-width:var(--container-wide);margin:0 auto;padding:40px 32px 56px}.crumbs{font-family:var(--mono);color:var(--ink-3);letter-spacing:.06em;align-items:center;gap:6px;margin-bottom:24px;font-size:11px;display:flex}.crumbs a{color:var(--ink-3)}.crumbs a:hover{color:var(--ink)}.crumbs .sep{color:var(--ink-mute)}.crumbs .current{color:var(--ink)}.lesson-head{border-bottom:1px solid var(--ink);grid-template-columns:1fr 280px;align-items:end;gap:56px;padding-bottom:40px;display:grid}.lesson-head h1{letter-spacing:-.02em;font-size:clamp(40px,4.8vw,72px);line-height:.98}.lesson-head h1 em{color:var(--accent-deep);font-style:italic}.lesson-head .meta{font-family:var(--mono);color:var(--ink-3);letter-spacing:.08em;margin-bottom:18px;font-size:11px}.lesson-head .meta .stage{color:var(--accent-deep)}.lesson-head .right{font-family:var(--mono);color:var(--ink-3);font-size:11px}.lesson-head .right .row{border-bottom:1px solid var(--rule-soft);justify-content:space-between;padding:8px 0;display:flex}.lesson-head .right .row:last-child{border-bottom:none}.lesson-head .right .row .v{color:var(--ink)}.lesson-head .right .row .v em{color:var(--accent-deep);font-style:italic}.article{max-width:var(--container-wide);grid-template-columns:240px 1fr 240px;align-items:start;gap:64px;margin:56px auto 0;padding:0 32px;display:grid}.toc-side{font-family:var(--sans);align-self:start;font-size:12.5px;position:sticky;top:100px}.toc-side h5{font-family:var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--rule-soft);margin-bottom:16px;padding-bottom:10px;font-size:10.5px;font-weight:600}.toc-side ul{margin:0;padding:0;list-style:none}.toc-side li{border-left:1px solid var(--rule-soft);color:var(--ink-3);cursor:pointer;transition:all .2s var(--ease);padding:6px 0 6px 12px}.toc-side li:hover{color:var(--ink);border-color:var(--ink-3)}.toc-side li.active{color:var(--ink);border-color:var(--accent);border-left-width:2px;padding-left:11px;font-weight:500}.toc-side .progress{border:1px solid var(--rule-soft);background:var(--paper-2);margin-top:18px;padding:14px 12px}.toc-side .progress .lbl{font-family:var(--mono);letter-spacing:.08em;color:var(--ink-3);margin-bottom:8px;font-size:10px}.toc-side .progress .bar{background:var(--rule);height:2px;position:relative}.toc-side .progress .bar:after{content:"";background:var(--accent);width:32%;position:absolute;top:0;bottom:0;left:0}.toc-side .progress .pct{font-family:var(--serif);color:var(--ink);margin-top:8px;font-size:18px}.prose{max-width:640px;font-family:var(--serif);color:var(--ink);letter-spacing:-.003em;font-size:19px;line-height:1.6}.prose .dropcap:first-letter{font-family:var(--serif);float:left;color:var(--accent-deep);padding:6px 12px 0 0;font-size:84px;font-weight:500;line-height:.85}.prose p{margin:0 0 24px}.prose .lede{font-family:var(--serif);color:var(--ink-2);letter-spacing:-.005em;margin-bottom:32px;font-size:22px;font-weight:300;line-height:1.45}.prose h2{font-family:var(--serif);letter-spacing:-.015em;margin:56px 0 20px;font-size:30px;font-weight:500;line-height:1.1}.prose h2 em{color:var(--accent-deep);font-style:italic}.prose h2 .sn{font-family:var(--mono);color:var(--ink-3);letter-spacing:.08em;vertical-align:6px;margin-right:12px;font-size:12px;font-weight:500}.prose h3{font-family:var(--serif);letter-spacing:-.01em;margin:40px 0 14px;font-size:22px;font-weight:500}.prose em{font-style:italic}.prose strong{font-weight:600}.prose blockquote{border-left:2px solid var(--accent);color:var(--ink-2);margin:32px 0;padding:0 0 0 24px;font-size:20px;font-style:italic;line-height:1.5}.prose blockquote cite{font-style:normal;font-family:var(--sans);color:var(--ink-3);letter-spacing:.02em;margin-top:10px;font-size:13px;display:block}.prose .pull{font-family:var(--serif);color:var(--ink);letter-spacing:-.015em;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin:32px 0;padding:24px 0;font-size:26px;font-weight:400;line-height:1.3}.prose .pull em{color:var(--accent-deep)}.prose ul,.prose ol{margin:0 0 24px;padding-left:24px}.prose ul li,.prose ol li{margin-bottom:10px}.prose ul li::marker{color:var(--accent)}.prose a.link{color:var(--ink);border-bottom:1px solid var(--accent)}.prose code,.prose .term{font-family:var(--mono);background:var(--paper-2);color:var(--ink);border-radius:2px;padding:1px 6px;font-size:.88em}.fig{max-width:100%;margin:32px 0 40px}.fig .fig-frame{background:var(--paper);border:1px solid var(--rule-soft);aspect-ratio:16/9;position:relative}.fig .fig-cap{font-family:var(--sans);color:var(--ink-3);border-top:1px solid var(--rule-soft);justify-content:space-between;align-items:baseline;gap:24px;margin-top:12px;padding:10px 0 0;font-size:13px;display:flex}.fig .fig-cap .fnum{font-family:var(--mono);letter-spacing:.08em;color:var(--ink-2);flex-shrink:0;font-size:10.5px}.fig .fig-cap .desc{font-family:var(--serif);font-style:italic}.margin-notes{font-family:var(--sans);align-self:start;position:sticky;top:100px}.marginalia{font-family:var(--serif);color:var(--ink-3);border-top:1px solid var(--rule-soft);margin-bottom:12px;padding:14px 0;font-size:13.5px;font-style:italic;line-height:1.5}.marginalia .ref{font-family:var(--mono);letter-spacing:.08em;color:var(--accent-deep);margin-bottom:6px;font-size:10px;font-style:normal;display:block}.ref-mark{font-family:var(--mono);color:var(--accent-deep);vertical-align:super;margin-left:1px;font-size:.75em;font-style:normal}.check{background:var(--paper-2);border-left:3px solid var(--accent);margin:32px 0 40px;padding:28px 32px}.check .label{font-family:var(--mono);letter-spacing:.12em;color:var(--accent-deep);margin-bottom:12px;font-size:10.5px}.check h4{font-family:var(--serif);letter-spacing:-.01em;margin-bottom:14px;font-size:22px;font-weight:500;line-height:1.2}.check .q{font-family:var(--sans);color:var(--ink-2);margin-bottom:16px;font-size:14.5px}.check .opts{gap:8px;display:grid}.check .opt{background:var(--paper);border:1px solid var(--rule-soft);cursor:pointer;font-family:var(--sans);color:var(--ink-2);transition:all .2s var(--ease);align-items:flex-start;gap:12px;padding:12px 14px;font-size:14px;line-height:1.45;display:flex}.check .opt:hover{border-color:var(--ink-3)}.check .opt .marker{border:1px solid var(--ink-3);width:18px;height:18px;font-family:var(--mono);color:var(--ink-3);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-size:10px;display:flex}.check .opt.right{border-color:var(--up);background:var(--up-soft);color:var(--ink)}.check .opt.right .marker{border-color:var(--up);background:var(--up);color:var(--paper)}.check .opt.right .marker:before{content:"✓";font-size:11px}.check .opt.wrong{border-color:var(--down);background:var(--down-soft);color:var(--ink)}.check .opt.wrong .marker{border-color:var(--down);background:var(--down);color:var(--paper)}.check .opt.wrong .marker:before{content:"×";font-size:13px}.check .feedback{font-family:var(--serif);color:var(--ink-2);border-top:1px solid var(--rule-soft);margin-top:14px;padding-top:12px;font-size:15px;font-style:italic;display:none}.check .feedback.show{display:block}.next-lesson{max-width:var(--container-wide);margin:80px auto 0;padding:0 32px}.next-card{border-top:1px solid var(--ink);border-bottom:1px solid var(--rule);grid-template-columns:1fr 2fr 1fr;align-items:center;gap:32px;padding:28px 32px;display:grid}.next-card .left{font-family:var(--mono);color:var(--ink-3);letter-spacing:.08em;font-size:11px}.next-card .left .lbl{margin-bottom:6px;display:block}.next-card .left .num{font-family:var(--serif);color:var(--ink);letter-spacing:-.005em;font-size:20px}.next-card .mid h3{font-family:var(--serif);letter-spacing:-.01em;font-size:28px;font-weight:500}.next-card .mid h3 em{color:var(--accent-deep);font-style:italic}.next-card .mid p{color:var(--ink-3);margin-top:6px;font-size:14px}.next-card .right{text-align:right}.next-card .right .dur{font-family:var(--mono);color:var(--ink-3);letter-spacing:.08em;margin-bottom:12px;font-size:11px}.lesson-foot{max-width:var(--container-wide);font-family:var(--mono);color:var(--ink-3);letter-spacing:.06em;justify-content:space-between;margin:24px auto 0;padding:0 32px;font-size:11px;display:flex}@media (max-width:1100px){.article{grid-template-columns:1fr}.toc-side,.margin-notes{position:static}.margin-notes{display:none}}@media (max-width:700px){.lesson-head,.next-card{grid-template-columns:1fr}}
