@font-face{font-family:JetBrains Mono;src:url(/daedalus/_astro/JetBrainsMono-Regular.BQaDgvhP.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/daedalus/_astro/JetBrainsMono-Italic.CFFf43z2.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/daedalus/_astro/JetBrainsMono-Bold.D4WEaHbo.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{color-scheme:light;--bg:#fbfaf7;--ink:#1b1b1a;--muted:#6b6a65;--rule:#dcd9d2;--rule-strong:#b9b5ac;--teal:#139a8c;--orange:#eea05a;--role-explorer:#8fb0ea;--role-solver:#9cd49e;--role-judge:#c7a4e2;--role-extractor:#f0b878;--teal-ink:#0b7a6e;--orange-ink:#a85a12;--select:#139a8c2e;--diff-add:#2e7d32;--diff-del:#b3261e;--letter-fill:#edf4f1;--shadow-dot:#1b1b1a38;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--measure:78ch;--side:24ch}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#111312;--ink:#e6e4de;--muted:#9a988f;--rule:#2a2d2b;--rule-strong:#474b48;--teal:#1ea393;--orange:#c5834d;--role-explorer:#7d9dda;--role-solver:#8cc08a;--role-judge:#b090cc;--role-extractor:#d6a466;--teal-ink:#45d0bf;--orange-ink:#e9a35d;--select:#45d0bf33;--letter-fill:#12201e;--diff-add:#7fd08a;--diff-del:#f2998f;--shadow-dot:#e6e4de1a}}:root[data-theme=dark]{color-scheme:dark;--bg:#111312;--ink:#e6e4de;--muted:#9a988f;--rule:#2a2d2b;--rule-strong:#474b48;--teal:#1ea393;--orange:#c5834d;--role-explorer:#7d9dda;--role-solver:#8cc08a;--role-judge:#b090cc;--role-extractor:#d6a466;--teal-ink:#45d0bf;--orange-ink:#e9a35d;--select:#45d0bf33;--letter-fill:#12201e;--diff-add:#7fd08a;--diff-del:#f2998f;--shadow-dot:#e6e4de1a}*{box-sizing:border-box}html{font-family:var(--mono);color:var(--ink);background:var(--bg);-webkit-text-size-adjust:100%;font-variant-ligatures:none;scroll-behavior:smooth;font-size:15px;line-height:1.7}body{background:var(--bg);margin:0}::selection{background:var(--select)}a{color:var(--teal-ink);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}a:focus-visible,button:focus-visible,summary:focus-visible{outline:1px dashed var(--teal-ink);outline-offset:3px}p{margin:0 0 1.2em}em{font-style:italic}strong{font-weight:700}sup{line-height:0}code{font:inherit;color:var(--orange-ink)}.muted{color:var(--muted)}.teal{color:var(--teal-ink)}.orange{color:var(--orange-ink)}.page{grid-template-columns:minmax(2rem, 1fr) minmax(0, var(--side)) 5ch minmax(0, var(--measure)) 5ch minmax(0, var(--side)) minmax(2rem, 1fr);padding:3.5rem 0 5rem;display:grid}.sidebar{grid-column:2}.content{grid-column:4;min-width:0}@media (width<=1180px){.page{grid-template-columns:minmax(1.5rem, 1fr) minmax(0, var(--measure)) minmax(1.5rem, 1fr)}.sidebar{display:none}.content{grid-column:2}}@media (width<=640px){html{font-size:14px;line-height:1.65}.page{grid-template-columns:16px minmax(0,1fr) 16px;padding:1.25rem 0 3rem}}.sidebar-inner{color:var(--muted);font-size:12.5px;line-height:1.8;transition:opacity .4s;position:sticky;top:3.5rem}.sidebar .brand{color:var(--ink);letter-spacing:.08em;font-weight:700}.sidebar .rule{color:var(--rule-strong);white-space:nowrap;overflow:hidden}.toc{margin:.4rem 0 1.2rem;padding:0;list-style:none}.toc li{grid-template-columns:3ch 1fr;display:grid}.toc a{color:var(--muted)}.toc a:hover{color:var(--ink);text-decoration:none}.toc .caret{color:#0000}.toc li.active a,.toc li.active .num,.toc li.active .caret{color:var(--teal-ink)}.toc .num{width:3ch;display:inline-block}.sidebar .links a{color:var(--muted)}.sidebar .links a:hover{color:var(--ink);text-decoration:none}.topbar{color:var(--muted);justify-content:space-between;gap:1ch;margin-bottom:2.5rem;font-size:12.5px;display:flex}.theme-toggle,.share{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0}.theme-toggle:hover,.share:hover{color:var(--ink)}.share .value,.theme-toggle .value{color:var(--teal-ink)}.maze{user-select:none;margin:0 0 1.4rem;container-type:inline-size}.maze-art{font-size:calc(100cqi / (var(--chars) * .6));white-space:pre;color:var(--rule-strong);line-height:1.32}.maze .l{color:var(--teal)}.maze-lines>div{height:1.32em}.maze .f{vertical-align:top;--q1:transparent;--q2:transparent;--q3:transparent;--q4:transparent;background:conic-gradient(var(--q1) 0 25%, var(--q2) 0 50%, var(--q3) 0 75%, var(--q4) 0);height:calc(100% + 1px);display:inline-block}.maze .tr{--q1:var(--letter-fill)}.maze .br{--q2:var(--letter-fill)}.maze .bl{--q3:var(--letter-fill)}.maze .tl{--q4:var(--letter-fill)}.maze .p,.maze .gate{color:var(--orange)}.maze-art{position:relative}.maze-exit{all:unset;right:0;top:calc(var(--row) * 1.32em);text-align:center;width:.6em;height:1.32em;color:var(--orange);pointer-events:none;cursor:pointer;line-height:1.32;position:absolute}.maze:hover .maze-exit,.maze-exit:focus-visible{pointer-events:auto;color:var(--orange-ink);font-weight:700}.maze-exit:focus-visible{outline:1px dashed var(--teal-ink);outline-offset:2px}.maze-hint{white-space:nowrap;color:var(--orange-ink);opacity:.5;pointer-events:auto;padding:.4em 0 .4em 1ch;font-size:11px;font-weight:400;line-height:1;position:absolute;top:50%;left:100%;transform:translateY(-50%)}@media (prefers-reduced-motion:no-preference){.maze-hint{animation:6s ease-in-out infinite blink}.maze-exit:hover .maze-hint,.maze-exit:focus-visible .maze-hint{animation:none}}@keyframes blink{50%{opacity:0}}@media (width<=1000px){.maze-hint{display:none}}@media (prefers-reduced-motion:no-preference){.maze:hover .maze-arrow{animation:1.4s ease-in-out infinite nudge}}.maze-arrow{display:inline-block}@keyframes nudge{50%{transform:translate(.35em)}}.maze--narrow{display:none}@media (width<=640px){.maze--wide{display:none}.maze--narrow{display:block}}@media (prefers-reduced-motion:no-preference){.maze .p{opacity:0;animation:.3s ease-out forwards trace;animation-delay:calc(.5s + var(--i) * 14ms)}.maze.alt .p{animation-name:trace-again}.maze.fading .p{color:#0000;transition:color .8s}}@keyframes trace{to{opacity:1}}@keyframes trace-again{to{opacity:1}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.title h1{letter-spacing:.06em;margin:0;font-size:clamp(2.2rem,7vw,3.1rem);font-weight:700;line-height:1.05}.title .subtitle{margin:.6rem 0 1.6rem;font-size:clamp(1.05rem,2.6vw,1.3rem);line-height:1.4}.authors{margin:0 0 .3rem}.authors .author{white-space:nowrap}.authors .sep{color:var(--rule-strong)}.author-name{outline:none;display:inline-block;position:relative}.author-name:has(.socials){cursor:pointer}.author-name .nm{text-decoration:underline;text-decoration-color:var(--rule-strong);text-underline-offset:3px;text-decoration-thickness:1px;transition:opacity .2s}.socials{opacity:0;pointer-events:none;justify-content:center;align-items:center;gap:1.4ch;transition:opacity .2s;display:flex;position:absolute;inset:0}.author-name:has(.socials):hover .nm,.author-name:has(:focus-visible) .nm,.author-name:focus-visible .nm{opacity:.15}.author-name:hover .socials,.author-name:has(:focus-visible) .socials,.author-name:focus-visible .socials{opacity:1;pointer-events:auto}@media (hover:none){.author-name:focus-within .nm{opacity:.15}.author-name:focus-within .socials{opacity:1;pointer-events:auto}}.author-name:focus-visible{outline:1px dashed var(--teal-ink);outline-offset:3px}.social{padding:.15rem;transition:transform .15s;display:inline-flex}.social svg{fill:currentColor;width:1.05em;height:1.05em}.social-linkedin{color:#0a66c2}.social-x,.social-mail{color:var(--ink)}.social:hover,.social:focus-visible{transform:scale(1.18)}.affil{color:var(--muted);margin-bottom:1.2rem;font-size:12.5px}.illuin{align-items:center;gap:.8ch;font-size:14px;text-decoration:none;display:inline-flex}.illuin img{width:auto;height:1.05em}.illuin:hover .rainbow{text-decoration:underline;text-decoration-color:var(--rule-strong);text-underline-offset:3px}.buttons{flex-wrap:wrap;gap:1ch 2ch;margin:0 0 3.5rem;display:flex}.buttons a:before{content:"[ ";color:var(--muted)}.buttons a:after{content:" ]";color:var(--muted)}.sidebar-inner{opacity:.4}.sidebar-faded .sidebar-inner{opacity:.12}.sidebar-inner:hover,.sidebar-inner:focus-within{opacity:1}.toc-inline{color:var(--muted);margin:-1.5rem 0 3rem;font-size:13px;display:none}.toc-inline summary{cursor:pointer;list-style:none}.toc-inline summary::-webkit-details-marker{display:none}.toc-inline summary:before{content:"[+] ";color:var(--teal-ink)}.toc-inline[open] summary:before{content:"[-] "}.toc-inline .toc{margin:.5rem 0 0 4ch}@media (width<=1180px){.toc-inline{display:block}}section{margin:0 0 4.5rem;scroll-margin-top:2rem}h2{align-items:baseline;gap:1.5ch;margin:0 0 1.6rem;font-size:1.15rem;font-weight:700;line-height:1.4;display:flex}h2 .num{color:var(--teal-ink);flex:none}h2 .text{flex:0 auto}h2:after{content:"────────────────────────────────────────────────────────────────────────";white-space:nowrap;min-width:4ch;color:var(--rule-strong);flex:4ch;font-weight:400;overflow:hidden}.box{border:1px solid var(--rule-strong);margin:0 0 1.8rem;padding:1.6rem 1.6rem .6rem;position:relative}.box>.label{background:var(--bg);color:var(--muted);padding:0 1ch;font-size:12.5px;position:absolute;top:-.85em;left:1.2rem}.box>.label b{color:var(--ink);font-weight:700}@media (width<=640px){.box{padding:1.4rem 1rem .4rem}.box>.label{left:.7rem}}.tldr,.takeaway{border:1px solid var(--teal);background:color-mix(in srgb, var(--teal) 6%, var(--bg))}.box{--sh:7px}.box:after{content:"";transform:translate(var(--sh), var(--sh));clip-path:polygon(calc(100% - var(--sh)) 0, 100% 0, 100% 100%, 0 100%, 0 calc(100% - var(--sh)), calc(100% - var(--sh)) calc(100% - var(--sh)));background:repeating-conic-gradient(var(--shadow-dot) 0 25%, transparent 0 50%) 0 0 / 4px 4px;pointer-events:none;position:absolute;inset:-1px}.tldr{padding:1.8rem 1.8rem .6rem}.tldr .points{margin:0 0 .8rem}.tldr .points li{margin-bottom:.7rem}.tldr>.label,.takeaway>.label{color:var(--teal-ink);background:var(--bg);font-weight:700}.takeaway{margin:1.6rem 0 2rem;padding:1.3rem 1.6rem .2rem}.takeaway p{margin:0 0 .8rem}.takeaway p:before{content:"› ";color:var(--teal-ink);font-weight:700}@media (width<=640px){.tldr{padding:1.5rem 1rem .4rem}.takeaway{padding:1.2rem 1rem .1rem}}a.ref{color:inherit;text-decoration:underline;text-decoration-color:var(--rule-strong);text-underline-offset:3px;text-decoration-thickness:1px}a.ref:hover{text-decoration-color:var(--teal)}.figure{padding:1.2rem 1rem .8rem}.chart{width:100%;height:500px}@media (width<=640px){.figure{padding:1.1rem .4rem .6rem}.chart{height:380px}}.stats{gap:.1rem;margin:.6rem .4rem 1rem;font-size:13px;display:grid}.stats .swatch{width:1ch;display:inline-block}.legend{grid-template-columns:repeat(3,minmax(0,1fr));gap:.15rem 2ch;margin:0 .4rem .8rem;padding:0;font-size:12.5px;list-style:none;display:grid}.legend li{cursor:default;color:var(--muted);align-items:center;gap:1ch;display:flex}.legend li:hover,.legend li.on{color:var(--ink)}.legend svg{flex:none;width:13px;height:13px;overflow:visible}.legend svg path{fill:none;stroke:var(--ink);stroke-width:1.6px;stroke-linejoin:round}@media (width<=900px){.legend{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){h2:after,.box>.label .long{display:none}.stats{margin-left:.2rem;margin-right:.2rem;font-size:11.5px}}@media (width<=480px){.legend{grid-template-columns:1fr;gap:0}}.chart-wrap{position:relative}.chart-wrap+.legend{margin-top:.7rem}@media (width>=641px){.stats.in-plot{background:var(--bg);border:1px solid var(--rule-strong);margin:0;padding:.45rem 1.4ch;font-size:12px;line-height:1.6;position:absolute;top:22px;left:70px}}figcaption{color:var(--muted);margin:.2rem 0 0;font-size:12.5px}.table-view{color:var(--muted);margin:.4rem 0 0;font-size:12.5px}.table-view summary{cursor:pointer;list-style:none}.table-view summary::-webkit-details-marker{display:none}.table-view summary:before{content:"[+] ";color:var(--teal-ink)}.table-view[open] summary:before{content:"[-] "}.table-view pre{color:var(--ink);font:inherit;margin:.6rem 0 .4rem;line-height:1.6;overflow-x:auto}.footer{color:var(--muted);border-top:1px solid var(--rule-strong);padding-top:1rem;font-size:12.5px}.wide{--wide:min(75vw, 1560px);width:var(--wide);margin-left:calc((100% - var(--wide)) / 2);background:var(--bg);z-index:1}@media (width<=640px){.wide{--wide:100%;margin-left:0}}.pipeline{padding:2rem clamp(1.2rem,2vw,3rem) 1.2rem;container-type:inline-size}.pipeline:focus-visible{outline:1px dashed var(--teal-ink);outline-offset:4px}.pl-grid{--pl-font:12.5px;gap:1.4rem 2.4rem;display:grid}@container (width>=960px){.pl-grid{grid-template-columns:calc(var(--chars) * .6 * var(--pl-font)) minmax(0, 1fr);align-items:start;gap:1.4rem 2rem}}@container (width>=1250px){.pl-grid{--pl-font:14px}}.pl-diagram{container-type:inline-size}.pl-art{width:max-content;font-size:min(calc(100cqi / (var(--chars) * .6)), var(--pl-font,12.5px));white-space:pre;color:var(--rule-strong);user-select:none;margin:0 auto;line-height:1.32}.pl-art>div{height:1.32em}.pl-art [data-p]{transition:color .35s,background .35s}.pl-art .label{font-weight:700}.pl-art .f{vertical-align:top;--q1:transparent;--q2:transparent;--q3:transparent;--q4:transparent;background:conic-gradient(var(--q1) 0 25%, var(--q2) 0 50%, var(--q3) 0 75%, var(--q4) 0);height:calc(100% + 1px);display:inline-block}@keyframes pulse{50%{opacity:.5}}.pl-text{font-size:var(--pl-font);min-width:0;max-width:80ch;line-height:1.6}.pl-log{margin:0;padding:0;list-style:none}.pl-log button{all:unset;box-sizing:border-box;cursor:pointer;width:100%;color:var(--muted);opacity:.5;grid-template-columns:3.5ch 13ch minmax(0,1fr);display:grid}.pl-log button:focus-visible{outline:1px dashed var(--teal-ink)}.pl-log li.done button{opacity:1}.pl-log li.now button{opacity:1;color:var(--ink)}.pl-log li.now .pl-actor,.pl-log li.now .pl-num{color:var(--teal-ink);font-weight:700}.pl-log button:hover{opacity:1;color:var(--ink)}.pl-now{border-bottom:1px dashed var(--rule-strong);margin-bottom:.9rem;padding-bottom:.9rem;display:grid}.pl-detail{visibility:hidden;grid-area:1/1}.pl-detail.on{visibility:visible}.pl-detail-head{color:var(--teal-ink);margin-bottom:.35rem;font-weight:700}.pl-detail p{margin:0}.pl-detail q{border-left:2px solid var(--rule-strong);color:var(--ink);white-space:normal;quotes:none;margin:.5rem 0;padding-left:1.5ch;font-style:italic;display:block}.pl-detail .k{color:var(--teal-ink)}.pl-detail .lbl{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:.7rem 0 -.35rem;font-size:.85em;display:block}.pl-detail code{color:inherit;border:0;margin:0;padding:0;display:inline}.pl-detail .diff{margin:.55rem 0 0;display:block}.pl-detail .diff>span{grid-template-columns:2ch minmax(0,1fr);display:grid}.pl-detail .diff i{font-style:normal;font-weight:700}.pl-detail .diff .add{color:var(--diff-add)}.pl-detail .diff .del{color:var(--diff-del)}.pl-detail .diff .del>span{text-decoration:line-through 1px}.pl-detail .diff .ctx{color:var(--muted)}.pl-detail .res{color:var(--teal-ink);letter-spacing:.12em}.pl-detail .res b{color:var(--orange-ink)}.pl-controls{border-top:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:.6rem 1.2ch;margin-top:1.4rem;padding-top:1rem;font-size:13.5px;display:flex}.pl-controls [data-act]{all:unset;cursor:pointer;border:1px solid var(--rule-strong);color:var(--ink);background:var(--bg);padding:.4rem 1.6ch;transition:background .15s,border-color .15s}.pl-controls [data-act]:hover{border-color:var(--teal);background:color-mix(in srgb, var(--teal) 8%, var(--bg))}.pl-controls [data-act]:focus-visible{outline:2px solid var(--teal-ink);outline-offset:2px}.pl-controls .pl-play{background:var(--teal-ink);border-color:var(--teal-ink);color:var(--bg);font-weight:700}.pl-controls .pl-play:hover{background:var(--teal);border-color:var(--teal)}.pl-count{color:var(--muted);margin-left:.6ch}.pl-keys{color:var(--muted);font-size:12px}.pl-bar{gap:.35ch;margin-left:auto;display:flex}.pl-bar button{all:unset;cursor:pointer;color:var(--rule-strong);padding:.2rem .1ch}.pl-bar button.done{color:var(--muted)}.pl-bar button.now{color:var(--teal)}@media (width<=640px){.pl-keys{display:none}.pipeline{padding:1.4rem .9rem .8rem}.pl-bar{width:100%;margin-left:0}.pl-now{overscroll-behavior:contain;height:min(22rem,55vh);padding-bottom:1.6rem;display:block;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 calc(100% - 1.6rem),#0000);mask-image:linear-gradient(#000 calc(100% - 1.6rem),#0000)}.pl-detail{display:none}.pl-detail.on{display:block}}h3{margin:2.6rem 0 .8rem;font-size:1rem;font-weight:700}h3:before{content:"## ";color:var(--teal-ink)}.points{margin:0 0 1.4rem;padding:0;list-style:none}.points li{margin-bottom:.6rem;padding-left:3ch;position:relative}.points li:before{content:"›";color:var(--teal-ink);font-weight:700;position:absolute;left:.6ch}.tbl{padding:1.5rem 1.4rem .8rem}.tbl-small{max-width:100%}.t-wrap{overflow-x:auto}.t{border-collapse:collapse;font-variant-numeric:tabular-nums;white-space:nowrap;width:100%;font-size:13px}.t th,.t td{text-align:right;padding:.42rem 1.1ch}.t th:first-child,.t td:first-child{text-align:left;padding-left:.4ch}.t thead th{color:var(--muted);border-bottom:1px solid var(--rule-strong);font-weight:400}.t thead .grp-h{color:var(--ink);text-align:center;border-bottom:1px dashed var(--rule-strong)}.t tbody td{border-bottom:1px dotted var(--rule);transition:background .15s}.t .first,.t .c-sep{border-left:1px solid var(--rule)}.t .pm{color:var(--muted);margin-left:.4ch;font-size:.82em}.t .c{text-align:center}.t .grp td{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--rule);padding-top:1rem;font-size:11px}.t .best .val{font-weight:700}.t .best-free .val,.u{text-decoration:underline;text-decoration-color:var(--teal);text-underline-offset:3px;text-decoration-thickness:2px}.t tr.ours td{background:color-mix(in srgb, var(--teal) 8%, var(--bg))}.t tr.ours td:first-child{color:var(--teal-ink);font-weight:700}.t tbody tr:hover td,.t td.col-hl{background:color-mix(in srgb, var(--ink) 5%, var(--bg))}.t tr.ours:hover td{background:color-mix(in srgb, var(--teal) 14%, var(--bg))}.tabs{flex-wrap:wrap;gap:.4rem 2.5ch;margin:0 0 .9rem;font-size:13px;display:flex}.tabs button{all:unset;cursor:pointer;color:var(--muted);border-bottom:2px solid #0000;padding:.25rem .2ch}.tabs button:hover{color:var(--ink)}.tabs button.on{color:var(--teal-ink);border-bottom-color:var(--teal);font-weight:700}.tabs button.on .muted{font-weight:400}.tabs button:focus-visible{outline:1px dashed var(--teal-ink);outline-offset:2px}.t1[data-show=appworld] [data-b]:not([data-b=appworld]),.t1[data-show=tau2] [data-b]:not([data-b=tau2]),.t1[data-show=ab] [data-b]:not([data-b=ab]){display:none}.t1{table-layout:fixed;min-width:34rem}.t1 th.c-name{width:34%}.t1 th[data-b]{width:22%}.tm{padding:1.5rem 1.4rem .8rem}.tm-t td.tm-cell{--fill:color-mix(in srgb, var(--teal) var(--a), var(--bg));background:var(--bg);transition:background .5s ease var(--d);text-align:center;border:2px solid var(--bg)}.tm.in .tm-t td.tm-cell{background:var(--fill)}.tm-t td.tm-cell .val{font-weight:700}.tm-t td.own .val:before{content:"◆ ";color:var(--teal-ink);font-size:.8em}.tm-t th[data-col],.tm-t .tm-base td[data-col]{text-align:center}.tm-t .hl td:first-child,.tm-t th.hl{color:var(--teal-ink)}.tm-t td.tm-cell.hl{outline:1px solid var(--teal);outline-offset:-3px}.tm-t tbody tr:hover td{background:inherit}.tm.in .tm-t tbody tr td.tm-cell:hover{background:color-mix(in srgb, var(--teal) calc(var(--a) + 8%), var(--bg))}.tm-bank,.tm-corner{line-height:1.35}.tm-say{color:var(--muted);height:3.2em;margin:.7rem .4ch .2rem;font-size:12.5px;line-height:1.6;overflow:hidden}.own-key{color:var(--teal-ink)}@media (prefers-reduced-motion:reduce){.tm-t td.tm-cell{transition:none}}.ab{padding:2rem clamp(1.2rem,2vw,3rem) 1.2rem;container-type:inline-size}.ab:focus-visible{outline:1px dashed var(--teal-ink);outline-offset:4px}.ab-grid{--pl-font:10.5px;align-items:start;gap:1.4rem 2rem;display:grid}.ab-grid>*,.pl-grid>*{min-width:0}@container (width>=1000px){.ab-grid{grid-template-columns:calc(var(--chars) * .6 * var(--pl-font)) minmax(0, 1fr)}}.ab-t{font-size:12.5px}.ab-t td:first-child{white-space:normal;min-width:20ch}.ab-t tbody tr[data-row]{opacity:.22;transition:opacity .3s}.ab-t tbody tr.done,.ab-t tbody tr.now{opacity:1}.ab-t tbody tr.now td{background:color-mix(in srgb, var(--teal) 9%, var(--bg))}.ab-t tbody tr.now td:first-child{color:var(--teal-ink);font-weight:700}.ab-base td,.ab-id{color:var(--muted)}.ab-bar{color:var(--teal);letter-spacing:-.05em;font-size:11px;text-align:left!important;padding-left:0!important}.ab-bar.low{color:var(--diff-del)}.ab-base .ab-bar{color:var(--rule-strong)}.ab-notes{margin-bottom:1rem;font-size:13px;line-height:1.6;display:grid}.ab-notes .pl-detail{margin:0}.ab-stats{color:var(--muted);margin-top:.3rem;font-size:12px;display:block}.ab .pl-bar button{color:var(--rule-strong)}.ab .pl-bar button.done{color:var(--muted)}.ab .pl-bar button.now{color:var(--teal-ink);font-weight:700}.rg{padding:1.7rem 1.6rem 1rem}.rg-grid{font-size:13px;line-height:1.55}.rg-head,.rg-row{grid-template-columns:minmax(0,1.9fr) minmax(0,1fr) minmax(0,1fr);column-gap:1.6ch;display:grid}.rg-head>span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--rule-strong);padding:.35rem 1.4ch;font-size:11px}.rg-row{border-top:1px solid var(--rule-strong);margin-top:1.5rem;padding-top:1.2rem}.rg-head+.rg-row{border-top:0;margin-top:.9rem;padding-top:0}.rg-grid{perspective:1200px}.rg-row{--dim:1;opacity:calc(clamp(0, calc(var(--q,1) * 3), 1) * var(--dim));transform:rotateX(calc((1 - var(--q,1)) * -90deg));transform-origin:top}.rg-row.done{--dim:.72}.rg.at-end .rg-row{--dim:1}.rg-name{grid-column:1/-1;padding:0 0 .5rem;font-size:13.5px}.rg-name i{color:var(--rule-strong);margin-right:1ch;font-style:normal}.rg-cur .rg-name i,.rg-cur .rg-name b{color:var(--orange-ink)}.rg-gen .rg-name i,.rg-gen .rg-name b{color:var(--teal-ink)}.rg-cell{border-top:3px solid;flex-direction:column;gap:.15rem;padding:.65rem 1.4ch;display:flex}.rg-prep{border-color:var(--rule-strong);background:color-mix(in srgb, var(--ink) 2.5%, var(--bg))}.rg-cur .rg-prep{border-color:var(--orange);background:color-mix(in srgb, var(--orange) 9%, var(--bg))}.rg-gen .rg-prep{border-color:var(--teal);background:color-mix(in srgb, var(--teal) 8%, var(--bg))}.rg-line{grid-template-columns:11ch minmax(0,1fr);display:grid}.rg-line.rg-plain{display:block}.rg-base .rg-plain{color:var(--muted);font-style:italic}.rg-gen .rg-plain{color:var(--teal-ink);font-weight:700}.rg-who{color:var(--muted)}.rg-tag{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:.35rem;font-size:11px}.rg-cur .rg-tag{color:var(--orange-ink)}.rg-gen .rg-tag{color:var(--teal-ink)}.rg-test{border-top-style:dotted;border-top-width:1px;border-color:var(--rule-strong)}.rg-test.is-no{background:color-mix(in srgb, var(--diff-del) 5%, var(--bg))}.rg-test.is-ok{background:color-mix(in srgb, var(--teal) 6%, var(--bg))}.rg-run{color:var(--muted);white-space:nowrap}.rg-err{color:var(--diff-del)}.rg-avoided{text-decoration:line-through 1px}.rg-flag{font-weight:700}.rg .no{color:var(--diff-del)}.rg .ok{color:var(--diff-add)}.rg-note{font-size:12px}.rg-why{margin:1.2rem 0 0;transition:opacity .4s}.rg:not(.at-end) .rg-why{visibility:hidden;opacity:0}@media (width<=640px){.rg{padding:1.4rem 1rem .8rem}.rg-head{display:none}.rg-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);row-gap:.4rem}.rg-prep{grid-column:1/-1}.rg-cell{padding:.5rem 1.2ch}}.mx{padding:1.7rem 1.6rem 1rem}.mx .lbl{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:1.3rem 0 .4rem;font-size:11px;display:block}.mx .lbl:first-of-type{margin-top:0}.mx-q{quotes:none;font-size:1.05rem;font-style:italic;display:block}.mx-who{font-weight:700}.mx-n{font-size:1.2rem;font-weight:700}.mx .no{color:var(--diff-del)}.mx .ok{color:var(--diff-add)}.mx-race{margin-top:1.4rem;font-size:13px;line-height:1.55}.mx-head,.mx-step{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:1.6ch;display:grid}.mx-head>span{border-top:3px solid;padding:.45rem 1.4ch}.mx-head .side-base{border-color:var(--rule-strong);background:color-mix(in srgb, var(--ink) 4%, var(--bg))}.mx-head .side-mem{border-color:var(--teal);background:color-mix(in srgb, var(--teal) 9%, var(--bg));color:var(--teal-ink)}.mx-race{overflow-x:clip}.mx-step{--dim:1;opacity:var(--dim);transition:opacity .35s}.mx-step>.mx-cell{opacity:var(--q,1)}.mx-step>.side-base{transform:translateX(calc((1 - var(--q,1)) * -56px))}.mx-step>.side-mem{transform:translateX(calc((1 - var(--q,1)) * 56px))}.mx-step.done{--dim:.72}@keyframes mx-in{0%{opacity:0;transform:translateY(-6px)}}.mx-cell{border-top:1px dotted var(--rule-strong);grid-template-columns:5ch minmax(0,1fr);padding:.65rem 1.4ch;display:grid}.mx-cell.side-base{background:color-mix(in srgb, var(--ink) 2.5%, var(--bg))}.mx-cell.side-base.is-off{background:color-mix(in srgb, var(--diff-del) 5%, var(--bg))}.mx-cell.side-mem{background:color-mix(in srgb, var(--teal) 6%, var(--bg))}.mx-t{color:var(--muted)}.mx-body>*{display:block}.mx-code{border-left:2px solid var(--rule-strong);color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;margin-top:.2rem;padding-left:1.2ch;font-size:.95em}.mx-out{color:var(--muted);margin-top:.15rem}.mx-mem{background:color-mix(in srgb, var(--teal) 12%, var(--bg));border-left:2px solid var(--teal);color:var(--ink);margin-bottom:.35rem;padding:.3rem 1ch;font-size:12.5px}.mx-mem b{color:var(--teal-ink)}.mx-flag{margin-top:.3rem;font-weight:700}.mx-cell.is-off .mx-code{border-left-color:color-mix(in srgb, var(--diff-del) 55%, var(--bg))}.side-mem .mx-code{border-left-color:var(--teal)}.mx-final .mx-cell{border-top:1px solid var(--rule-strong);padding-top:.9rem;padding-bottom:.9rem}.mx-why{margin:1.1rem 0 0;transition:opacity .4s}.mx:not(.at-end) .mx-why{visibility:hidden;opacity:0}.mx .lbl+.mx-q{margin-bottom:0}@media (width<=640px){.mx{padding:1.4rem 1rem .8rem}.mx-head{display:none}.mx-step{grid-template-columns:minmax(0,1fr)}.mx-step+.mx-step,.mx-head+.mx-step{margin-top:.5rem}.mx-cell{padding:.5rem 1.2ch}.mx-cell.side-base:before,.mx-cell.side-mem:before{letter-spacing:.08em;text-transform:uppercase;grid-column:1/-1;font-size:11px}.mx-cell.side-base:before{content:"without memory";color:var(--muted)}.mx-cell.side-mem:before{content:"with memory";color:var(--teal-ink)}}.inj{font-variant-numeric:tabular-nums;padding:1.5rem 1.4rem .8rem;font-size:13px}.inj-head,.inj-row,.inj-axis{grid-template-columns:27ch minmax(0,1fr) 6ch;align-items:center;column-gap:2ch;display:grid}.inj-head{color:var(--muted);border-bottom:1px solid var(--rule-strong);padding-bottom:.35rem}.inj-cost{text-align:right;color:var(--muted)}.inj-cost.best{color:var(--ink);font-weight:700}.inj-grp{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:.9rem 0 .1rem;font-size:11px}.inj-row{padding:.28rem 0}.inj-name{padding-left:1.5ch}.inj-row.base .inj-name{padding-left:0}.inj-row.ours .inj-name{font-weight:700}.inj-track{align-items:center;gap:1ch;height:1.25rem;display:flex;position:relative}.inj-track:before{content:"";width:0;top:-.3rem;bottom:-.3rem;left:calc(var(--ref) / var(--scale) * 100%);border-left:1px dotted var(--ink);opacity:.55;transition:left .6s;position:absolute}.inj-bar{height:.8rem;width:calc(var(--v) / var(--scale) * 100%);background:color-mix(in srgb, var(--teal) 40%, var(--bg));flex:none;transition:width .6s cubic-bezier(.45,0,.25,1)}.inj-row.base .inj-bar{background:var(--rule-strong)}.inj-row.ours .inj-bar{background:var(--teal)}.inj-val{white-space:nowrap}.inj-val .pm{color:var(--muted);margin-left:.4ch;font-size:.82em}.inj-row.ours .inj-val{font-weight:700}.inj[data-metric=msr]{--ref:var(--ref-msr)}.inj[data-metric=pass5]{--ref:var(--ref-pass)}.inj[data-metric=msr] .inj-row{--v:var(--msr)}.inj[data-metric=pass5] .inj-row{--v:var(--pass)}.inj[data-metric=msr] .m-pass,.inj[data-metric=pass5] .m-msr{display:none}.inj[data-metric=pass5] .inj-bar{background:color-mix(in srgb, var(--orange) 45%, var(--bg))}.inj[data-metric=pass5] .inj-row.ours .inj-bar{background:var(--orange)}.inj[data-metric=pass5] .inj-row.base .inj-bar{background:var(--rule-strong)}.inj .seg button[data-metric=pass5].on{color:var(--orange-ink)}.inj .inj-bar{transition:width .6s cubic-bezier(.45,0,.25,1),background-color .4s}.inj-axis{border-top:1px solid var(--rule);color:var(--muted);margin-top:.3rem;padding-top:.25rem}.inj-ticks span{font-size:11px}.inj-ticks{height:1em;position:relative}.inj-ticks span{position:absolute;transform:translate(-50%)}.inj-ticks span:first-child{transform:none}.inj figcaption{margin-top:.8rem}@media (prefers-reduced-motion:no-preference){.inj:not(.in) .inj-bar{width:0}.inj:not(.in) .inj-val{opacity:0}.inj .inj-val{transition:opacity .4s .4s}}@media (width<=640px){.inj{padding:1.4rem .9rem .6rem;font-size:12px}.inj-head,.inj-row,.inj-axis{grid-template-columns:minmax(0,1fr) 5ch;row-gap:.15rem}.inj-head>span:first-child,.inj-axis>span:first-child{display:none}.inj-name{grid-column:1/-1}.inj-track{grid-column:1}}.chart-fig{padding:1.5rem 1.2rem .8rem}.chart-sm{height:400px}.teaser{margin-bottom:3.5rem}.chart-bar{flex-wrap:wrap;justify-content:flex-end;gap:.5rem 2ch;margin:-.2rem 0 .4rem;font-size:12.5px;display:flex}.chart-bar button{all:unset;cursor:pointer;color:var(--muted)}.chart-bar button:hover{color:var(--ink)}.chart-bar button:focus-visible{outline:1px dashed var(--teal-ink)}.seg button:before{content:"[";color:var(--rule-strong)}.seg button:after{content:"]";color:var(--rule-strong)}.seg button.on{color:var(--teal-ink);font-weight:700}.seg+.seg{margin-left:1ch}.keys{color:var(--muted);flex-wrap:wrap;gap:.3rem 2.5ch;margin:.4rem .4ch .6rem;padding:0;font-size:12.5px;list-style:none;display:flex}.keys i{vertical-align:-.05em;width:1.4ch;height:.8em;margin-right:.8ch;display:inline-block}.keys i.dot{border-top:2px dotted var(--ink);vertical-align:.25em;height:0}.keys[aria-label=Roles] i{opacity:.7}.appendix>summary{cursor:pointer;color:var(--muted);border:1px dashed var(--rule-strong);padding:.8rem 1.4ch;font-size:13.5px;list-style:none}.appendix>summary::-webkit-details-marker{display:none}.appendix>summary:before{content:"[+] ";color:var(--teal-ink);font-weight:700}.appendix[open]>summary:before{content:"[-] "}.appendix>summary:hover{color:var(--ink);border-color:var(--teal)}.appendix[open]>summary{margin-bottom:1.2rem}.cite{background:color-mix(in srgb, var(--ink) 2.5%, var(--bg));padding:1.4rem 1.6rem 1rem}.cite pre{white-space:pre-wrap;overflow-wrap:anywhere;user-select:all;margin:0;font-size:12.5px;line-height:1.6}.cite-copy{all:unset;cursor:pointer;color:var(--teal-ink);font-size:12.5px;position:absolute;top:.5rem;right:1rem}.cite-copy:hover{color:var(--ink)}.cite-copy:focus-visible{outline:1px dashed var(--teal-ink)}@media (width<=640px){.cite{padding:1.4rem 1rem .8rem}}.myth{--sh:7px;border:1px solid var(--orange);background:var(--bg);width:min(86ch,100vw - 32px);max-height:none;color:var(--ink);font:inherit;padding:0;font-size:13.5px;line-height:1.6;position:fixed;overflow:visible}.myth:after{content:"";transform:translate(var(--sh), var(--sh));clip-path:polygon(calc(100% - var(--sh)) 0, 100% 0, 100% 100%, 0 100%, 0 calc(100% - var(--sh)), calc(100% - var(--sh)) calc(100% - var(--sh)));background:repeating-conic-gradient(var(--shadow-dot) 0 25%, transparent 0 50%) 0 0 / 4px 4px;pointer-events:none;position:absolute;inset:-1px}.myth::backdrop{backdrop-filter:blur(2px);background:#11131259}html:has(.myth[open]){overflow:hidden}.myth>.label{z-index:1;background:var(--bg);color:var(--muted);padding:0 1ch;font-size:12.5px;position:absolute;top:-.85em;left:1.2rem}.myth>.label b{color:var(--orange-ink)}.myth-close{all:unset;z-index:1;background:var(--bg);cursor:pointer;color:var(--muted);padding:0 1ch;font-size:12.5px;line-height:1.6;position:absolute;top:-.85em;right:1.2rem}.myth-close:hover{color:var(--ink)}.myth-close:focus-visible{outline:1px dashed var(--teal-ink);outline-offset:2px}.myth-in:focus{outline:none}.myth-in{max-height:min(82vh,48rem);padding:1.9rem 2.2rem 1.2rem;overflow-y:auto}.myth h3{letter-spacing:.04em;margin:0 0 .8rem;font-size:1.1rem}.myth-cast{margin:0 0 1.2rem;padding:0;list-style:none}.myth-cast li{border-top:1px dotted var(--rule-strong);grid-template-columns:64px 17ch minmax(0,1fr);align-items:start;column-gap:1.6ch;padding:.7rem 0;display:grid}.myth-fig{flex-direction:column;align-items:flex-start;gap:.15rem;display:flex}.myth-credit{color:var(--rule-strong);font-size:10px;line-height:1.2}.myth-credit:hover{color:var(--muted);text-underline-offset:2px;text-decoration:underline}.myth-pic{object-fit:cover;border:1px solid var(--rule-strong);width:64px;height:64px;display:block}.myth-pic.is-empty{box-sizing:border-box;color:var(--rule-strong);background:repeating-conic-gradient(var(--shadow-dot) 0 25%, transparent 0 50%) 0 0 / 4px 4px;border-style:dashed;place-items:center;font-size:20px;font-weight:700;display:grid}.myth-who{flex-direction:column;display:flex}.myth-who b{color:var(--ink)}.myth-role{color:var(--teal-ink);white-space:nowrap;font-weight:700}.myth-text{color:var(--muted)}.myth-logo{margin:0 0 .8rem}.myth-foot{border-top:1px solid var(--rule);color:var(--orange-ink);margin:0 0 .4rem;padding-top:.8rem;font-style:italic}@media (prefers-reduced-motion:no-preference){.myth[open]{animation:.3s mx-in}}@media (width<=640px){.myth{font-size:12.5px}.myth-in{max-height:86vh;padding:1.7rem 1.1rem 1rem}.myth-cast li{grid-template-columns:48px minmax(0,1fr);gap:.3rem 1.5ch}.myth-pic{width:48px;height:48px}.myth-text{grid-column:1/-1}}.resources{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem 2.4ch;margin:2.8rem 0 1rem;display:grid}.resource{color:inherit;flex-direction:column;gap:.2rem;margin:0;padding:1.2rem 1.6ch .9rem;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.resource:hover{border-color:var(--teal);background:color-mix(in srgb, var(--teal) 6%, var(--bg))}.resource:focus-visible{outline:2px solid var(--teal-ink);outline-offset:2px}.resource:hover>.label{color:var(--teal-ink)}.res-title{align-items:center;gap:.8ch;font-weight:700;display:flex}.res-title img{width:auto;height:1.05em}.res-url{color:var(--muted);overflow-wrap:anywhere;font-size:12.5px}.resource:hover .res-url{color:var(--teal-ink)}@media (width<=640px){.resources{grid-template-columns:1fr;gap:1.4rem}.resource{padding:1.1rem 1rem .8rem}}
