:root{--bone: #e9ebe4;--slab: #f8f8f4;--ink: #11151c;--graphite: #4b535e;--rule: #c4c9be;--signal: #1b3df2;--marker: #f3d60a;--warn: #b03a0b;--fog: #a3abb5;--font-display: "Archivo", "Arial Narrow", "Helvetica Neue", Arial, sans-serif;--font-body: "Source Serif 4", Georgia, "Times New Roman", serif;--font-code: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--stretch-tight: 62%;--stretch-name: 74%;--stretch-ui: 100%;--text-xs: .8125rem;--text-sm: .875rem;--text-ui: .9375rem;--text-body: 1.0625rem;--text-lead: 1.25rem;--text-h3: 1.375rem;--text-h2: clamp(1.75rem, 1.3rem + 1.6vw, 2.5rem);--text-name: clamp(1.3125rem, 1.2rem + .35vw, 1.5rem);--text-name-lg: clamp(1.75rem, 1.4rem + .8vw, 2.125rem);--text-rank: clamp(1.75rem, 1.5rem + .8vw, 2.125rem);--text-rank-lg: clamp(2.75rem, 2.2rem + 2vw, 4rem);--text-effect: 1rem;--text-display: clamp(2.75rem, 1.6rem + 3.6vw, 4.5rem);--text-display-home: clamp(2.5rem, 1.6rem + 2.8vw, 3.75rem);--text-display-2: clamp(1.25rem, 1rem + .6vw, 1.5rem);--leading-tight: .92;--leading-ui: 1.35;--leading-body: 1.55;--measure: 64ch;--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.5rem;--s-6: 2rem;--s-7: 3rem;--s-8: 4rem;--s-9: 6rem;--hair: 1px solid var(--rule);--heavy: 2px solid var(--ink);--radius: 3px;--page-max: 86rem;--gutter: clamp(1rem, .6rem + 2vw, 2.5rem);--rank-col: clamp(2.25rem, 1.4rem + 2.6vw, 4rem);--install-w: clamp(17rem, 11rem + 9vw, 19.5rem);--toggle-w: 13.5rem;--tap: 2.75rem;--settle: .4s cubic-bezier(.2, .7, .2, 1)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:var(--s-5)}body{margin:0;background:var(--bone);color:var(--ink);font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-body);font-optical-sizing:auto;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;overflow-x:clip}::selection{background:var(--marker);color:var(--ink)}h1,h2,h3,h4{font-family:var(--font-display);font-stretch:var(--stretch-name);font-weight:800;line-height:1.05;margin:0;text-wrap:balance}p,ul,ol,dl,figure,pre{margin:0}a{color:var(--signal);text-decoration-thickness:1px;text-underline-offset:.18em}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--signal);outline-offset:2px;border-radius:var(--radius)}code,pre,kbd{font-family:var(--font-code);font-size:.875em}img,svg{display:block;max-width:100%}button,input,select{font:inherit;color:inherit}[hidden]{display:none!important}.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip{position:absolute;left:var(--gutter);top:-10rem;z-index:10;background:var(--ink);color:var(--slab);font-family:var(--font-display);font-weight:600;padding:var(--s-3) var(--s-4);border-radius:var(--radius)}.skip:focus{top:var(--s-2)}.ui{font-family:var(--font-display);font-stretch:var(--stretch-ui);font-size:var(--text-ui);line-height:var(--leading-ui)}.page{width:100%;max-width:var(--page-max);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:var(--s-7);border-top:var(--heavy)}.section__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s-1) var(--s-5);margin-bottom:var(--s-5)}.section__title{font-size:var(--text-h2);font-stretch:var(--stretch-tight);font-weight:850;letter-spacing:-.005em}.section__note{color:var(--graphite);max-width:var(--measure)}.masthead{border-bottom:var(--heavy)}.masthead__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);min-height:3.5rem}.brand{display:inline-flex;align-items:center;gap:var(--s-2);color:var(--ink);text-decoration:none;font-family:var(--font-display);font-stretch:var(--stretch-tight);font-weight:850;font-size:1.625rem;letter-spacing:.005em;line-height:1;min-height:var(--tap)}.brand svg{width:1.5rem;height:1.5rem;flex:none}.nav{display:flex;gap:var(--s-1);margin-right:calc(-1 * var(--s-3))}.nav a{display:inline-flex;align-items:center;min-height:var(--tap);padding-inline:var(--s-3);color:var(--ink);text-decoration:none;font-weight:550}.nav a:hover{text-decoration:underline}.nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:.4em}.footer{margin-top:var(--s-7);border-top:var(--heavy);padding-block:var(--s-6) var(--s-7);color:var(--graphite)}.footer__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:var(--s-5) var(--s-6)}.footer h2{font-size:var(--text-ui);font-stretch:var(--stretch-ui);font-weight:650;color:var(--ink);margin-bottom:var(--s-2)}.footer ul{list-style:none;padding:0}.footer li a{display:inline-flex;align-items:center;min-height:2rem}.footer__fine{margin-top:var(--s-6);max-width:var(--measure);font-size:var(--text-sm)}.footer__fine a{color:var(--graphite)}.pagehead{padding-block:var(--s-6) var(--s-6)}.pagehead__title{font-size:var(--text-display);font-stretch:var(--stretch-tight);font-weight:850;line-height:var(--leading-tight);letter-spacing:-.01em;max-width:18ch}.pagehead__lead{margin-top:var(--s-4);font-size:var(--text-lead);max-width:var(--measure)}.pagehead__meta{margin-top:var(--s-3);color:var(--graphite)}.crumbs{margin-bottom:var(--s-4);color:var(--graphite)}.crumbs a{color:var(--graphite)}.drophead{padding-block:var(--s-4) var(--s-3)}.drophead__title{font-size:var(--text-display-home);font-stretch:var(--stretch-tight);font-weight:850;line-height:var(--leading-tight);letter-spacing:-.012em}.drophead__sub{display:block;margin-top:var(--s-2);font-size:var(--text-display-2);font-weight:650;line-height:1.08;color:var(--graphite);letter-spacing:0;max-width:34ch}@media(min-width:64rem){.drophead__title{display:flex;align-items:flex-end;gap:var(--s-6)}.drophead__sub{margin-top:0;padding-bottom:.2rem;max-width:36ch}}.ledger{list-style:none;padding:0;margin:0;border-top:var(--heavy)}.row{display:grid;grid-template-columns:var(--rank-col) minmax(0,1fr);grid-template-areas:"rank main" "rank install" "rank more";column-gap:var(--s-4);padding-block:.625rem;border-bottom:var(--hair)}.row[hidden]{display:none}.row__rank{grid-area:rank;font-family:var(--font-display)}.row__num{display:block;font-size:var(--text-rank);font-stretch:var(--stretch-tight);font-weight:900;line-height:.85;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.ledger-caption{display:grid;grid-template-columns:var(--rank-col) minmax(0,1fr);column-gap:var(--s-4);align-items:baseline;padding-bottom:var(--s-2);color:var(--graphite);font-size:var(--text-sm)}.ledger-caption__rank{font-weight:650;color:var(--ink)}.ledger-caption a{white-space:nowrap}.row__main{grid-area:main;min-width:0}.row__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 var(--s-3)}.row__name{font-size:var(--text-name);font-stretch:var(--stretch-name);font-weight:800;line-height:1.1;letter-spacing:-.005em}.row__name a{color:var(--ink);text-decoration:none}.row__name a:hover{text-decoration:underline;text-decoration-thickness:2px}.cat{font-family:var(--font-display);font-stretch:var(--stretch-ui);font-size:var(--text-xs);font-weight:550;color:var(--graphite);text-decoration:none;white-space:nowrap}.row__head .cat{padding-block:.8rem;margin-block:-.8rem}a.cat:hover{color:var(--signal);text-decoration:underline}.flag-new{font-family:var(--font-display);font-size:var(--text-xs);font-weight:650;background:var(--marker);color:var(--ink);padding:0 var(--s-1);border-radius:var(--radius)}.row__effect{margin-top:.125rem;font-size:var(--text-effect);line-height:1.42}.row__install{grid-area:install;margin-top:var(--s-2);min-width:0}.row__more{grid-area:more;margin-top:var(--s-1);min-width:0}.stats{display:flex;flex-wrap:wrap;gap:0 var(--s-4);margin-top:.125rem;padding:0;list-style:none;color:var(--graphite);font-family:var(--font-display);font-stretch:var(--stretch-ui);font-size:var(--text-sm);line-height:1.45;font-variant-numeric:tabular-nums}.stats b{color:var(--ink);font-weight:600}.stats .tag-ver{display:inline-block;max-width:12em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.stats .is-warn,.stats .is-warn b{color:var(--warn);font-weight:650}.row--featured{padding-block:var(--s-3) .625rem}.row--featured .row__num{font-size:var(--text-rank-lg);line-height:.8}.row--featured .row__name{font-size:var(--text-name-lg);line-height:1.02}@media(min-width:48rem){.row{position:relative;grid-template-columns:var(--rank-col) minmax(0,1fr) var(--install-w);grid-template-areas:"rank main install" "rank more more";column-gap:var(--s-5)}.row__install{margin-top:0;padding-bottom:1.875rem}.row__more{position:relative;margin-top:0}.row__more>summary{position:absolute;right:0;bottom:100%;width:var(--install-w)}}@media(min-width:72rem){.row__install .install__code{max-height:5.4em}.row__main{display:flex;flex-direction:column}.row__main .stats{margin-top:auto;padding-top:.125rem;padding-right:calc(var(--toggle-w) + var(--s-4))}.row__install{padding-bottom:0}.row__more>summary{right:calc(var(--install-w) + var(--s-5));width:auto;max-width:var(--toggle-w);min-height:0;line-height:1.45;padding-top:.125rem;justify-content:flex-end}}.more>summary{display:flex;align-items:center;gap:var(--s-2);min-height:1.75rem;cursor:pointer;list-style:none;color:var(--graphite);font-family:var(--font-display);font-stretch:var(--stretch-ui);font-size:var(--text-sm);font-weight:550}@media(max-width:47.99rem){.more>summary{min-height:var(--tap)}}.more>summary::-webkit-details-marker{display:none}.more>summary:before{content:"";flex:none;width:.5em;height:.5em;margin-inline:.15em .1em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .15s ease}.more[open]>summary:before{transform:rotate(45deg)}.more>summary:hover,.more[open]>summary{color:var(--ink)}.more>summary:hover{text-decoration:underline}.more__body{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"why" "best" "use" "skip" "stats" "link";gap:var(--s-4) var(--s-6);margin-top:var(--s-2);padding:var(--s-4) var(--s-4) var(--s-4) var(--s-5);background:var(--slab);border-left:3px solid var(--ink)}@media(max-width:47.99rem){.more__body{margin-left:calc(-1 * (var(--rank-col) + var(--s-4)));padding:var(--s-4)}}.verdict--why{grid-area:why}.verdict--best{grid-area:best}.verdict--use{grid-area:use}.verdict--skip{grid-area:skip}.more__stats{grid-area:stats}.more__link{grid-area:link}@media(min-width:44rem){.more__body{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"why why" "best use" "skip stats" "link link"}}@media(min-width:69rem){.more__body{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(15rem,1fr);grid-template-areas:"why why best stats" "use skip link stats";column-gap:var(--s-5);row-gap:var(--s-5)}.more__stats{padding-left:var(--s-5);border-left:var(--hair)}}.verdict h4,.more__stats h4{font-size:var(--text-sm);font-stretch:var(--stretch-ui);font-weight:650;margin-bottom:var(--s-1)}.verdict p,.verdict ul{font-size:var(--text-ui);line-height:1.5}.verdict ul{padding-left:1.1em}.verdict code,.row__effect code{white-space:nowrap}.verdict--skip h4{color:var(--warn)}.more__stats dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--s-1) var(--s-3);font-size:var(--text-sm);line-height:1.4;font-variant-numeric:tabular-nums}.more__stats dl>div{display:contents}.more__stats dt{color:var(--graphite)}.more__stats dd{margin:0;font-weight:600;overflow-wrap:anywhere}.more__stats .is-warn dt,.more__stats .is-warn dd,.more__stats p.is-warn{color:var(--warn);font-weight:650}.more__stats p.is-warn{margin-top:var(--s-2);font-size:var(--text-sm)}.more__tag{overflow-wrap:anywhere}.more__link{align-self:end}@media(prefers-reduced-motion:no-preference){.ledger--settle .row{animation:settle var(--settle) both;animation-delay:calc(var(--i, 0) * 45ms)}@keyframes settle{0%{opacity:0;transform:translateY(6px)}}}.install{min-width:0}.install__label{font-family:var(--font-display);font-stretch:var(--stretch-ui);font-size:var(--text-xs);font-weight:550;color:var(--graphite);margin-bottom:var(--s-1)}.install__box{display:flex;align-items:flex-start;background:var(--slab);border:1px solid var(--ink);border-radius:var(--radius);min-width:0;overflow:hidden}.install__code{flex:1;min-width:0;overflow:auto;min-height:calc(var(--tap) - 2px);padding:.65rem var(--s-3);font-size:var(--text-xs);line-height:1.6;white-space:pre;user-select:all;max-height:7.5em;scrollbar-width:thin}.install__code:focus-visible{outline-offset:-3px}.install__code code{font-size:inherit}.copy{display:none;flex:none;min-width:4rem;padding:0 var(--s-3);border:0;border-radius:0;min-height:calc(var(--tap) - 2px);background:var(--ink);color:var(--slab);font-family:var(--font-display);font-stretch:var(--stretch-ui);font-size:var(--text-sm);font-weight:650;cursor:pointer}.copy:hover{background:var(--signal)}.copy:focus-visible{background:var(--signal);outline:2px solid var(--slab);outline-offset:-5px;border-radius:0}.install__head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-3)}.copy[data-state=done]{background:var(--signal)}.can-copy .copy{display:block}.install__src{margin-top:var(--s-2);font-size:var(--text-xs);color:var(--graphite)}.install__src a{overflow-wrap:anywhere}.install--none{font-family:var(--font-display);font-size:var(--text-sm)}.install--none .install__box{padding:var(--s-2) var(--s-3);min-height:var(--tap);align-items:center}.install--page .install__label{font-size:var(--text-ui);color:var(--ink);font-weight:650}.install--page .install__code{font-size:var(--text-sm);padding:var(--s-4) var(--s-4);max-height:none}.install--page .install__label{margin-bottom:var(--s-2)}.install--page .copy{min-width:6.5rem;min-height:var(--tap);border-radius:var(--radius) var(--radius) 0 0;font-size:var(--text-ui)}.can-copy .install--page .install__box{border-top-right-radius:0}.install--page .copy:focus-visible{outline:3px solid var(--signal);outline-offset:2px;border-radius:var(--radius)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap);padding:0 var(--s-4);border:1px solid var(--ink);border-radius:var(--radius);background:transparent;color:var(--ink);font-family:var(--font-display);font-stretch:var(--stretch-ui);font-size:var(--text-ui);font-weight:600;text-decoration:none;cursor:pointer}.btn:hover{background:var(--ink);color:var(--slab)}.textlink{font-family:var(--font-display);font-stretch:var(--stretch-ui);font-weight:600}.prose{max-width:var(--measure)}.prose h2{font-size:var(--text-h3);font-stretch:var(--stretch-ui);font-weight:700;margin:var(--s-6) 0 var(--s-2)}.prose p+p,.prose p+ul,.prose ul+p{margin-top:var(--s-3)}.prose ul{padding-left:1.2em}.prose li+li{margin-top:var(--s-1)}.prose code{background:var(--slab);padding:.05em .3em;border-radius:var(--radius)}.agents{display:grid;gap:var(--s-4) var(--s-7);padding:var(--s-5) 0}@media(min-width:60rem){.agents{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}}.agents__list{list-style:none;padding:0}.agents__list li+li{margin-top:var(--s-2)}.agents__list a{font-family:var(--font-code);font-size:var(--text-sm)}.agents__list span{color:var(--graphite)}.terminal{background:var(--ink);color:var(--slab);border-radius:var(--radius);padding:var(--s-4);font-size:var(--text-xs);line-height:1.7;overflow-x:auto;white-space:pre}.terminal .c{color:var(--fog)}.mark__bar[data-astro-cid-iifiznic]{fill:var(--bone)}
