/* Foundations lecture: the NTF course shell with original teaching diagrams. */
*{box-sizing:border-box}html,body{margin:0;height:100%;background:#f7f5ef;color:#272722}body.pocus-course{overflow:hidden;font:17px/1.65 'NTF Sans',Inter,Arial,sans-serif}.deck{position:fixed;inset:150px 0 92px}.slide{position:absolute;inset:0;overflow:auto;visibility:hidden;opacity:0}.slide.active{visibility:visible;opacity:1}.inner{max-width:1240px;margin:auto;padding:32px 56px 48px}.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:42px;align-items:start}.two>*{min-width:0}h1,h2,h3{font-family:'NTF Serif',Georgia,serif;font-weight:400;text-wrap:balance}h1{font-size:clamp(44px,5vw,68px);line-height:1.1}h2{font-size:34px;line-height:1.2;margin:0 0 18px}h3{font-size:27px;line-height:1.25;margin:22px 0 10px}p{margin:0 0 18px;max-width:68ch}ul,ol{padding-left:24px}li{margin-bottom:9px}a{color:#633d3c;text-underline-offset:4px}button,input,select{font:inherit}button,select,summary{min-height:44px}button{cursor:pointer}.kicker,.cap,.course-eyebrow{font:12px/1.5 'NTF Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#55534d}.lede{font-size:19px;line-height:1.6;color:#55534d}.callout{border-left:3px solid #633d3c;background:#eee9df;padding:18px 22px;margin:22px 0}.callout.warning{border-left-color:#a36a1c}.callout p:last-child{margin-bottom:0}.rule{border-top:1px solid #d7d2c8;margin:24px 0}.card{border-block:1px solid #d7d2c8;padding:20px 0}.card+.card{margin-top:18px}.card h3{margin-top:0}.card p:last-child{margin-bottom:0}.eq{font:17px/1.7 'NTF Mono',monospace;padding:17px;background:#eeece5;overflow-wrap:anywhere}.mini,.figcaption,.refline{font:15px/1.6 'NTF Sans',sans-serif;color:#55534d}.refline{margin-top:26px}.lab{border-block:1px solid #d7d2c8;padding:18px 0;margin:20px 0}.lab-head{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-bottom:14px}.lab-head .cap{margin:0}.lab-head button,.lab button,.quiz button,.case button{border:1px solid #827b6d;background:#f7f5ef;color:#272722;padding:9px 14px;min-height:44px;border-radius:0}.lab button[aria-pressed=true],.quiz button[aria-pressed=true]{background:#633d3c;color:#fffaf0;border-color:#633d3c}.lab-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.lab figure{margin:0;min-width:0}.lab figcaption{font:15px/1.55 'NTF Sans',sans-serif;margin:10px 0 0;color:#55534d}.sim-canvas{display:block;width:100%;height:auto;background:#eeece5;border:1px solid #d7d2c8}.sim-canvas.us{background:#090d11}.ctrls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;margin:18px 0}.ctrls label{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px 10px;font-size:15px}.ctrls label input{grid-column:1/-1;width:100%;max-width:none;min-height:44px;accent-color:#633d3c}.ctrls output{font-family:'NTF Mono',monospace;color:#633d3c}.ctrls .wide{grid-column:1/-1}.seg{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.status{background:#eee9df;border-left:2px solid #633d3c;padding:14px 18px;line-height:1.6;min-height:64px}.status p{margin:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;margin:16px 0}th,td{text-align:left;vertical-align:top;padding:13px 16px 13px 0;border-bottom:1px solid #d7d2c8;font-size:16px;line-height:1.6}th{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#55534d}details{border-block:1px solid #d7d2c8;margin:20px 0;padding:0 0 16px}summary{padding:13px 0;cursor:pointer;font-weight:500}details p:last-child{margin-bottom:0}.case{max-width:900px}.case .question{font-size:22px;font-family:'NTF Serif',serif;margin-top:22px}.quiz{display:grid;grid-template-columns:1fr 1fr;gap:24px}.quiz fieldset{border:0;border-top:1px solid #d7d2c8;margin:0;padding:20px 0}.quiz legend{font:24px/1.3 'NTF Serif',serif;padding:0}.quiz .opts{display:grid;gap:8px}.quiz button{text-align:left}.quiz .answer{margin-top:14px;font-size:16px}.quiz .answer:empty{display:none}.quiz button.correct{box-shadow:inset 4px 0 #456c3a}.quiz button.incorrect{box-shadow:inset 4px 0 #aa413b}.reading-list{padding-left:25px}.reading-list li{padding-bottom:14px;border-bottom:1px solid #d7d2c8}.agenda{list-style:none;padding:0}.agenda li{display:flex;gap:20px;justify-content:space-between;border-bottom:1px solid #d7d2c8;padding:10px 0}.agenda span:last-child{white-space:nowrap}.bar{position:fixed;left:0;right:0;bottom:36px;height:56px;background:#f7f5ef;border-top:1px solid #d7d2c8;z-index:45}.bar .prog{position:absolute;top:-1px;left:0;height:2px;background:#633d3c}.bar button{border:0;background:none;color:#272722}.bar button:disabled{opacity:.4;cursor:default}#overview{display:none;position:fixed;inset:92px 0;z-index:65;overflow:auto;background:#f7f5ef;padding:26px 56px}#overview.show{display:block}#ovGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:1128px;margin:auto}#ovGrid button{text-align:left;min-height:92px;background:none;border:0;border-bottom:1px solid #d7d2c8;padding:14px}#ovGrid .on{font:12px 'NTF Mono',monospace;color:#633d3c}#ovGrid .ot{display:block;font:22px/1.3 'NTF Serif',serif;margin-top:8px}#ovGrid .cur{border-left:2px solid #633d3c}button:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #633d3c;outline-offset:4px}.course-credit{font-size:15px;margin-top:26px;color:#55534d}
@media(max-width:900px){.two{grid-template-columns:1fr;gap:24px}.inner{padding:28px 24px 40px}.quiz{grid-template-columns:1fr}.lab-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.lab-grid{grid-template-columns:1fr}.ctrls{grid-template-columns:1fr}.inner{padding:24px 22px 32px}.lab-head{align-items:flex-start}.lab-head .cap{max-width:22ch}.lab-head button{flex-shrink:0}.status{padding:14px}.course-credit{font-size:14px}#ovGrid{grid-template-columns:1fr 1fr}#overview{padding:22px}.eq{font-size:15px}th,td{font-size:15px;min-width:130px}.agenda li{font-size:15px}.course-hero figure{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

body.pocus-course .lab .ctrls input[type=range]{width:100%;max-width:none}body.pocus-course .lab .ctrls label{display:grid;grid-template-columns:1fr auto}body.pocus-course .lab .ctrls label input{grid-column:1/-1}

@media(max-width:700px){.agenda span:last-child{white-space:normal;text-align:right;min-width:0}}
