/* Shared with Lecture 2A: tables, code, links. */
.reveal .l1b .source-media img{max-height:680px;width:100%;object-fit:contain}
.reveal .l1b table{font-size:35px;width:100%;margin:24px 0;border-collapse:collapse}
.reveal .l1b table th,.reveal .l1b table td{padding:18px 25px;border-bottom:1px solid #d8e0e7;vertical-align:top}
.reveal .l1b table th{text-align:left;color:#087bb9}
.reveal .l1b pre{font-size:29px;box-shadow:none;width:100%;padding:22px;background:#f5f8fa;box-sizing:border-box;margin-left:0;margin-right:0}
.reveal .l1b a{color:#087bb9}
.reveal .l1b table{table-layout:fixed;max-width:100%}
.reveal .l1b td,.reveal .l1b th{white-space:normal!important;overflow-wrap:break-word}
.reveal .l1b-two>*{min-width:0}
.reveal .l1b .l1b-subhead{color:#087bb9;font-size:38px;margin-top:10px}

/* Diagrams: editable SVGs drawn by scripts/make_figures.py. */
.reveal .l1b .diagram img{max-height:640px;width:100%}
.reveal .timeline p{margin:0 0 22px;font-size:36px;line-height:1.25}
.reveal .timeline strong{color:#087bb9}

/* Input → output example on the first content slide. */
.reveal .io-example{text-align:center;font-size:30px}
.reveal .io-example img{height:300px;border-radius:8px}
.reveal .io-example .io-arrow{color:#617484;font-size:30px;margin:10px 0}
.reveal .io-example table{font-size:31px;width:80%;margin:0 auto}
.reveal .io-example table td,.reveal .io-example table th{padding:8px 18px}

#mnist-scores table{font-size:29px;margin:4px 0 16px}
#mnist-scores table td,#mnist-scores table th{padding:10px 18px}
#mnist-scores table td:first-child{width:28%}
#mnist-scores table td:last-child{width:14%}
#mnist-scores .slide-body>p{font-size:33px}
#why-not-dense .l1b-copy,#convolution .l1b-copy,#channels .l1b-copy,#pooling .l1b-copy,#cnn-anatomy .l1b-copy,#alexnet-ingredients .l1b-copy,#deeper .l1b-copy,#notebook .l1b-copy{font-size:34px}

/* Kernel as a template. */
#kernel-template .slide-body{justify-content:center;gap:18px}
.reveal .kernel-copy{font-size:36px}
.reveal .kernel-copy p{margin:.2em 0}
.reveal .kernel-figure img{width:100%;display:block}
.reveal .kernel-caption{font-size:27px;color:#536878}

.reveal .l1b .diagram img{max-height:620px;width:100%}

#params table{font-size:31px}
#params .slide-body>p{font-size:32px}

/* Max-pooling toy example. */
.reveal .pool-demo{display:flex;align-items:center;gap:30px;margin:22px 0}
.reveal .l1b table.pool-grid{width:auto;margin:0;border-collapse:separate;border-spacing:4px;font-size:34px;table-layout:auto}
.reveal .l1b table.pool-grid td{width:62px;height:62px;padding:0!important;text-align:center;vertical-align:middle;border:0;font-weight:600}
.reveal .pool-grid .p1{background:#ffe4a3}.reveal .pool-grid .p2{background:#d9e5ef}.reveal .pool-grid .p3{background:#e3f2e4}.reveal .pool-grid .p4{background:#f7dcda}
.reveal .pool-arrow{font-size:52px;color:#617484}

#cnn-anatomy table{font-size:30px;margin:8px 0 16px}
#cnn-anatomy table td,#cnn-anatomy table th{padding:8px 18px}
#cnn-anatomy .l1b-subhead{font-size:34px}

#imagenet .l1b-two{grid-template-columns:.85fr 1.15fr;gap:50px}
#imagenet .l1b-copy{font-size:32px}

/* AlexNet architecture. */
#alexnet .slide-body{justify-content:center;gap:24px}
.reveal .alexnet-figure img{width:100%;display:block}
.reveal .alexnet-legend{font-size:30px;text-align:center}
.reveal .alexnet-legend p:first-child{font-weight:700;font-size:34px;margin-bottom:8px}
.reveal .alexnet-legend p:last-child{color:#536878;font-size:26px}

.reveal .square-figure img{max-height:720px}
.reveal .maps-figure img{max-height:760px}
.reveal img.inline-input{height:260px;border-radius:8px;display:block;margin-bottom:16px}
#conv1-kernels .l1b-two,#conv1-maps .l1b-two{grid-template-columns:1.05fr .95fr}

/* Layer 2 on a square. */
#conv2 .slide-body{justify-content:center;gap:12px;font-size:32px}
.reveal .conv2-grid{display:grid;grid-template-columns:.8fr 1.9fr .8fr;gap:36px;align-items:center}
.reveal .conv2-grid img{width:100%;max-height:560px;object-fit:contain}
.reveal .conv2-grid p{font-size:25px;color:#536878;margin:6px 0 0}

#conv5-faces .slide-body,#feature-vis .slide-body,#embedding .slide-body{justify-content:center;gap:16px}
.reveal .face-figure img{width:100%;max-height:640px;object-fit:contain;display:block;margin:0 auto}
.reveal .face-caption{font-size:30px;text-align:center}
.reveal .vis-figure img{width:100%;display:block}
.reveal .vis-labels{display:grid;grid-template-columns:repeat(6,1fr);text-align:center;font-size:24px;color:#536878;line-height:1.2}
#feature-vis .slide-body>p{font-size:32px}
.reveal .embedding-figure img{width:100%;max-height:640px;object-fit:contain;display:block;margin:0 auto}
#embedding .slide-body>p{font-size:31px}

#predictions table{font-size:30px;margin:0 0 12px}
#predictions table td,#predictions table th{padding:6px 16px;vertical-align:middle}
.reveal img.thumb{height:92px;width:92px;object-fit:cover;border-radius:6px;display:block}
#predictions .l1b-copy{font-size:30px}
#predictions .source-media img{max-height:520px}
#predictions .source-media p{font-size:28px}

#scale table{font-size:28px}
#scale table td,#scale table th{padding:12px 16px}
#scale table td:first-child{width:14%;color:#087bb9;font-weight:600}
#scale .slide-body>p{font-size:32px}
.reveal .vis-labels p{display:grid;grid-template-columns:repeat(6,1fr);margin:0}
.reveal .vis-labels span{padding:0 6px}
#notebook .l1b-two{grid-template-columns:.8fr 1.2fr;gap:50px}
#notebook pre{font-size:23px!important}
#predictions .l1b-two{grid-template-columns:.75fr 1.25fr;gap:40px}
#predictions .source-media img{max-height:600px}
.reveal .vis-labels{display:block}
#params table{width:100%!important}
#params table col:nth-child(1){width:50%!important}
#params table col:nth-child(2){width:17%!important}
#params table col:nth-child(3){width:33%!important}

/* In-browser MNIST widgets: widgets/mnist.html and widgets/mnist-shift.html. */
#widget-mnist-live .widget{height:820px;flex:none;border:1px solid #d8e0e7}
#widget-mnist-shift .mnist-shift{grid-template-columns:.8fr 1.2fr;gap:40px;height:810px;align-items:stretch;flex:none}
#widget-mnist-shift .widget{height:100%;min-height:0;border:1px solid #d8e0e7}
#widget-mnist-shift .l1b-copy{font-size:30px;align-self:center}
#widget-mnist-shift table{font-size:28px}
#widget-mnist-shift table td,#widget-mnist-shift table th{padding:8px 14px}
