.booklet{max-width:780px;margin:0 auto;color:var(--ink)}.booklet-cover{padding:10px 0 32px;border-bottom:1px solid var(--line)}.booklet-cover h1{font-size:clamp(39px,5vw,62px);line-height:1.13;margin:17px 0 20px}.booklet-deck{font:22px/1.55 Georgia,serif;color:var(--muted);max-width:690px}.booklet-byline{font-size:13px;color:var(--muted);margin:24px 0}.booklet-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;font:13px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.print-booklet{border:1px solid var(--line);border-radius:5px;background:var(--soft);padding:9px 14px;color:var(--ink)}.booklet .reading-hint{font:12px/1.65 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--muted);margin:18px 0 0}.booklet-contents{background:var(--soft);border:1px solid var(--line);border-radius:6px;padding:24px 28px;margin:30px 0 50px}.booklet-contents h2{font-size:24px;margin:0 0 16px}.booklet-contents ol{list-style:none;padding:0;columns:2;column-gap:30px;margin:0}.booklet-contents li{break-inside:avoid;margin:0 0 10px;font-size:13px;line-height:1.55}.booklet section{scroll-margin-top:24px;margin:0 0 48px}.booklet section+section{padding-top:12px;border-top:1px solid var(--line)}.booklet section h2{font-size:31px;line-height:1.3;margin:28px 0 22px}.booklet section h3{font:600 19px/1.45 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;margin:28px 0 12px}.booklet section>p,.booklet .review-answer p,.booklet .reading-pause p{font:18px/1.85 Georgia,'Times New Roman',serif;margin:0 0 22px}.booklet a{text-decoration:underline;text-underline-offset:3px}.booklet .source-link{font:12px/1.4 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;white-space:nowrap}.reading-figure{margin:28px auto 32px;width:100%;max-width:430px;break-inside:avoid}.reading-figure>a{display:block;width:fit-content;margin:auto}.reading-figure img{display:block;width:auto;height:auto;max-width:100%;max-height:310px;object-fit:contain;background:white;border-radius:3px}.reading-figure.portrait{max-width:280px}.reading-figure.portrait img{max-height:280px}.reading-figure.document{max-width:400px}.reading-figure.document img{max-height:380px}.reading-figure.diagram{max-width:440px}.reading-figure.diagram img{max-height:390px}.reading-figure figcaption{font:12px/1.65 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--muted);margin:12px auto 0;text-align:center;max-width:430px}.figure-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}.figure-pair .reading-figure{margin:20px 0}.reading-pause{border-left:3px solid var(--blue);background:var(--soft);padding:18px 24px;margin:26px 0}.booklet .reading-pause h3{margin:0 0 10px}.booklet .reading-pause p{font-size:17px;margin:0}.review-answer{padding:0 0 5px}.booklet-sources li{font:13px/1.75 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;margin:12px 0;overflow-wrap:anywhere}.booklet-sources ol{padding-left:22px}@media(max-width:760px){.booklet-cover{padding-top:0}.booklet-deck{font-size:20px}.booklet-contents{padding:20px}.booklet-contents ol{columns:1}.booklet section h2{font-size:27px}.booklet section>p,.booklet .review-answer p{font-size:17px;line-height:1.8}.booklet section{scroll-margin-top:76px}.reading-figure{max-width:100%}.figure-pair{grid-template-columns:1fr}.figure-pair .reading-figure{max-width:300px;margin:15px auto}}@page{size:A4;margin:18mm 20mm}@media print{html,body{background:white!important;color:#111!important;font-size:11pt}.sidebar,.topbar,.mobile-bar,.skip-link,dialog,footer,.booklet-actions,.reading-hint{display:none!important}.workspace{margin:0}main{padding:0;max-width:none;min-height:0}.booklet{max-width:none;color:#111}.booklet-cover{padding:0 0 18pt}.booklet-cover h1{font-size:34pt;color:#111}.booklet-cover h1 em{color:#234f85}.booklet-deck{font-size:15pt;color:#444}.booklet-byline{color:#444}.booklet-contents{margin:18pt 0;padding:14pt;background:white;border:1px solid #bbb}.booklet-contents ol{columns:2}.booklet-contents li{font-size:9pt}.booklet section{margin:0 0 20pt;padding-top:0!important}.booklet section h2{font-size:19pt;break-after:avoid;margin:18pt 0 12pt}.booklet section h3{font-size:12pt;break-after:avoid}.booklet section>p,.booklet .review-answer p,.booklet .reading-pause p{font-size:11pt;line-height:1.6;orphans:3;widows:3;margin-bottom:11pt}.reading-figure{margin:14pt auto;max-width:95mm}.reading-figure img{max-height:65mm!important;max-width:95mm}.reading-figure figcaption{font-size:8pt;color:#444}.booklet a{color:#234f85}.reading-pause{background:white;border-color:#777}.booklet .source-link{font-size:8pt}.booklet-sources li{font-size:9pt}.booklet-contents,.review-answer,.reading-pause{break-inside:avoid}}

.booklet-card-link{display:inline-block;margin-left:20px}
@media print{.booklet-sources>p:last-child{display:none}}


/* CSE513 additions for code, comparison tables, worked answers and required video. */
.booklet .reading-intro{font:18px/1.85 Georgia,serif;margin:22px 0}.booklet .source-note{font:12px/1.7 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--muted)}
.booklet pre{max-width:100%;overflow:auto;background:var(--soft);border:1px solid var(--line);padding:20px;border-radius:5px;font:14px/1.7 Menlo,Consolas,monospace}.booklet code{font-family:Menlo,Consolas,monospace;font-size:.88em}.booklet pre code{font-size:inherit}
.reading-table{overflow-x:auto;margin:26px 0}.reading-table table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.65}.reading-table caption{text-align:left;margin-bottom:12px;font-weight:600}.reading-table th,.reading-table td{border:1px solid var(--line);padding:12px;text-align:left;min-width:90px}.reading-table th{background:var(--soft)}
.booklet .review-answer{border:1px solid var(--line);border-radius:5px;padding:18px 20px;margin:20px 0}.booklet summary{font-size:16px;font-weight:600;cursor:pointer}.booklet .review-answer p{margin:16px 0 0}.booklet section>ul{font:17px/1.8 Georgia,serif;padding-left:24px}.booklet li{margin-bottom:10px}
.video-player{aspect-ratio:16/9;width:100%;margin:24px 0}.video-player iframe{width:100%;height:100%;border:0}.video-load{width:100%;height:100%;background:var(--blue-dark);color:white;border:0;border-radius:5px;cursor:pointer;font:600 21px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;padding:20px}.video-load span{font-size:16px;font-weight:400}.video-load[hidden]{display:none}
@media print{.video-player{display:none}.reading-table{overflow:visible}.booklet pre{white-space:pre-wrap;overflow-wrap:anywhere}.booklet .reading-intro{font-size:11pt}.booklet .review-answer{break-inside:auto}}

