@charset "UTF-8";
:root{--ink:#394454;--muted:#8d94a0;--line:#e8eaf0;--purple:#8153cb;--blue:#5e9ccc;--green:#5aaf91;--orange:#be8851;--rem:16px;color:var(--ink);background:white;font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;font-size:13px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{border:0;background:none;color:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:wait}a{color:var(--purple);text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #ba9be8;outline-offset:3px}[hidden]{display:none!important}select,input[type=number]{border:1px solid #dfe3ea;border-radius:5px;background:#fff;padding:7px 9px;color:#626c7a}input[type=number]{width:66px}label{display:inline-flex;gap:8px;align-items:center;color:#9298a3;font-size:11px}input[type=range]{accent-color:var(--purple);cursor:pointer}summary{cursor:pointer}.topbar{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:16px 30px;border-bottom:1px solid #f0f1f5;background:#fff;position:sticky;top:0;z-index:30;min-height:69px}.brand{font-size:21px;font-weight:850;letter-spacing:-1px;color:#8756cc;white-space:nowrap}.brand>span{color:#5b9dce}.global-controls{display:flex;align-items:center;gap:14px}.global-controls select{width:112px}.segmented{display:flex;border:1px solid var(--line);padding:3px;border-radius:6px}.segmented button{padding:6px 10px;font-size:11px;color:#9595a2;border-radius:4px}.segmented .active{color:var(--purple);background:#f0eafa}.primary{padding:9px 16px;border-radius:5px;background:var(--purple);color:#fff;box-shadow:0 3px 7px #8153cb20}.icon-button{color:var(--purple);padding:8px}.text-button{color:var(--purple);font-size:11px;padding:5px}.secondary{padding:8px 12px;background:#f1ebfa;color:var(--purple);border-radius:5px}main{padding:0 28px}.workspace-toolbar{display:flex;gap:16px;align-items:center;margin:18px 0 12px}.workspace-toolbar select{font-size:11px;max-width:190px}.workspace-toolbar .mesh-control{gap:3px}.workspace-toolbar .timeline{flex:1;min-width:160px;max-width:340px;margin-left:auto}.timeline input{width:100%;height:7px;margin:0}.timeline #timelineTicks{display:flex;justify-content:space-between;font-size:8px;color:#a2a6b1;margin-top:5px}.context-line{display:flex;align-items:center;gap:16px;color:#999fac;font-size:10px;min-height:22px}#timeTitle{color:var(--purple);font-size:11px}.interaction-hint{margin-left:auto}.context-banner{padding:8px 13px;background:#fbf8ff;color:#86689e;font-size:11px;margin-top:8px}.flow-scroll{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#c4c9d2 #f5f6f8;position:relative;padding-top:9px}.flow{display:flex;position:relative;gap:28px;min-width:1160px;min-height:455px;width:max-content;width:100%;padding:23px 0 80px;align-items:flex-start}.stage{position:relative;flex-shrink:0;width:var(--node-width);z-index:2;transition:width .55s cubic-bezier(.2,.8,.2,1),opacity .3s;min-height:328px}.stage-input{--node-width:188px}.stage-encode{--node-width:150px}.stage-group{--node-width:154px}.stage-mpi{--node-width:75px}.stage-ec{--node-width:85px}.stage-solve{--node-width:177px}.stage-return{--node-width:188px}.stage-heading{display:flex;align-items:start;gap:6px;padding:0 0 18px;text-align:left;width:100%;font-size:12px;color:#838996;white-space:nowrap;font-weight:500}.stage-heading small{display:block;font-size:9px;color:#afb4be;font-weight:400;margin-top:5px}.zoom-symbol{font-size:19px;opacity:0;transition:opacity .2s;margin-left:5px;color:var(--purple);line-height:14px}.stage:hover .zoom-symbol,.stage.is-expanded .zoom-symbol{opacity:1}.stage-heading:hover{color:var(--purple)}.overview{position:relative}.stage-input canvas,.stage-return canvas{width:100%;height:auto;aspect-ratio:1;display:block;cursor:crosshair}.stage-return canvas{margin-top:10px}.colorbar{height:5px;border-radius:2px;margin:7px 7px 0}.colorbar-labels{display:flex;justify-content:space-between;color:#929ba8;font-size:8px;margin:3px 7px 9px}.node-caption{font-size:10px;color:#9396a7;line-height:1.8;text-align:center;margin-top:9px}.micro-copy{font-size:9px;color:#acafbb;text-align:center;line-height:1.8;margin:12px 0 0}.anchor-caption{text-align:center;color:#8973ac;font-size:10px;margin-top:10px}.column-label{font-size:9px;color:#a2a5b2;margin:1px 0 18px;text-align:center}.vector-rows{display:flex;flex-direction:column;gap:19px}.vector-row{display:flex;align-items:center;gap:6px;font-size:10px;min-height:25px;position:relative;cursor:pointer;color:#9299a6}.vector-row .row-label{width:41px;text-align:right;white-space:nowrap;font-size:9px}.vector-row.selected .row-label{color:var(--purple);font-weight:650}.vector-strip{display:flex;gap:1px;align-items:stretch;flex:1;height:20px;min-width:0}.vector-strip i{flex:1;min-width:1px;display:block;transition:opacity .2s,transform .2s}.vector-row:hover .vector-strip i{opacity:1!important}.vector-row.selected .vector-strip{outline:1px solid #a78ad5;outline-offset:3px}.vector-row small{font-size:8px;color:#aca1b9}.encoding-caption{text-align:center;color:#a4a2b2;font-size:9px;margin:20px 0 9px}.var-chips{display:flex;gap:3px;flex-wrap:wrap;justify-content:center}.chip{padding:3px 4px;font-size:8px;color:#869bb2;background:#f3f7fa;border-radius:2px}.bin-preview{display:flex;justify-content:center;gap:5px;font:9px Consolas,monospace;margin:9px 0;color:#8c73b0}.bin-preview span{background:#f4effa;padding:4px}.stage-group .overview>.vector-rows{padding-top:26px}.zone-dot{width:14px;height:14px;border-radius:50%;display:inline-block;flex-shrink:0;border:2px solid white;box-shadow:0 0 0 1px #ded2ee}.zone-row{justify-content:center;gap:9px;min-height:25px}.zone-row .row-label{width:54px}.zone-row.selected{color:var(--purple)}#zonePreview{width:100%;height:96px;margin-top:18px;cursor:crosshair;opacity:.85}#rankDiagram{width:100%;height:170px;margin-top:34px}#mpiPreview{min-height:32px}.mini-equation{font:italic 12px Georgia,serif;text-align:center;color:#a2a1b3;margin:22px 0 16px}.stage-ec .overview{padding-top:32px}#importanceOverview{width:100%;height:194px;cursor:pointer}#ecGauge{text-align:center;font:italic 12px Georgia,serif;color:#a2a2b0;margin-top:4px}#ecGauge strong{font:12px Consolas,monospace;color:#72a48f;margin-left:6px}#ecGauge.fail strong{color:#c3966c}.stage-ec .micro-copy{font-size:8px;margin-top:6px}#ecDecision{font-size:9px;white-space:nowrap}.solver-pair{display:flex;gap:14px;margin-top:34px;align-items:start}.solver-pair>div{width:calc(50% - 7px);text-align:center}.solver-pair span{font-size:10px;color:#9893a7}.solver-pair canvas{width:100%;aspect-ratio:1;display:block;margin:10px 0;cursor:pointer;opacity:.85}.solver-pair small{color:#b2adbc;font-size:8px}#sourceMiniResult{font-size:10px;color:#9879bd;text-align:center;line-height:1.8;margin-top:26px}.rr-overview{height:42px;display:flex;flex-direction:column;justify-content:center;gap:5px;text-align:center;font-size:9px;color:#a593ba}.rr-overview .vector-strip{flex:none;height:12px}.flow-connectors{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}.data-ribbon{fill:url(#cellFlow);transition:opacity .25s;opacity:.45}.data-ribbon.zone-ribbon{fill:url(#zoneFlow)}.data-ribbon.selected{opacity:.95;stroke:#aa89d3;stroke-width:.3}.data-ribbon.hot{opacity:1;stroke:#8756c8;stroke-width:1}.trace-wire{fill:none;stroke:#b79cd7;stroke-width:1;opacity:.7}.moving-wire{fill:none;stroke:#8550c8;stroke-width:2;stroke-dasharray:12 10;animation:flowDash 1s linear infinite}.ec-loop{fill:none;stroke:#b6a0d0;stroke-width:1.3;stroke-dasharray:3 5;marker-end:url(#ecArrow);opacity:.45}#ecLoopText{font-size:9px;fill:#b1a0c7;opacity:.65}.ec-loop.active{opacity:1;stroke:#9865d0;stroke-width:2;animation:flowDash 1.1s linear infinite}#ecLoopText.active{opacity:1;fill:#8454ba}.stage.active .stage-heading{color:#8654c9}.stage.active .overview{filter:drop-shadow(0 0 7px #cfb8ec88)}.stage.is-dimmed{opacity:.24}.stage.is-expanded{--node-width:740px;opacity:1;min-height:450px}.stage.is-expanded>.overview{display:none}.stage-input.is-expanded{--node-width:650px}.stage-encode.is-expanded{--node-width:790px}.stage-group.is-expanded{--node-width:780px}.stage-mpi.is-expanded{--node-width:760px}.stage-ec.is-expanded{--node-width:800px}.stage-solve.is-expanded{--node-width:1450px}.stage-return.is-expanded{--node-width:700px}.stage:not(.is-expanded)>.expansion{display:none}.expansion{animation:fadeIn .5s .1s both;position:relative;min-height:380px}.detail-panel{margin:0;padding:0;background:white}.detail-header{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:13px;border-bottom:1px solid #f0ecf7;padding-bottom:10px}.detail-header h2{font-size:15px;font-weight:500;margin:0;color:#7c658f}.detail-header>div>span{font-size:9px;color:#aca0b8;letter-spacing:1px}.detail-header button{font-size:23px;color:#a59caf;padding:0 7px}.detail-panel p{font-size:11px;line-height:1.85;color:#9294a3}.flow-status{display:flex;align-items:center;gap:8px;color:#9494a5;font-size:10px;padding:12px 0;border-bottom:1px solid #f0f0f5;min-height:38px}#statusDot{height:5px;width:5px;background:#9e7ccc;border-radius:50%}#runProgress{margin-left:auto;color:#baadc9}.selection-bar{display:flex;align-items:center;gap:18px;min-height:58px;font-size:10px;color:#929aaa}.selection-bar strong{font-size:11px;color:#8a6aac;font-weight:500;margin-right:auto}.selection-bar input{padding:5px;width:65px}.precision-note{font-size:9px;color:#aaa7b5}.reading{margin:38px auto 15px;max-width:1080px;padding-top:25px;border-top:1px solid var(--line)}.reading h1{font-size:23px;font-weight:550;letter-spacing:-.5px;margin-bottom:15px;color:#626e7c}.reading p{font-size:12px;line-height:2;color:#99a0aa;max-width:900px}.reading-columns{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:24px}.reading h2{font-size:14px;font-weight:500;color:#858b98}footer{padding:25px 0;margin-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#a4a4b3}footer details{max-width:640px;text-align:right}footer p{text-align:left;line-height:1.9;font-size:10px}.calculation-popover{position:fixed;inset:auto;top:120px;left:50%;transform:translateX(-50%);width:min(940px,94vw);max-height:calc(100vh - 150px);overflow:auto;background:white;box-shadow:0 12px 65px #26334730;border:1px solid #e1e4ec;border-radius:7px;z-index:50}.popover-header{position:sticky;top:0;background:#f5f6f9;padding:11px 16px;display:flex;align-items:center;justify-content:space-between;z-index:2;font-size:13px;color:#687285}.popover-header button{font-size:22px;color:#a5a9b5}#calculationBody{padding:18px 24px 22px}.formula{font:18px/1.95 Georgia,"Times New Roman",serif;color:#7a6895;margin:14px 0;padding:10px 0;overflow:auto}.formula small{display:block;font:10px/1.9 "Segoe UI","Microsoft YaHei",sans-serif;color:#aaa3b3;margin-top:10px}.frac{display:inline-flex;flex-direction:column;vertical-align:middle;text-align:center;font-size:90%;line-height:1.5;margin:0 6px}.frac>span:first-child{border-bottom:1px solid #a597b5;padding:0 5px}.formula sub,.formula sup{font-size:70%}.num{font:11px ui-monospace,Consolas,monospace}.note{padding:9px 12px;background:#faf8fc;color:#9b8dab;font-size:10px;line-height:1.9;border-radius:3px}.note.warning{background:#fff9f0;color:#b39167}.fact-row{display:flex;gap:25px;flex-wrap:wrap;margin:15px 0}.fact{font-size:10px;color:#a39bac}.fact strong{display:block;font-size:16px;color:#846a9c;font-weight:500;margin-top:5px}.detail-panel details,#calculationBody details{margin:12px 0;border-top:1px solid #efebf5;padding:10px 0;font-size:11px;color:#8b7ca0}.detail-panel summary,#calculationBody summary{font-size:11px;color:#9684a8}.detail-panel details[open]>summary,#calculationBody details[open]>summary{margin-bottom:10px}.table-scroll{max-height:280px;overflow:auto;border:1px solid #f0edf5;border-radius:3px}table{width:100%;border-collapse:collapse;font-size:10px;white-space:nowrap}th{font-weight:500;background:#faf9fc;color:#a398b0;position:sticky;top:0;z-index:1}td,th{padding:7px 9px;border-bottom:1px solid #f3f0f7;text-align:left}td{color:#8e829e}tr.highlight td,tr:hover.clickable td{background:#f7f1fc}.inline-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:15px 0}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.matrix-box{padding:5px}.matrix-box h3{font-size:11px;font-weight:500;color:#9c91a8}.matrix-canvas{width:100%;max-width:360px;aspect-ratio:1;display:block;cursor:crosshair}.matrix-caption{font-size:9px;color:#aea6b5;line-height:1.8;margin-top:8px}.projection-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:25px}.projection-canvas{width:100%;height:290px;cursor:crosshair}.field-canvas-large{width:100%;max-width:420px;aspect-ratio:1;height:auto;display:block;margin:auto}.large-colorbar{height:7px;max-width:410px;margin:8px auto}.rank-large{height:200px;width:100%}.message-list{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}.message-list button,.ec-controls button{padding:7px 9px;background:#faf7fd;color:#9879b2;border-radius:4px;font-size:10px}.message-list .active{background:#eee6f8}.ec-controls{display:flex;gap:10px;align-items:center}.tabs{display:flex;gap:4px;flex-wrap:wrap;margin:10px 0}.tabs button{padding:8px 10px;color:#a093b0;font-size:10px}.tabs button.active{background:#f0eaf8;color:var(--purple)}.keycode{word-break:break-all;white-space:normal;line-height:1.9;font-size:10px}.hash-steps{display:flex;flex-wrap:wrap;gap:8px;max-height:210px;overflow:auto}.hash-steps span{padding:6px;background:#faf7fc;font-size:9px;color:#a18bae}.tooltip{position:fixed;z-index:90;pointer-events:none;background:#fff;color:#6c5a83;box-shadow:0 3px 25px #44335b25;border:1px solid #eee6f5;border-radius:5px;padding:9px 12px;font-size:10px;line-height:1.8;max-width:340px}.trace-accept{color:#67a892}.trace-reject{color:#c39a6c}.loading{padding:35px;color:#aa9db6;font-size:12px;text-align:center}.error{padding:14px;color:#b88179;background:#fff9f7}.event-list-item{width:100%;text-align:left;display:flex;justify-content:space-between;padding:14px;border-bottom:1px solid var(--line);font-size:12px;color:#9276ad}.event-list-item small{font-size:10px;color:#b1a2bd}dialog{width:min(650px,90vw);border:1px solid var(--line);border-radius:8px;padding:24px;box-shadow:0 15px 90px #39334730;max-height:80vh}dialog::backdrop{background:#33254235}dialog p{font-size:11px;color:#a090b0;line-height:1.8}#eventList{max-height:55vh;overflow:auto}.button-row{display:flex;gap:10px}.simd-lanes{display:flex;gap:7px;margin:15px 0}.simd-lanes>div{flex:1;text-align:center;padding:10px;background:#faf6fd;color:#9a7caf;font-size:11px}.simd-lanes strong{display:block;font:13px Consolas,monospace;padding:9px 0}.math-arrow{color:#c0afd8}
/* The expanded computation stays on the same connected surface. */
.calc-graph{display:flex;align-items:center;justify-content:center;gap:22px;padding:22px 0 12px}.calc-graph .operator{font:23px Georgia,serif;color:#b3aabc}.calc-column{display:flex;flex-direction:column;gap:12px;align-items:center;min-width:90px}.calc-column h3{margin:0 0 10px;font-size:11px;color:#a192b1;font-weight:500}.calc-row{display:flex;align-items:center;gap:7px;font-size:10px;color:#9d8aa9;min-height:34px}.calc-row>b{font-weight:400;width:54px;text-align:right}.calc-vector{display:flex;gap:2px;height:22px;align-items:stretch}.calc-vector span{width:24px;display:flex;align-items:center;justify-content:center;background:#ecf2fa;color:#889cb6;font:9px Consolas,monospace;transition:opacity .25s,transform .25s,background .25s;cursor:pointer}.calc-vector.bins span{background:#f1e9fa;color:#9b7bb9}.calc-row.focus .calc-vector span{box-shadow:0 0 0 1px #c5abdf}.calculation-note{text-align:center;font-size:10px;color:#b09eba;line-height:1.8}.bin-animation{display:flex;align-items:center;justify-content:center;gap:12px;margin:23px 0;min-height:130px}.bin-operation{text-align:center;min-width:108px;transition:transform .3s,opacity .3s;opacity:.4}.bin-operation.hot{opacity:1;transform:translateY(-5px)}.bin-operation .op-caption{font-size:10px;color:#a492b2;margin-bottom:12px}.bin-operation strong{font:19px Consolas,monospace;display:block;color:#8b67b6}.bin-operation small{font-size:9px;color:#b5a7c0;display:block;margin-top:10px}.bin-animation>.operator{color:#cbbddc;font:20px Georgia,serif}.bin-choice{display:flex;gap:5px;flex-wrap:wrap;margin:12px 0}.bin-choice button{padding:5px 9px;color:#9c87b1;font-size:10px;border-bottom:2px solid transparent}.bin-choice button.active{border-color:#a780d1}.inline-visualization{width:100%;display:block;margin:10px 0}.chem-journey{display:flex;align-items:flex-start;gap:21px;position:relative;padding:15px 8px 30px;min-height:390px}.chem-node{width:92px;flex-shrink:0;text-align:center;position:relative}.chem-node>button{font-size:11px;color:#927cad;padding:5px;white-space:nowrap}.chem-node>button:hover{color:#7546b4}.chem-node canvas{width:92px;height:230px;display:block;margin:24px 0 12px;cursor:pointer}.chem-node small{font-size:9px;color:#b2a8bc;line-height:1.8;display:block}.chem-node.matrix-node{width:170px}.chem-node.matrix-node canvas{width:170px;height:170px;margin-top:28px}.chem-link{padding-top:123px;color:#bdacd6;font-size:18px}.chem-fork{display:grid;grid-template-columns:137px 137px 110px;column-gap:23px;row-gap:35px;position:relative}.chem-fork::before{content:"";position:absolute;left:-17px;top:46px;bottom:60px;width:1px;background:#d6c1e7}.chem-fork .chem-node{width:137px}.chem-fork .chem-node canvas{width:137px;height:137px;margin-top:14px}.chem-node.opt>button{color:#a273bd}.chem-node.standard>button{color:#789cc0}.solver-label{position:absolute;left:0;top:-9px;font-size:8px;color:#bcafc8}.chem-outcomes{font-size:10px;color:#a486bb;margin-top:14px;line-height:2}.sequence-strip{display:flex;flex-direction:column;gap:4px;max-height:135px;overflow:auto;margin:15px 0}.sequence-strip span{font-size:8px;padding:4px 6px;background:#faf7fd;text-align:left;color:#a48bb7}.sequence-strip .accepted{background:#f0f8f4;color:#72a18c}.sequence-strip .rejected{background:#fff7ed;color:#bf9b76}.chem-detail-inline{border-top:1px solid #f0e9f7;margin-top:10px;padding:18px 0;max-width:100%;min-height:190px}.chem-detail-inline h3{font-size:13px;color:#9581ad;font-weight:500}.chem-journey .chem-vector-node canvas{height:230px}.operation-matrix-layout{display:flex;align-items:center;justify-content:center;gap:25px;margin:12px 0 25px}.operation-matrix-layout canvas{width:210px;height:210px}.operation-matrix-layout>.operator{font:27px Georgia,serif;color:#bbb0c7}.lane-animator{display:grid;grid-template-columns:125px 38px 125px 38px 125px 38px 125px;gap:9px;justify-content:center;margin:24px 0;align-items:center}.lane-vector{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;transition:opacity .3s,transform .3s}.lane-vector.vertical{grid-template-columns:1fr}.lane-vector span{background:#eff3fb;color:#7395bb;padding:12px 4px;text-align:center;font:10px Consolas,monospace;border:1px solid transparent;transition:all .3s;min-height:39px}.lane-vector.u span{background:#f5effb;color:#a084ba}.lane-vector.product span{background:#f8f6fc;color:#a89bb4}.lane-vector.result span{background:#f0f8f5;color:#74a28f}.lane-vector span.lane-hot{border-color:#a683d0;box-shadow:0 2px 14px #9b79c92a;transform:scale(1.035)}.lane-group{text-align:center}.lane-group h4{font-weight:400;font-size:10px;color:#a28eb3;margin:0 0 13px}.lane-group small{font-size:9px;color:#b5a6c2;display:block;margin-top:9px}.lane-animator>.operator{text-align:center;font:22px Georgia,serif;color:#b9aec5}.lane-status{text-align:center;color:#9e82bb;font-size:11px;min-height:20px}.scalar-compare{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding-top:12px;border-top:1px solid #eee8f4}.scalar-compare h4{font-size:11px;font-weight:400;color:#9b88b3}.scalar-lines{font:11px/2 Consolas,monospace;color:#b8b1c2}.scalar-lines .executing{color:#9870c0;background:#f8f4fc}.simd-line{font:11px/2 Consolas,monospace;color:#a282bb}.computation-legend{font-size:9px;color:#b2a6bf;text-align:center;margin-top:12px}.vector-cell-tip{font-size:10px;color:#ad9cba}.ec-chart{height:210px;width:100%;display:block}.return-field-expanded{max-width:440px;margin:auto;aspect-ratio:1;width:100%;display:block}.flow.has-expanded .ec-loop{opacity:.2}.flow.has-expanded #ecLoopText{opacity:.2}.flow.has-expanded .data-ribbon:not(.selected){opacity:.12}.stage-mpi.is-expanded .overview{display:none}
@keyframes flowDash{to{stroke-dashoffset:-44}}@keyframes fadeIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.flow{gap:42px;min-height:510px;padding-top:42px}.stage-input,.stage-return{--node-width:230px}.stage-encode{--node-width:180px}.stage-group{--node-width:180px}.stage-mpi{--node-width:100px}.stage-ec{--node-width:110px}.stage-solve{--node-width:220px}.stage-heading{font-size:14px}.vector-rows{gap:25px}.solver-pair canvas{max-width:102px}.stage.is-expanded{width:var(--node-width)}.stage-solve.is-expanded{--node-width:1450px}.stage-encode.is-expanded{--node-width:790px}.stage-group.is-expanded{--node-width:780px}.stage-mpi.is-expanded{--node-width:760px}.stage-ec.is-expanded{--node-width:800px}.stage-input.is-expanded{--node-width:650px}.stage-return.is-expanded{--node-width:700px}}
@media(max-width:900px){main{padding:0 16px}.topbar{padding:13px 16px;gap:12px}.brand{font-size:18px}.workspace-toolbar{flex-wrap:wrap;gap:10px}.workspace-toolbar .timeline{max-width:none;flex:1;min-width:160px}.interaction-hint{display:none}.precision-note{display:none}.calculation-popover{top:100px;max-height:calc(100vh - 125px)}.lane-animator{grid-template-columns:100px 20px 100px 20px 100px 20px 100px;gap:5px}.selection-bar{gap:10px}.reading-columns{gap:25px}.topbar .global-controls{gap:7px}.context-line{flex-wrap:wrap}}
@media(max-width:620px){.topbar{flex-wrap:wrap}.global-controls{width:100%;justify-content:space-between}.brand{font-size:20px}.workspace-toolbar select{max-width:150px}.timeline{width:100%;order:8}.flow{padding-top:20px}.selection-bar{flex-wrap:wrap;padding:13px 0}.selection-bar>strong{width:100%}.reading h1{font-size:20px}.reading-columns{grid-template-columns:1fr;gap:10px}.context-line{font-size:9px}.two-columns,.projection-layout{grid-template-columns:1fr}.calculation-popover{top:130px;max-height:calc(100vh - 150px)}#calculationBody{padding:12px}.lane-animator{overflow-x:auto;justify-content:start}.bin-animation{justify-content:start;overflow:auto}.scalar-compare{gap:12px}footer{flex-direction:column}footer details{text-align:left}}
/* The graph uses the available screen width; grouping is one continuous region. */
.flow{gap:clamp(18px,1.7vw,54px);min-height:calc(100vh - 235px);min-width:1180px}.stage{flex:var(--node-flex,1) 0 var(--node-width)}.stage-input,.stage-return{--node-flex:1.3}.stage-encode{--node-width:350px;--node-flex:2.4}.stage-solve{--node-flex:1.5}.stage-ec{--node-flex:.5}.stage-mpi{--node-flex:.5}.stage.is-expanded{flex:0 0 var(--node-width)}.grouping-overview{display:grid;grid-template-columns:1fr 1fr;gap:60px}.grouping-output{padding-top:26px}.grouping-output .vector-rows{gap:19px}.stage-input .overview,.stage-return .overview{padding-top:21px}.vector-rows{gap:clamp(18px,3.5vh,45px)}.grouping-output .vector-rows{gap:clamp(18px,3.5vh,45px)}.stage-solve .overview{padding-top:30px}.stage-encode .stage-heading{margin-bottom:0}.stage-encode.is-expanded{--node-width:850px}.stage-group{display:none}.stage .overview{min-height:335px}#zonePreview{height:130px}.member-points{display:flex;flex-direction:column;gap:7px;font-size:10px;color:#a388b4;max-height:230px;overflow:auto}.zoom-guide{display:flex;gap:14px;align-items:center;justify-content:center;color:#a997b5;font-size:10px;margin:10px 0}.typeset-math{font-size:13px;color:#8b73a1;overflow:auto;margin:15px 0;padding:5px 0}.typeset-math .katex-display{margin:.5em 0}.source-context{font-size:11px;color:#a58cb8;margin:8px 0 20px}.stage-return .overview{padding-top:0}.flow-scroll{min-height:calc(100vh - 220px)}.precision-note{margin-left:auto}.stage-mpi,.stage-ec{min-width:77px}.calculation-popover .katex-display{font-size:.98em}.grouping-inputs .vector-strip{height:24px}.grouping-output .zone-row{height:25px}.flow.has-expanded{min-height:600px}.flow:not(.has-expanded) .stage-heading{font-size:clamp(12px,.8vw,16px)}.node-caption{font-size:clamp(10px,.62vw,13px)}.micro-copy{font-size:clamp(9px,.56vw,12px)}.column-label{font-size:clamp(9px,.55vw,12px)}.vector-row .row-label{font-size:clamp(9px,.6vw,12px)}.vector-row small{font-size:clamp(8px,.55vw,11px)}.vector-row{min-height:25px}.stage.is-expanded .stage-heading{font-size:14px}.stage.is-expanded .overview{display:none}.stage-return .vector-strip{height:18px}
@media(min-width:1600px){.grouping-overview{gap:clamp(70px,5vw,170px)}.stage-encode{--node-width:500px}.stage-encode.is-expanded{--node-width:850px}.stage-input,.stage-return{--node-width:250px}.stage-solve{--node-width:250px}.stage-mpi{--node-width:110px}.stage-ec{--node-width:110px}.stage-input.is-expanded{--node-width:650px}.stage-return.is-expanded{--node-width:700px}.vector-rows{gap:clamp(25px,3.7vh,55px)}.grouping-output .vector-rows{gap:clamp(25px,3.7vh,55px)}.solver-pair{margin-top:55px}#zonePreview{height:180px}.stage-solve.is-expanded{--node-width:1450px}.stage-ec.is-expanded{--node-width:800px}.stage-mpi.is-expanded{--node-width:760px}}
.calc-graph{gap:18px;padding:12px 0 8px}.calc-column{gap:7px}.calc-row{min-height:27px}.calc-column h3{margin-bottom:5px}.bin-animation{min-height:88px;margin:14px 0}.bin-operation{min-width:105px}.bin-operation .op-caption{margin-bottom:7px}.bin-operation small{margin-top:5px}.stage-encode.is-expanded .typeset-math{font-size:12px}.grouping-output .zone-dot{width:16px;height:16px}.ec-phase-caption{font-size:12px;color:#9878b2;padding:12px 0}.chem-journey{gap:clamp(10px,.9vw,22px)}.chem-node{width:70px}.chem-node canvas{width:70px}.chem-node.matrix-node{width:135px}.chem-node.matrix-node canvas{width:135px;height:135px}.chem-fork{grid-template-columns:110px 110px 90px;column-gap:20px}.chem-fork .chem-node{width:110px}.chem-fork .chem-node canvas{width:110px;height:110px}.stage-solve.is-expanded{--node-width:min(1450px,calc(100vw - 95px))}.source-context{margin-bottom:13px}.field-canvas-large{max-width:none;width:550px;max-width:100%}.projection-canvas{height:245px}.stage-encode .grouping-output{position:relative;z-index:3}.typeset-math .katex-display>.katex{white-space:normal}.stage-solve.is-expanded .expansion{min-height:510px}
@media(min-width:1700px){.chem-node{width:92px}.chem-node canvas{width:92px}.chem-node.matrix-node{width:170px}.chem-node.matrix-node canvas{width:170px;height:170px}.chem-fork{grid-template-columns:137px 137px 110px;column-gap:23px}.chem-fork .chem-node{width:137px}.chem-fork .chem-node canvas{width:137px;height:137px}.stage-solve.is-expanded{--node-width:1450px}}
.operation-matrix-layout{margin:5px 0 10px;gap:25px}.operation-matrix-layout canvas{width:112px;height:112px}.lane-animator{grid-template-columns:150px 22px 150px 22px 150px 22px 150px;gap:8px;margin:15px 0;align-items:center}.lane-vector span{font-size:9px;padding:10px 2px;min-height:32px}.lane-group h4{margin-bottom:8px}.lane-group small{font-size:8px}.scalar-compare h4{margin:6px 0}.scalar-lines,.simd-line{font-size:9px;line-height:1.7}.lane-status{font-size:10px;min-height:16px}.operation-matrix-layout .column-label{margin-bottom:5px}.calculation-popover .typeset-math{font-size:12px;margin:7px 0}.computation-legend{font-size:8px}.chem-node.opt canvas{border:1px solid #efe8f8}.flow-connectors{height:100%}.source-context{font-size:10px}.stage:not(.is-expanded) .overview{transition:opacity .3s}
.lane-vector{grid-template-columns:repeat(4,minmax(0,1fr));min-width:0}.lane-vector span{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:9px}.lane-group{min-width:0}.calculation-popover{top:95px;max-height:calc(100vh - 120px)}.operand-meaning{text-align:center;color:#a992b8;font-size:9px;margin:9px 0}.calculation-popover .inline-controls{margin:7px 0}.operation-matrix-layout canvas{width:96px;height:96px}.lane-group small{font-size:8px;line-height:1.8}.scalar-compare{padding-top:7px}.lane-animator{margin:12px 0}.calculation-popover .computation-legend{margin-top:5px}.stage-solve .expansion>.detail-panel{width:100%}#allImportance{margin:18px 0}.ec-chart{margin-bottom:8px}.stage-ec.is-expanded{--node-width:850px}
.source-connections{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:visible}.chem-node,.chem-fork{z-index:1}.chem-node canvas{background:white}.chem-link{opacity:0}.chem-journey .matrix-node small{margin-top:8px}.lane-animator>.operator{font-size:22px}.calculation-popover .lane-vector{gap:2px}.calculation-popover .lane-vector span{font-size:9px;white-space:nowrap}.source-context{line-height:1.8}
.solver-pair canvas{max-width:none!important;margin:10px auto}.stage-solve .solver-pair{gap:24px}.stage-solve .solver-pair>div{width:calc(50% - 12px)}.flow{min-height:calc(100vh - 290px)}.flow-scroll{min-height:calc(100vh - 275px)}.flow:not(.has-expanded){padding-top:clamp(22px,4vh,55px)}.stage-return canvas{margin-top:16px}.node-caption strong{font-weight:500}.stage-mpi .overview,.stage-ec .overview{min-height:360px}
.return-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:5;pointer-events:none;overflow:visible}.flow-connectors .data-ribbon{pointer-events:fill;cursor:pointer}.source-connections path{pointer-events:fill;cursor:pointer;transition:opacity .2s}.source-connections path:hover{opacity:1;stroke:#b48bd0;stroke-width:.6}.stage{pointer-events:none}.stage-heading,.stage .overview,.stage .expansion{pointer-events:auto}.grouping-overview{pointer-events:none!important}.grouping-inputs,.grouping-output{pointer-events:auto}.chem-journey{pointer-events:none}.chem-node,.chem-fork,.chem-detail-inline{pointer-events:auto}.stage-heading small{color:#a4aab6}.source-context{pointer-events:auto}
.flow.paused .moving-wire,.flow.paused .ec-loop.active{animation-play-state:paused}.chem-fork{pointer-events:none}.chem-fork .chem-node{pointer-events:auto}.calculation-popover .lane-group h4{font-size:10px}
.average-animation{width:100%;height:110px;display:block;margin:8px 0}.stage-encode.is-expanded .member-points{max-height:160px}.node-caption strong{color:#9181aa}.calculation-popover[role=dialog]{outline:none}

.stage-heading{font-size:13px;color:#6c7586}.stage-heading small{font-size:10px}.vector-row .row-label,.zone-row .row-label{font-size:10px}.column-label{font-size:10px;color:#7e8493}.node-caption{font-size:11px;color:#7f8394}.anchor-caption{font-size:11px}.detail-panel p,.calculation-note{color:#7c7d8c;font-size:12px}.detail-header h2{font-size:16px;color:#715b87}.typeset-math{color:#715d8b}.calculation-popover .typeset-math{font-size:14px}.lane-animator{grid-template-columns:168px 22px 168px 22px 168px 22px 168px}.calculation-popover .lane-vector span{font-size:10px;padding:10px 1px}.lane-group h4{font-size:11px}.lane-group small,.operand-meaning{font-size:10px}.scalar-lines,.simd-line{font-size:10px}.computation-legend{font-size:10px}.calculation-popover .computation-legend{font-size:9px}.flow.has-expanded .stage.is-dimmed{opacity:.32}
@media(max-width:850px){.lane-animator{grid-template-columns:150px 22px 150px 22px 150px 22px 150px;min-width:720px}.calculation-popover .lane-animator{overflow:visible}#calculationBody{overflow:auto}}

/* Readable typography shared by the overview and all calculation details. */
:root{font-size:16px;--ink:#354257;--muted:#657186}label{font-size:14px;color:#647085}select,input[type=number]{font-size:14px;padding:9px 10px}.topbar{padding:15px 28px}.brand{font-size:24px}.global-controls select{width:135px}.segmented button,.text-button{font-size:14px}.primary,.secondary{font-size:15px}.workspace-toolbar select{font-size:14px;max-width:220px}.context-line{font-size:13px;gap:14px}#timeTitle{font-size:14px}.timeline #timelineTicks{font-size:11px}.interaction-hint{font-size:12px}.stage-heading{font-size:16px;color:#48586e}.stage-heading small{font-size:12px;color:#718096;line-height:1.5}.stage.is-expanded .stage-heading{font-size:18px}.column-label{font-size:13px;color:#68788e}.vector-row .row-label,.zone-row .row-label{font-size:12px;width:62px}.vector-row small{font-size:12px}.vector-row{min-height:30px}.zone-row .row-label{width:74px}.vector-strip{height:24px}.node-caption,.anchor-caption,.micro-copy,.stage-ec .micro-copy,#ecDecision{font-size:13px;color:#657186;white-space:normal}.chip{font-size:12px;padding:5px}.encoding-caption,.bin-preview{font-size:13px}.bin-preview span{padding:5px}.colorbar-labels{font-size:12px}.solver-pair span,.solver-pair small,#sourceMiniResult{font-size:13px}.rr-overview{height:auto;min-height:80px;font-size:13px;line-height:1.5;cursor:pointer}.rr-overview .vector-strip{height:18px}.rr-overview small{font-size:12px}.stage-return canvas{margin-top:18px}.stage-ec #ecGauge{font-size:15px}.stage-ec #ecGauge strong{font-size:15px}.flow-status,.selection-bar,.selection-bar strong,.selection-bar label{font-size:14px}.precision-note,footer{font-size:12px}.selection-bar{flex-wrap:wrap}.flow{gap:26px;min-width:1380px;min-height:calc(100vh - 290px)}.stage-encode{min-width:420px}.stage-mpi,.stage-ec{min-width:125px}.stage-input,.stage-return{min-width:210px}.stage-solve{min-width:210px}.detail-header h2{font-size:20px;color:#655080}.detail-panel p,.math-description,.note,.calculation-note,.zone-definition{font-size:15px;color:#58677d;line-height:1.8}.detail-panel h3,#calculationBody h3{font-size:18px}.detail-panel h4,#calculationBody h4{font-size:16px}.detail-panel summary,#calculationBody summary,.detail-panel details,#calculationBody details{font-size:15px;color:#68547f}.num{font-size:14px;color:#43556a}.typeset-math,.calculation-popover .typeset-math{font-size:18px;line-height:1.5;color:#624c80;margin:18px 0;overflow-x:auto}.inline-math .katex{font-size:1.05em}th,td{font-size:14px;padding:10px 12px}th{color:#4d5f75;font-weight:550}td{color:#52647a}.table-scroll{max-height:380px}.calculation-popover{width:min(1220px,96vw);top:85px;max-height:calc(100vh - 105px)}.popover-header{font-size:17px;padding:14px 20px}#calculationBody{padding:20px 30px 26px}.operation-matrix-layout{display:grid;grid-template-columns:240px minmax(400px,1fr) 240px;gap:20px;margin:8px 0 22px;align-items:center}.operation-matrix-layout canvas{width:240px;height:240px}.operation-matrix-layout .column-label{font-size:13px;min-height:36px}.matrix-focus svg{width:100%;display:block}.matrix-phase{font-size:14px;text-align:center;color:#695386;min-height:42px;line-height:1.6}.lane-animator{grid-template-columns:1fr 24px 1fr 24px 1fr 24px 1fr;gap:10px}.lane-group h4{font-size:14px}.calculation-popover .lane-vector span{font-size:13px;padding:14px 2px;min-height:44px}.lane-group small,.operand-meaning,.lane-status,.scalar-lines,.simd-line{font-size:14px;line-height:1.7}.scalar-compare{gap:24px}.scalar-lines div{padding:5px}.computation-legend,.calculation-popover .computation-legend{font-size:12px;color:#6d778a}.chem-node button,.solver-label,.chem-node small,.sequence-strip span{font-size:13px}.source-context{font-size:14px}.chem-outcomes{font-size:14px}.zoom-guide{font-size:14px;color:#647188}.overview-definition{font-size:12px;line-height:1.7;margin:15px 0 4px}.stage-encode.is-expanded,.stage-ec.is-expanded{--node-width:1000px}.stage-mpi.is-expanded{--node-width:1000px}.stage-return.is-expanded{--node-width:1060px}.return-map-layout{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin:16px 0}.return-map-layout canvas{width:100%;height:auto;max-width:100%;cursor:crosshair}.return-map-layout .return-field-expanded{width:100%;height:auto}.return-zone-control{display:flex;margin:15px 0}.return-zone-control select{width:400px;max-width:75%}.return-map-layout #returnVector .vector-strip{height:24px}.zone-definition b{color:#6f4f92}.rank-large{width:100%;height:auto;max-width:760px;display:block;margin:8px auto 15px}.mpi-transfer{cursor:pointer}.mpi-transfer:hover path{stroke:#7240b1;stroke-width:5}#mpiRouteCaption{font-size:15px;line-height:1.8;margin:12px 0 24px;color:#5e4c7b}.message-list button{font-size:14px;line-height:1.7}.fact{font-size:14px}.fact strong{font-size:20px}.keycode{font-size:13px;line-height:1.8}.ec-phase-caption{font-size:15px}.member-points span{font-size:14px}.projection-canvas{height:320px}.average-animation{height:145px}#importanceOverview{min-height:230px}.stage-ec .overview{padding-top:20px}
@media(min-width:1700px){.flow{min-width:1380px}.stage-solve.is-expanded{--node-width:1600px}.chem-fork{grid-template-columns:160px 160px 140px}.chem-fork .chem-node{width:160px}.chem-fork .chem-node canvas{width:160px;height:160px}}
@media(max-width:1100px){.operation-matrix-layout{grid-template-columns:150px minmax(300px,1fr) 150px;gap:12px}.operation-matrix-layout canvas{width:150px;height:150px}.calculation-popover .lane-vector span{font-size:12px}.lane-animator{min-width:920px}.workspace-toolbar{flex-wrap:wrap}.interaction-hint{display:none}}
@media(max-width:700px){.topbar{flex-wrap:wrap;padding:12px 16px;gap:10px}.global-controls{gap:7px;flex-wrap:wrap}.global-controls select{width:115px}.brand{font-size:22px}main{padding:0 16px}.operation-matrix-layout{grid-template-columns:130px 380px 130px;min-width:700px}.operation-matrix-layout canvas{width:130px;height:130px}.calculation-popover{top:130px;max-height:calc(100vh - 145px)}.typeset-math,.calculation-popover .typeset-math{font-size:17px}.precision-note{display:none}}
.calculation-popover .lane-group h4{font-size:14px}.matrix-caption,.matrix-box h3,.context-banner,.tooltip{font-size:14px;line-height:1.7}.calculation-popover .inline-controls label{font-size:14px}.ec-controls,.ec-controls button,.hash-steps,.bin-choice button{font-size:14px}.timeline #timelineTicks{font-size:12px}.source-connections path{opacity:.9}.calculation-popover .katex-display{margin:.7em 0}.typeset-math{margin:13px 0}.rank-large{max-width:700px}

#returnRepresentatives{aspect-ratio:5/3;height:auto}.return-map-layout .zoom-guide{display:block;text-align:center}.return-map-layout #returnVector{padding:4px 0 10px}.return-map-layout .return-field-expanded{aspect-ratio:1}

.mpi-transfer.active path{stroke:#7648b4;stroke-width:5}.mpi-transfer.active text{fill:#643996;font-weight:600}.mpi-transfer:not(.active) path{opacity:.55}

.flow{padding-bottom:115px}#ecLoopText{font-size:12px}.flow:not(.has-expanded) #ecLoopText{fill:#886da6;opacity:.85}
.stage-encode.is-expanded .typeset-math{font-size:18px}.calc-row,.bin-operation .op-caption,.hash-steps span,.event-list-item,.event-list-item small,.vector-cell-tip,.member-points,.loading,dialog p{font-size:14px}.bin-operation small{font-size:13px}.stage-heading small{white-space:normal}@media(max-width:1500px){.flow{min-width:1180px;gap:20px}.stage-encode{min-width:340px}.stage-mpi,.stage-ec{min-width:100px}.stage-input,.stage-return,.stage-solve{min-width:180px}}
.lane-group h4,.lane-group small,.operand-meaning,.scalar-lines,.simd-line,.lane-status{color:#6e588b}.chem-node small,.solver-label{color:#687589}.sequence-strip span.accepted{color:#397858}.sequence-strip span.rejected{color:#9b5b31}.overview-definition,.micro-copy{color:#617189}

.zero-vector{position:relative;background:#edf1f6;border:1px solid #d3dce6}.zero-vector .zero-vector-label{position:absolute;inset:0;text-align:center;font-size:14px;color:#53647b;line-height:22px;background:#f2f5f9b8}.rr-overview .zero-vector{height:26px}
.stage-encode.is-expanded .projection-layout{grid-template-columns:1fr;gap:32px;margin:28px 0}.stage-encode.is-expanded #projection{display:block;width:100%;height:auto;aspect-ratio:25/16;margin:16px 0 8px}.stage-encode.is-expanded .projection-layout .average-animation{height:200px}.stage-encode.is-expanded .projection-layout .calculation-note{font-size:15px;line-height:1.8}
.typeset-math .katex-display>.katex{white-space:nowrap}.zone-row .row-label{width:128px;font-size:13px;white-space:normal}.stage-encode.is-expanded .projection-layout>div{min-width:0}
.stage-encode.is-expanded .mean-calculation{display:block;padding:24px 0 28px;margin:14px 0}.stage-encode.is-expanded .mean-calculation .typeset-math{padding:22px 0;min-height:112px}.key-explanation{margin:24px 0;padding:18px 0;border-top:1px solid #e8eaf1}.key-explanation .keycode{font-size:15px;line-height:1.9;overflow-wrap:anywhere}.key-explanation p{margin:14px 0}
.physical-axis-label{font-size:16px;font-weight:500;color:#43556f;line-height:1.5;padding:8px 12px}.physical-axis-label.horizontal-axis{text-align:right;padding-top:6px;padding-bottom:12px}

.grouping-overview{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.grouping-inputs .vector-strip{gap:0}.vector-row:not(.zone-row) .row-label{width:82px;flex-shrink:0}.zone-row .row-label{width:112px;line-height:1.25;white-space:normal}.grouping-inputs,.grouping-output{min-width:0}.calculation-popover td,.calculation-popover th,.calculation-popover .num{font-size:16px}.calculation-popover td .katex{font-size:1.08em}#thermoCalc td:nth-child(2){min-width:440px;padding:18px 20px}#thermoCalc td:first-child{min-width:150px}#thermoCalc td:last-child{min-width:175px}.thermo-expanded{margin-top:28px}.math-description .inline-math{display:inline-block;vertical-align:middle;margin:0 3px}.math-description{line-height:2}
.mpi-controls{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:24px 0}.mpi-step-explanation{border-left:3px solid #bca2dc;padding:8px 20px;background:#faf8fd;min-height:130px}.mpi-step-explanation h3{margin:8px 0}.mpi-process-scene{position:relative;margin:24px 0}.mpi-process-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px 150px}.mpi-rank-block{border:1px solid #d7e0ec;border-radius:7px;padding:16px;background:#fbfcfe;position:relative;min-height:260px}.mpi-rank-block.selected-owner{border:2px solid #b198d0;background:#fcfaff}.mpi-rank-block header{display:flex;gap:10px;align-items:center;justify-content:space-between}.mpi-rank-block h3{margin:0;font-size:20px}.mpi-rank-block h3 small{font-size:14px;font-weight:400}.mpi-rank-block header>span{font-size:13px;color:#765a98}.mpi-rank-block p{font-size:14px;margin:12px 0}.mpi-rank-counts{font-size:15px;line-height:1.6}.mpi-queues{display:flex;gap:8px;margin:12px 0}.mpi-destination-queue{border:1px solid #dae1ed;border-radius:4px;font-size:14px;padding:7px;flex:1;color:#5f7086}.mpi-destination-queue strong{display:block;font-size:17px;color:#6d5590}.mpi-state-samples{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.mpi-state-chip{border:1px solid #e3e8f1;background:white;padding:10px 8px;border-radius:4px;font-size:13px;line-height:1.7;text-align:left}.mpi-state-chip.selected{border-color:#9d7ac8;background:#f4edf9}.mpi-state-chip.owned{color:#596d7e}.mpi-transfers{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.mpi-replay-transfer{pointer-events:visiblePainted;cursor:pointer}.mpi-transfers text{paint-order:stroke;stroke:white;stroke-width:5px;stroke-linejoin:round}.mpi-selected-state,.mpi-decision{margin:24px 0}.mpi-decision{padding:14px 20px;background:#faf8fd}.mpi-selected-state th,.mpi-selected-state td{font-size:15px}.mpi-process-scene .mpi-rank-block{z-index:1}.mpi-transfers{z-index:2}.mpi-state-chip:hover,.mpi-destination-queue:hover{border-color:#9d7ac8}#mpiStateInspect:empty{display:none}#mpiStateInspect{padding:18px 0}@media(max-width:800px){.mpi-process-grid{gap:100px 85px}}
.ec-meaning{font-size:15px;line-height:1.9}.ec-formula-meaning{display:grid;grid-template-columns:1fr 1fr;gap:10px 26px}.ec-formula-meaning p{margin:6px 0}.ec-decision-rules{padding:14px 20px;background:#faf8fd;margin:18px 0}.ec-current-decision{padding:14px 18px;border-left:3px solid #ab8dcc;color:#58667b;margin:18px 0}.calculation-section{margin:26px 0}.calculation-section>h3{margin:16px 0}.calculation-section .table-scroll{max-height:none}.thermo-expanded .table-scroll{max-height:none}
.linear-comparison{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}.linear-matrix-operation{display:grid;grid-template-columns:minmax(210px,1fr) minmax(260px,1.05fr);gap:14px;align-items:start}.linear-matrix-operation canvas{width:100%;height:auto}.linear-operation-calculation{min-width:0}.linear-operation-calculation .typeset-math{font-size:16px;overflow-x:auto;padding:7px 0;margin:8px 0}.linear-operation-status{font-size:15px;min-height:46px;line-height:1.7;color:#5b6c84}.linear-result-lanes{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin:12px 0}.linear-progress{font-size:15px!important;color:#6d528d!important}.linear-comparison .matrix-box{min-width:0}.linear-comparison .matrix-box h3{font-size:16px}.linear-matrix-operation .matrix-canvas{margin:0}#luTeachingExample{margin:24px 0}#luExampleStep{font-size:15px;margin:15px 0}@media(max-width:1100px){.linear-comparison{grid-template-columns:1fr}.linear-matrix-operation{grid-template-columns:minmax(240px,1fr) minmax(300px,1fr)}}
#returnRepresentatives{aspect-ratio:auto}.return-map-layout .inline-controls{margin:16px 0}.return-map-layout .inline-controls select{max-width:140px}
.physical-axis-label{font-size:18px;color:#384d69;padding:10px 12px}.return-map-layout .inline-controls label{font-size:16px}.return-map-layout .inline-controls select{font-size:16px}

/* Playback follows the connected computation. */
.playback-caption{font-size:18px;font-weight:600;color:#7444b6;background:#f7f2fc;padding:12px 18px;margin:8px 0 16px;min-height:48px}
.flow.sequence-running .stage:not(.active){filter:grayscale(1);opacity:.15;transition:opacity .4s,filter .4s}
.flow.sequence-running .stage.done:not(.active){opacity:.3}
.flow.sequence-running .stage.active{opacity:1;filter:none}
.flow.sequence-running .stage.active .stage-heading{font-weight:700;color:#7342b7}
.flow.sequence-running .data-ribbon{filter:grayscale(1);opacity:.12}
.flow.sequence-running .data-ribbon.current-flow,.flow.sequence-running .moving-wire{filter:none;opacity:1;stroke:#9664cb;stroke-width:1}
.flow.ec-replay .stage-mpi,.flow.ec-replay .stage-solve,.flow.ec-replay .stage-return{display:none}
.flow.ec-replay{justify-content:space-between;min-width:0}
.encoding-explanation p{margin:18px 0;line-height:1.9}.encoding-explanation .typeset-math{margin:20px 0;padding:10px 0}
/* Overview labels retain their readable size independently of canvas scaling. */
.overview-axis-label,.preview-axis-label{font-size:18px;font-weight:600;line-height:1.6;color:#3e5573;padding:6px 0}
.overview-axis-x,.preview-axis-x{text-align:right;padding-top:6px;padding-bottom:8px}
.grouping-preview{margin-top:64px;background:#fff;position:relative}
#zonePreview{height:240px;margin-top:4px;opacity:1}
.grouping-preview .overview-definition{font-size:16px;line-height:1.85;color:#4c607b;margin:16px 0 10px}
.grouping-preview .node-caption{font-size:16px;color:#4c607b;line-height:1.7}
/* Each solver keeps its matrix, phase formula and enlarged cells in one view. */
.calculation-popover.linear-dialog{top:72px;width:min(2400px,calc(100vw - 24px));max-height:calc(100vh - 84px)}
.linear-dialog #calculationBody{padding:18px 24px 28px}
.linear-comparison{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}
.linear-matrix-operation{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:20px}
.linear-comparison .matrix-canvas{width:100%;max-width:none;height:auto;aspect-ratio:1}
.linear-comparison .matrix-box h3{font-size:20px;color:#435b79;margin:8px 0 18px}
.linear-matrix-caption,.linear-phase-description{font-size:16px!important;line-height:1.7!important;color:#4d617b!important;min-height:54px}
.linear-operation-status{font-size:19px;font-weight:600;color:#51466d;min-height:42px;margin-bottom:8px}
.linear-operation-calculation .typeset-math{font-size:20px;line-height:1.8;margin:14px 0;padding:10px 0}
.linear-formula-row{border-bottom:1px solid #eeeaf5;padding:8px 0}
.linear-formula-cell{font-size:17px;font-weight:600;color:#65517e}
.linear-result-lanes{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}
.linear-lane{border:1px solid #dce2ec;border-radius:5px;background:#f8f9fc;padding:8px 10px;text-align:left;min-height:0;color:#405572;display:flex;flex-wrap:wrap;align-content:center;align-items:baseline;gap:4px 12px}
.linear-lane.is-active{border:2px solid #7e55b7;background:#f3eef9;padding:7px 9px}
.linear-lane.is-written{border-color:#77ae8b;background:#ecf7ef}
.linear-lane-index{font-size:18px;margin:0;flex:1 1 auto}.linear-lane-value{font-size:20px;margin:0;flex:0 1 auto}
.linear-lane-state{font-size:14px;line-height:1.5;margin:0;color:#607187}
.linear-lane .katex{font-size:1.12em}
.linear-progress{font-size:17px!important;margin:16px 0}
@media(max-width:1750px){.linear-matrix-operation{grid-template-columns:minmax(0,1fr)}.linear-comparison .matrix-canvas{max-width:620px;margin:0 auto}.linear-operation-calculation .typeset-math{font-size:19px}.linear-operation-status{min-height:0}.linear-phase-description{min-height:0}}
@media(max-width:850px){.linear-comparison{grid-template-columns:minmax(0,1fr)}.linear-dialog #calculationBody{padding:16px}}
.chem-fork{grid-template-columns:160px 160px 160px 140px}
.chem-fork .matrix-node canvas{width:160px;height:160px}
.jacobian-comparison-note{font-size:16px!important;line-height:1.8!important;color:#536783!important}
.linear-dialog .linear-controls{position:sticky;top:55px;z-index:5;background:#fff;padding:10px 0;border-bottom:1px solid #e7e1ef;box-shadow:0 4px 10px #3e2d5910}
.linear-lane-intermediate{font-size:16px;line-height:1.5;color:#62517e;padding:0;margin:0}
/* Reaction derivatives and matrix contribution advance in the same replay frame. */
#jacobianReplay .linear-controls{flex-wrap:wrap}
#jrReaction{max-width:420px}#jrInputs .typeset-math{font-size:19px}#jrInputs .math-description{margin:8px 0}
.jacobian-animation-context{font-size:17px!important;line-height:1.8!important;color:#4a6079!important}
.jacobian-full-matrix{width:100%;max-width:600px;height:auto;margin:0 auto}
#jacobianReplay .linear-phase-description{min-height:85px}

/* A focused operand window sits above the matrix replay. */
.operation-playback-layer{position:fixed;inset:0;z-index:100;background:#26314959;display:flex;align-items:center;justify-content:center;padding:18px}
.operation-playback-window{width:min(2300px,100%);max-height:calc(100vh - 36px);overflow:auto;background:white;border:1px solid #dfe3ee;border-radius:8px;box-shadow:0 18px 80px #26334755}
.operation-playback-window>header{position:sticky;top:0;z-index:3;background:#f5f6fa;display:flex;justify-content:space-between;align-items:center;padding:12px 24px;border-bottom:1px solid #e4e5ef}
.operation-playback-window h2{font-size:21px;margin:0;color:#425671}.operation-playback-window>header button{font-size:27px}
.operation-playback-controls{position:sticky;top:59px;z-index:2;background:#fff;display:flex;gap:18px;align-items:center;padding:12px 24px;border-bottom:1px solid #e9e3f1;font-size:16px}
#operationPlaybackBody{padding:20px 28px 28px}.operand-comparison{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:32px}.operand-solver{min-width:0}.operand-solver h3{font-size:22px;color:#46617d;margin:6px 0 18px}.operand-solver p{font-size:17px;line-height:1.8;color:#566c85}.operand-current-phase{font-size:20px;font-weight:600;color:#6b4e91;padding:12px 0}
.operand-inputs{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.operand-input{border:1px solid #d7e0ed;background:#f7f9fc;border-radius:5px;padding:12px 20px;min-width:0}.operand-input h4{font-size:17px;margin:0 0 8px;color:#536880}.operand-input .typeset-math{font-size:20px;margin:5px 0;padding:6px 0}.operand-formulas .typeset-math{font-size:22px;padding:12px 0}.operand-batch-progress{font-size:18px!important;color:#73519a!important}.operation-playback-window .linear-formula-cell{font-size:18px}
@media(max-width:1000px){.operand-comparison{grid-template-columns:minmax(0,1fr)}.operation-playback-controls{flex-wrap:wrap}.operand-input .typeset-math{font-size:18px}.operation-playback-layer{padding:8px}}

.operand-work-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:start}.operand-solver[data-solver="simd"] .operand-work-layout{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.operand-input{padding:10px 14px}.operand-input .typeset-math{font-size:18px}.operand-formulas{min-width:0}.operand-formulas .typeset-math{font-size:20px}.operand-inputs{gap:10px}.operand-formulas .linear-formula-row:first-child{padding-top:0}
@media(max-width:1750px){.operand-work-layout,.operand-solver[data-solver="simd"] .operand-work-layout{grid-template-columns:minmax(0,1fr)}}

.operand-input h4 .inline-math{margin-left:8px;font-weight:400;font-size:16px}.operand-solver[data-solver="simd"] .operand-formulas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.operand-formulas .linear-formula-row{min-width:0}.operand-input .katex-display{margin:.35em 0}.operand-comparison{align-items:start}.operand-input h4{line-height:1.8}
@media(max-width:1750px){.operand-comparison{grid-template-columns:minmax(0,1fr) minmax(0,1.45fr)}.operand-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}.operand-solver[data-solver="simd"] .operand-inputs{grid-template-columns:minmax(0,1fr)}}

@media(max-width:1750px){.operand-input .typeset-math{font-size:17px}}

.operand-input .typeset-math{font-size:17px}

.operand-solver[data-solver="simd"] .operand-formulas .typeset-math{font-size:18.5px}.operand-formulas>.linear-formula-row:only-child{grid-column:1/-1}

.linear-lane-meta{flex:1 0 100%;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 10px}.linear-lane-meta:has(.linear-lane-intermediate){padding-top:3px}

/* Numeric operands travel to their own slots, then back to the matching cells. */
.operand-data-scene{position:relative;padding:8px 0 0}.operand-work-layout{position:relative;z-index:1;gap:38px}.operand-inputs{grid-template-columns:minmax(0,1fr);gap:12px}.operand-input{background:transparent;border:0;padding:6px 0}.operand-input h4{font-size:16px;margin:0 0 10px;line-height:1.5}.operand-flow-context{margin:4px 0 12px!important;font-size:16px!important}.operand-current-phase{padding:6px 0;font-size:19px}.operand-solver h3{margin:2px 0 8px}.operand-comparison{grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);gap:34px}.data-flow-vector{display:flex;border-left:2px solid #758ba9;border-right:2px solid #758ba9;padding:4px;gap:5px}.source-color-0{--flow-color:#3d83ac;--flow-bg:#eaf3f9}.source-color-1{--flow-color:#bb7938;--flow-bg:#fff3e5}.source-color-2{--flow-color:#57986b;--flow-bg:#edf7ef}.data-flow-number{background:var(--flow-bg);color:var(--flow-color);border:1px solid transparent;min-width:0;flex:1;text-align:center;padding:10px 4px;font-size:17px;white-space:nowrap}.data-flow-number .katex{font-size:1em}.data-flow-number.is-flow-source{border-color:var(--flow-color);box-shadow:0 0 0 2px var(--flow-bg)}.data-flow-equations{min-width:0;align-self:center;display:flex;flex-direction:column;gap:12px}.data-flow-equation{display:flex;flex-wrap:wrap;align-items:center;gap:8px 7px;min-width:0;font-size:18px;position:relative;border-bottom:1px solid #eeeaf4;padding:10px 0 14px}.data-flow-equation .katex{font-size:1em}.data-flow-lhs,.data-flow-expression,.data-flow-result,.data-flow-product,.data-flow-read-secondary{display:flex;align-items:center;gap:6px}.data-flow-expression{flex-wrap:wrap}.data-flow-read-secondary{margin-left:12px}.data-flow-slot{display:inline-grid;align-items:center;justify-items:center;min-width:44px;min-height:35px;border:1px dashed var(--flow-color);border-radius:4px;background:var(--flow-bg);padding:4px 8px;color:var(--flow-color);white-space:nowrap;position:relative}.data-slot-symbol,.data-slot-value{grid-area:1/1;transition:opacity .12s}.data-slot-value{opacity:0}.data-flow-slot.is-filled .data-slot-symbol{opacity:0}.data-flow-slot.is-filled .data-slot-value{opacity:1}.data-flow-fraction{display:inline-flex;flex-direction:column;align-items:stretch;text-align:center}.data-flow-fraction>span{padding:4px;display:flex;justify-content:center}.data-flow-fraction>span:first-child{border-bottom:1.5px solid #655482}.data-flow-result{opacity:0;color:#34875b;transition:opacity .12s;white-space:nowrap}.data-flow-result.is-visible{opacity:1}.data-flow-intermediate{flex:1 0 100%;font-size:16px;color:#607a64;opacity:0}.data-flow-intermediate.is-visible{opacity:1}.data-flow-writeback{display:flex;gap:22px;align-items:center;position:relative;z-index:1;margin-top:28px}.data-flow-output-block{flex:1;min-width:0}.data-flow-output-block h4{font-size:16px;color:#516882;margin:0 0 12px}.data-flow-output-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.data-flow-output:only-child{grid-column:1/-1}.data-flow-output{border:1px solid #d9dfeb;border-radius:4px;padding:9px 10px;background:#fafbfe;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:18px;white-space:nowrap}.data-flow-output .katex{font-size:1em}.data-flow-output.is-written{border-color:#74ad85;background:#edf7ef;color:#34875b}.data-flow-pending{font-size:14px;color:#78859a}.data-flow-mini{width:155px;flex-shrink:0;font-size:14px;text-align:center;color:#60738d}.data-flow-mini canvas{display:block;width:155px;height:155px;margin-bottom:6px}.data-flow-caption{font-size:15px;color:#586e87;line-height:1.6;margin-top:16px}.data-flow-token-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:2}.data-flow-token{position:absolute;top:0;left:0;background:white;color:var(--flow-color);border:1px solid var(--flow-color);border-radius:5px;padding:6px 9px;font-size:19px;box-shadow:0 3px 12px #273b5526;white-space:nowrap;z-index:3}.data-flow-token .katex{font-size:1em}.operand-batch-progress{margin:10px 0!important;font-size:16px!important}
@media(max-width:1750px){.operand-work-layout,.operand-solver[data-solver="simd"] .operand-work-layout{grid-template-columns:1fr}.operand-inputs{grid-template-columns:1fr}.operand-comparison{gap:28px}.data-flow-writeback{margin-top:20px}.data-flow-equations{gap:2px}.data-flow-equation{padding:6px 0 9px;font-size:17px}.data-flow-number{font-size:16px}.data-flow-output{font-size:16px}.data-flow-mini{width:125px}.data-flow-mini canvas{width:125px;height:125px}}
@media(max-width:1000px){.operand-comparison{grid-template-columns:1fr}.operation-playback-controls{flex-wrap:wrap}}

.mpi-pairing-rule{margin-top:22px;padding-top:14px;border-top:1px solid #e7deef}.mpi-pairing-rule p{font-size:16px;line-height:1.8}.mpi-order-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-width:720px;margin:18px auto}.mpi-order-position{border:1px solid #d9cee8;border-radius:5px;background:white;text-align:center;padding:10px}.mpi-order-position span,.mpi-order-position small{display:block;font-size:14px;color:#6a7890}.mpi-order-position b{display:block;font-size:25px;color:#705299;margin:6px 0}.mpi-order-position.fixed-position{border-color:#779cb6;background:#f0f6fa}.mpi-pair-labels{display:flex;justify-content:center;gap:32px;font-size:17px;margin:16px 0}.mpi-current-peer{font-size:16px;color:#6d4e91;margin-top:12px}.mpi-destination-queue.current-peer{border:2px solid #9a73c4;background:#f3edf9;padding:6px}

.data-flow-read .data-flow-result{display:none}.data-flow-read{min-height:52px}.data-flow-caption{margin-top:12px}

.operand-solver[data-solver="simd"] .operand-work-layout{grid-template-columns:minmax(0,.65fr) minmax(0,1fr)}.data-flow-intermediate{display:none}.data-flow-result{flex:0 0 auto}.data-flow-equations{gap:8px}.data-flow-read{min-height:42px}
@media(max-width:1750px){.operand-solver[data-solver="simd"] .operand-work-layout{grid-template-columns:1fr}.data-flow-equations{gap:2px}}

.operand-solver[data-solver="simd"] .operand-work-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1fr)}.operand-input h4{margin-bottom:6px}.operand-input{padding:4px 0}.data-flow-equation{padding:7px 0 9px}.data-flow-writeback{margin-top:18px}.operand-flow-context{margin-bottom:8px!important}#operationPlaybackBody{padding:16px 28px 18px}.operand-current-phase{padding:4px 0}.data-flow-caption{margin-top:8px}
@media(max-width:1750px){.operand-solver[data-solver="simd"] .operand-work-layout{grid-template-columns:1fr}}

.operand-solver h3{margin:0 0 6px;line-height:1.2}.operand-current-phase{padding:2px 0}.data-flow-number{padding:8px 4px}.operand-batch-progress{margin:0!important;line-height:1.4!important}.data-flow-caption{line-height:1.4;margin-top:6px}
.operand-data-scene{isolation:isolate}.data-flow-token-layer{z-index:3}

/* Both lanes display the same batch; only the scalar's current component moves. */
.operand-comparison{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.operand-solver[data-solver="standard"] .operand-work-layout,.operand-solver[data-solver="simd"] .operand-work-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.data-flow-number.is-waiting,.data-flow-output.is-waiting,.data-flow-equation.is-waiting{opacity:.4}.data-flow-number.is-current{border-color:var(--flow-color)}.data-flow-number.is-completed{opacity:.7}.data-flow-equation.is-current{border-left:3px solid #9268bc;padding-left:8px}.data-flow-equation.is-completed{color:#34875b}.data-flow-stored .data-flow-result{display:none}.fixed-playback-interval{font-size:15px;color:#607187}.data-flow-output.is-current:not(.is-written){border-color:#9268bc}
@media(max-width:1750px){.operand-solver[data-solver="standard"] .operand-work-layout,.operand-solver[data-solver="simd"] .operand-work-layout{grid-template-columns:1fr}}
@media(max-width:1000px){.operand-comparison{grid-template-columns:1fr}}

.data-flow-number.is-waiting{opacity:.8;color:#52657f;background:#f2f4f8}.data-flow-equation.is-waiting{opacity:.65}.data-flow-output.is-waiting{opacity:.8}

.operation-formula-reference{display:grid;grid-template-columns:190px minmax(0,1fr);align-items:center;column-gap:16px;background:#f8f6fc;border-bottom:1px solid #e4ddef;padding:8px 18px;margin:0 0 16px;min-width:0}.operation-formula-reference h3{font-size:17px;color:#4a5f79;margin:0 0 6px}.operation-formula-reference .typeset-math{font-size:21px;margin:0;padding:2px 0;overflow-x:auto}.operation-formula-reference .katex-display{margin:.2em 0}.operation-formula-meaning{grid-column:1/-1;font-size:16px;line-height:1.7;color:#50657f;margin:4px 0}.operation-formula-stages{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:16px}.operation-formula-stages>div{display:flex;align-items:center;gap:12px;min-height:38px;font-size:18px;color:#76519b}.operation-formula-stages b{font-size:15px;white-space:nowrap}.operation-formula-stages .inline-math{display:inline-block;vertical-align:middle}.operation-formula-stages .katex{font-size:1.08em}
@media(max-width:1000px){.operation-formula-stages{grid-template-columns:1fr;gap:6px}.operation-formula-reference{grid-template-columns:1fr;padding:10px}.operation-formula-reference .typeset-math{font-size:19px}}

.calculation-popover.integration-dialog{top:72px;width:min(2400px,calc(100vw - 24px));max-height:calc(100vh - 84px)}.integration-dialog #calculationBody{padding:18px 24px 26px}.integration-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px}.integration-columns>div{min-width:0}.integration-columns .table-scroll{max-width:100%}.integration-columns th{white-space:normal}
@media(max-width:2000px){.integration-columns{grid-template-columns:minmax(0,1fr)}}

.mpi-order-strip{display:flex;justify-content:center;gap:10px;max-width:none;margin:10px 0;flex-wrap:wrap}.mpi-order-position{display:flex;align-items:center;gap:8px;padding:7px 10px}.mpi-order-position span,.mpi-order-position small{display:inline;font-size:14px;white-space:nowrap}.mpi-order-position b{display:inline;font-size:19px;margin:0}.mpi-pair-labels{margin:10px 0}.mpi-pairing-rule .typeset-math{margin:10px 0;padding:3px 0}

/* Grouping formulas: symbols, ordered substitutions, and equal-width intervals. */
.encoding-symbols{width:100%;table-layout:auto}.encoding-symbols td:first-child{width:145px;white-space:nowrap;font-size:18px}.encoding-symbols td,.encoding-symbols th{font-size:16px;line-height:1.8}.encoding-symbols .num{font-size:16px}.encoding-step{padding:18px 0;border-top:1px solid #e7e4ed}.encoding-step h3{margin:0 0 10px}.encoding-explanation .encoding-step p{margin:10px 0}.encoding-step .inline-math{display:inline-block;vertical-align:middle;margin:0 2px}.encoding-step .typeset-math{margin:14px 0;padding:8px 0}.group-key-section{margin-top:28px;padding-top:18px;border-top:1px solid #e7e4ed}.interval-figure{margin:24px 0 14px;padding:18px 20px;background:#faf8fd;border:1px solid #e1d8ed;border-radius:6px}.interval-figure figcaption{font-size:18px;color:#694292;line-height:1.8;margin-bottom:6px}.interval-track{display:flex;align-items:stretch;gap:0;padding-top:32px;margin:8px 0 16px;min-width:0}.interval-block{position:relative;flex:1 1 0;min-width:42px;height:58px;border:1px solid #b6cddd;background:#edf5fa;display:flex;align-items:center;justify-content:center;color:#405c75;font-size:18px}.interval-block+.interval-block{border-left-width:0}.interval-block.selected{background:#eee3fa;border:2px solid #8651b8;color:#663694;font-weight:600;z-index:1}.interval-gap{flex:0 0 48px;display:flex;align-items:center;justify-content:center;color:#8c79a2;font-size:24px}.interval-marker{position:absolute;top:-27px;width:2px;height:24px;background:#8550b7;transform:translateX(-50%)}.interval-marker::after{content:"";position:absolute;bottom:-2px;left:-5px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid #8550b7}.interval-end{flex:0 0 64px;display:flex;flex-direction:column;justify-content:center;gap:3px;text-align:center;color:#53667e;font-size:18px;border-left:2px solid #829cb3}.interval-end small{font-size:13px}.interval-end.selected{color:#663694;background:#eee3fa}.interval-figure p{font-size:16px;line-height:1.8}.interval-figure .num{font-size:16px}@media(max-width:650px){.interval-figure{padding:14px 12px}.interval-track{overflow-x:auto}.interval-block{min-width:48px}.interval-gap{flex-basis:36px}}


/* MPI definitions, domain partition example and stable replay panels. */
.stage-mpi.is-expanded{--node-width:1480px}
.mpi-hash-explanation{margin:26px 0;max-width:1100px}.hash-chain{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px;background:#f7f4fb;font-size:16px}.hash-chain>span{padding:8px;border:1px solid #dfd5ee;background:white;border-radius:4px}.mpi-hash-explanation h4{margin:26px 0 10px}.mpi-hash-explanation td,.mpi-hash-explanation th{font-size:15px}
.mpi-partition-example{margin:24px 0;padding:20px;border:1px solid #e3deec;border-radius:6px;max-width:1000px}.mpi-partition-example h3{margin:0 0 12px}.mpi-partition-example p{margin:10px 0}.mpi-partition-example .typeset-math{margin:10px 0}.partition-example-layout{display:grid;grid-template-columns:290px 1fr;gap:26px;align-items:center}.partition-domain{display:grid;grid-template-columns:repeat(6,1fr);width:288px;height:288px;gap:2px;background:#fff;border:2px solid #97a8bd}.partition-cell{display:flex;align-items:center;justify-content:center}.part-r0{background:#e5f1fc}.part-r1{background:#edf6e9}.part-r2{background:#fff0df}.part-r3{background:#f1eafb}.same-group-dot{display:inline-block;width:19px;height:19px;background:#8252bb;border:2px solid white;border-radius:50%;box-shadow:0 0 0 1px #9469bd}.partition-legend{display:grid;grid-template-columns:1fr 1fr;gap:6px;text-align:center;margin-top:10px;font-size:16px}.partition-gather{display:flex;gap:12px;align-items:center}.partition-local-list{display:grid;gap:10px;flex:1}.partition-local{display:flex;gap:5px;flex-wrap:wrap;align-items:center;border-radius:4px;padding:10px 12px;font-size:15px}.partition-local b{font-size:18px;margin-right:8px}.partition-local span:last-child{width:100%;font-size:14px}.partition-gather-arrow{font-size:32px;color:#8760af}.partition-owner{display:flex;flex-direction:column;align-items:center;gap:14px;flex:1;background:#faf6ff;border:2px solid #9f7cbe;border-radius:6px;padding:20px 10px;text-align:center;font-size:16px}.partition-owner b{font-size:19px}.partition-owner strong{font-size:16px;line-height:1.6}
.mpi-playback-viewport{height:840px;overflow:auto;scrollbar-gutter:stable;border:1px solid #e7e1ee;border-radius:5px;padding:16px;overflow-anchor:none}.mpi-playback-viewport .mpi-controls{position:sticky;top:0;margin:0 0 14px;padding:8px 0;background:white;z-index:5}.mpi-replay-layout{display:grid;grid-template-columns:430px minmax(0,1fr);gap:26px;height:720px;scroll-margin-top:70px}.mpi-replay-explanation{display:flex;flex-direction:column;gap:18px;min-width:0}.mpi-playback-viewport .mpi-step-explanation{height:430px;min-height:0;flex-shrink:0;overflow:auto;scrollbar-gutter:stable;padding:12px 16px}.mpi-playback-viewport .mpi-decision{height:272px;flex-shrink:0;margin:0;padding:12px 16px;overflow:auto;scrollbar-gutter:stable}.mpi-playback-viewport .mpi-process-scene{height:720px;margin:0}.mpi-playback-viewport .mpi-process-grid{grid-template-rows:320px 320px;gap:80px 120px}.mpi-playback-viewport .mpi-rank-block{height:320px;min-height:0;padding:14px;overflow:auto;scrollbar-gutter:stable}.mpi-playback-viewport .mpi-selected-state{height:320px;margin:24px 0;overflow:auto;scrollbar-gutter:stable}.mpi-playback-viewport .mpi-step-explanation h3{font-size:17px}.mpi-playback-viewport .mpi-pairing-rule{margin-top:12px;padding-top:8px}.mpi-playback-viewport .mpi-pairing-rule p{font-size:15px}.mpi-playback-viewport .typeset-math{margin:10px 0}.mpi-state-samples{display:block}.mpi-state-chip{display:block;width:100%;margin:8px 0}.mpi-tracked-label{margin:10px 0 6px;color:#725497;font-size:15px!important}.mpi-rank-block .mpi-track-empty{font-size:14px;margin:6px 0}.mpi-rank-counts{font-size:14px}.mpi-rank-block .mpi-current-peer{font-size:15px;margin-top:8px}.mpi-rank-block p{margin:8px 0}.mpi-rank-block .mpi-queues{margin:8px 0}.mpi-decision table{table-layout:fixed;white-space:normal}.mpi-decision th,.mpi-decision td{padding:8px;font-size:14px;overflow-wrap:anywhere}.mpi-pair-labels{gap:12px;font-size:15px;flex-wrap:wrap}
@media(max-width:800px){.stage-mpi.is-expanded{--node-width:1320px}.mpi-replay-layout{grid-template-columns:390px minmax(0,1fr)}.mpi-playback-viewport .mpi-process-grid{gap:80px 100px}}
@media(max-width:760px){.partition-example-layout{grid-template-columns:1fr}.partition-domain{margin:auto}.partition-gather{max-width:580px}}

#mpiPlaybackStatus{font-size:14px;color:#715692;white-space:nowrap}.mpi-playback-viewport .mpi-controls{gap:10px}.mpi-controls label{gap:6px}

/* Error control: scope, threshold and selected-species arithmetic. */
.ec-data-route{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:20px 0;color:#58677d;font-size:16px;line-height:1.8}.ec-data-route b{color:#9678b7}.ec-explanation-section,.ec-selected-calculation,.ec-member-calculation,.ec-width-explanation{padding:18px 0;border-top:1px solid #e7e4ed;margin-top:18px}.ec-explanation-section h3,.ec-selected-calculation h3,.ec-member-calculation h3,.ec-width-explanation h3{margin:0 0 12px}.ec-explanation-section p,.ec-selected-calculation p,.ec-member-calculation p,.ec-width-explanation p{font-size:16px;line-height:1.85}.ec-explanation-section .typeset-math,.ec-selected-calculation .typeset-math{font-size:18px;margin:16px 0;padding:8px 0}.ec-explanation-section .inline-math,.ec-selected-calculation .inline-math{display:inline-block;vertical-align:middle}.ec-selected-verdict{padding:14px 18px;background:#f5f0fb;border-left:3px solid #ac87ca}.ec-width-explanation{margin-top:24px}.ec-member-calculation th,.ec-member-calculation td{font-size:16px;padding:12px}.ec-explanation-section .table-scroll{max-height:350px}.ec-member-calculation .table-scroll{max-height:420px}

#ecNumbers{scroll-margin-top:90px}.ec-width-explanation .typeset-math{padding:8px 0}

.ec-chart-legend{display:flex;gap:24px;flex-wrap:wrap;margin:24px 0 10px;font-size:15px;color:#59687e}.ec-chart-legend span:first-child{border-left:5px solid #b7d2e5;padding-left:8px}.ec-chart-legend span:nth-child(2){border-left:5px solid #c6ace0;padding-left:8px}

/* Chemistry explanations: readable definitions, units and mechanism coefficients. */
.rhs-explanation h3{margin:26px 0 12px}.rhs-explanation p{font-size:16px;line-height:1.85}.rhs-explanation table{margin:18px 0 26px}.thermo-coefficients-scroll{overflow-x:auto;margin:18px 0}.thermo-coefficients-scroll table{min-width:1000px}.thermo-coefficients-scroll td{white-space:nowrap;padding:12px 16px}#reactionSelect{max-width:100%;min-width:360px}#rhsCalculation>h3{margin-top:24px}

.solver-explanation p,.worked-example p{font-size:16px;line-height:1.9}.solver-explanation h3{margin:26px 0 12px}.solver-explanation h4,.worked-example h4{margin:24px 0 12px}.worked-example{margin:16px 0 22px;padding:14px 16px;background:#faf8fe;border:1px solid #e8dff2;border-radius:4px}.worked-example summary{cursor:pointer;font-size:16px!important}.worked-example .typeset-math{font-size:18px}.integration-columns td:nth-child(8){min-width:180px;white-space:normal}.integration-columns th{white-space:normal}.integration-columns .table-scroll{max-height:520px}


/* MPI exchange uses the available screen width and the page's single scroll surface. */
.stage-mpi.is-expanded{--node-width:calc(100vw - 72px)}
.mpi-playback-viewport{height:auto;min-height:820px;overflow:visible;scrollbar-gutter:auto;border:0;padding:0;border-radius:0}
.mpi-replay-layout{grid-template-columns:clamp(520px,32vw,720px) minmax(0,1fr);gap:40px;height:auto;min-height:720px;align-items:start}
.mpi-replay-explanation{gap:24px}
.mpi-playback-viewport .mpi-step-explanation,.mpi-playback-viewport .mpi-decision{height:auto;min-height:0;overflow:visible;scrollbar-gutter:auto;padding:0;background:transparent;border:0;flex-shrink:1}
.mpi-playback-viewport .mpi-step-explanation h3,.mpi-playback-viewport .mpi-decision h3{font-size:19px;line-height:1.6}
.mpi-playback-viewport .mpi-step-explanation p,.mpi-playback-viewport .mpi-decision p{font-size:16px;line-height:1.85}
.mpi-playback-viewport .mpi-decision .table-scroll{max-height:none;overflow:visible}
.mpi-playback-viewport .mpi-process-scene{height:680px;min-width:0;margin:0;position:sticky;top:140px}
.mpi-playback-viewport .mpi-process-grid{grid-template-rows:240px 240px;gap:200px 160px;height:680px}
.mpi-playback-viewport .mpi-rank-block{height:240px;min-height:0;padding:20px;overflow:visible;scrollbar-gutter:auto}
.mpi-playback-viewport .mpi-rank-block h3{font-size:23px}
.mpi-playback-viewport .mpi-rank-block p,.mpi-playback-viewport .mpi-rank-counts,.mpi-playback-viewport .mpi-current-peer{font-size:16px}
.mpi-playback-viewport .mpi-queues{gap:10px;margin:14px 0 0}
.mpi-playback-viewport .mpi-destination-queue{font-size:15px;padding:8px 6px}
.mpi-playback-viewport .mpi-destination-queue strong{font-size:19px}
.mpi-playback-viewport .mpi-order-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:8px;margin:14px 0;flex-wrap:nowrap}
.mpi-playback-viewport .mpi-order-position{display:flex;flex-wrap:nowrap;white-space:nowrap;justify-content:center;gap:6px;padding:9px 6px;min-width:0}
.mpi-playback-viewport .mpi-order-position span,.mpi-playback-viewport .mpi-order-position small{font-size:14px;display:inline}
.mpi-playback-viewport .mpi-order-position b{font-size:20px;display:inline;margin:0}
.mpi-playback-viewport .mpi-controls{top:70px;z-index:5;border-bottom:1px solid #eee8f5;padding:12px 0}
.mpi-playback-viewport .mpi-transfers text{stroke-width:6px}
@media(max-width:1550px){.mpi-replay-layout{grid-template-columns:520px minmax(0,1fr);gap:26px}.mpi-playback-viewport .mpi-process-grid{gap:200px 100px}.mpi-playback-viewport .mpi-rank-block{padding:14px}.mpi-playback-viewport .mpi-rank-block p,.mpi-playback-viewport .mpi-rank-counts,.mpi-playback-viewport .mpi-current-peer{font-size:15px}}
@media(max-width:1100px){.mpi-replay-layout{grid-template-columns:1fr;gap:30px}.mpi-replay-explanation{max-width:none}.mpi-playback-viewport .mpi-process-scene{position:relative;top:auto}.mpi-playback-viewport .mpi-process-grid{gap:200px 120px}}
@media(max-width:900px){.stage-mpi.is-expanded{--node-width:calc(100vw - 48px)}}
@media(max-width:600px){.mpi-playback-viewport .mpi-order-strip{gap:4px}.mpi-playback-viewport .mpi-order-position{gap:3px;padding:7px 2px}.mpi-playback-viewport .mpi-order-position span,.mpi-playback-viewport .mpi-order-position small{font-size:12px}.mpi-playback-viewport .mpi-order-position b{font-size:16px}.mpi-playback-viewport .mpi-process-grid{gap:200px 70px}.mpi-playback-viewport .mpi-rank-block{height:240px;padding:10px}.mpi-playback-viewport .mpi-queues{gap:4px}.mpi-playback-viewport .mpi-destination-queue{font-size:12px}}

#jrWorkedExample{clear:both;margin-top:30px;width:100%}#jrWorkedExample .worked-example{padding:18px 22px}.mpi-order-position[data-rotating="true"],.mpi-rank-block[data-rotating="true"]{z-index:4}.mpi-rank-block[data-rank="0"]{border-color:#79a8c2}.mpi-transfers .mpi-replay-transfer:hover .mpi-transfer-line{stroke-width:4}

@media(max-width:1550px){.mpi-playback-viewport .mpi-process-scene{height:800px}.mpi-playback-viewport .mpi-process-grid{height:800px;grid-template-rows:300px 300px}.mpi-playback-viewport .mpi-rank-block{height:300px}}

.flow-status:has(#status:empty){display:none}

#sourceMiniResult{font-size:16px;line-height:1.7}#sourceMiniResult>strong{font-size:15px;color:#536882}#sourceMiniResult>small{display:block;font-size:14px;color:#66758a}.source-result-row{display:flex;justify-content:space-between;gap:12px;white-space:nowrap;padding:2px 8px}
