.lecture-number{font-size:13px;font-weight:700}
.path-switch{display:flex;gap:6px;margin:0 0 16px}.path-switch a{flex:1;display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 7px;text-align:center;border:1px solid #dce3f0;border-radius:6px;font-size:.8rem;font-weight:600;text-decoration:none;background:#fff}.path-switch a[aria-current=page]{background:#224de3;color:#fff;border-color:#224de3}
.lecture-reader{max-width:1080px}.lecture-overview{padding:22px 26px;background:#f8faff;border:1px solid #dfe6f3;border-radius:10px;margin:25px 0}.lecture-meta{display:flex;flex-wrap:wrap;gap:8px 18px;color:#617089;font-size:.8rem;margin-bottom:15px}.lecture-overview p{margin:0;line-height:1.85}.lecture-prereqs{margin-top:15px;font-size:.875rem;line-height:1.8}.lecture-overview .lecture-correction{font-size:.85rem;color:#536481;margin-top:10px}.lecture-toolbar{top:84px;margin:26px 0 0}.lecture-toolbar>details>summary{cursor:pointer;color:#34548e;font-size:.875rem}.lecture-section{padding:42px 0 46px;border-bottom:1px solid #dde4ef;scroll-margin-top:150px;min-width:0}.lecture-step{font-size:.68rem;font-weight:700;letter-spacing:1.6px;color:#4468b1;margin-bottom:10px}.lecture-section>h2{font-size:1.65rem;letter-spacing:-.5px;margin-bottom:24px}.lecture-passage{border-left:3px solid #7e9ce6;background:#f7f9ff;padding:20px 24px;margin:0 0 28px}.passage-heading{display:flex;gap:12px;align-items:baseline;justify-content:space-between;flex-wrap:wrap}.passage-heading .text-button{font-size:.8rem;padding:0}.lecture-passage blockquote{margin:9px 0 12px}.lecture-passage blockquote p{font:1.15rem/1.9 Georgia,serif;margin:0 0 10px}.lecture-passage cite{font-size:.75rem;color:#61708a;font-style:normal}.lecture-passage>p,.lecture-passage .passage-summary{font-size:.95rem;line-height:1.9}.lecture-passage a{font-size:.8rem}.lecture-source{padding:22px 24px;border:1px solid #dce3ef;border-radius:8px;margin:0 0 28px;min-width:0}.source-heading{display:flex;gap:12px;align-items:baseline;justify-content:space-between;flex-wrap:wrap}.source-heading h3{margin-bottom:10px}.source-heading a,.slide-page-link{font-size:.8rem}.source-notes{color:#3b4b65;margin-top:10px}.source-notes p{font:1.05rem/1.9 Georgia,serif;margin:0 0 12px;overflow-wrap:anywhere}.original-code summary{font-size:.82rem;color:#3e5c8d;cursor:pointer;line-height:1.8}.original-code pre{max-height:500px;font-size:.8rem}.lecture-explanation{margin:25px 0 30px;max-width:820px}.lecture-explanation h3{font-size:1.25rem}.lecture-explanation p,.lecture-explanation li{font-size:1.03rem;line-height:1.95}.lecture-key{padding:16px 20px;background:#f2f7f4;border-left:3px solid #83ae97;color:#345448;font-size:.95rem;line-height:1.8;margin:20px 0}.code-lab{margin:30px 0;padding:24px;border:1px solid #d5dfef;border-radius:10px;background:#fbfcff;min-width:0}.code-lab-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.code-lab-heading h3{margin:0}.code-language{font-size:.7rem;color:#6b7b94;border:1px solid #dce4ee;border-radius:5px;padding:5px 8px;white-space:nowrap}.code-origin{font-size:.8rem;line-height:1.7;color:#697991;margin:13px 0}.code-editor{display:block;width:100%;font:14px/1.8 'SFMono-Regular',Consolas,'Liberation Mono',monospace;tab-size:4;padding:18px;border:1px solid #2f4465;border-radius:8px;background:#17263d;color:#f2f6ff;resize:vertical;white-space:pre;overflow:auto;min-height:140px;max-height:600px}.code-editor:focus-visible{outline:3px solid #758ff7;outline-offset:4px}.code-actions{display:flex;gap:10px 20px;align-items:center;flex-wrap:wrap;margin-top:16px}.code-actions button{min-height:44px;font-size:.875rem}.code-status{font-size:.75rem;color:#64748d;margin:13px 0 0;line-height:1.7}.code-output{margin:14px 0;background:#eef5f0;color:#244c38;border:1px solid #d0e4d7;font-size:.875rem;max-height:340px}.code-output code{white-space:pre-wrap;overflow-wrap:anywhere}.code-output[data-status=error],.code-output[data-status=timeout]{background:#fff5ee;color:#8a4932;border-color:#eed9c8}.expected-output{margin:18px 0}.expected-output summary,.code-walkthrough summary{cursor:pointer;font-size:.85rem;color:#456392;line-height:1.8}.expected-output pre{font-size:.875rem;background:#f0f3f8;color:#44516a}.code-experiment{border-top:1px solid #dfe5ef;padding-top:18px;margin-top:20px}.code-experiment>strong{font-size:.9rem}.code-experiment p{font-size:.95rem;line-height:1.85;margin:8px 0 16px}.code-walkthrough li{font-size:.95rem;line-height:1.9;margin-bottom:9px}.lecture-check{padding:26px;border:1px solid #d8e2f2;border-radius:10px;background:#fff;margin:28px 0 0;max-width:820px}.lecture-check h3{margin:0}.lecture-question{font-size:1.06rem;line-height:1.9;margin:18px 0 12px}.lecture-check fieldset{min-width:0}.lecture-finish{margin:40px 0;padding:28px;background:#f5f8fe;border-radius:10px}.lecture-pager{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}.lecture-pager a{text-decoration:none;font-size:.875rem;display:inline-block}.lecture-attribution{border-top:1px solid #e0e6ef;padding:20px 0;margin-bottom:30px}.lecture-attribution summary{cursor:pointer;font-size:.85rem;color:#50698f}.lecture-attribution p{font-size:.8rem;line-height:1.85;margin:14px 0}.lecture-reader [hidden]{display:none!important}
@media(min-width:1400px){.lecture-section{max-width:920px}}
@media(max-width:1050px){}
@media(max-width:720px){.lecture-toolbar{top:0}.lecture-overview,.lecture-source,.lecture-passage,.code-lab,.lecture-check,.lecture-finish{padding:18px}.lecture-section{scroll-margin-top:80px;padding:32px 0}.lecture-section>h2{font-size:1.4rem}.code-editor{font-size:13px;padding:14px}.lecture-meta{font-size:.75rem}.lecture-passage blockquote p{font-size:1.05rem}.code-actions{gap:8px 16px}.code-actions .primary{flex:1 1 135px}.lecture-explanation p,.lecture-explanation li{font-size:1rem}.lecture-pager a{flex:1;text-align:center}.lecture-prereqs{font-size:.8rem}.source-notes p{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.lecture-reader *{scroll-behavior:auto}}

.lecture-slide{margin:16px 0}.lecture-slide img{display:block;width:100%;height:auto;border:1px solid #e0e5ee}.lecture-slide figcaption{font-size:.75rem;color:#687a91;margin-top:9px;line-height:1.7}

.passage-player{aspect-ratio:16/9;margin-top:18px;border-radius:8px;overflow:hidden;background:#17263d}.passage-player iframe{width:100%;height:100%;border:0}

.code-lab [hidden]{display:none!important}.code-lab-heading + .code-editor{margin-top:14px}.code-status{font-size:.875rem}
