[data-chapter=teaching] .stage{background:0 0;height:auto;min-height:580px;padding:20px 0 25px 24px;overflow:visible}[data-chapter=teaching] .stage-head{display:none}.teaching-lab{--tl-gold:#e5be7e;--tl-muted:#a99e8c;--tl-line:#dac69f26;--tl-sans:var(--sans,Calibre, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);--tl-serif:var(--serif,Georgia, serif);--tl-mono:var(--mono,"SFMono-Regular", Consolas, monospace);color:#eee8db;width:100%;min-width:0;min-height:535px;font:14px/1.35 var(--tl-sans);flex-direction:column;gap:14px;display:flex;position:relative;container:teaching-workbench/inline-size}.teaching-lab *,.teaching-lab :before,.teaching-lab :after{box-sizing:border-box}.teaching-lab.tl-continuous{isolation:isolate;background:linear-gradient(105deg,#c6ba9510,#b5c8b006),repeating-linear-gradient(0deg,#0000 0 27px,#c8b98e07 27px 28px);border:1px solid #d5bd9629;border-radius:8px;gap:0;height:100%;min-height:0;overflow:hidden}.tl-continuous .tl-flow-svg{width:100%;height:100%;display:block;position:absolute;inset:0;overflow:hidden}.tl-continuous .tl-flow-heading{z-index:1;font:11px/1.4 var(--tl-sans);letter-spacing:.025em;color:#d5bd96;justify-content:space-between;gap:10px;display:flex;position:absolute;inset:13px 20px auto}.tl-flow-course{flex:1;height:17px;position:relative}.tl-flow-course>span{white-space:nowrap;position:absolute}.tl-flow-goal{color:#9db5aa;white-space:nowrap}.tl-flow-task{z-index:1;height:20px;font:13px/1.3 var(--tl-sans);color:#ede1c8;position:absolute;inset:37px 20px auto}.tl-flow-task-label{font:9px var(--tl-mono);color:#b0a58e;margin-right:8px}.tl-flow-task>span:nth-child(2){opacity:calc(1 - var(--tl-extension,0) * .6);position:relative}.tl-flow-task>span:nth-child(2):before,.tl-flow-task>span:nth-child(2):after{content:"";transform:scaleX(var(--tl-plan,0));transform-origin:0;border-top:1px solid #e7a185;position:absolute;inset:auto 0 -2px}.tl-flow-task>span:nth-child(2):after{transform:scaleX(var(--tl-extension,0));bottom:45%}.tl-flow-task strong{opacity:var(--tl-extension,0);color:#bbd4c5;font-weight:400}.tl-continuous .tl-flow-readout{font:12px/1.25 var(--tl-sans);flex-direction:column;gap:3px;display:flex;position:absolute;inset:auto 20px 10px}.tl-flow-operation{color:#ead5ae}.tl-flow-detail{color:#aeb3a7;font-size:11px}.tl-flow-svg text{text-anchor:middle;font:var(--tl-flow-label,13px) var(--tl-mono);fill:#eee0c5}.tl-flow-svg path{fill:none;stroke-linecap:round}.tl-flow-edge{stroke:#ad9a764d;stroke-width:1.5px}.tl-flow-active{stroke:#e5be7e;stroke-width:3px;stroke-dasharray:1}.tl-flow-update{stroke:#b5d3c4;stroke-width:3px}.tl-flow-attempt{stroke:#e7a185;stroke-width:3px;stroke-dasharray:.045 .035}.tl-flow-weight rect{fill:#242923;stroke:#bdad8838}.tl-flow-weight.is-bridge rect{fill:#403725;stroke:#d8b47b}.tl-flow-vertex{stroke:#d8bb85;stroke-width:1.5px}.tl-flow-minimum{fill:none;stroke:#b5d3c4;stroke-width:2px;stroke-dasharray:3 3}.tl-flow-svg .tl-flow-distance{fill:#b5d3c4;paint-order:stroke;stroke:#19201d;stroke-width:4px;stroke-linejoin:round}.tl-flow-rejected{stroke:#e7a185;stroke-width:2px}.tl-flow-traveller circle:first-child{fill:#f2d19a;stroke:#20291e;stroke-width:2px}.tl-flow-traveller circle:last-child{fill:none;stroke:#e5be7e70;stroke-width:2px}.tl-flow-traveller.is-rejected circle:first-child{fill:#e7a185}.tl-flow-draft{stroke:#9cbccc;stroke-width:1.5px;stroke-dasharray:1;pointer-events:none}.tl-flow-feedback-ring,.tl-flow-return-arrow,.tl-flow-repeat-check,.tl-flow-assessed{stroke:#e7a185;stroke-width:2px;stroke-dasharray:1}.tl-flow-assessed{stroke:#bbd4c5}.tl-flow-feedback-leader{stroke:#e7a185;stroke-width:1px;stroke-dasharray:.008 .014}.tl-flow-pencil path:first-child{fill:#b97658;stroke:#f0be9e;stroke-width:1.4px}.tl-flow-pencil path:last-child{fill:#f0dbb6;stroke:#412f28;stroke-width:1.2px}.tl-flow-notes{z-index:1;font:var(--tl-note-size,13px)/1.25 var(--tl-sans);border-left:1px solid #d5bd9636;flex-direction:column;gap:11px;padding-left:16px;display:flex;position:absolute}.tl-flow-mentor{color:#e7a185;flex-wrap:wrap;align-items:baseline;gap:2px 8px;display:flex}.tl-flow-mentor strong{font:italic 19px/1.05 var(--tl-serif)}.tl-flow-mentor>span{color:#c5aa97;font-size:10px}.tl-method{color:#9aab9e;flex-wrap:wrap;gap:3px 8px;font-size:10px;display:flex}.tl-method [data-state=current]{color:#f1d6ac;text-underline-offset:3px;text-decoration:underline}.tl-method [data-state=done]{color:#bfd7c7}.tl-analysis-card{z-index:2;color:#c1d3c5;font:13px/1.3 var(--tl-sans);pointer-events:none;background:#222b23f5;border-radius:6px;flex-direction:column;justify-content:center;gap:8px;padding:8px;display:flex;position:absolute}.tl-analysis-card strong{color:#f2dbb7;font-weight:500}.tl-continuous[data-compact=true] .tl-analysis-card{font-size:11px}.tl-continuous[data-tiny=true] .tl-analysis-card{gap:1px;padding:2px;font-size:10px;line-height:1.2}.tl-flow-answer{color:#bed2df;border-bottom:1px solid #afc7d038;padding-block:0 6px;position:relative}.tl-flow-answer>span,.tl-flow-extension>span{font:8px/1.3 var(--tl-mono);color:#a9b8bd;letter-spacing:.025em;margin-bottom:5px;display:block}.tl-flow-answer-path{font:13px/1.3 var(--tl-mono);overflow-wrap:anywhere;min-height:17px;font-weight:400;display:block}.tl-flow-draft-answer{color:#acb6b9;font:10px/1.25 var(--tl-mono);margin-top:3px;display:inline-block;position:relative}.tl-flow-draft-answer:after{content:"";width:73%;transform:scaleX(var(--tl-correction,0));transform-origin:0;border-top:1px solid #e7a185;position:absolute;top:50%;left:0}.tl-flow-draft-answer>span{color:#e7a185;opacity:var(--tl-correction,0)}.tl-flow-evidence{color:#c7c4b5;align-items:start;gap:7px;display:flex}.tl-flow-evidence>svg{flex:0 0 16px;width:16px;height:16px}.tl-flow-evidence path{fill:none;stroke:#e7a185;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1}.tl-flow-evidence[data-feedback=assess] path{stroke:#bbd4c5}.tl-flow-evidence small{color:#a9aa9c;margin-top:3px;font-size:11px;display:block}.tl-flow-memory i{color:#e7a185;font-style:normal;position:relative}.tl-flow-memory i:after{content:"";transform:scaleX(var(--tl-repeat,0));transform-origin:0;border-top:1px solid;position:absolute;top:50%;left:0;right:0}.tl-flow-evidence .tl-flow-rubric{flex-wrap:wrap;gap:3px 8px;display:flex}.tl-flow-rubric>span{align-items:center;gap:3px;display:inline-flex}.tl-flow-rubric svg{border:1px solid #bbd4c54d;width:11px;height:11px}.tl-flow-rubric path{stroke-width:2px}.tl-flow-evidence.is-current>span{color:#f0d2ba}.tl-flow-extension{color:#bbd4c5;border-top:1px solid #bbd4c536;padding-top:8px}.tl-flow-extension>span{color:#abbfb0;font-size:8px}.tl-flow-extension strong{font-weight:400;display:block}.tl-flow-extension small{margin-top:4px;font-size:11px;display:block}.tl-flow-extension .tl-flow-cost-check{color:#eccda6}.tl-flow-compact-note{color:#f0d2ba;display:none}.tl-continuous[data-stacked=true] .tl-flow-notes{border-top:1px solid #d5bd9636;border-left:0;grid-template-rows:auto auto auto auto;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:7px 14px;padding:10px 0 0;display:grid}.tl-continuous[data-stacked=true] .tl-flow-mentor{grid-column:1}.tl-continuous[data-stacked=true] .tl-flow-answer{grid-area:2/1/4;align-self:start}.tl-continuous[data-stacked=true] .tl-flow-evidence{grid-column:2}.tl-continuous[data-stacked=true] .tl-flow-evidence[data-feedback=dead-end]{grid-row:1}.tl-continuous[data-stacked=true] .tl-flow-evidence[data-feedback=repeat]{grid-row:2}.tl-continuous[data-stacked=true] .tl-flow-evidence[data-feedback=assess]{grid-row:3}.tl-continuous[data-stacked=true] .tl-flow-evidence small,.tl-continuous[data-stacked=true] .tl-flow-evidence .tl-flow-rubric{display:none}.tl-continuous[data-stacked=true] .tl-flow-extension{flex-wrap:wrap;grid-column:1/-1;align-items:baseline;gap:3px 12px;padding-top:6px;display:flex}.tl-continuous[data-stacked=true] .tl-flow-extension>span{flex-basis:100%;margin:0}.tl-continuous[data-stacked=true] .tl-flow-extension small{margin:0;font-size:10px}.tl-continuous[data-condensed=true] .tl-flow-heading{top:10px}.tl-continuous[data-condensed=true] .tl-flow-task{font-size:11px;top:31px}.tl-continuous[data-condensed=true] .tl-flow-notes{gap:3px}.tl-continuous[data-condensed=true] .tl-flow-mentor strong{font-size:17px}.tl-continuous[data-condensed=true] .tl-flow-mentor>span{font-size:9px}.tl-continuous[data-condensed=true] .tl-flow-answer>span{margin-bottom:3px;font-size:7px}.tl-continuous[data-condensed=true] .tl-flow-answer-path{font-size:11px}.tl-continuous[data-condensed=true] .tl-flow-draft-answer,.tl-continuous[data-condensed=true] .tl-flow-evidence small,.tl-continuous[data-condensed=true] .tl-flow-evidence .tl-flow-rubric{display:none}.tl-continuous[data-condensed=true] .tl-flow-extension{padding-top:5px}.tl-continuous[data-condensed=true] .tl-flow-extension>span{display:none}.tl-continuous[data-condensed=true] .tl-flow-extension small{margin-top:2px;font-size:10px}.tl-continuous[data-condensed=true] .tl-flow-extension .tl-flow-analysis{display:none}.tl-continuous[data-condensed=true] .tl-flow-readout{font-size:11px;bottom:8px}.tl-continuous[data-condensed=true] .tl-flow-detail{font-size:10px}.tl-continuous[data-compact=true] .tl-flow-heading{font-size:10px;top:8px}.tl-continuous[data-compact=true] .tl-flow-task{font-size:11px;top:27px}.tl-continuous[data-compact=true] .tl-flow-notes{gap:6px;padding-left:10px}.tl-continuous[data-compact=true] .tl-flow-mentor strong{font-size:16px}.tl-continuous[data-compact=true] .tl-flow-mentor>span{font-size:9px}.tl-continuous[data-compact=true] .tl-flow-answer{padding-bottom:3px}.tl-continuous[data-compact=true] .tl-flow-answer>span{margin-bottom:2px;font-size:7px}.tl-continuous[data-compact=true] .tl-flow-answer-path{min-height:13px;font-size:10px}.tl-continuous[data-compact=true] .tl-flow-draft-answer,.tl-continuous[data-compact=true] .tl-flow-evidence,.tl-continuous[data-compact=true] .tl-flow-extension{display:none}.tl-continuous[data-compact=true] .tl-flow-compact-note{font-size:11px;display:block}.tl-continuous[data-compact=true] .tl-flow-readout{font-size:11px;bottom:7px}.tl-continuous[data-compact=true] .tl-flow-detail,.tl-continuous[data-tight=true] .tl-flow-mentor>span,.tl-continuous[data-tight=true] .tl-flow-task-label{display:none}.tl-continuous[data-tight=true] .tl-flow-task>strong{position:absolute;left:0}.tl-continuous[data-tight=true] .tl-flow-task>span:nth-child(2){opacity:calc(1 - var(--tl-extension,0))}.tl-continuous[data-tight=true] .tl-flow-compact-note{font-size:10px}.tl-continuous[data-tight=true] .tl-flow-answer>span{font:7px/1.2 var(--tl-sans)}.tl-continuous[data-tiny=true] .tl-flow-notes{gap:3px}.tl-continuous[data-tiny=true] .tl-flow-mentor>span,.tl-continuous[data-tiny=true] .tl-flow-answer>span{display:none}.tl-continuous *,.tl-continuous :before,.tl-continuous :after{transition:none!important;animation:none!important}@container teaching-workbench (width<=440px){.tl-continuous .tl-flow-heading{font-size:9px;inset-inline:10px}.tl-continuous .tl-flow-task{font-size:11px;inset-inline:10px}.tl-continuous .tl-flow-task-label{display:none}.tl-continuous .tl-flow-task>strong{position:absolute;left:0}.tl-continuous .tl-flow-task>span:nth-child(2){opacity:calc(1 - var(--tl-extension,0))}.tl-continuous .tl-flow-readout{font-size:11px;inset-inline:10px}.tl-continuous .tl-flow-detail{font-size:10px;line-height:1.2}.tl-continuous .tl-flow-goal{font-size:8px}.tl-continuous .tl-flow-answer-path{font-size:11px}.tl-continuous .tl-flow-mentor>span{font-size:9px}}.teaching-lab.tl-data-driven{background:linear-gradient(120deg,#b9d5cd0b,#b9c3db05)}.tl-data-driven[data-stacked=true] .tl-flow-answer{grid-area:2/1/auto/-1}.tl-data-driven[data-stacked=true] .tl-method{grid-area:1/2}.tl-data-driven[data-stacked=true] .tl-flow-extension{grid-row:3}.tl-data-driven[data-compact=true][data-weighted=true] .tl-flow-detail{font-size:10px;display:block}.tl-data-driven .tl-flow-draft,.tl-data-driven .tl-flow-feedback-ring,.tl-data-driven .tl-flow-return-arrow,.tl-data-driven .tl-flow-repeat-check,.tl-data-driven .tl-flow-assessed,.tl-data-driven .tl-flow-traveller,.tl-data-driven .tl-flow-evidence,.tl-data-driven .tl-flow-draft-answer,.teaching-lab [hidden]{display:none!important}.tt-templates{z-index:1;color:#cdd8cd;font:11px/1.25 var(--tl-sans);border-left:1px solid #d5bd9636;flex-direction:column;gap:6px;padding-left:13px;display:flex;position:absolute}.tt-mentor{color:#e7a185;font-size:12px}.tt-definition{color:#b6c7cc;font-size:10px}.tt-definition strong{color:#e5dcc4;font-weight:400}.tt-definition code{font:9px/1.3 var(--tl-mono);margin-top:3px;display:block}.tt-definition code span{color:#e6c897;display:inline-block}.tt-components{flex-direction:column;gap:5px;display:flex}.tt-components section{background:#9ebdb207;border-left:2px solid #95bfb752;min-width:0;padding:4px 7px;position:relative}.tt-components section.is-active{background:#dfb7880a;border-left-color:#e7bd8d}.tt-components h5{color:#ead5ae;font:12px/1.15 var(--tl-sans);margin:0;font-weight:400}.tt-components small{color:#b0baa9;margin-top:2px;font-size:9px;display:block}.tt-components code{font:10px/1.3 var(--tl-mono);margin-top:4px;display:block}.tt-components mark{color:#f0c69f;background:0 0}.tt-child-field{display:inline-block}.tt-path-argument{opacity:var(--tt-accumulator,0);color:#c7dfb9}.tt-tree{width:100%;height:30px;margin-top:5px;display:block;overflow:visible}.tt-tree path{fill:none;stroke:#acbe9c;stroke-width:1px;stroke-dasharray:1}.tt-tree text{text-anchor:middle;font:9px var(--tl-mono);fill:#bfccba}.tt-tree .is-current text{fill:#f2d59d}.tt-tree .tt-child-cross{stroke:#efaa8a;stroke-width:1.5px;stroke-dasharray:none}.tt-path{border-top:1px solid #c0cbae30;flex-wrap:wrap;align-items:baseline;gap:3px 7px;padding-top:5px;display:flex}.tt-path-label{color:#9fac9c;font-size:9px}.tt-path strong{color:#c8dfb9;font:10px/1.3 var(--tl-mono)}.tt-path i{color:#efb092;font-size:10px;font-style:normal}.tt-assessment{color:#bad7ac;flex-wrap:wrap;gap:3px 8px;font-size:9px;display:flex}.tt-links{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.tt-links path{fill:none;stroke:#e0b181;stroke-width:1px;stroke-dasharray:1;stroke-linecap:round}.tt-links .tt-composition-link{stroke:#b8d79d;opacity:.5}.tt-map-repeat{stroke:#e7a185;stroke-width:3px;stroke-dasharray:.04 .025}.tt-map-failed{fill:none;stroke:#e7a185;stroke-width:2px}.tt-cursor circle:first-child{fill:#f0ca8c;stroke:#253229;stroke-width:2px}.tt-cursor circle:last-child{fill:none;stroke:#e5be7e80;stroke-width:2px}.tt-cursor.is-repeat circle:first-child{fill:#e7a185}.tt-templates[data-compact=true]{gap:5px}.tt-templates[data-compact=true] .tt-components{gap:4px}.tt-templates[data-compact=true] .tt-components section{padding:3px 5px}.tt-templates[data-compact=true] .tt-components h5{font-size:10px}.tt-templates[data-compact=true] .tt-components small{display:none}.tt-templates[data-compact=true] .tt-components code{margin-top:3px;font-size:8px;line-height:1.2}.tt-templates[data-compact=true] .tt-tree{height:25px;margin-top:2px}.tt-templates[data-stacked=true]{border-top:1px solid #d5bd9636;border-left:0;gap:3px;padding:5px 0 0}.tt-templates[data-stacked=true] .tt-definition code{margin-left:7px;display:inline}.tt-templates[data-stacked=true] .tt-components{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.tt-templates[data-stacked=true] .tt-components section{padding-inline:4px}.tt-templates[data-stacked=true] .tt-components h5{font-size:10px}.tt-templates[data-stacked=true] .tt-components code{font-size:8px}.tt-templates[data-stacked=true] .tt-tree{height:25px}.tt-templates[data-stacked=true][data-narrow=true] .tt-definition code{display:none}.tt-templates[data-stacked=true][data-narrow=true]{gap:2px}.tt-templates[data-stacked=true][data-narrow=true] .tt-components{gap:5px}.tt-templates[data-stacked=true][data-narrow=true] .tt-components h5{font-size:9px}.tt-templates[data-stacked=true][data-narrow=true] .tt-components code{font-size:7px;line-height:1.15}.tt-templates[data-stacked=true][data-narrow=true] .tt-tree{height:20px}.tt-templates[data-mini=true]{gap:2px;padding-left:8px}.tt-templates[data-mini=true] .tt-mentor{font-size:9px}.tt-templates[data-mini=true] .tt-definition,.tt-templates[data-mini=true] .tt-components code,.tt-templates[data-mini=true] .tt-tree,.tt-templates[data-mini=true] .tt-assessment{display:none}.tt-templates[data-mini=true] .tt-components{gap:1px}.tt-templates[data-mini=true] .tt-components section{padding:1px 3px}.tt-templates[data-mini=true] .tt-components h5{font-size:8px;line-height:1.1}.tt-templates[data-mini=true] .tt-path{border:0;gap:2px;padding-top:1px}.tt-templates[data-mini=true] .tt-path-label{display:none}.tt-templates[data-mini=true] .tt-path strong,.tt-templates[data-mini=true] .tt-path i{font-size:8px}.tt-templates[data-mini=true][data-micro=false] .tt-definition,.tt-templates[data-mini=true][data-micro=false] .tt-assessment{display:block}.tl-data-driven[data-micro=true] .tl-flow-task,.tl-data-driven[data-micro=true] .tt-mentor,.tl-data-driven[data-micro=true]:not([data-weighted=true]) .tl-flow-readout{display:none}.tl-data-driven .tl-flow-weight text{font-size:11px}.tl-flow-weight-leader{stroke:#c8baa0;stroke-width:1px}.tt-templates[data-focused=true]{gap:7px}.tt-templates[data-focused=true] .tt-components{gap:6px}.tt-templates[data-focused=true] .tt-components section{padding:3px 6px}.tt-templates[data-focused=true] .tt-components h5{font-size:12px;line-height:1.2}.tt-templates[data-focused=true] .tt-components code{margin-top:4px;font-size:12px;line-height:1.25}.tt-templates[data-focused=true] .tt-components .is-current code,.tt-templates[data-focused=true] .tt-components .is-current .tt-tree,.tt-templates[data-focused=true] .tt-components code>span{display:block}.tt-templates[data-focused=true] .tt-components code .tt-path-argument{display:inline}.tt-templates[data-focused=true] .tt-components code>.tt-code-id,.tt-templates[data-focused=true] .tt-components section:not(.is-current)>:not(h5),.tt-templates[data-focused=true]:not([data-phase="0"]) .tt-definition,.tt-templates[data-focused=true][data-phase="0"] .tt-components section>:not(h5){display:none}.tt-templates[data-focused=true] .tt-definition{font-size:12px}.tt-templates[data-focused=true] .tt-definition code{font-size:11px;display:block}.tt-templates[data-focused=true] .tt-tree{height:44px;margin-top:4px}.tt-templates[data-focused=true] .tt-tree text{font-size:11px}.tt-templates[data-focused=true] .tt-path{margin-top:2px}.tt-templates[data-focused=true] .tt-path strong,.tt-templates[data-focused=true] .tt-path i,.tt-templates[data-focused=true] .tt-assessment{font-size:11px}.tt-templates[data-focused=true][data-phase="4"] [data-template=accumulator] code>span:not(:last-child){display:none}.tt-templates[data-focused=true][data-micro=true]{gap:2px;padding-left:6px}.tt-templates[data-focused=true][data-micro=true] .tt-mentor{display:none}.tt-templates[data-focused=true][data-micro=true] .tt-components{gap:1px}.tt-templates[data-focused=true][data-micro=true] .tt-components section{padding:0 3px}.tt-templates[data-focused=true][data-micro=true] .tt-components h5{font-size:11px;line-height:1.1}.tt-templates[data-focused=true][data-micro=true] .tt-components .is-current code{margin-top:2px;font-size:11px;line-height:1.15;display:block}.tt-templates[data-focused=true][data-micro=true] [data-template=tree] .tt-child-field,.tt-templates[data-focused=true][data-micro=true] [data-template=backtrack] code>span:first-child{display:none}.tt-templates[data-focused=true][data-micro=true] .is-current .tt-tree{height:32px;margin-top:2px;display:block}.tt-templates[data-focused=true][data-micro=true][data-phase="0"] .tt-components .is-current>:not(h5){display:none}.tt-templates[data-focused=true][data-micro=true] .tt-path{gap:2px 6px;margin-top:1px}.tt-templates[data-focused=true][data-micro=true] .tt-assessment{gap:1px 6px;font-size:10px;display:flex}.tt-templates[data-focused=true][data-micro=true] .tt-definition{font-size:11px;display:block}.tt-templates[data-focused=true][data-micro=true]:not([data-phase="0"]) .tt-definition{display:none}.teaching-lab button,.teaching-lab input{font-family:var(--tl-sans)}.teaching-lab button{cursor:pointer;touch-action:manipulation;color:inherit;-webkit-tap-highlight-color:transparent}.teaching-lab button:disabled{cursor:default}.teaching-lab button:focus-visible,.teaching-lab a:focus-visible,.teaching-lab input:focus-visible{outline:2px solid var(--tl-gold);outline-offset:3px}.teaching-lab h4,.teaching-lab p{margin:0}.teaching-lab code{font-family:var(--tl-mono)}.tl-topline{justify-content:space-between;align-items:center;gap:10px;display:flex}.tl-eyebrow{color:#baaa90;font:8px/1.5 var(--tl-mono);letter-spacing:.055em;text-transform:uppercase}.tl-pause{color:#a89b86;background:0 0;border:0;flex-shrink:0;padding:3px 0;font-size:10px;line-height:1.25}.tl-pause:hover,.tl-pause[aria-pressed=true]{color:var(--tl-gold)}.tl-lessons{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.tl-lessons button{text-align:left;background:#b9985910;border:1px solid #d4b47d27;border-radius:7px;min-width:0;padding:12px}.tl-lessons small{font:7px/1.5 var(--tl-mono);letter-spacing:.04em;color:#a99a83;margin-bottom:5px;display:block}.tl-lessons span{color:#c1b7a6;justify-content:space-between;gap:8px;font-size:16px;line-height:1.15;display:flex}.tl-lessons b{color:#a48d67;font-size:13px;font-weight:400}.tl-lessons button[aria-pressed=true]{background:#e5be7e12;border-color:#d9b67c88}.tl-lessons button[aria-pressed=true] span{color:#f1dbb5}.tl-lessons button[aria-pressed=true] b{color:var(--tl-gold)}.tl-lessons button:hover{border-color:#e5be7e70}.tl-intro{min-height:71px}.tl-intro h4{font:400 27px/1.12 var(--tl-serif);letter-spacing:-.035em;margin-bottom:8px}.tl-intro p{color:#afa594;max-width:650px;font-size:13px;line-height:1.4}.tl-lesson-body{flex:1;min-width:0}.tl-recipe-layout{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);align-items:start;gap:17px;display:grid}.tl-recipe-visual{min-width:0;padding:8px 0 0}.tl-art{width:100%}.tl-scale-art{width:100%;height:auto;max-height:180px;display:block}.tl-weight-controls{padding-inline:8px}.tl-weight-label{color:#a6977e;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px;font-size:11px;display:flex}.tl-weight-label output{font:34px/1 var(--tl-sans);color:#e5d1ae;letter-spacing:-.04em}.tl-weight-label output small{color:#bca584;letter-spacing:0;font-size:15px}.tl-weight-label input,.tl-bridge-control input{width:100%;min-width:0;accent-color:var(--tl-gold);cursor:pointer;flex-basis:100%;height:22px;margin:5px 0 0;display:block}.tl-range-ends{font:7px/1.5 var(--tl-mono);color:#8f806b;justify-content:space-between;margin-top:-3px;display:flex}.tl-boundary-controls{margin-top:15px}.tl-boundary-controls .tl-eyebrow{font-size:7px}.tl-boundary-controls>div{gap:4px;margin-top:6px;display:flex}.tl-boundary-controls button{color:#b8a486;background:0 0;border:1px solid #c7ac7e35;border-radius:4px;flex:1;padding:6px 2px;font-size:11px;line-height:1.2}.tl-boundary-controls button[aria-pressed=true]{color:#f0d7aa;background:#e5be7e17;border-color:#daba816e}.tl-boundary-controls button:hover{background:#e5be7e14}.tl-rule{border-top:1px dashed var(--tl-line);color:#cdb998;justify-content:space-between;gap:8px;margin:15px 8px 0;padding-top:10px;font-size:12px;display:flex}.tl-rule b{font:8px/1.4 var(--tl-mono);color:#968366;margin-top:3px;display:block}.tl-notebook{flex-direction:column;gap:12px;min-width:0;display:flex}.tl-recipe-steps{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;display:grid}.tl-recipe-steps button{text-align:center;background:0 0;border:0;min-width:0;padding:0 0 3px}.tl-recipe-steps i{width:23px;height:23px;font:9px/1 var(--tl-mono);color:#b3a28a;border:1px solid #b8a07840;border-radius:50%;place-items:center;font-style:normal;display:inline-grid}.tl-recipe-steps span{color:#978b78;margin-top:5px;font-size:9px;line-height:1.2;display:block}.tl-recipe-steps button[aria-current] i{color:#2b2417;background:#e5be7e;border-color:#e5be7e}.tl-recipe-steps button[aria-current] span,.tl-recipe-steps button:hover span{color:#e6c897}.tl-notebook-page{background:linear-gradient(110deg,#aa875114,#1b191611 68%);border:1px solid #ddc59b2b;border-radius:7px;flex-direction:column;gap:13px;min-width:0;min-height:236px;padding:15px 13px;display:flex}.tl-page-label{color:#b8a483;font:7px/1.5 var(--tl-mono);letter-spacing:.05em}.tl-code{font:11px/1.65 var(--tl-mono);color:#e8d9bb;white-space:pre-wrap;overflow-wrap:anywhere;tab-size:2;margin:0}.tl-code-line{min-width:0}.tl-code-comment{color:#b2a48e}.tl-recipe-insight{border-left:2px solid #d5b16d73;padding-left:10px}.tl-recipe-insight strong{color:#e0cda7;margin-bottom:5px;font-size:14px;font-weight:400;line-height:1.2;display:block}.tl-recipe-insight p{color:#afa08b;font-size:12px;line-height:1.4}.tl-recipe-insight p code{color:#d3ba8f;font-size:10px}.tl-contract{color:#dec89f;justify-content:space-between;align-items:center;gap:10px;padding-block:3px;display:flex}.tl-contract span{font-size:14px;line-height:1.15}.tl-contract small{font:8px/1.4 var(--tl-mono);color:#9d8c70;margin-top:5px;display:block}.tl-contract b{color:#d0ac71;font-size:19px;font-weight:400}.teaching-lab .tl-page-note{color:#a2957f;font-size:10px;line-height:1.4}.tl-template-map{color:#e4c493;align-items:center;gap:20px;margin:5px 0;display:flex}.tl-template-map span{font:22px/1.1 var(--tl-serif)}.tl-template-map small{font:10px/1.2 var(--tl-sans);color:#a19075;margin-top:6px;display:block}.tl-template-map b{font-size:24px;font-weight:400}.tl-template-map code{background:#d2ab6512;border:1px solid #d7b07845;border-radius:5px;padding:6px 13px;font-size:20px}.tl-bug-control{color:#baac96;cursor:pointer;flex-wrap:wrap;align-items:center;gap:4px;font-size:10px;line-height:1.3;display:flex}.tl-bug-control input{accent-color:#e5be7e;width:14px;height:14px;margin:0 3px 0 0}.tl-bug-control code{color:#e5c99e;font-size:10px}.tl-warning{border-color:#d39473}.tl-warning strong{color:#e6b296}.tl-value-trace{text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex}.tl-value-trace code{color:#ddc7a1;overflow-wrap:anywhere;border:1px solid #b9a0722b;border-radius:4px;max-width:100%;padding:5px 8px;font-size:10px;line-height:1.4}.tl-value-trace>span{color:#a58b60;font-size:13px;line-height:1}.tl-value-trace strong{font:400 23px/1.2 var(--tl-serif);color:#d5ddb1}.tl-test-results{border-top:1px solid var(--tl-line);padding-top:10px}.tl-test-summary{color:#b6a789;justify-content:space-between;gap:7px;margin-bottom:6px;font-size:10px;display:flex}.tl-test-summary strong{color:#c9d5a5;font-weight:400}.tl-test-row{font:9px/1.4 var(--tl-mono);color:#b3baa0;grid-template-columns:.7fr .9fr 1.4fr;align-items:center;gap:6px;padding:3px 0;display:grid}.tl-test-row small{font:9px/1.4 var(--tl-sans);text-align:right;color:#9baa85}.tl-failed-test{color:#e1a27e}.tl-failed-test small,.tl-test-summary .tl-incorrect,.tl-value-trace .tl-incorrect{color:#e5aa87}.tl-algorithm-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:19px;display:grid}.tl-graph-column{min-width:0}.tl-graph-heading{flex-wrap:wrap;justify-content:space-between;gap:4px 10px;display:flex}.tl-graph-heading>span:last-child{color:#91816c;font-size:8px;line-height:1.4}.tl-graph-canvas{background-image:radial-gradient(#d8bb881c .65px,#0000 .65px);background-size:15px 15px;width:100%;min-width:0;margin-block:12px 0;position:relative}.tl-graph-svg{width:100%;height:auto;display:block}.tl-edge{fill:none;stroke:#70624a;stroke-width:1.4px}.tl-edge-route{stroke:#e5be7e;stroke-width:2.5px}.tl-edge-improved{stroke:#e9d3a4;stroke-width:2.5px;stroke-dasharray:1}.tl-edge-label rect{fill:#201f1a;stroke:#a490682e}.tl-edge-label text{text-anchor:middle;fill:#cabc9d;font:16px var(--tl-mono)}.tl-variable-edge rect{fill:#453821;stroke:#d5b3787d}.tl-variable-edge text{fill:#f2d4a2}.teaching-lab .tl-node{color:#d4c3a2;width:28px;height:28px;font:12px/1 var(--tl-mono);background:#1f201b;border:1px solid #a68d6599;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}.tl-node span{font:9px/1 var(--tl-mono);color:#b1a185;background:#171915;border-radius:4px;padding:2px 4px;position:absolute;top:calc(100% + 3px);left:50%;transform:translate(-50%)}.teaching-lab .tl-node-settled{color:#302619;background:#dabc84;border-color:#f1d8a3}.tl-node-settled span{color:#e6cf9e}.teaching-lab .tl-node[aria-pressed=true]{outline-offset:4px;outline:1px dashed #dac599a6}.teaching-lab .tl-node:focus-visible{outline:2px solid var(--tl-gold);outline-offset:4px}.tl-graph-key{color:#a8987e;flex-wrap:wrap;align-items:center;gap:5px 11px;margin-top:8px;font-size:8px;line-height:1.4;display:flex}.tl-graph-key>span{align-items:center;gap:4px;display:inline-flex}.tl-graph-key i{border:1px solid #ad9368;border-radius:50%;width:6px;height:6px;display:inline-block}.tl-graph-key .tl-key-settled{background:#dabc84}.tl-bridge-control{border-top:1px solid var(--tl-line);margin-top:17px;padding-top:12px}.tl-bridge-control label{color:#c8b595;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px;font-size:12px;display:flex}.tl-bridge-control output{font:21px/1 var(--tl-sans);color:#ebc991}.tl-bridge-control>div{gap:6px;margin-top:9px;display:flex}.tl-bridge-control button{color:#bca580;background:0 0;border:1px solid #b59b7040;border-radius:4px;padding:6px 8px;font-size:10px}.tl-bridge-control button[aria-pressed=true]{color:#eac892;background:#e5be7e13;border-color:#e5be7e88}.tl-algorithm-notes{flex-direction:column;gap:13px;min-width:0;display:flex}.tl-frontier{border-bottom:1px solid var(--tl-line);padding-bottom:10px}.tl-frontier>strong{font:400 31px/1 var(--tl-serif);color:#e5c28b;margin-top:7px;display:block}.tl-frontier>strong>span{font:13px var(--tl-sans);color:#b1a185}.tl-route-inspector strong{font:13px/1.35 var(--tl-mono);color:#ddc9a4;overflow-wrap:anywhere;margin-top:8px;display:block}.tl-route-inspector p,.tl-relaxation p{color:#a99b82;margin-top:5px;font-size:11px;line-height:1.4}.tl-relaxation{background:#d5ad6d09;border:1px solid #c9aa7030;border-radius:5px;padding:10px}.tl-relaxation>code{color:#e5cca0;margin-top:6px;font-size:11px;line-height:1.4;display:block}.tl-invariant{border-left:2px solid #c1a06965;padding-left:10px}.tl-invariant p{color:#b9aa90;margin-top:5px;font-size:11px;line-height:1.45}.tl-controls{border-top:1px solid var(--tl-line);justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:12px;display:flex}.tl-controls button{min-height:35px;font-size:13px;line-height:1.2}.tl-back{color:#bfae90;background:0 0;border:0;align-items:center;gap:8px;padding:7px 0;display:flex}.tl-back:disabled{opacity:.4}.tl-position{font:8px/1.4 var(--tl-mono);color:#a79678;white-space:nowrap}.tl-next{background:#dfbb80;border:1px solid #e5be7e;border-radius:5px;justify-content:center;align-items:center;gap:14px;padding:8px 11px;display:flex;color:#2a2115!important}.tl-next:hover{background:#efd09a}.tl-sources{font:8px/1.4 var(--tl-sans);color:#9c8f77;flex-wrap:wrap;justify-content:space-between;gap:5px 14px;display:flex}.tl-sources>span:last-child{flex-wrap:wrap;gap:12px;display:flex}.tl-sources a{color:#c0aa81;text-underline-offset:3px;text-decoration:underline}.tl-sources a:hover{color:var(--tl-gold)}.tl-sr{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=1050px){[data-chapter=teaching] .stage{padding-left:15px}}@media (width<=760px){[data-chapter=teaching] .stage{margin-block:12px 23px;padding:15px 0 0}}@container teaching-workbench (width<=550px){.tl-topline .tl-eyebrow{font-size:7px}.tl-lessons{gap:7px}.tl-lessons button{padding:10px}.tl-lessons small{font-size:6px}.tl-lessons span{font-size:14px}.tl-intro h4{font-size:25px}.tl-recipe-layout{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:12px}.tl-weight-controls{padding-inline:2px}.tl-weight-label output{font-size:31px}.tl-rule{margin-inline:2px;font-size:11px}.tl-boundary-controls .tl-eyebrow{font-size:6px}.tl-boundary-controls button{font-size:10px}.tl-recipe-steps{gap:2px}.tl-recipe-steps span{font-size:8px}.tl-recipe-steps i{width:21px;height:21px;font-size:8px}.tl-notebook-page{gap:11px;padding:12px 10px}.tl-code{font-size:10px}.tl-algorithm-layout{grid-template-columns:minmax(0,1fr);gap:17px}.tl-graph-column{grid-template-columns:minmax(0,1fr) minmax(105px,.46fr);align-items:center;gap:10px 15px;display:grid}.tl-graph-heading{grid-column:1/-1}.tl-graph-canvas{margin:0}.tl-bridge-control{border:0;margin:0;padding:0}.tl-bridge-control>div{flex-direction:column}.tl-graph-key{grid-area:3/1/auto/-1;margin-top:0}.tl-algorithm-notes{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px;display:grid}.tl-invariant{grid-column:1/-1}.tl-relaxation{grid-area:1/2/3}.tl-frontier{padding-bottom:8px}.tl-route-inspector{grid-column:1}.tl-node{font-size:11px}}@container teaching-workbench (width<=390px){.tl-topline .tl-eyebrow{max-width:180px;font-size:6px}.tl-pause{font-size:9px}.tl-lessons button{padding:9px 8px}.tl-lessons span{gap:5px;font-size:13px}.tl-lessons b{display:none}.tl-intro{min-height:67px}.tl-intro h4{font-size:24px}.tl-intro p{font-size:12px}.tl-recipe-layout{flex-direction:column;gap:14px;display:flex}.tl-recipe-visual{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:6px 10px;width:100%;padding:0;display:grid}.tl-art{grid-area:1/1;align-self:center}.tl-scale-art{max-height:114px}.tl-weight-controls{grid-area:1/2}.tl-weight-label output{font-size:29px}.tl-boundary-controls{margin-top:8px}.tl-boundary-controls>div{margin-top:5px}.tl-boundary-controls button{padding-block:5px}.tl-rule{grid-column:1/-1;justify-content:center;gap:24px;margin:0;padding:7px 1px 0;font-size:11px}.tl-rule b{margin-left:5px;font-size:8px;display:inline}.tl-notebook{gap:9px;width:100%}.tl-recipe-steps{gap:5px}.tl-recipe-steps button{justify-content:center;align-items:center;gap:3px;padding-block:3px;display:flex}.tl-recipe-steps i{display:none}.tl-recipe-steps span{border-bottom:2px solid #9f8b6726;margin:0;padding-bottom:5px;font-size:9px}.tl-recipe-steps button[aria-current] span{border-color:#e5be7e}.tl-notebook-page{gap:10px;min-height:178px;padding:11px 12px}.tl-code{font-size:10px;line-height:1.55}.tl-page-label{font-size:7px}.tl-recipe-insight strong{font-size:13px}.tl-recipe-insight p{font-size:11px}.tl-value-trace{gap:3px}.tl-value-trace code{padding-block:4px;font-size:10px}.tl-value-trace strong{font-size:21px}.tl-test-results{padding-top:8px}.tl-test-row{font-size:9px}.tl-graph-column{flex-direction:column;align-items:stretch;gap:9px;display:flex}.tl-graph-canvas{width:100%}.tl-graph-key{margin:0}.tl-bridge-control{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.tl-bridge-control label{font-size:11px}.tl-bridge-control output{font-size:20px}.tl-bridge-control>div{gap:5px;margin:0}.tl-bridge-control button{padding:5px 9px;font-size:10px}.tl-algorithm-notes{gap:10px 12px}.tl-frontier .tl-eyebrow,.tl-route-inspector .tl-eyebrow{font-size:7px}.tl-frontier>strong{margin-top:5px;font-size:27px}.tl-frontier>strong>span{font-size:11px}.tl-route-inspector strong{margin-top:5px;font-size:11px}.tl-route-inspector p,.tl-relaxation p{font-size:10px}.tl-relaxation{padding:9px}.tl-relaxation>code,.tl-invariant p{font-size:10px}.tl-controls{gap:7px;padding-top:10px}.tl-controls button{font-size:12px}.tl-next{gap:9px;padding-inline:9px}.tl-position{font-size:7px}.tl-sources{font-size:8px}}.teaching-lab[data-tl-layout=wide]{gap:18px;min-height:655px}@container teaching-workbench (width>=760px){.tl-eyebrow{font-size:10px}.tl-pause{font-size:12px}.tl-lessons{gap:17px}.tl-lessons button{padding:17px 20px}.tl-lessons small{margin-bottom:7px;font-size:9px}.tl-lessons span{font-size:22px}.tl-lessons b{font-size:20px}.tl-intro{min-height:83px}.tl-intro h4{margin-bottom:12px;font-size:clamp(34px,3.8cqi,44px)}.tl-intro p{max-width:920px;font-size:17px}.tl-recipe-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,4cqi,52px)}.tl-recipe-visual{padding-top:0}.tl-scale-art{max-height:250px}.tl-weight-controls{max-width:310px;margin-inline:auto;padding-inline:10px}.tl-weight-label{font-size:15px}.tl-weight-label output{font-size:48px}.tl-weight-label output small{font-size:20px}.tl-range-ends{font-size:10px}.tl-boundary-controls .tl-eyebrow{font-size:9px}.tl-boundary-controls>div{gap:9px;margin-top:9px}.tl-boundary-controls button{padding-block:9px;font-size:15px}.tl-rule{max-width:290px;margin-inline:auto;padding-top:14px;font-size:16px}.tl-rule b{margin-top:5px;font-size:11px}.tl-notebook{gap:17px}.tl-recipe-steps{gap:10px}.tl-recipe-steps i{width:31px;height:31px;font-size:12px}.tl-recipe-steps span{margin-top:7px;font-size:12px}.tl-notebook-page{border-radius:11px;gap:21px;min-height:335px;padding:23px}.tl-page-label{font-size:10px}.tl-code{font-size:15px;line-height:1.65}.tl-recipe-insight{padding-left:15px}.tl-recipe-insight strong{margin-bottom:8px;font-size:19px}.tl-recipe-insight p{font-size:15px}.tl-recipe-insight p code{font-size:13px}.tl-contract{justify-content:flex-start;gap:35px}.tl-contract span{font-size:21px}.tl-contract small{margin-top:8px;font-size:11px}.tl-contract b{font-size:27px}.teaching-lab .tl-page-note{font-size:13px}.tl-template-map{gap:32px}.tl-template-map span{font-size:32px}.tl-template-map small{font-size:13px}.tl-template-map code{padding:9px 19px;font-size:28px}.tl-bug-control{gap:6px;font-size:14px}.tl-bug-control input{width:17px;height:17px}.tl-bug-control code{font-size:13px}.tl-value-trace{gap:6px}.tl-value-trace code{padding:7px 14px;font-size:14px}.tl-value-trace strong{font-size:31px}.tl-test-results{padding-top:13px}.tl-test-summary{margin-bottom:9px;font-size:14px}.tl-test-row{padding-block:5px;font-size:13px}.tl-test-row small{font-size:13px}.tl-algorithm-layout{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(26px,4cqi,50px)}.tl-graph-heading>span:last-child{font-size:11px}.tl-graph-canvas{margin-top:20px}.teaching-lab .tl-node{width:42px;height:42px;font-size:18px}.tl-node span{font-size:12px;top:calc(100% + 6px)}.tl-graph-key{gap:18px;margin-top:12px;font-size:11px}.tl-graph-key i{width:8px;height:8px}.tl-bridge-control{margin-top:24px;padding-top:18px}.tl-bridge-control label{font-size:16px}.tl-bridge-control output{font-size:29px}.tl-bridge-control>div{gap:10px;margin-top:12px}.tl-bridge-control button{padding:9px 14px;font-size:14px}.tl-algorithm-notes{gap:21px}.tl-frontier{padding-bottom:15px}.tl-frontier>strong{margin-top:12px;font-size:43px}.tl-frontier>strong>span{font-size:18px}.tl-route-inspector strong{margin-top:12px;font-size:18px}.tl-route-inspector p,.tl-relaxation p{margin-top:9px;font-size:15px}.tl-relaxation{padding:16px}.tl-relaxation>code{margin-top:10px;font-size:16px}.tl-invariant{padding-left:15px}.tl-invariant p{margin-top:8px;font-size:14px}.tl-controls{padding-top:16px}.tl-controls button{min-height:43px;font-size:16px}.tl-next{gap:25px;padding:11px 19px}.tl-position{font-size:11px}.tl-sources{gap:7px 20px;font-size:11px}}@media (prefers-reduced-motion:reduce){.teaching-lab,.teaching-lab *{transition:none!important;animation:none!important}}
