.algebraic-page{--figure-max-height:min(56vh,34rem);max-width:980px;line-height:1.55}.algebraic-page .switching-upper,.algebraic-page .switching-middle,.algebraic-page .switching-lower{border-radius:0.15em;color:#000000;font-weight:700;padding-inline:0.15em}.algebraic-page .switching-upper{background-color:#9ebfdb}.algebraic-page .switching-middle{background-color:#e0e8da}.algebraic-page .switching-lower{background-color:#efb780}@supports (height:1svh){.algebraic-page{--figure-max-height:min(56svh,34rem)}}.algebraic-page article>section{display:flow-root}.algebraic-page article h2,.algebraic-page article h3{clear:both}.algebraic-page article :not(pre)>code.sourceCode{display:inline;white-space:normal}.algebraic-page article pre{max-width:100%;overflow-x:auto;font-size:clamp(0.75rem, (0.65rem + 0.35vw), 0.8125rem);line-height:1.5;tab-size:2}.algebraic-page article pre code{font-size:inherit;line-height:inherit;white-space:pre}.algebraic-page .benchmark-table tbody td.benchmark-winner{background-color:#e6eddf;font-weight:650}@supports (font-size:1cqi){.algebraic-page article{container-type:inline-size}.algebraic-page article pre{font-size:clamp(0.75rem, (0.65rem + 0.45cqi), 0.8125rem)}}.algebraic-page .math.inline,.algebraic-page .math.display{font-family:inherit;letter-spacing:normal;word-spacing:normal}.algebraic-page .math.inline{white-space:nowrap;margin-inline:0.06em 0}.algebraic-page .math.display{display:block;max-width:100%;overflow-x:auto}.academic-paper>section{margin-block:2.75rem}.academic-paper h2{border-bottom:1px solid #d7d7d7;margin-bottom:1.1rem;padding-bottom:0.35rem}.academic-paper h3{margin-top:2rem}.academic-abstract,.draft-status{background:#f7f5f2;border-left:4px solid var(--accent);padding:1rem 1.25rem}.academic-abstract h2{border:0;margin-top:0;padding:0}.paper-keywords{font-size:0.92rem}.academic-paper blockquote{border-left:4px solid #c7c7c7;color:#333;font-size:1.08rem;margin:1.5rem 0;padding:0.2rem 1.25rem}.wp-block-syntaxhighlighter-code{margin:1.5rem 0}.code-block__header{background:#292929;color:#f5f5f5;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:0.82rem;padding:0.45rem 0.8rem}.wp-block-syntaxhighlighter-code pre{background:#f4f4f4;border:1px solid #dedede;border-top:0;margin:0;overflow-x:auto;padding:1rem}.wp-block-syntaxhighlighter-code code{font-size:0.86rem}.haskell-line-notes{background:#fafafa;border:1px solid #e0e0e0;margin:1.5rem 0;padding:0.8rem 1rem}.haskell-line-notes h4{margin:0 0 0.75rem}.haskell-line-notes li{margin-bottom:0.65rem}.haskell-line-notes li span{display:block;margin-top:0.15rem}.paper-equation{overflow-x:auto;padding-block:0.3rem}.table-scroll{margin:1.5rem 0;overflow-x:auto}.complexity-table{border-collapse:collapse;min-width:760px;width:100%}.complexity-table th,.complexity-table td{border:1px solid #d5d5d5;padding:0.65rem 0.75rem;text-align:left;vertical-align:top}.complexity-table th{background:#f2efeb}.complexity-table tbody tr:nth-child(even){background:#fafafa}.paper-appendix{border-top:2px solid #222;padding-top:1rem}.paper-references li{margin-bottom:0.7rem}.algebraic-page figure{clear:both;max-width:min(100%,44rem);margin:1.5rem auto}.algebraic-page article img,.algebraic-page figure>svg,.algebraic-page figure>a>svg{background:#fff;display:block;width:auto;height:auto;max-width:100%;max-height:var(--figure-max-height);object-fit:contain;margin-inline:auto}.algebraic-page figure>a{display:block;min-width:0;max-width:100%;border-radius:0.25rem;cursor:zoom-in}.algebraic-page .figure-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:1rem}.algebraic-page .figure-pair.figure-pair--overview{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);max-width:27rem;column-gap:clamp(0.25rem, 1.6vw, 0.65rem)}.algebraic-page .figure-pair--overview>a{grid-row:1;min-width:0}.algebraic-page .figure-pair--overview>a:first-child{grid-column:1}.algebraic-page .figure-pair--overview>a:nth-child(2){grid-column:2}.algebraic-page .figure-pair--overview>figcaption{grid-row:2}.algebraic-page .figure-pair.figure-pair--overview img{max-height:min(42svh,19rem)}.algebraic-page .figure-pair--overview>a:nth-child(2) img{max-height:min(24svh,11rem)}.algebraic-page .figure-pair img{max-height:min(var(--figure-max-height),24rem)}.algebraic-page .figure--compact{max-width:min(100%,30rem)}.algebraic-page .figure--index{max-width:min(100%,60rem)}.algebraic-page .search-playback{display:flex;justify-content:center;gap:0.45rem;margin-block:0.35rem 0.75rem}.algebraic-page .search-playback button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0.25rem 0.6rem;border:1px solid #d5dce1;border-radius:0.35rem;background:#fff;color:#000;font:1.1rem/1 Arial,sans-serif;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.algebraic-page .search-playback button:hover:not(:disabled){background:#f2f4f5;border-color:#abb5bd}.algebraic-page .search-playback button:disabled{opacity:0.35;cursor:default}.algebraic-page .search-playback button:focus-visible,.algebraic-page #search-animation:focus-visible{outline:2px solid #4c7fa5;outline-offset:3px}.algebraic-page .search-queue{min-height:5.5rem;font-size:clamp(0.75rem, 1.3vw, 0.8125rem);text-align:center}.algebraic-page .search-queue ol{display:flex;flex-wrap:nowrap;justify-content:center;gap:calc(0.35rem*var(--queue-scale, 1));font-size:calc(1em*var(--queue-scale, 1));list-style:none;padding:0 0 0.875rem;margin:0}.algebraic-page .search-queue li{position:relative;flex:none;margin:0;border:1px solid #0002;border-radius:0.25rem;color:#000;padding:calc(0.2rem*var(--queue-scale, 1)) calc(0.45rem*var(--queue-scale, 1));font-family:ui-monospace,monospace;white-space:nowrap}.algebraic-page .search-queue-next{position:absolute;top:100%;left:0;width:100%;padding-top:0.12rem;color:#555;font:0.6875rem/1.2 Arial,sans-serif}.algebraic-page .search-queue [data-state="Down"]{background:var(--search-down)}.algebraic-page .search-queue [data-state="Up"]{background:var(--search-up)}.algebraic-page .search-queue [data-state="At"]{background:var(--search-at)}.algebraic-page figure figcaption{grid-column:1 / -1;color:#555;font-size:0.9em;font-style:italic;margin-top:0.5rem;text-align:center}.algebraic-page [data-neighbors-ready] [data-neighbor-node]{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;outline:none}.algebraic-page [data-neighbor-node]:focus-visible .neighbor-focus{opacity:1}.algebraic-page figure .neighbor-instructions{font-size:0.8rem;font-style:normal;margin-top:0.25rem}.algebraic-page .neighbor-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.algebraic-page .figure-flow{display:flow-root;clear:both;margin-block:1rem}.algebraic-page .figure-flow>p:first-of-type{margin-top:0.35rem}.algebraic-page .figure-reference{display:flow-root;clear:both;max-width:44rem;margin:1rem auto 1.5rem;font-size:0.9rem}.algebraic-page .figure-reference summary{cursor:pointer}.algebraic-page .benchmark-results{clear:both;max-width:44rem;margin:1.25rem auto;container-type:inline-size}.algebraic-page #compression-performance{float:none;margin-inline:auto}.algebraic-page [data-benchmark-plot]{position:relative}.algebraic-page [data-benchmark-plot-ready="true"]>svg{touch-action:manipulation}.algebraic-page .benchmark-points circle{cursor:pointer;outline:none}.algebraic-page .benchmark-point-ring{pointer-events:none}.algebraic-page .benchmark-tooltip{position:absolute;z-index:2;box-sizing:border-box;width:max-content;max-width:min(17rem,100%);padding:0.5rem 0.65rem;border:1px solid #d7dce0;border-radius:0.4rem;background:#fff;box-shadow:0 3px 12px rgb(0 0 0 / 10%);color:#000;font-size:0.8125rem;line-height:1.4;text-align:left;pointer-events:none}.algebraic-page .benchmark-tooltip[hidden]{display:none}.algebraic-page .benchmark-tooltip strong,.algebraic-page .benchmark-tooltip span{display:block}.algebraic-page .benchmark-table-wrap{max-width:100%;overflow-x:auto;margin-block:1rem}.algebraic-page .benchmark-table{display:table;width:100%;min-width:16.5rem;table-layout:fixed;border:1px solid #bdc5cb;border-collapse:collapse;background:#fff;overflow:visible;font-size:clamp(0.75rem, (0.625rem + 0.6vw), 0.875rem);font-size:clamp(0.75rem, (0.625rem + 0.6cqi), 0.875rem);line-height:1.3;font-variant-numeric:lining-nums tabular-nums}.algebraic-page .benchmark-graph-column{width:34%}.algebraic-page .benchmark-value-column{width:16.5%}.algebraic-page .benchmark-table caption{margin-bottom:0.5rem;text-align:left;font-weight:600;background:transparent}.algebraic-page .benchmark-table th,.algebraic-page .benchmark-table td{padding-block:0.4rem;padding-inline:clamp(0.1rem, (-0.5rem + 2.4vw), 0.55rem);padding-inline:clamp(0.1rem, (-0.4rem + 2.4cqi), 0.55rem);border:1px solid #bdc5cb;background-image:none;font-size:inherit;vertical-align:middle}.algebraic-page .benchmark-table thead th{background:#f0f4f7;text-align:center;font-size:clamp(0.6875rem, (0.425rem + 1.2vw), 0.875rem);font-size:clamp(0.6875rem, (0.4875rem + 1.2cqi), 0.875rem);line-height:1.2}.algebraic-page .benchmark-table tbody th{text-align:left;font-weight:400}.algebraic-page .benchmark-table thead th[rowspan]{text-align:left}.algebraic-page .benchmark-table td{text-align:right;white-space:nowrap}.algebraic-page .benchmark-table tbody tr:nth-child(even){background:#fafbfc}.algebraic-page .benchmark-note,.algebraic-page .benchmark-method{color:#555;font-size:0.85rem}.algebraic-page .benchmark-method summary{cursor:pointer}.algebraic-page .footnotes{clear:both;margin-top:2.5rem;font-size:0.875rem}.algebraic-page .footnotes li{margin-bottom:0.75rem;scroll-margin-top:1.5rem}.algebraic-page a.footnote-ref,.algebraic-page a.footnote-ref:is(:hover,:focus,:active,:visited),.algebraic-page a.footnote-ref>sup{text-decoration:none;border-bottom:0;box-shadow:none}.algebraic-page a.footnote-ref{display:inline-block;margin-inline:0.22em 0;scroll-margin-top:1.5rem}.algebraic-page .footnotes li:target{background:#f0f4f7;outline:0.35rem solid #f0f4f7}@media (min-width:1024px){.algebraic-page figure:where(.figure--float,:has(img[src$=".svg"],img[src*=".svg?"]),:has(svg)){float:right;clear:both;width:46%;max-width:28rem;margin:0.35rem 0 1.25rem 1.5rem}.algebraic-page figure.figure--left{float:left;margin:0.35rem 1.5rem 1.25rem 0}.algebraic-page figure.figure--compact:has(img[src$=".svg"],img[src*=".svg?"],svg):not([data-animation]){width:42%;max-width:26rem}.algebraic-page figure.figure--wide{width:58%;max-width:36rem}}@media (max-width:640px){.algebraic-page .benchmark-graph-column{width:24%}.algebraic-page .benchmark-switching-column{width:21%}.algebraic-page .benchmark-alga-column{width:17%}.algebraic-page figure{margin-block:1.25rem}.algebraic-page .figure-pair{gap:0.75rem}.algebraic-page article a,.algebraic-page article code{overflow-wrap:anywhere}.algebraic-page article pre code{overflow-wrap:normal}.academic-abstract,.draft-status{padding:0.8rem 1rem}.haskell-line-notes{padding-inline:0.75rem}}