.mechanism{padding:110px max(5vw,24px) 100px;background:#fff;--bash:#5176d1;--atomic:#258c9f;--error:#d36c70;--code-error:#b84453;scroll-margin-top:20px}.mechanism-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;max-width:1400px;margin:auto}.mechanism-heading .eyebrow{color:#426bbd}.mechanism-heading h2{font-size:clamp(42px,4.8vw,70px);margin-bottom:0}.mechanism-heading>p{font-size:19px;line-height:1.5;color:var(--muted);margin-bottom:5px;max-width:380px}.case-context{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:13px;margin:34px auto 25px;max-width:1400px}.case-context>span{padding:8px 12px;background:#f1f4f9;border-radius:7px;color:#52617c}.case-context p{margin:0 0 0 9px;color:var(--muted);font-size:15px}.case-context code{font-size:14px;color:var(--ink)}.replay{border:1px solid #e3e8f1;border-radius:22px;overflow:hidden;max-width:1400px;margin:auto;background:#fafbfd}.replay-loading{padding:40px;margin:0}.replay-toolbar{padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #e4e9f0}.replay-tools{display:flex;align-items:center;gap:9px}.replay-tools button,.replay-tools select{border:1px solid #dbe1eb;border-radius:24px;background:white;color:#4c586f;padding:9px 15px;font:13px inherit;cursor:pointer}.replay-tools .replay-toggle{background:#263950;color:white;border-color:#263950;min-width:96px}.replay-title{font-size:14px;font-weight:600;display:block}.replay-subtitle{font-size:12px;color:var(--muted);display:block;margin-top:5px}.replay-legend{display:flex;align-items:center;gap:18px;padding:17px 24px 0;font-size:12px;color:#647087;flex-wrap:wrap}.legend-key{display:inline-flex;align-items:center;gap:7px}.legend-square{display:inline-block;width:9px;height:9px;background:var(--bash);border-radius:1px}.legend-square.atomic{background:var(--atomic)}.legend-square.error{background:var(--error)}.legend-square.merge{width:14px;height:14px;background:linear-gradient(var(--bash) 50%,var(--atomic) 50%)}.replay-canvas-wrap{overflow-x:auto;overscroll-behavior-x:contain;padding:0 20px;scrollbar-width:thin}.replay-canvas{width:100%;min-width:1150px;height:auto;display:block;overflow:visible}.trajectory-baseline{stroke:#a6adb8;stroke-dasharray:7 6;stroke-width:2.5;fill:none}.trajectory-path{fill:none;stroke:#e2e7f0;stroke-width:1.5;transition:stroke .14s}.trajectory-path.lit.bash{stroke:var(--bash)}.trajectory-path.lit.atomic{stroke:var(--atomic)}.trajectory-step{cursor:pointer;outline:none}.trajectory-step .step-square{fill:#e6eaf1;stroke:#fafbfd;stroke-width:1;transition:fill .14s,filter .14s}.trajectory-step.lit.bash .step-square{fill:var(--bash)}.trajectory-step.lit.atomic .step-square{fill:var(--atomic)}.trajectory-step.lit.has-error .step-square{fill:var(--error)}.trajectory-step.lit.source-error .step-square{fill:var(--code-error)}.trajectory-step.current .step-square{stroke:#1d3348;stroke-width:1.5;filter:drop-shadow(0 0 4px #758fb980)}.trajectory-step:hover .step-square,.trajectory-step:focus .step-square,.trajectory-step.selected .step-square{stroke:#1d3348;stroke-width:2}.step-hit{fill:transparent}.merge-outline{fill:#f9fbfe;stroke:#bcc9dd;stroke-width:1.5}.merge-half{fill:#e4eaf2}.merge-half.bash.lit{fill:var(--bash)}.merge-half.atomic.lit{fill:var(--atomic)}.merge-node{cursor:pointer;outline:none}.merge-node:focus .merge-outline,.merge-node:hover .merge-outline{stroke:#1d3348;stroke-width:2}.merge-node.complete .merge-outline{stroke:#466176;stroke-width:2}.merge-number{fill:white;font-size:12px;font-weight:700;pointer-events:none}.milestone-text{font-size:13px;fill:#52637b;font-weight:600;text-anchor:middle}.milestone-guide{stroke:#e0e6ef;stroke-width:1;stroke-dasharray:3 5}.lane-label{font-size:14px;font-weight:650;fill:var(--bash)}.lane-label.atomic{fill:var(--atomic)}.lane-subtitle{font-size:11px;fill:#8894a8}.end-label{font-size:12px;font-weight:650;fill:#78869a}.end-label.bash.lit{fill:var(--code-error)}.end-label.atomic.lit{fill:var(--atomic)}.drift-label{font-size:11px;fill:#a26b76}.replay-progress{display:flex;align-items:center;gap:16px;padding:0 24px 18px}.replay-progress input{accent-color:#426bbd;width:100%;cursor:pointer}.replay-progress output{font-size:12px;color:var(--muted);min-width:65px;text-align:right}.replay-status{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #e3e8f1;background:white}.run-status{padding:19px 24px;min-height:114px;border-top:3px solid var(--bash)}.run-status.atomic{border-top-color:var(--atomic);border-left:1px solid #e3e8f1}.run-status-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;font-size:12px;color:#758195}.run-status-top strong{font-size:14px;color:var(--bash)}.run-status.atomic strong{color:var(--atomic)}.run-status p{font-size:15px;line-height:1.4;margin:0;color:#40516b}.run-status .wait-note{font-size:12px;color:#73849b;margin-top:6px}.replay-segments{display:flex;gap:8px;padding:17px 24px;border-top:1px solid #e3e8f1;background:white;flex-wrap:wrap}.replay-segments button{border:0;background:#f0f3f8;padding:9px 12px;border-radius:6px;font-size:12px;color:#62718a;cursor:pointer}.replay-segments button[aria-pressed=true]{color:#294e92;background:#e5edfb}.replay-caption{font-size:12px;line-height:1.5;color:#788498;padding:0 24px 18px;background:white;margin:0}.step-inspector{border-top:1px solid #e3e8f1;padding:22px 24px;background:#f5f7fb}.inspector-header{display:flex;justify-content:space-between;gap:20px}.inspector-kicker{font-size:11px;letter-spacing:1px;color:#6b7d96;text-transform:uppercase}.step-inspector h3{font-size:20px;letter-spacing:-.45px;margin:8px 0 10px}.step-inspector p{font-size:14px;line-height:1.6;color:#5f6d83;max-width:880px;margin-bottom:14px}.step-inspector details summary{font-size:13px;color:#345a94;cursor:pointer}.inspector-code{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.inspector-code>div{min-width:0}.inspector-code h4{font-size:12px;font-weight:550;color:#748298;margin:0 0 7px}.inspector-code pre{font:12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-height:250px;overflow:auto;border:1px solid #dee5ef;border-radius:9px;background:white;padding:15px;margin:0;color:#455570}.mechanism-explanation{display:grid;grid-template-columns:1.4fr 1fr;gap:70px;max-width:1400px;margin:30px auto 0}.mechanism-explanation>p{font-size:18px;line-height:1.65;color:#697587}.mechanism-explanation strong{color:#28394f}.mechanism-explanation .mechanism-caveat{font-size:14px;line-height:1.7}.evidence-method{max-width:1400px;margin:12px auto 0;border-top:1px solid #e4e9f0;padding-top:20px;font-size:13px;color:#66758d}.evidence-method summary{cursor:pointer}.evidence-method p{line-height:1.75;margin:15px 0}.evidence-method ul{padding-left:20px;line-height:1.8}.evidence-method a{text-decoration:underline;text-underline-offset:3px}.evidence-method code{font-size:12px;overflow-wrap:anywhere}.replay-scroll-hint{display:none}.replay button:focus-visible,.replay input:focus-visible,.replay select:focus-visible{outline:3px solid #5273c0;outline-offset:3px}@media(max-width:800px){.mechanism{padding:80px 16px}.mechanism-heading{display:block;padding:0 8px}.mechanism-heading h2{font-size:43px}.mechanism-heading>p{font-size:17px;margin-top:22px}.case-context{gap:8px;margin-top:26px}.case-context p{margin:7px 8px 0;line-height:1.5}.replay-toolbar{padding:18px 16px;flex-wrap:wrap}.replay-tools{gap:7px}.replay-tools button,.replay-tools select{padding:9px 13px}.replay-legend{padding:16px 16px 0;gap:12px;font-size:11px}.replay-canvas-wrap{padding:0 12px}.replay-canvas{min-width:1280px}.replay-scroll-hint{display:block;margin:0;padding:0 16px 12px;font-size:11px;color:#7c8aa1}.replay-progress{padding:0 12px 15px;gap:8px}.run-status{padding:16px 12px;min-height:142px}.run-status-top{align-items:flex-start;flex-direction:column;gap:6px}.run-status p{font-size:13px}.run-status .wait-note{font-size:11px}.replay-segments{padding:15px 12px;gap:6px}.replay-segments button{font-size:11px;padding:9px}.replay-caption{padding:0 12px 15px;font-size:11px}.step-inspector{padding:20px 16px}.inspector-code{grid-template-columns:1fr}.mechanism-explanation{grid-template-columns:1fr;gap:2px;margin:24px 8px}.mechanism-explanation>p{font-size:16px}.mechanism-explanation .mechanism-caveat{font-size:13px}}@media(prefers-reduced-motion:reduce){.trajectory-path,.step-square{transition:none!important}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.trajectory-path,.trajectory-baseline,.milestone-guide,.lane-label,.lane-subtitle,.end-label,.drift-label,.milestone-text{pointer-events:none}.milestone-text{font-size:19px}.lane-label{font-size:20px}.lane-subtitle{font-size:16px}.end-label{font-size:18px}.drift-label{font-size:16px}

.legend-line{display:inline-block;width:24px;border-top:2px dashed #a6adb8}.resolution-node{cursor:pointer;outline:none}.resolution-node:hover .merge-outline,.resolution-node:focus .merge-outline{stroke:#1d3348;stroke-width:2}.unreached-half{fill:#fafbfd;stroke:#a6adb8;stroke-width:1;stroke-dasharray:3 2}.resolution-check{stroke:white;stroke-width:1.5;fill:none;opacity:0;pointer-events:none}.resolution-check.lit{opacity:1}

/* Evidence sits in a closed drawer beneath each main visualization. */
.evidence-drawer{border-top:1px solid #e1e7f0;background:#f4f7fb;box-shadow:inset 0 5px 9px -9px #50657d}
.evidence-drawer>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;cursor:pointer;padding:17px 28px;font-size:13px;font-weight:550;color:#526c8a;user-select:none}
.evidence-drawer>summary::-webkit-details-marker{display:none}
.evidence-drawer>summary::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .2s;flex-shrink:0;margin-right:3px}
.evidence-drawer[open]>summary::after{transform:rotate(225deg)}
.evidence-drawer>summary:hover{background:#edf2f8}
.evidence-drawer>summary:focus-visible{outline:3px solid #5176d1;outline-offset:-4px;border-radius:6px}
.evidence-drawer>.step-inspector,.evidence-drawer>.exploration-inspector{border-top:0;min-height:0}
.file-set-inspector[hidden],.token-inspector[hidden]{display:none}
@media(max-width:800px){.evidence-drawer>summary{padding:16px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.evidence-drawer>summary::after{transition:none}}
