.progress{z-index:90;height:3px;position:fixed;top:0;left:0;right:0}.progress i{background:var(--ink);width:0;height:100%;display:block}html.js .rv{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(16px)}html.js .rv.in{opacity:1;transform:none}section{padding:clamp(64px,9vh,116px) clamp(20px,5vw,72px)}.prose{max-width:690px;margin:0 auto}h2{letter-spacing:-.01em;margin:0 0 28px;font-family:Fraunces,serif;font-size:clamp(34px,4.4vw,52px);font-weight:500;line-height:1.06}.prose p{margin:0 0 22px}.fig{border:1.5px solid var(--ink);background:var(--paper2);width:min(1060px,100%);margin:46px auto 0;box-shadow:6px 6px #19150914}.fig-head{border-bottom:1.5px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.fl{letter-spacing:.18em;font:600 11px IBM Plex Mono}.fr{color:var(--ink2);letter-spacing:.08em;font:400 10.5px IBM Plex Mono}.fig-body{padding:6px 8px 0;overflow-x:auto}svg.sim,svg.plain{width:100%;min-width:620px;height:auto;display:block}.fig-foot{border-top:1px dashed var(--line);padding:13px 16px}.frow{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.spacer{flex:1}.btn{letter-spacing:.05em;border:1.5px solid var(--ink);color:var(--ink);cursor:pointer;background:0 0;align-items:center;gap:9px;padding:9px 14px;font:500 12.5px IBM Plex Mono;transition:all .15s;display:inline-flex}.btn:hover{background:var(--ink);color:var(--paper2)}.btn:active{transform:translate(1px,1px)}.btn.ghostb{color:var(--ink2);border-style:dashed}.btn.ghostb:hover{color:var(--paper2)}.modes{border:1.5px solid var(--ink);display:inline-flex}.modes button{border:0;border-right:1.5px solid var(--ink);cursor:pointer;text-align:left;color:var(--ink);background:0 0;padding:7px 14px;font-family:IBM Plex Mono}.modes button:last-child{border-right:0}.modes button b{letter-spacing:.06em;font-size:13px;font-weight:600;display:block}.modes button span{letter-spacing:.04em;color:var(--ink2);font-size:9.5px;display:block}.modes button.on{background:var(--ink);color:var(--paper2)}.modes button.on span{color:var(--onink2)}.simlog{border-top:1px dashed var(--line);min-height:110px;padding:11px 16px;font:400 12px/1.9 IBM Plex Mono}.simlog .row{gap:12px;animation:.3s rowin;display:flex}.simlog .t{color:var(--stamp);flex:none}.simlog .k{flex:none;width:82px;font-weight:600}.simlog .m{color:var(--ink2);overflow-wrap:anywhere;min-width:0}.k-red{color:var(--red)}.k-green{color:var(--green)}.k-ink{color:var(--ink)}@keyframes rowin{0%{opacity:0;transform:translateY(-3px)}}.loads{gap:7px;margin-top:12px;display:grid}.lrow{color:var(--ink2);align-items:center;gap:10px;font:500 11px IBM Plex Mono;display:flex}.lrow i{border-radius:2px;flex:none;width:10px;height:10px}.lrow b{width:40px;color:var(--ink)}.lb{border:1.2px solid var(--line);background:var(--paper);flex:1;height:13px;position:relative}.lb i{transition:width .5s;position:absolute;top:0;bottom:0;left:0}.lb em{background:var(--ink2);width:1.5px;position:absolute;top:-3px;bottom:-3px}.lrow u{width:52px;color:var(--ink);text-align:right;text-decoration:none}.opline{color:var(--ink2);margin-top:12px;font:500 12px/1.6 IBM Plex Mono}dfn.tip{font-style:inherit;cursor:help;border-bottom:1.5px dotted var(--amber);position:relative}dfn.tip:after{content:attr(data-tip);background:var(--ink);width:min(300px,74vw);color:var(--paper2);opacity:0;pointer-events:none;z-index:60;white-space:normal;text-align:left;padding:10px 13px;font:400 12.5px/1.55 IBM Plex Mono;transition:opacity .18s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}dfn.tip:hover:after,dfn.tip:focus-visible:after{opacity:1}footer{border-top:1.5px solid var(--ink);padding:70px clamp(20px,5vw,72px) 90px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}html{scroll-behavior:auto}}.hero>svg{width:min(860px,100%);margin:auto auto 0;display:block}.spin{transform-box:view-box;animation:36s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.wdot{transition:fill .45s}.arcp{fill:none;stroke-width:13px;stroke-opacity:.15;transition:stroke-opacity .8s}.arcp.fresh{stroke-opacity:.5}.rdot{transition:fill .4s}.srvlab{letter-spacing:.12em;fill:var(--ink);font:600 10px IBM Plex Mono}.tick{opacity:.55}