/* Full slide figures preserve the instructor's current diagrams and corrections. */
.booklet .slide-figure{max-width:760px}.booklet .slide-figure img{width:100%;max-height:none}.booklet .slide-figure figcaption{max-width:680px}.lecture-downloads{line-height:1.8}.week h2{font-size:24px}.booklet{overflow-wrap:break-word}
@media print{.booklet .slide-figure{max-width:150mm}.booklet .slide-figure img{max-width:150mm;max-height:none!important}}

.lecture-card-body{padding:20px}.lecture-card-body p:first-child{margin-top:0}.lecture-card-body .availability{display:block;margin-bottom:14px}

/* Reserve full slide geometry before lazy images arrive, keeping contents links stable. */
.booklet .slide-figure>a{width:100%}

/* Numbered illustrations extracted from slide content, without presentation chrome. */
.booklet .extracted-figure{max-width:700px}
.booklet .extracted-figure>a{width:100%}
.booklet .extracted-figure img{width:100%;height:auto;max-height:none;border-radius:0}
.booklet .extracted-figure figcaption{max-width:680px;text-align:left}
.booklet .figure-source{display:block;margin-top:5px;font-size:11px}
@media print{.booklet .extracted-figure{max-width:150mm}.booklet .extracted-figure img{max-width:150mm;max-height:100mm!important}.booklet .figure-source{font-size:8pt}}
