:root{--paper:#f4f3ed;--white:#fffefa;--ink:#24342d;--muted:#68756d;--line:#d9ddd4;--green:#376c48;--lime:#d6e6a5;--soft:#eaf0df;--orange:#ae5a33;--red:#b44d40;--mono:ui-monospace,SFMono-Regular,Consolas,monospace;--sans:Inter,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.6 var(--sans)}a{color:inherit;text-underline-offset:4px}button,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,summary:focus-visible,[role=button]:focus-visible{outline:3px solid #74954a;outline-offset:4px}button{border:1px solid var(--line);background:var(--white);border-radius:5px;padding:9px 14px}button:hover:not(:disabled){background:var(--soft)}.topbar{height:80px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;margin:0 5%}.brand{text-decoration:none;font-size:12px;font-weight:700;letter-spacing:1.5px;display:flex;align-items:center;gap:12px}.brand-icon{font-size:30px;line-height:1;color:var(--green)}.edition{color:var(--muted);font-weight:400}.quiet-link{font-size:12px;text-decoration:none}.quiet-link span{margin-left:16px}main{max-width:1520px;margin:auto;padding:0 5%}.intro{padding:67px 0 52px;display:flex;justify-content:space-between;align-items:center;gap:40px}.eyebrow{font:10px/1.5 var(--mono);letter-spacing:1.4px;font-weight:600}.dot{width:6px;height:6px;border-radius:100%;background:var(--green);display:inline-block;margin-right:7px}h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,4.2vw,64px);line-height:1.12;font-weight:400;letter-spacing:-2px;margin:22px 0}h1 em{font-weight:400;color:var(--green)}.lede{font-size:15px;line-height:1.8;color:var(--muted);margin:0}.intro-note{border-left:1px solid var(--line);padding-left:34px;min-width:235px}.intro-note p{font-size:13px;line-height:1.7}.note-number{font-size:62px;font-family:Georgia;color:var(--green);line-height:1}.stack-label{font:10px var(--mono);letter-spacing:.5px;padding-top:10px}.stack-label span{color:var(--muted);margin:0 9px}.lab{background:var(--white);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 30px #24342d05;overflow:hidden}.lab-top{padding:20px 24px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.recorded{font:10px var(--mono);color:var(--muted)}.experiment-tabs{display:flex;gap:6px;padding:17px 24px 0;overflow-x:auto}.experiment-tabs button{border:0;font-size:11px;white-space:nowrap;background:transparent;padding:8px 12px}.experiment-tabs button[aria-selected=true]{background:var(--ink);color:var(--white)}.tab-num{opacity:.55;margin-right:8px;font:10px var(--mono)}.experiment-heading{display:flex;align-items:center;justify-content:space-between;padding:22px 24px 24px;gap:16px}.experiment-heading h2{font-size:22px;font-weight:500;letter-spacing:-.5px;margin:0 0 3px}.experiment-heading p{font-size:12px;color:var(--muted);margin:0}.text-button{border:0;background:transparent;font-size:11px;padding:8px}.workspace{display:grid;grid-template-columns:1fr 1.22fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.workspace>section{min-width:0}.source-pane{background:#fafaf5;border-right:1px solid var(--line)}.pane-heading{height:49px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 18px;border-bottom:1px solid var(--line)}.pane-heading h3{font:9px var(--mono);letter-spacing:1px;margin:0;white-space:nowrap}.pane-heading>span{font:9px var(--mono);color:var(--muted);text-align:right}.source-tabs{display:flex;gap:15px;padding:0 18px;border-bottom:1px solid var(--line);height:39px}.source-tabs button{background:transparent;border:0;border-radius:0;font-size:10px;padding:8px 0;color:var(--muted)}.source-tabs button.active{border-bottom:2px solid var(--green);color:var(--green)}.code-wrap{height:350px;overflow:auto;padding:14px 0}pre{font:11px/1.85 var(--mono);tab-size:4;margin:0}#source .code-line{display:block;padding:0 16px 0 0;min-width:max-content;min-height:20px;border-left:3px solid transparent}#source .code-line.active{background:#e8eddb;border-left-color:var(--green)}#source .line-no{display:inline-block;width:35px;color:#9ca59b;font-size:10px;text-align:right;margin-right:13px;user-select:none}.tok-keyword{color:#5b6c92}.tok-call{color:#756638}.tok-number{color:#a06343}.source-footer{min-height:54px;border-top:1px solid var(--line);padding:13px 18px;display:flex;gap:9px;align-items:center;font-size:10px;color:var(--muted)}.key{font-size:18px;color:var(--green)}.graph-pane{border-right:1px solid var(--line);background-image:radial-gradient(#d9ddd5 0.7px,transparent .7px);background-size:16px 16px}.graph-pane .pane-heading{background:var(--white)}.graph-area{height:372px;overflow:auto;padding:12px 8px}.graph-area svg{display:block;width:100%;min-width:280px}.graph-edge{fill:none;stroke:#bdc7bc;stroke-width:1.5}.graph-edge.candidate{stroke:var(--green);stroke-width:2.7}.graph-edge.cut{stroke:var(--red);stroke-width:2;stroke-dasharray:5 4}.edge-label{font:10px var(--mono);fill:var(--muted);paint-order:stroke;stroke:var(--white);stroke-width:5px;stroke-linejoin:round}.graph-node{cursor:pointer}.graph-node rect{fill:var(--white);stroke:#bfc9bc;stroke-width:1.2;transition:fill .2s,stroke .2s}.graph-node text{font:12px var(--mono);fill:var(--ink)}.graph-node .node-id{font:9px var(--mono);fill:var(--muted)}.graph-node.on-path rect{fill:var(--soft);stroke:var(--green);stroke-width:1.7}.graph-node.error rect{stroke:#d3aaa1;fill:#fcf3ef}.graph-node.error text{fill:#944536}.graph-node.selected rect{stroke:var(--green);stroke-width:2.7}.graph-legend{display:flex;flex-wrap:wrap;gap:12px;padding:6px 15px 10px;background:var(--white);font-size:8px;color:var(--muted)}.legend-line{display:inline-block;width:16px;border-top:2px solid var(--green);margin-right:5px;vertical-align:middle}.legend-line.blocked{border-top:2px dashed var(--red)}.node-inspector{border-top:1px solid var(--line);background:var(--white);font-size:10px;padding:10px 16px}.node-inspector summary{cursor:pointer}.node-inspector pre{font-size:10px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:230px;overflow:auto;margin-top:12px}.reasoning-content{padding:22px;min-height:443px}.state-badge{display:inline-flex;border:1px solid #c8d4bb;background:var(--soft);border-radius:3px;padding:3px 7px;font:9px var(--mono);letter-spacing:.7px;color:var(--green)}.state-badge.alert{color:var(--orange);background:#f8ece0;border-color:#e5c7ad}.state-badge.bug{color:var(--red);background:#f7e8e2;border-color:#dbb2a8}.reasoning-content h3{font-family:Georgia,serif;font-size:25px;line-height:1.2;letter-spacing:-.4px;font-weight:400;margin:17px 0 10px}.reasoning-content>p{font-size:12px;color:var(--muted);line-height:1.8;margin:0 0 22px}.knowledge .eyebrow{font-size:8px;color:var(--muted);margin-bottom:9px}.predicate{font:11px/1.6 var(--mono);padding:7px 9px;border:1px solid #d1dcc5;background:#f0f4e7;border-radius:4px;margin:5px 0;overflow-wrap:anywhere}.empty-predicate{font:11px var(--mono);color:var(--muted);padding:10px 0}.solver-box{margin-top:17px;border-top:1px solid var(--line);padding-top:15px}.solver-box .eyebrow{color:var(--muted);font-size:8px;margin-bottom:9px}.constraint{font:11px/1.8 var(--mono);overflow-wrap:anywhere}.constraint.core{color:var(--red)}.solver-verdict{margin-top:10px;font:11px var(--mono);font-weight:600;color:var(--green)}.solver-verdict.bug{color:var(--red)}.solver-note{font-size:10px;line-height:1.7;color:var(--muted);margin-top:9px}.witness{font:24px var(--mono);color:var(--red);margin:10px 0}.playback{display:flex;gap:10px;align-items:center;padding:18px 24px}.playback>button:first-child{padding:9px 13px}.primary{background:var(--green);border-color:var(--green);color:white;font-size:11px;min-width:185px;display:flex;align-items:center;justify-content:space-between;gap:14px}.primary:hover:not(:disabled){background:#28583a}.timeline{display:flex;gap:5px;align-items:center;margin-left:auto;flex-wrap:wrap;max-width:250px}.timeline button{padding:0;height:7px;width:22px;border:0;background:#dfe5d8;border-radius:2px}.timeline button.done{background:#8ea778}.timeline button.current{background:var(--green);height:11px}.playback #step-count{font:9px var(--mono);color:var(--muted);white-space:nowrap}.lab-caption{font-size:9px;display:flex;justify-content:space-between;gap:20px;background:#f9faf4;color:var(--muted);border-top:1px solid var(--line);padding:11px 24px}.explanation{display:grid;grid-template-columns:1fr 1.3fr;gap:110px;padding:85px 35px;border-bottom:1px solid var(--line)}.section-intro h2,.evidence-title h2,.next-chapter h2{font:40px/1.15 Georgia,serif;letter-spacing:-1px;font-weight:400;margin:19px 0}.section-intro>p,.evidence-title>p{font-size:13px;color:var(--muted);line-height:1.8;max-width:370px}.loop-explanation article{display:flex;gap:24px;border-bottom:1px solid var(--line);padding:20px 0}.loop-explanation article:first-child{padding-top:0}.step-index{font:11px var(--mono);color:var(--green);padding-top:5px}.loop-explanation h3{font-size:14px;font-weight:500;margin:0 0 8px}.loop-explanation p{font-size:12px;color:var(--muted);margin:0;line-height:1.8}.loop-foot{font-size:11px;color:var(--green);padding-top:18px;max-width:400px}.evidence-section{padding:65px 0}.evidence-title>p{max-width:550px}.evidence-title h2{font-size:35px}.evidence-grid{display:grid;grid-template-columns:repeat(3,1fr);margin:35px 0 30px}.evidence-grid article{padding:0 30px;border-left:1px solid var(--line)}.evidence-grid article:first-child{padding-left:0;border:0}.evidence-grid article:last-child{padding-right:0}.evidence-grid h3{font-size:13px;font-weight:600}.evidence-grid p{font-size:12px;line-height:1.9;color:var(--muted)}code{font:10px var(--mono);background:#e9ece2;padding:2px 4px}.evidence-grid a{font-size:10px;color:var(--green)}.run-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;font-size:11px}.run-details summary{cursor:pointer}.run-details pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:400px;overflow:auto;background:#e9ede2;padding:18px;display:none}.run-details pre.visible{display:block}#provenance{font:10px/1.9 var(--mono);padding:20px 0;overflow-wrap:anywhere}.raw-actions{display:flex;gap:20px;align-items:center;margin-bottom:10px}.raw-actions button{padding-left:0}.raw-actions a{font-size:11px}.next-chapter{display:grid;grid-template-columns:1fr 1fr;background:#e7edda;border-radius:8px;padding:35px 40px;gap:60px;align-items:center;margin-bottom:50px}.next-chapter h2{font-size:30px;margin-bottom:0}.next-chapter p{font-size:12px;line-height:1.9;margin:0;color:#53694f}.next-chapter p span{font:9px var(--mono);display:block;margin-top:12px}footer{margin:0 5%;padding:25px 0 35px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:10px}footer a{text-decoration:none}.muted{color:var(--muted);margin-left:8px}.boundary{padding:40px 25px;font-size:13px;color:var(--muted);line-height:1.9}.boundary strong{display:block;font:25px Georgia;color:var(--ink);margin-bottom:15px}
@media(min-width:1500px){.graph-area{height:410px}.code-wrap{height:388px}.reasoning-content{min-height:481px}}
@media(max-width:1100px){main{padding:0 3%}.topbar{margin:0 3%}.workspace{grid-template-columns:1fr 1.15fr}.reasoning-pane{grid-column:1/-1;border-top:1px solid var(--line)}.reasoning-content{min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.state-badge{justify-self:start}.reasoning-content h3,.reasoning-content>p{grid-column:1}.knowledge{grid-column:2;grid-row:1/3}.solver-box{grid-column:2;grid-row:3/5;margin:0}.graph-pane{border-right:0}.intro-note{min-width:190px;padding-left:20px}.explanation{gap:55px;padding-left:10px;padding-right:10px}}
@media(max-width:650px){.topbar{height:65px;margin:0 20px}.brand{font-size:9px;gap:8px;letter-spacing:1px}.edition{display:none}.quiet-link{font-size:10px}main{padding:0 14px}.intro{padding:37px 8px 35px}.intro-note{display:none}h1{font-size:39px;letter-spacing:-1.5px}.eyebrow{font-size:8px}.lede{font-size:13px}.desktop{display:none}.lab-top{padding:15px}.recorded{font-size:8px}.recorded .dot{display:none}.experiment-tabs{padding:14px 10px 0;gap:2px}.experiment-tabs button{font-size:10px}.experiment-heading{padding:18px 15px;align-items:flex-start}.experiment-heading h2{font-size:20px}.experiment-heading p{font-size:11px}.experiment-heading .text-button{font-size:9px;padding-right:0;max-width:80px}.workspace{display:block}.source-pane,.graph-pane{border:0;border-bottom:1px solid var(--line)}.code-wrap{height:auto;max-height:340px}.graph-area{height:390px}.source-footer{min-height:40px;padding:8px 18px}.reasoning-content{display:block;padding:20px}.reasoning-content h3{font-size:26px}.knowledge{margin-top:20px}.solver-box{margin-top:15px}.playback{padding:14px;gap:7px;flex-wrap:wrap}.primary{flex:1;min-width:180px}.timeline{order:5;max-width:100%;width:100%;margin:6px 0 0;justify-content:center}.timeline button{height:9px}.playback #step-count{font-size:9px}.playback #reset{font-size:9px}.lab-caption{display:block;padding:10px 15px;font-size:8px}.lab-caption span{display:block;margin:3px 0}.explanation{display:block;padding:45px 8px}.section-intro h2{font-size:34px}.loop-explanation{margin-top:30px}.evidence-section{padding:45px 8px}.evidence-title h2{font-size:30px}.evidence-grid{display:block;margin:20px 0}.evidence-grid article,.evidence-grid article:first-child,.evidence-grid article:last-child{padding:15px 0;border:0;border-bottom:1px solid var(--line)}.next-chapter{display:block;padding:28px 23px}.next-chapter h2{font-size:28px;margin-bottom:20px}footer{display:block;margin:0 20px;font-size:9px}footer>a{display:block;margin-top:15px}.muted{margin:0;display:block}.raw-actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.graph-node rect{transition:none}}
.model-explorer{border-top:1px solid var(--line);padding:28px 24px 20px;background:#fafbf5}
.experiment-actions{display:flex;align-items:center;gap:7px}.experiment-actions a{color:var(--green);text-decoration:none}.model-explorer{scroll-margin-top:15px}
.model-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.model-intro h2{font:30px/1.2 Georgia,serif;letter-spacing:-.6px;margin:10px 0 7px}
.model-intro p{font-size:12px;color:var(--muted);margin:0}
.model-mode{display:flex;gap:3px;border:1px solid var(--line);border-radius:6px;padding:3px;background:var(--white);flex-shrink:0}
.model-mode button{border:0;background:transparent;font-size:11px;padding:8px 12px}
.model-mode button[aria-pressed=true]{background:var(--ink);color:var(--white)}
.model-rounds{display:flex;gap:10px;overflow:auto;padding:2px 2px 12px}
.model-rounds button{text-align:left;min-width:185px;flex:1;max-width:300px;padding:13px 15px;border-color:#d3dccb;background:var(--white)}
.model-rounds button[aria-pressed=true]{background:#eaf1dd;border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.model-round-id{display:flex;justify-content:space-between;align-items:center;font:21px Georgia,serif;margin-bottom:8px}
.model-round-id span{font:8px var(--mono);letter-spacing:1px;color:var(--muted)}
.model-rounds strong{font-size:11px;display:block;font-weight:500;margin-bottom:4px}
.model-rounds button>span:last-child{font:9px var(--mono);color:var(--muted);display:block}
.model-change{padding:13px 15px;background:#edf2e4;border-left:3px solid #8ca773;font-size:11px;line-height:1.9;margin-bottom:16px;color:#52644d}
.model-change strong{color:var(--ink);margin-right:8px}.model-change code{font-size:11px;background:#dde8cc}.model-change span{margin:0 6px}
.model-options{display:flex;align-items:center;gap:18px;font-size:10px;margin-bottom:14px;flex-wrap:wrap;color:var(--muted)}
.model-options p{margin:0 auto 0 0}.model-options label{display:flex;gap:6px;align-items:center;cursor:pointer}.model-options input{accent-color:var(--green)}
.model-canvases{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.model-canvases.comparing{grid-template-columns:var(--model-columns,repeat(2,minmax(0,1fr)))}
.model-panel{min-width:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--white)}
.model-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 17px;border-bottom:1px solid var(--line)}
.model-panel-heading h3{font:22px Georgia,serif;margin:0}.model-panel-heading h3 span{font:8px var(--mono);letter-spacing:1px;margin-left:9px;color:var(--muted)}
.model-error-count{font:9px var(--mono);color:var(--green);background:#eaf0df;padding:4px 7px;border-radius:3px;white-space:nowrap}.model-error-count.has-errors{color:#9a513e;background:#f6e8df}
.model-precision{display:flex;flex-wrap:wrap;gap:8px 15px;min-height:43px;padding:12px 17px;font:10px/1.7 var(--mono);color:var(--muted);border-bottom:1px solid var(--line)}
.model-precision b{color:var(--green);font-weight:500}.model-scroll{max-height:650px;overflow:auto;background:#fffefa;scrollbar-color:#b9c6ac #f4f6ee}
.model-scroll .abstract-svg{display:block;max-width:none;margin:auto}
.model-axis{font:8px var(--mono);letter-spacing:1px;fill:var(--muted)}
.valuation-lane{fill:#f5f7ef;stroke:#e2e7da;stroke-width:1}.valuation-title{font:9px var(--mono);fill:var(--muted);letter-spacing:.8px}.valuation-fact{font:11px var(--mono);fill:var(--green)}
.model-row-guide{stroke:#e8ebdf;stroke-width:1;stroke-dasharray:2 5}.model-location{font:10px var(--mono);fill:var(--ink)}.model-location-id{font:8px var(--mono);fill:var(--muted)}
.model-transition{stroke:#a5b59b;stroke-width:1.3;fill:none}.model-transition.candidate{stroke:var(--green);stroke-width:2.4}.model-transition.rejected{stroke:var(--red);stroke-width:1.3;stroke-dasharray:4 4;opacity:.8}
.model-edge-label{font:8px var(--mono);fill:var(--muted);paint-order:stroke;stroke:#f5f7ef;stroke-width:3}.model-cut-label{font:20px var(--mono);fill:var(--red);paint-order:stroke;stroke:#f5f7ef;stroke-width:3}
.abstract-state{cursor:pointer}.abstract-state rect{fill:var(--white);stroke:#b8c8ad;stroke-width:1.3}.abstract-state.on-path rect{fill:#e7efd9;stroke:var(--green);stroke-width:1.8}.abstract-state.error rect{fill:#faeee7;stroke:#c78370}.abstract-state.selected rect{stroke:#294c8c;stroke-width:2.5}
.state-location{font:11px var(--mono);fill:var(--ink)}.state-facts{font:9px var(--mono);fill:var(--green)}.abstract-state.error .state-location{fill:var(--red)}
.abstract-ghost rect{fill:transparent;stroke:#dce2d3;stroke-dasharray:3 4}.abstract-ghost text{font:9px var(--mono);fill:#909b88}
.model-panel-caption{font:9px/1.8 var(--mono);color:var(--muted);border-top:1px solid var(--line);padding:10px 17px}
.model-bottom{padding:14px 0}.model-key{display:flex;gap:13px;flex-wrap:wrap;font-size:9px;color:var(--muted);align-items:center}.model-key>span{display:flex;align-items:center;gap:5px}
.model-key-state,.model-key-ghost{display:inline-block;height:10px;width:15px;border:1px solid #8ea778;border-radius:2px;background:#edf2e5}.model-key-ghost{border:1px dashed #aab59e;background:transparent}
.model-bottom p{font-size:10px;color:var(--muted);line-height:1.7;margin:9px 0 0}
.model-state-detail{border-top:1px solid var(--line);padding:16px 0 0;color:var(--muted);font-size:11px;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.model-state-detail h3{font-size:13px;color:var(--ink);font-weight:500;margin:8px 0}.model-state-detail p{margin:5px 0;line-height:1.9}.model-state-detail .rejected-detail{color:var(--red)}.model-state-detail details{margin-top:10px}.model-state-detail summary{cursor:pointer}.model-state-detail pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:10px;margin-top:10px;max-height:200px;overflow:auto}
@media(max-width:850px){.model-intro{align-items:flex-start;flex-direction:column;gap:16px}.model-canvases.comparing{grid-template-columns:minmax(0,1fr)}.model-scroll{max-height:510px}.model-state-detail{grid-template-columns:1fr;gap:10px}}
@media(max-width:650px){.experiment-actions{flex-direction:column;align-items:flex-end;gap:0}.experiment-actions .text-button{text-align:right}}
@media(max-width:650px){.model-explorer{padding:22px 14px 16px}.model-intro h2{font-size:27px}.model-intro p{font-size:11px}.model-rounds button{min-width:160px;padding:12px}.model-change{font-size:10px}.model-options{gap:10px 15px}.model-options p{width:100%}.model-panel-heading{padding:12px}.model-panel-heading h3 span{font-size:7px;margin-left:6px}.model-error-count{font-size:8px}.model-precision{padding:10px 12px}.model-key{font-size:8px;gap:10px}.model-panel-caption{padding:10px 12px;font-size:8px}}

.presentation-link{font-size:12px;font-weight:600;color:var(--green);padding:6px 10px;border:1px solid #b7c8a8;border-radius:5px;text-decoration:none;white-space:nowrap}
/* Source references are secondary; program actions and facts carry the model. */
.model-source-line{font:11px var(--mono);fill:var(--muted)}
/* Iteration workspace: program, abstract model and predicates share one viewport. */
main{max-width:none;padding:0 24px}.topbar{margin:0 24px;height:48px}.intro{height:64px;padding:0;gap:24px}.intro h1{font-size:34px;letter-spacing:-1px;margin:0}.intro .lede{font-size:11px;line-height:1.7;text-align:right}
.experiment-tabs{height:40px;padding:8px 18px 0;gap:6px}.experiment-tabs button{padding:5px 12px;line-height:1.5}.experiment-heading{height:60px;padding:8px 18px}.experiment-heading h2{font-size:20px;line-height:1.3;margin-bottom:2px}.experiment-heading p{font-size:11px}
.iteration-toolbar{display:flex;align-items:center;gap:16px;height:64px;padding:7px 18px;background:#f3f6eb;border-top:1px solid var(--line)}.iteration-toolbar>.eyebrow{font-size:9px}.iteration-hint{font-size:10px;color:var(--muted);margin-left:auto;white-space:nowrap}
.iteration-toolbar .model-rounds{padding:0;gap:8px;overflow:visible}.iteration-toolbar .model-rounds button{display:grid;grid-template-columns:auto auto;gap:1px 16px;min-width:180px;max-width:260px;padding:5px 11px;height:48px}.iteration-toolbar .model-round-id{grid-row:1/3;display:flex;align-items:center;font-size:22px;margin:0}.iteration-toolbar .model-round-id span{display:none}.iteration-toolbar .model-rounds strong{font-size:10px;margin:0;align-self:end}.iteration-toolbar .model-rounds button>span:last-child{font-size:8px;white-space:nowrap}
.workspace{grid-template-columns:320px minmax(0,1fr) 320px;height:calc(100dvh - 390px);min-height:570px}.workspace>section{min-height:0}.source-pane{display:flex;flex-direction:column}.pane-heading{height:44px;min-height:44px;padding:0 15px}.pane-heading h3{font-size:10px}.source-tabs{height:34px;min-height:34px;padding:0 15px}.code-wrap{height:auto;min-height:0;flex:1;padding:14px 0}.code-wrap pre{font-size:12px;line-height:1.95}#source .line-no{width:26px;margin-right:10px;font-size:10px}#source .code-line{padding-right:8px}.source-footer{min-height:48px;font-size:10px;padding:10px 14px}
.workspace .model-explorer{padding:0;border:0;border-right:1px solid var(--line);background:var(--white);display:flex;flex-direction:column;min-width:0;scroll-margin-top:0}.model-mode{border:0;padding:0;gap:2px;background:transparent}.model-mode button{font-size:10px;padding:5px 9px}.model-options{height:34px;min-height:34px;gap:12px;padding:0 14px;margin:0;flex-wrap:nowrap;border-bottom:1px solid var(--line);font-size:9px}.model-options p{font-size:9px;white-space:nowrap}.model-options label{white-space:nowrap;gap:3px}.model-options input{margin:0}
.model-canvases{flex:1;min-height:0;gap:8px;padding:8px 10px 0}.model-panel{display:flex;flex-direction:column;min-height:0}.model-panel-heading{height:36px;min-height:36px;padding:7px 12px}.model-panel-heading h3{font-size:20px}.model-panel-heading h3 span{font-size:8px}.model-precision{min-height:32px;padding:5px 12px;font-size:10px;align-items:center;gap:4px 12px}.model-scroll{flex:1;min-height:0;max-height:none;overflow:hidden}.model-scroll .abstract-svg{width:100%;height:100%;max-width:none;margin:0}.model-canvases.all-detail .model-scroll{overflow:auto}.model-canvases.all-detail .abstract-svg{width:auto;height:auto;margin:auto}.model-panel-caption{font-size:8px;line-height:1.6;padding:6px 12px;min-height:26px}.model-bottom{padding:6px 14px;min-height:29px}.model-key{font-size:8px;gap:12px}.model-axis,.valuation-title{font-size:10px}.model-location{font-size:11px}.model-location-id{font-size:9px}.state-location{font-size:12px}.state-facts{font-size:10px}.abstract-ghost text{font-size:10px}.model-edge-label{font-size:9px}
.reasoning-pane{overflow:hidden;display:flex;flex-direction:column}.reasoning-content{display:block;min-height:0;overflow:auto;padding:17px 16px;flex:1}.reasoning-content .knowledge{margin:0 0 14px}.knowledge .eyebrow{font-size:9px}.predicate{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;padding:8px 9px}.predicate-value{font-size:9px;color:var(--green);padding:2px 5px;background:#dce9cc;border-radius:3px}.model-change{font-size:10px;padding:9px 10px;line-height:1.8;margin-bottom:16px}.reasoning-content h3{font-size:24px;margin:12px 0 8px}.reasoning-content>p{font-size:11px;line-height:1.8;margin-bottom:15px}.solver-box{margin-top:15px;padding-top:12px}.model-state-detail{display:block;font-size:10px;padding-top:12px;margin-top:15px}.model-state-detail h3{font:12px var(--sans);letter-spacing:0;line-height:1.5;margin:7px 0}.model-state-detail>div+div{margin-top:10px}.model-state-detail .eyebrow{font-size:8px}
.playback{height:54px;padding:8px 18px}.lab-caption{height:26px;padding:5px 18px;font-size:9px;align-items:center}.legacy-graph{margin:20px 0 0;padding:14px 18px;border:1px solid var(--line);border-radius:6px;font-size:12px;background:var(--white)}.legacy-graph>summary{cursor:pointer}.legacy-graph .graph-pane{max-width:700px;border:1px solid var(--line);margin:15px auto}.legacy-graph .graph-area{height:430px}.explanation,.evidence-section,.next-chapter{max-width:1260px;margin-left:auto;margin-right:auto}
.state-location{font-size:14px}.state-facts{font-size:12px}.valuation-fact{font-size:12px}.model-canvases.comparing .model-panel-caption{min-height:40px}
.header-links{display:flex;align-items:center;gap:20px;white-space:nowrap}
.z3-open{width:100%;margin-top:6px;border-color:var(--green);color:var(--green);font-size:12px;text-align:left}#z3-dialog{width:min(1250px,94vw);max-height:92vh;overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink);padding:28px}#z3-dialog::backdrop{background:#18271fc0}#z3-dialog header{display:flex;align-items:center;justify-content:space-between;gap:20px}#z3-dialog h2{font:30px Georgia;margin:8px 0}#z3-dialog p{font-size:12px;line-height:1.8;color:var(--muted)}.z3-columns{display:grid;grid-template-columns:1.1fr 1fr;gap:28px}.z3-columns section{min-width:0}.z3-columns h3{font:11px var(--mono);margin:20px 0 12px}.z3-columns pre{padding:18px;background:#f0f3e9;border:1px solid var(--line);border-radius:5px;overflow:auto;max-height:53vh;font-size:12px;line-height:1.7}.z3-columns a{display:inline-block;font-size:12px;margin-top:12px}.z3-columns .z3-response{color:var(--green);font-size:16px}.z3-core-map>div{display:grid;grid-template-columns:85px 1fr;gap:5px 12px;padding:10px;border-bottom:1px solid var(--line)}.z3-core-map small{grid-column:2;font-size:10px;color:var(--muted)}.z3-core-map .in-core{background:#f9eee4}.z3-followup{border-top:1px solid var(--line);margin-top:20px}@media(max-width:800px){.z3-columns{grid-template-columns:1fr}#z3-dialog{padding:18px}}
@media(min-width:1800px){.workspace{grid-template-columns:340px minmax(0,1fr) 340px}.code-wrap pre{font-size:13px}.pane-heading h3{font-size:11px}.reasoning-content{padding:20px}.reasoning-content>p{font-size:12px}.predicate{font-size:12px}.model-change{font-size:11px}.model-state-detail{font-size:11px}.model-options,.model-options p{font-size:10px}}
@media(max-width:1200px){main{padding:0 14px}.topbar{margin:0 14px}.intro h1{font-size:28px}.workspace{grid-template-columns:260px minmax(0,1fr) 270px}.reasoning-pane{grid-column:auto;border-top:0}.model-options{height:auto;min-height:40px;flex-wrap:wrap;gap:5px 10px;padding:5px 10px}.model-options p{width:100%}.model-mode button{font-size:9px;padding:4px 6px}.model-canvases.comparing{grid-template-columns:1fr;overflow:auto}.model-canvases.comparing .model-panel{min-height:400px}.iteration-hint{display:none}.iteration-toolbar .model-rounds button{min-width:150px}}
@media(max-width:900px){.intro{height:auto;min-height:80px}.intro h1{font-size:27px}.intro .lede{display:none}.workspace{height:auto;display:grid;grid-template-columns:1fr 1fr;min-height:0}.source-pane{height:360px}.reasoning-pane{grid-column:2;grid-row:1;height:360px;border-top:0}.workspace .model-explorer{grid-column:1/-1;grid-row:2;height:650px;border-top:1px solid var(--line);border-right:0}.code-wrap pre{font-size:12px}.model-options{height:34px;min-height:34px;flex-wrap:nowrap;padding:0 12px}.model-options p{width:auto}.model-canvases.comparing{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.model-canvases.comparing .model-panel{min-height:0}.model-state-detail{font-size:10px}.iteration-toolbar{gap:10px;overflow:auto}.iteration-toolbar>.eyebrow{display:none}.iteration-toolbar .model-rounds button{min-width:150px}.model-canvases{padding:7px 7px 0}.lab-caption{height:auto;min-height:26px}.experiment-heading{height:64px}}
@media(max-width:650px){.intro{min-height:72px}.intro h1{font-size:26px;line-height:1.2}.experiment-tabs{padding:7px 8px 0}.experiment-heading{padding:9px 12px}.experiment-heading h2{font-size:18px}.iteration-toolbar{padding:7px 10px;height:61px}.workspace{grid-template-columns:1fr}.source-pane{height:310px}.reasoning-pane{grid-column:1;grid-row:3;height:auto;max-height:490px}.workspace .model-explorer{height:580px;grid-row:2}.model-canvases.comparing{grid-template-columns:1fr;overflow:auto}.model-canvases.comparing .model-panel{min-height:420px}.model-options{height:auto;min-height:42px;flex-wrap:wrap;gap:5px 10px;padding:5px 10px}.model-options p{width:100%}.playback{height:auto;min-height:60px;padding:10px}.lab-caption{padding:5px 12px;font-size:8px}.lab-caption span{margin:0}.legacy-graph{margin-top:15px;padding:12px}.source-footer{min-height:40px}}
