:root{--ink:#102d3d;--teal:#14776f;--paper:#f5f2e9;--orange:#c34b21;--muted:#45606c}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:18px/1.45 Arial,sans-serif}a{color:#0c665e}button,select{font:inherit}button{border:1px solid #8fa9ac;background:white;color:var(--ink);padding:9px 14px;border-radius:6px;cursor:pointer}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:3px}header,main,footer{max-width:1320px;margin:auto;padding:14px 28px}.eyebrow{font-size:13px;letter-spacing:.1em;text-transform:uppercase;font-weight:700}header h1{font-size:23px;margin:5px 0}.scope{font-size:15px;margin:3px 0}nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 0}#jump{max-width:100%;width:320px;padding:9px}#count{margin-left:auto;font-size:15px}.slide{background:white;min-height:590px;padding:34px 40px;border-bottom:6px solid var(--teal);position:relative}.slide[hidden]{display:none}.slide h2{font-size:clamp(29px,3.1vw,45px);line-height:1.13;max-width:1000px;margin:12px 0 25px;letter-spacing:-.025em}.teaching{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:34px;align-items:center}.teaching.single{grid-template-columns:1fr}.teaching>*{min-width:0}.statements p{font-size:clamp(21px,2vw,29px);margin:0 0 17px;padding-left:18px;border-left:4px solid #bdd6d0}.media{margin:0}.media img{width:100%;max-height:390px;object-fit:contain;display:block}.media figcaption{font-size:12px;margin-top:7px;color:var(--muted)}.hero{background:#102d3d;color:white;min-height:610px;overflow:hidden}.hero .hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#102d3df5 0%,#102d3dd9 35%,#102d3d30 80%)}.hero .hero-copy{position:relative;z-index:1;max-width:580px}.hero h2{font-size:clamp(32px,4vw,53px);max-width:560px}.hero .statements p{font-size:25px}.hero .credit{position:relative;z-index:1;font-size:12px;margin-top:30px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:21px}th,td{text-align:left;padding:12px 13px;border-bottom:1px solid #c4d8d3;overflow-wrap:anywhere}th{background:#deeee9}pre{white-space:pre-wrap;overflow-wrap:anywhere;padding:25px;background:#122e3d;color:#e1f4ed;font:23px/1.6 monospace}.diagram{padding:20px;background:#eef5f2}.sequence{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap}.sequence div{flex:1;min-width:100px;border-top:4px solid var(--teal);padding:12px 5px;font-size:22px}.sequence div:not(:last-child):after{content:' →';color:var(--orange);font-weight:700}.diagram small{display:block;font-size:15px;margin-top:13px}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:20px}.comparison strong{display:block;font-size:36px;color:#0c665e}.comparison p{font-size:21px;margin:6px 0}.chartrow{display:grid;grid-template-columns:85px 1fr;gap:10px;margin:14px 0}.bar{min-height:30px;background:var(--teal);color:white;padding:3px 8px;margin-bottom:4px;font-size:18px}.bar.alt{background:#a44121}.chartkey{font-size:15px}.response,.checkpoint{border-top:2px solid #ccd9d4;margin:20px 0 0;padding-top:14px}.response label{display:block;font-weight:700;max-width:1100px;font-size:18px}textarea{width:100%;min-height:90px;font:18px/1.45 Arial;padding:12px;border:1px solid #719190;border-radius:4px;margin-top:9px}.purpose{font-size:14px;color:var(--muted)}.checkpoint h3{font-size:23px;margin:7px 0}.options{display:grid;gap:8px}.options button{text-align:left}.options button[aria-pressed=true]{background:#deeee9;border:2px solid var(--teal)}.feedback{padding:12px 16px;background:#eff5f2;border-left:4px solid var(--teal);margin-top:10px}.feedback:empty{display:none}details.transcript{border-top:1px solid #ccd9d4;margin-top:16px;padding:14px 0;font-size:17px}summary{cursor:pointer;font-weight:700}.source{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.utilities{padding:14px 0;font-size:15px}.utilities button{font-size:15px;margin:4px}.utilities #draft-status{border-left:4px solid var(--teal);padding:8px 12px;background:white}.bottom{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px;font-size:16px}.bottom a{padding:6px 0}.print-scope{display:none}.textview .slide{margin-bottom:30px}.textview .slide[hidden]{display:block}.projected .response,.projected .checkpoint,.projected details.transcript{display:none}.projected .slide{min-height:620px}.projected .hero{min-height:620px}.projected .source{font-size:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:760px){header,main,footer{padding:12px 14px}.slide{padding:24px 20px;min-height:0}.teaching,.comparison{grid-template-columns:1fr}.hero{min-height:620px}.hero .hero-img{object-position:62% center}.hero:after{background:#102d3dbd}.hero h2{font-size:36px}.hero .statements p{font-size:23px}table{font-size:17px}th,td{padding:8px}pre{font-size:18px;padding:16px}.teaching{gap:18px}#count{margin-left:0}#jump{width:100%}.sequence{display:block}.sequence div:not(:last-child):after{content:' ↓'}.projected .slide{min-height:0}.projected .hero{min-height:620px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}@media print{@page{size:13.333in 7.5in;margin:.2in}body{background:white;font-size:15pt}header,nav,footer,.utilities,.response,.checkpoint,.bottom{display:none!important}main{padding:0;max-width:none}.slide,.slide[hidden]{display:block!important;break-after:page;height:7.08in;min-height:0;margin:0;padding:24px 30px;overflow:hidden}.slide h2{font-size:30pt;margin:12px 0 25px}.statements p{font-size:21pt}.hero{height:7.08in;min-height:0}.hero h2{font-size:36pt}.hero .statements p{font-size:21pt}details.transcript{display:none}.media img{max-height:340px}.teaching{gap:25px}.source{position:absolute;bottom:15px;left:30px;right:30px;font-size:8pt}.hero .credit{font-size:9pt}.print-scope{display:block;font-size:10pt;color:var(--muted)}table{font-size:16pt}pre{font-size:17pt}.sequence div{font-size:17pt}.chartrow{margin:9px 0}.bar{font-size:13pt;min-height:26px}.projected .slide,.projected .hero{min-height:0}}

@media print{#slide-30 .media img{max-height:200px}#slide-30 .diagram{padding:12px}#slide-30 .diagram small{font-size:11pt}}

.sequence div{overflow-wrap:anywhere}.sequence[data-count="4"]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:760px){.sequence[data-count="4"]{grid-template-columns:1fr}}@media print{.sequence[data-count="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}}

.sequence.concepts div:after{content:none!important}

/* Keep whole words readable in comparison tables. */
th,td{overflow-wrap:normal;word-break:normal}

/* Visual teaching edition: explanatory structures carry the lesson. */
.small-code{font-size:20px;padding:15px;margin:0}.media-cue{border-left:5px solid #14776f;padding:12px 22px;margin-top:20px;background:white}.media-cue h3{font-size:23px;margin:5px 0}
.visual-slide{padding:30px 40px;min-height:640px}.slide h2{font-size:40px;line-height:1.1;max-width:1180px;margin:12px 0 26px}.exhibit{margin:10px 0 20px}.exhibit-main{max-width:1120px}.exhibit.with-photo{display:grid;grid-template-columns:1.25fr .8fr;align-items:center;gap:25px}.takeaway{font-size:20px;margin:18px 0 0;color:#45606c;max-width:1150px}.exhibit-caption{font-size:18px;line-height:1.35;color:#45606c;margin:18px 0 0}.label{text-transform:uppercase;letter-spacing:.09em;font-size:14px;font-weight:700;color:#14776f;margin:0 0 12px}.contrast{display:grid;grid-template-columns:1fr 1fr;gap:35px}.contrast section{border-top:5px solid #14776f;padding:23px 0 15px}.contrast section:nth-child(2){border-top-color:#c34b21}.contrast .example{font-size:32px;line-height:1.22;max-width:490px;margin:0}.contrast strong{font-size:58px}.contrast small{font-size:20px}.route{display:grid;grid-template-columns:repeat(3,1fr);gap:27px;list-style:none;margin:0;padding:0}.route li{border-top:4px solid #14776f;position:relative;padding:20px 12px 15px 0}.route span{font-size:40px;color:#14776f;font-weight:700}.route p{font-size:29px;line-height:1.24;margin:10px 0}.route li:not(:last-child):after{content:'→';position:absolute;right:-21px;top:35px;font-size:30px;color:#c34b21}.ledger{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.ledger>div{border-left:5px solid #14776f;padding-left:22px}.ledger span{display:block;font-size:16px;text-transform:uppercase;letter-spacing:.07em;color:#45606c}.ledger strong{display:block;font-size:32px;line-height:1.2;margin:15px 0}.ledger small{display:block;font-size:20px}.source-spread{display:grid;grid-template-columns:.7fr 1.5fr;gap:40px}.source-spread aside{background:#102d3d;color:white;padding:25px 28px}.source-spread aside strong{font-size:48px}.source-spread aside p{font-size:25px}.source-spread aside small{font-size:14px}.source-spread section p:not(.label){font-size:27px;margin:8px 0 25px;line-height:1.25}.limitation{color:#a44121}.blackbox{display:grid;grid-template-columns:1fr 1.15fr 1fr;align-items:center;gap:30px}.blackbox strong{font-size:33px}.unknown{background:#102d3d;color:white;text-align:center;padding:26px}.unknown strong{font-size:80px}.unknown p{font-size:21px}.branch{display:grid;grid-template-columns:1fr 1fr;gap:16px 30px}.branch-input{font-size:36px;align-self:center}.branch-test{font-size:36px;font-weight:700;background:#102d3d;color:white;padding:23px}.branch-outputs{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:30px}.branch-outputs>div{border-top:5px solid #14776f;padding:18px 0}.branch-outputs>div:nth-child(2){border-top-color:#c34b21}.branch-outputs b{font-size:28px}.branch-outputs p{font-size:22px;margin:8px 0}.branch-missing{grid-column:1/-1;font-size:20px;margin:0}.lifecycle{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.lifecycle>div{border-top:4px solid #14776f;padding:15px 0}.lifecycle span{font-size:42px;color:#14776f;display:block}.lifecycle strong{font-size:30px;display:block}.lifecycle p{font-size:23px}.judgement{display:grid;grid-template-columns:1fr 1.2fr;gap:25px}.judgement strong{font-size:30px}.judgement section p:not(.label){font-size:24px;margin:8px 0}.condition{grid-column:1/-1;background:#deeee9;padding:16px 24px}.retrieval{background:#102d3d;color:white;padding:30px 36px}.retrieval .label{color:#b3ded4}.retrieval .challenge{font-size:36px;line-height:1.2;margin:12px 0 30px;max-width:1050px}.retrieval-route{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #8ba6ad;padding-top:20px;font-size:20px}.retrieval .exhibit-caption{color:#c9d9dc}.ranking{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px}.ranking section{border-top:5px solid #14776f;padding-top:20px}.ranking p:not(.label){font-size:26px;margin:12px 0}.ranking strong{font-size:44px}.demo{background:#eef5f2;padding:24px 30px}.trace-list{display:flex;gap:25px}.trace-list span{font-size:44px;border-bottom:5px solid #9ab9b2;padding:7px 25px}.trace-list span.current{border-color:#c34b21;background:#fff}.trace-rule{font-size:21px}.demo-output{font-size:29px;font-weight:700;min-height:42px;margin:15px 0}.demo button{font-size:18px;margin-right:12px}.demo .exhibit-caption{font-size:17px}.observations{display:flex;gap:40px}.observations strong{font-size:58px}.missing-value{color:#a44121;border-bottom:3px dashed #a44121}.print-demo{display:none}.hero .hero-question{font-size:31px;line-height:1.25;max-width:530px;padding-left:20px;border-left:5px solid #b3ded4}.hero .hero-copy{max-width:650px}.hero h2{font-size:49px}.diagram{padding:25px 30px}.sequence{gap:28px}.sequence div{font-size:27px;padding:17px 8px;min-width:0}.sequence[data-count="4"]{gap:20px 35px}.diagram small{font-size:18px}.tablewrap table{font-size:25px}.tablewrap th,.tablewrap td{padding:14px 20px}.chartkey{font-size:18px}.chartrow{grid-template-columns:100px 1fr;margin:20px 0;font-size:27px}.bar{font-size:22px;min-height:38px;padding:5px 15px}.comparison strong{font-size:65px}.comparison p{font-size:29px}.comparison small{font-size:20px}
@media(max-width:760px){.slide h2{font-size:30px}.visual-slide{padding:22px 20px;min-height:0}.exhibit.with-photo,.contrast,.source-spread,.blackbox,.judgement,.ranking,.ledger,.route,.lifecycle,.branch,.branch-outputs{display:grid;grid-template-columns:1fr;gap:18px}.route li:not(:last-child):after{content:'↓';right:10px;top:auto;bottom:-16px}.contrast .example{font-size:26px}.route p,.ledger strong{font-size:27px}.branch-test,.branch-input{font-size:28px}.trace-list{gap:10px}.trace-list span{padding:6px 10px;font-size:30px}.retrieval{padding:22px}.retrieval .challenge{font-size:29px}.retrieval-route{display:block;font-size:18px}.retrieval-route span{display:block;margin:8px 0}.source-spread section p:not(.label){font-size:24px}.source-spread aside strong{font-size:38px}.ranking p:not(.label){font-size:22px}.demo{padding:18px}.demo-output{font-size:24px}.demo button{margin:6px 0}.sequence div{font-size:24px}.tablewrap table{font-size:18px}.tablewrap th,.tablewrap td{padding:9px}.chartrow{grid-template-columns:65px 1fr;font-size:20px}.bar{font-size:18px;min-height:30px}.hero h2{font-size:36px}.hero .hero-question{font-size:26px}.exhibit-caption,.takeaway{font-size:18px}}
@media print{.slide,.visual-slide{height:7.08in;min-height:0;padding:24px 30px}.slide h2{font-size:29pt;margin:12px 0 23px}.exhibit{margin:8px 0 15px}.takeaway{font-size:13pt;margin:14px 0 0}.exhibit-caption{font-size:13pt;margin-top:15px}.label{font-size:10pt}.contrast .example{font-size:23pt}.contrast section{padding:15px 0}.route p{font-size:21pt}.route span{font-size:29pt}.route li{padding:14px 10px 8px 0}.ledger strong{font-size:23pt;margin:12px 0}.ledger small{font-size:14pt}.ledger span{font-size:11pt}.source-spread aside strong{font-size:34pt}.source-spread aside p{font-size:18pt}.source-spread aside small{font-size:10pt}.source-spread section p:not(.label){font-size:20pt;margin-bottom:20px}.blackbox strong{font-size:23pt}.unknown strong{font-size:55pt}.unknown p{font-size:16pt}.branch-test,.branch-input{font-size:26pt}.branch-test{padding:18px}.branch-outputs b{font-size:21pt}.branch-outputs p{font-size:16pt}.branch-missing{font-size:14pt}.lifecycle span{font-size:30pt}.lifecycle strong{font-size:21pt}.lifecycle p{font-size:16pt}.judgement strong{font-size:21pt}.judgement section p:not(.label){font-size:17pt}.retrieval .challenge{font-size:26pt;margin:12px 0 22px}.retrieval-route{font-size:14pt}.ranking p:not(.label){font-size:19pt}.ranking strong{font-size:31pt}.diagram{padding:18px 22px}.sequence div{font-size:20pt;padding:12px 4px}.diagram small{font-size:13pt}.tablewrap table{font-size:19pt}.tablewrap td,.tablewrap th{padding:11px 16px}.chartrow{margin:14px 0;font-size:20pt}.chartkey{font-size:12pt}.bar{font-size:16pt;min-height:30px}.hero h2{font-size:35pt}.hero .hero-question{font-size:22pt}.demo{padding:18px 24px}.demo button,.demo-output{display:none}.print-demo{display:block;font-size:19pt;font-weight:700}.trace-list span{font-size:29pt;padding:6px 18px}.trace-rule{font-size:14pt}.demo .exhibit-caption{font-size:12pt}.demo .contrast strong{font-size:39pt}.demo .contrast p{font-size:18pt;margin:8px 0}.demo .contrast small{font-size:14pt}.demo .contrast section{padding:15px 0 8px}.comparison strong{font-size:46pt}.comparison p{font-size:21pt}.comparison small{font-size:14pt}.source{font-size:8pt}.exhibit.with-photo{grid-template-columns:1.3fr .7fr}#slide-30 .media img{max-height:230px}}

/* Projection: essential exhibit copy remains large in the complete slide PDF. */
@media print{.contrast .example{font-size:26pt}.route p{font-size:24pt}.ledger strong{font-size:25pt}.source-spread section p:not(.label){font-size:23pt}.sequence div{font-size:24pt}.tablewrap table{font-size:24pt}.tablewrap td,.tablewrap th{padding:10px 14px}.ranking p:not(.label){font-size:23pt}.small-code{font-size:17pt}.lifecycle strong{font-size:24pt}.blackbox strong{font-size:26pt}}

@media(min-width:701px){.route:has(li:nth-child(4)){grid-template-columns:repeat(4,1fr)}.route:has(li:nth-child(5)){grid-template-columns:repeat(5,1fr)}}
@media print{.route:has(li:nth-child(4)){grid-template-columns:repeat(4,1fr)}.route:has(li:nth-child(5)){grid-template-columns:repeat(5,1fr)}}

.chart-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.chart-pair svg{width:100%;font:22px Arial;fill:#102d3d}@media(max-width:700px){.chart-pair{grid-template-columns:1fr}}
