:root{--ground:#ffffff;--ink:#111111;--muted:#555555;--faint:#767676;--hair:#dedede;--tint:#f6f6f4;--screen:#1b1b1f;--screen-ink:#e9e3da;--focus:#1d4ed8;--k-mod:#ff5a1f;--k-skill:#1d4ed8;--k-mcp:#087a4e;--k-connector:#8b3fd9;--k-plugin:#e8b400;--k-marketplace:#111111;--on-mod:#111111;--on-skill:#ffffff;--on-mcp:#ffffff;--on-connector:#ffffff;--on-plugin:#111111;--on-marketplace:#ffffff;--paid:#e8b400;--paid-ink:#3d3000;--sans:Archivo,"Helvetica Neue",Arial,sans-serif;--mono:"JetBrains Mono",ui-monospace,Menlo,monospace;--rule:3px solid var(--ink);--hairline:1px solid var(--hair);--ease:cubic-bezier(0.16,1,0.3,1);color-scheme:light}[data-kind=mod]{--c:var(--k-mod);--on:var(--on-mod)}[data-kind=skill]{--c:var(--k-skill);--on:var(--on-skill)}[data-kind=mcp]{--c:var(--k-mcp);--on:var(--on-mcp)}[data-kind=connector]{--c:var(--k-connector);--on:var(--on-connector)}[data-kind=plugin]{--c:var(--k-plugin);--on:var(--on-plugin)}[data-kind=marketplace]{--c:var(--k-marketplace);--on:var(--on-marketplace)}*{box-sizing:border-box}body,html{margin:0;max-width:100%;overflow-x:clip}html{scrollbar-color:#bdbdbd var(--ground)}body{background:var(--ground);color:var(--ink);font:15px/1.45 var(--sans);-webkit-font-smoothing:antialiased;caret-color:var(--k-skill);accent-color:var(--ink)}::selection{background:var(--paid);color:var(--ink)}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}code{font:.9em var(--mono);background:var(--tint);padding:.05em .35em}kbd{font:12px var(--mono);border:1.5px solid var(--ink);padding:1px 6px}h1,h2,h3{text-wrap:balance}.wrap{width:min(1320px,calc(100% - 32px));margin:0 auto}.sr,.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.skip{position:absolute;left:16px;top:-60px;z-index:20;background:var(--ink);color:#fff;padding:8px 14px;font-weight:700}.skip:focus{top:12px}.glyph{flex:none}.btn{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 16px;font:700 14px var(--sans);border:2px solid var(--ink);background:#fff;color:var(--ink);cursor:pointer;white-space:nowrap}.btn.fill{background:var(--ink);color:#fff}.btn:hover{background:var(--paid);color:var(--ink)}header.top .wrap{display:flex;align-items:center;gap:24px;padding:16px 0;border-bottom:var(--rule)}.brand{font-weight:800;font-stretch:75%;font-size:22px;letter-spacing:-.01em;text-transform:uppercase;white-space:nowrap}header.top nav{display:flex;gap:20px;flex:1 1;justify-content:center;font-weight:600;font-size:14px}header.top nav a{white-space:nowrap;padding:4px 0;border-bottom:3px solid transparent}header.top nav a:hover{border-bottom-color:var(--c)}header.top .acts{display:flex;gap:8px}.foot{margin-top:64px}.foot .wrap{display:flex;justify-content:space-between;gap:24px;padding:18px 0 40px;border-top:var(--rule);color:var(--muted);font-size:13px}.foot p{margin:0;max-width:72ch}.foot nav{display:flex;gap:16px;font-weight:700;color:var(--ink);white-space:nowrap}.foot nav a:hover{text-decoration:underline;text-underline-offset:3px}.intro{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);grid-gap:40px;gap:40px;padding:44px 0 36px;align-items:end;border-bottom:var(--hairline)}.intro h1{margin:0;font-weight:800;font-stretch:75%;font-size:clamp(44px,7.4vw,104px);line-height:.9;letter-spacing:-.025em;text-transform:uppercase}.intro .mark{display:inline-block;padding:0 .08em;background:linear-gradient(var(--paid),var(--paid)) no-repeat 0 /100% 100%;animation:sweep .9s cubic-bezier(.16,1,.3,1) .15s both}@keyframes sweep{0%{background-size:0 100%}}.intro .side p{font-size:18px;margin:0 0 18px;max-width:46ch}.home-search{position:relative}.search{display:flex;align-items:center;gap:10px;border:var(--rule);height:58px;padding:0 14px;background:#fff}.search:focus-within{outline:3px solid var(--focus);outline-offset:2px}.bar input,.search input{flex:1 1;border:0;outline:0;font:600 18px var(--sans);background:transparent;color:var(--ink);min-width:0}.bar input::placeholder,.search input::placeholder{color:#666;font-weight:500}.hits{position:absolute;z-index:10;top:calc(100% - 3px);left:0;right:0;max-height:min(520px,70vh);overflow-y:auto;background:#fff;border:var(--rule)}.hits[hidden]{display:none}.hits-h{margin:0;font-size:13px;font-weight:700}.hits a,.hits-h{padding:10px 14px;border-bottom:var(--hairline)}.hits a{display:grid;grid-template-columns:104px minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:baseline}.hits a:last-child{border-bottom:0}.hits a:hover{background:color-mix(in srgb,var(--c) 9%,white)}.hits .k{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;display:inline-flex;gap:6px;align-items:center;white-space:nowrap}.hits .k:before{content:"";width:10px;height:10px;background:var(--c);flex:none}.hits .nm{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hits .d{font-size:13.5px}.hits .d,.hits .s{color:var(--muted)}.hits .s{font:12px var(--mono)}.legend{display:flex;flex-wrap:wrap;border-bottom:var(--rule)}.legend a{flex:1 1;min-width:150px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:700;font-size:14px;border-right:var(--hairline)}.legend a:last-child{border-right:0}.legend .dot{width:12px;height:12px;background:var(--c);flex:none}.legend .l{display:flex;align-items:center;gap:8px}.legend .n{font:500 13px var(--mono);color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.legend a:hover{background:color-mix(in srgb,var(--c) 12%,white)}.legend a[aria-current]{background:var(--c);color:var(--on)}.legend a[aria-current] .n{color:inherit}.legend a[aria-current] .dot{background:var(--on)}.board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-left:var(--hairline);margin-top:28px}.shelf{border-right:var(--hairline);border-bottom:var(--hairline);display:flex;flex-direction:column;min-width:0}.band{background:var(--c);color:var(--on);padding:14px 16px 16px;display:grid;grid-gap:4px;gap:4px}.band .t{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.band h2{margin:0;font-weight:800;font-stretch:75%;font-size:34px;line-height:1;text-transform:uppercase;letter-spacing:-.01em}.band h2 a:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:3px}.band .n{font:500 14px var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.band p{margin:0;font-size:14px;font-weight:500;max-width:42ch}.how{margin:0;padding:10px 16px;font:12.5px/1.5 var(--mono);background:var(--tint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.how,.shelf-demo{border-bottom:var(--hairline)}.shelf-demo{display:block}.shelf ol{list-style:none;margin:0;padding:0;counter-reset:r;flex:1 1}.shelf li a{display:grid;grid-template-columns:22px minmax(0,1fr) auto;grid-gap:10px;gap:10px;padding:11px 16px;border-bottom:var(--hairline);align-items:start;counter-increment:r}.shelf li:last-child a{border-bottom:0}.shelf li a:before{content:counter(r);font:500 12px/1.9 var(--mono);color:var(--faint)}.shelf li a:hover{background:color-mix(in srgb,var(--c) 8%,white)}.nm{min-width:0}.av{position:relative;display:inline-block;width:1.667em;height:1.667em;margin-right:.58em;vertical-align:-.385em;overflow:hidden;background:var(--c,var(--ink));color:var(--on,#fff);font:500 .78em/1.667em var(--mono);text-align:center}.av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#fff}.av img:not([data-ready]){opacity:0}.av img.fav{padding:12%;object-fit:contain;outline:1px solid var(--hair);outline-offset:-1px}.ranked .nm strong,.shelf .nm strong{display:block;font-weight:700;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ranked .d,.shelf .d{display:-webkit-box;font-size:13px;color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.s{font:500 12.5px/1.9 var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.s.v{font-family:var(--sans);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.shelf .all{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;font-weight:700;font-size:14px;border-top:2px solid var(--ink)}.shelf .all:hover{background:var(--c);color:var(--on)}.strip{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin:40px 0 0;border:var(--rule)}.strip>*{padding:22px 24px}.strip .q{border-right:var(--hairline)}.strip h2{margin:0 0 8px;font-weight:800;font-stretch:75%;font-size:26px;text-transform:uppercase;line-height:1}.strip p{margin:0;font-size:15px;color:var(--muted);max-width:56ch}.strip .q a{color:var(--ink);font-weight:700;text-decoration:underline;text-underline-offset:3px}.strip .paid{background:var(--paid)}.strip .paid p{color:var(--paid-ink)}.panel.paid em,.strip .paid em,em.paidtag{font-style:normal;font-weight:800;font-size:12px;border:2px solid var(--ink);padding:0 6px;margin-left:6px;vertical-align:3px;text-transform:uppercase;font-stretch:100%}.preview{position:relative;display:block;width:100%;aspect-ratio:12/5;overflow:hidden;background:var(--screen)}.preview .reel,.preview img,.preview video{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.preview img{object-fit:contain}.preview video{object-fit:cover}.preview img.cropped{inset:auto;height:auto;max-width:none}.preview.fade:after{content:"";position:absolute;inset:0;background:linear-gradient(to right,transparent 74%,var(--crop-bg) 98%);pointer-events:none}.reel{margin:0;padding:.85rem .9rem;overflow:hidden;background:var(--screen);color:var(--screen-ink);font-family:var(--mono);font-size:.72rem;line-height:1.5}.reel p{margin:0;white-space:pre-wrap;animation:reel-in .35s ease both}.preview-tag{position:absolute;z-index:1;top:8px;right:8px;padding:1px 6px;background:#fff;color:var(--ink);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.demo{margin:0}.demo-screen{position:relative;min-height:140px;overflow:hidden;background:var(--screen);border:var(--rule)}.demo-screen:has(.reel),.demo-screen:has(video){aspect-ratio:16/9}.demo-screen .reel,.demo-screen video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.demo-screen img{display:block;width:100%;height:auto;max-height:520px;object-fit:contain;pointer-events:none}.demo-screen .reel{font-size:.92rem;padding:1.1rem 1.15rem}.demo-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:8px;color:var(--muted);font-size:13px}.demo-bar button{font:700 13px var(--sans);border:2px solid var(--ink);background:#fff;padding:3px 12px;cursor:pointer}.demo-bar button:hover{background:var(--paid)}.cover{background:var(--c);color:var(--on)}.cover .wrap{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);grid-gap:36px;gap:36px;padding:34px 0 30px;align-items:end}.cover .crumb{grid-column:1/-1;font-weight:700;font-size:13px;margin:0 0 -14px}.cover .crumb a{text-decoration:underline;text-underline-offset:3px}.cover .wrap>div:has(>h1){container-type:inline-size}.cover h1{margin:0;font-weight:800;font-stretch:75%;font-size:clamp(40px,14.5cqi,124px);line-height:.84;letter-spacing:-.025em;text-transform:uppercase}.cover.entry h1{font-size:clamp(40px,6.4vw,92px);line-height:.9;overflow-wrap:anywhere}.cover-sub{font:500 clamp(15px,1.8vw,20px) var(--mono);margin:12px 0 0}.cover-side p{font-size:18px;font-weight:500;margin:0 0 16px;max-width:44ch}.cover-side p:last-child{margin-bottom:0}.cmd{border:3px solid;padding:12px 14px;display:grid;grid-template-columns:minmax(0,1fr);grid-gap:4px;gap:4px}.cmd>span{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.cmd code{display:flex;justify-content:space-between;gap:10px;align-items:center;font:500 14px var(--mono);background:none;padding:0}.cmd code b{min-width:0;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmd em{font-style:normal;font-size:13px}.kind-tag{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;border:2px solid;padding:1px 8px 1px 6px;vertical-align:2px}.pills{display:flex;flex-wrap:wrap;gap:6px}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;border:2px solid;padding:1px 7px 1px 5px}.layout{display:grid;grid-template-columns:250px minmax(0,1fr);margin-top:28px;border-top:var(--rule)}.layout>*{min-width:0}.groups{border-right:var(--hairline);padding:16px 16px 16px 0}.groups h2{margin:0 0 8px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.groups a,.groups button{all:unset;box-sizing:border-box;width:100%;cursor:pointer;display:flex;justify-content:space-between;gap:8px;padding:7px 8px;font-weight:600;font-size:14px}.groups .n{font:12px var(--mono);color:var(--muted)}.groups a:hover,.groups button:hover{background:var(--tint)}.groups [aria-current=page],.groups [aria-pressed=true]{background:var(--ink);color:#fff}.groups [aria-current=page] .n,.groups [aria-pressed=true] .n{color:#fff}.groups a:focus-visible,.groups button:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.bar{display:flex;border-bottom:var(--hairline);flex-wrap:wrap;margin:0}.bar label{flex:1 1;min-width:200px;display:flex;align-items:center;gap:10px;padding:0 16px;height:52px;border-right:var(--hairline)}.bar label:focus-within{outline:3px solid var(--focus);outline-offset:-3px}.bar input{font-size:16px}.bar button{all:unset;cursor:pointer;padding:0 18px;height:52px;display:inline-flex;align-items:center;font-weight:700;font-size:14px;border-right:var(--hairline)}.bar button[aria-pressed=true]{background:var(--ink);color:#fff}.bar button:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.ranked{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr}.ranked li{border-bottom:var(--hairline);border-right:var(--hairline)}.ranked li:nth-child(2n){border-right:0}.ranked a{display:grid;grid-template-columns:44px minmax(0,1fr) auto;grid-gap:4px 12px;gap:4px 12px;padding:14px 16px;align-items:start;height:100%}.ranked a:hover{background:color-mix(in srgb,var(--c) 9%,white)}.ranked .r{font-weight:800;font-stretch:75%;font-size:30px;line-height:.95}.ranked .r[data-n="4"]{font-size:22px;line-height:1}.ranked .r[data-n="5"]{font-size:17px;line-height:1}.ranked .by{display:block;font:12px var(--mono);color:var(--muted);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ranked .s{text-align:right}.ranked .shot{grid-column:2/-1;margin-top:8px;display:block}.ranked li.paid{background:var(--paid)}.ranked li.paid a:hover{background:#ffd23d}.ranked.with-shots li.paid{grid-column:1/-1;border-right:0}.ranked.with-shots li.paid~li:nth-child(2n){border-right:var(--hairline)}.ranked.with-shots li.paid~li:nth-child(odd){border-right:0}.ranked li.paid .by,.ranked li.paid .d{color:var(--paid-ink)}.ranked li.paid .r{font-size:13px;font-stretch:100%;text-transform:uppercase;border:2px solid var(--ink);padding:2px 4px;text-align:center;align-self:start}.ranked.compact{grid-template-columns:1fr;border-top:var(--rule)}.filters{display:flex;flex-wrap:wrap;gap:6px;padding:10px 16px;border-bottom:var(--hairline)}.filters button{padding:5px 10px;border:1.5px solid var(--ink);background:none;color:var(--ink);font:700 13px var(--sans);cursor:pointer}.filters button:hover{background:color-mix(in srgb,var(--c) 9%,white)}.filters button[aria-pressed=true]{background:var(--ink);color:#fff}.ranked.compact li{border-right:0}.ranked.compact .r{font-size:22px}.nothing{padding:32px 16px;font-size:16px}.nothing p{margin:0 0 14px}.pager{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:12px 16px;border-bottom:var(--hairline)}.pager .step,.pager a{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;padding:0 10px;border:1.5px solid var(--ink);font-weight:700;font-size:14px}.pager a:hover{background:color-mix(in srgb,var(--c) 9%,white)}.pager a[aria-current=page]{background:var(--ink);color:#fff}.pager a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.pager .step[aria-disabled=true]{color:var(--muted);border-color:transparent;background:var(--tint)}.pager .gap{padding:0 2px;color:var(--muted);font-weight:700}.tally{margin:0;padding:14px 16px;font-weight:700;border-bottom:var(--rule)}.faq{display:grid;grid-template-columns:repeat(3,1fr);margin-top:40px;border:var(--rule)}.faq div{padding:20px 22px;border-right:var(--hairline)}.faq div:last-child{border-right:0}.faq h3{margin:0 0 8px;font-weight:800;font-stretch:75%;font-size:24px;line-height:1.02;text-transform:uppercase}.faq p{margin:0;color:var(--muted);font-size:14.5px}.doc{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:40px;gap:40px;padding-top:32px;align-items:start}.doc.solo{grid-template-columns:minmax(0,1fr);max-width:980px}.doc-main{min-width:0}.doc-main>:first-child{margin-top:0}.doc-main h1{margin:0 0 12px;font-size:clamp(44px,6vw,80px);line-height:.9;letter-spacing:-.02em}.doc-main h1,.doc-main h2{font-weight:800;font-stretch:75%;text-transform:uppercase}.doc-main h2{margin:36px 0 12px;padding-top:10px;border-top:var(--rule);font-size:28px;line-height:1}.doc-main li,.doc-main p{font-size:16px;max-width:70ch}.doc-main p a:not(.btn){font-weight:700;text-decoration:underline;text-underline-offset:3px}.doc-main .lede{font-size:19px;color:var(--muted);max-width:60ch}.doc-main .crumb{font-weight:700;font-size:13px;margin:0 0 10px}.doc-main .crumb a{text-decoration:underline;text-underline-offset:3px}.note{color:var(--muted)}.rail{display:grid;grid-gap:16px;gap:16px;position:-webkit-sticky;position:sticky;top:16px}.panel{display:block;border:var(--rule);padding:16px 18px}.panel h2{margin:0 0 8px;font-weight:800;font-stretch:75%;font-size:22px;line-height:1;text-transform:uppercase}.panel h2:not(:first-child){margin-top:18px}.panel p{margin:0;font-size:14px;color:var(--muted)}.panel ul{margin:0 0 10px;padding-left:18px}.panel li{font-size:14px;margin-bottom:4px}.panel-note{margin-top:8px!important;font-size:13px!important}.panel.paid{background:var(--paid)}.panel.paid p{color:var(--paid-ink)}.panel .more{align-items:center;margin-top:16px;padding-top:10px;border-top:2px solid var(--ink)}.more-panel,.panel .more{display:flex;justify-content:space-between;font-weight:700}a.panel:hover{background:var(--tint)}a.panel.paid:hover{background:#ffd23d}.toc ol{margin:0;padding-left:20px}.toc li{font-size:14px;margin-bottom:4px}.toc a:hover{text-decoration:underline}.install{border:var(--rule);background:var(--screen);color:#f3f2ee;margin:0 0 10px}.install-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;background:var(--ink);font-size:12px;font-weight:700}.install-bar,.install-bar button{text-transform:uppercase;letter-spacing:.05em}.install-bar button{font:700 12px var(--sans);background:#fff;color:var(--ink);border:0;padding:4px 10px;cursor:pointer}.install-bar button:hover{background:var(--paid)}.install-bar button[data-state=copied],.install-bar button[data-state=copied]:hover{background:#fff}.install-bar button[data-state=failed]{background:#fca5a5}.install pre{margin:0;padding:14px 16px;font:14px/1.7 var(--mono);overflow-x:auto;white-space:pre}.install.wrap pre{white-space:pre-wrap}.install pre::selection{background:var(--paid);color:var(--ink)}.install-note{color:var(--muted);font-size:14px!important;margin:0 0 12px}.install-after{display:flex;gap:18px;align-items:flex-start;margin-top:16px}.install-after p{margin:0;color:var(--muted);font-size:14px}.steps{padding-left:22px}.steps li{margin-bottom:6px}.marks{margin:0;padding:12px 14px;border:var(--rule);background:var(--tint);max-width:70ch}.marks strong{display:block;margin-bottom:4px;font-size:12px;letter-spacing:.05em;text-transform:uppercase}.files{display:grid;grid-template-columns:180px minmax(0,1fr);border:var(--rule);margin:0 0 10px}.files-tree{margin:0;padding:0;list-style:none;border-right:var(--hairline);background:var(--tint)}.doc-main .files-tree li{max-width:none;border-left:3px solid transparent}.files-tree button{display:flex;gap:8px;align-items:center;width:100%;padding:9px 12px 9px 9px;border:0;background:none;color:inherit;font:500 13px var(--mono);text-align:left;cursor:pointer;overflow-wrap:anywhere}.files-tree li:not([aria-current]) button:hover{background:color-mix(in srgb,var(--c) 6%,white)}.files-tree li[aria-current]{background:color-mix(in srgb,var(--c) 10%,white);border-left-color:var(--c)}.files-view{min-width:0}.files-bar{padding:8px 16px;border-bottom:var(--hairline);font:500 12px var(--mono);color:var(--muted)}.files .skill-body{max-height:600px;overflow-y:auto;overscroll-behavior:contain;padding:4px 20px 20px}.files .skill-body:focus-visible{outline-offset:-3px}.files .skill-body>:first-child{margin-top:16px}.files .skill-body .files-code{border:0;background:none;padding:0;white-space:pre}.files .skill-body .files-code code{background:none;padding:0;font-size:13px}.doc-main .warn{max-width:none;margin:0 0 8px;padding:12px 14px;border:var(--rule);background:var(--paid);color:var(--paid-ink);font-size:15px}.warn strong{display:block;margin-bottom:2px;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink)}.doc-main h2 .h-n{font-family:var(--mono);font-stretch:100%;font-size:18px;font-weight:500;color:var(--muted);vertical-align:middle}.plugin-table{border:var(--rule)}.plugin-table.scroll{max-height:600px;overflow-y:auto;overscroll-behavior:contain}.plugin-table.scroll:focus-visible{outline-offset:-3px}.plugin-table ol{margin:0;padding:0;list-style:none}.doc-main .plugin-table li{display:grid;grid-template-columns:36px minmax(0,1fr) auto;grid-gap:12px;gap:12px;padding:12px 16px;border-bottom:var(--hairline);max-width:none}.plugin-table li:last-child{border-bottom:0}.plugin-table .r{font-weight:800;font-stretch:75%;font-size:22px;line-height:1}.plugin-table .nm{display:grid;grid-gap:3px;gap:3px;min-width:0}.plugin-table .nm strong{font-size:16px}.plugin-table .nm a strong{text-decoration:underline;text-underline-offset:3px}.plugin-table .d{color:var(--muted);font-size:14px}.plugin-table .cmd-line{justify-self:start;margin-top:3px;padding:2px 6px;font:12.5px var(--mono);overflow-wrap:anywhere}.plugin-table .meta{display:grid;grid-gap:2px;gap:2px;justify-items:end;font:12.5px var(--mono);color:var(--muted)}.parts-tally{font:500 14px var(--mono);color:var(--muted)}.doc-main .sub-head .n{margin-left:4px;font-family:var(--mono);color:var(--muted)}.parts{margin:0 0 8px;padding:0;list-style:none;border-top:var(--hairline)}.doc-main .parts li{display:grid;grid-template-columns:minmax(140px,220px) minmax(0,1fr);grid-gap:16px;gap:16px;padding:9px 0;border-bottom:var(--hairline);max-width:none;font-size:14px}.parts code{justify-self:start;align-self:start;font:600 13px var(--mono);overflow-wrap:anywhere}.parts span{color:var(--muted)}.parts .run{font:12.5px var(--mono);overflow-wrap:anywhere}.hooks-into .targets{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.hooks-into .targets code{padding:1px 6px;border:1px solid var(--hair);background:none;font:500 12px var(--mono);color:var(--ink)}.skill-body h1,.skill-body h2,.skill-body h3,.skill-body h4,.skill-body h5,.skill-body h6{border-top:0;padding-top:0;margin:22px 0 8px;font-weight:700;font-stretch:100%;font-size:18px;line-height:1.3;letter-spacing:0;text-transform:none}.skill-body h1{font-size:22px}.skill-body h3,.skill-body h4,.skill-body h5,.skill-body h6{font-size:16px}.skill-body img{max-width:100%;height:auto;vertical-align:middle}.skill-body hr{border:0;border-top:var(--hairline);margin:20px 0}.skill-body blockquote{margin:12px 0;padding:2px 14px;border-left:3px solid var(--hair);color:var(--muted)}.skill-body details{margin:10px 0}.skill-body summary{cursor:pointer;font-weight:700}.skill-body table{display:block;overflow-x:auto}.skill-body li>p{margin:0}.skill-body pre{max-width:100%;padding:12px 14px;overflow-x:auto;border:var(--hairline);background:var(--tint);font:13px/1.6 var(--mono)}.skill-body code{font-family:var(--mono);font-size:.92em}.skill-body table{width:100%;border-collapse:collapse;font-size:14px}.skill-body td,.skill-body th{border:var(--hairline);padding:6px 8px;text-align:left;vertical-align:top}.doc-main .sub-head{margin:22px 0 8px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.published{margin:0 0 8px;padding:0;list-style:none;border-top:var(--hairline)}.published li{display:grid;grid-template-columns:76px minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:baseline;padding:9px 0;border-bottom:var(--hairline);max-width:none}.published .t{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.published code{justify-self:start;font:500 14px var(--mono);overflow-wrap:anywhere}.published .via{font:12px var(--mono);color:var(--muted);white-space:nowrap}.config{width:100%;border-collapse:collapse;font-size:14px;border-top:var(--rule)}.config th{text-align:left;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:8px 12px 8px 0}.config td,.config th{border-bottom:var(--hairline)}.config td{padding:10px 12px 10px 0;vertical-align:top}.config td:first-child{width:34%}.config code{display:inline-block;font:600 13.5px var(--mono);overflow-wrap:anywhere}.config .flags{display:block;margin-top:2px;font-size:12px;color:var(--muted)}.btns{gap:10px}.btns,.tools{display:flex;flex-wrap:wrap}.tools{gap:6px;margin:0 0 10px;padding:0;list-style:none}.doc-main .tools li{padding:4px 9px;border:1px solid color-mix(in srgb,var(--c) 35%,white);background:color-mix(in srgb,var(--c) 6%,white);font:500 13px var(--mono)}.links{margin:0;padding:0;list-style:none;border-top:var(--hairline);max-width:520px}.links a{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:var(--hairline);font-weight:700;font-size:15px}.links a:hover{background:var(--tint)}.facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));margin:0;border-top:var(--hairline);border-left:var(--hairline)}.facts div{padding:12px 14px;border-right:var(--hairline);border-bottom:var(--hairline)}.facts dt{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.facts dd{margin:2px 0 0;font:500 14px var(--mono);overflow-wrap:anywhere}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));border-top:var(--hairline);border-left:var(--hairline)}.modcard{display:flex;flex-direction:column;border-right:var(--hairline);border-bottom:var(--hairline)}.modcard:hover{background:color-mix(in srgb,var(--k-mod) 8%,white)}.modcard .body{display:grid;grid-gap:4px;gap:4px;padding:12px 14px 16px}.modcard strong{font-size:16px;font-weight:700}.modcard .meta{display:flex;gap:8px;align-items:center;font:12px var(--mono);color:var(--muted)}.modcard .meta .badge{font-family:var(--sans);font-size:11.5px;color:var(--ink)}.modcard .what{font-size:13.5px;color:var(--muted)}.offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:var(--rule);margin:24px 0}.offer{padding:18px 20px;border-right:var(--hairline)}.offer:last-child{border-right:0}.offer h2{border-top:0!important;padding-top:0!important;margin:10px 0 6px!important;font-size:24px!important}.offer .pill{font-weight:800;font-size:12px;border:2px solid var(--ink);padding:0 6px;background:var(--paid);text-transform:uppercase}.offer .price{display:flex;align-items:baseline;gap:8px;margin:0 0 8px}.offer .price b{font-weight:800;font-stretch:75%;font-size:44px;line-height:1}.offer .price span{font:13px var(--mono);color:var(--muted)}.offer p{font-size:14.5px}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:28px;gap:28px;align-items:start}.verdicts{display:grid;grid-template-columns:1fr 1fr;border:var(--rule);margin:24px 0}.verdict{padding:18px 20px}.verdict.yes{border-right:var(--hairline)}.verdict.no{background:var(--tint)}.verdict h2{border-top:0!important;padding-top:0!important;margin:0 0 10px!important;font-size:22px!important}.verdict ul{list-style:none;margin:0;padding:0;display:grid;grid-gap:10px;gap:10px}.verdict li{display:flex;gap:10px;align-items:baseline;font-size:15px}.lost{list-style:none;margin:24px 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-left:var(--hairline);border-top:var(--hairline)}.lost li{border-right:var(--hairline);border-bottom:var(--hairline)}.lost a{display:flex;justify-content:space-between;align-items:center;padding:16px;border-top:6px solid var(--c);font-weight:800;font-size:18px}.lost a span{font:500 13px var(--mono);color:var(--muted)}.lost a:hover{background:color-mix(in srgb,var(--c) 9%,white)}@keyframes reel-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (max-width:1060px){.board{grid-template-columns:repeat(2,minmax(0,1fr))}header.top .wrap{flex-wrap:wrap;gap:12px 20px}header.top nav{order:3;flex-basis:100%;justify-content:flex-start;overflow-x:auto;scrollbar-width:none}header.top .acts{margin-left:auto}.doc{grid-template-columns:minmax(0,1fr)}.rail{position:static;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}@media (max-width:720px){.intro{gap:22px;padding-top:28px}.board,.intro{grid-template-columns:minmax(0,1fr)}.legend a{min-width:46%}.strip{grid-template-columns:minmax(0,1fr)}.strip .q{border-right:0;border-bottom:var(--hairline)}.hits a{grid-template-columns:minmax(0,1fr) auto}.hits .k{grid-column:1/-1}.cover .wrap{gap:18px}.cover .wrap,.layout{grid-template-columns:minmax(0,1fr)}.groups{border-right:0;border-bottom:var(--hairline);padding:12px 0;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.groups h2{display:none}.groups a,.groups button{width:auto;white-space:nowrap;border:1.5px solid var(--ink);flex:none}.ranked{grid-template-columns:minmax(0,1fr)}.ranked li,.ranked.with-shots li.paid~li:nth-child(2n){border-right:0}.faq,.lost,.offers,.split,.verdicts{grid-template-columns:minmax(0,1fr)}.faq div,.offer,.verdict.yes{border-right:0;border-bottom:var(--hairline)}.install-after{flex-direction:column}.files{grid-template-columns:minmax(0,1fr)}.files-tree{display:flex;overflow-x:auto;border-right:0;border-bottom:var(--hairline)}.doc-main .files-tree li{flex:none}.files-tree button{white-space:nowrap;overflow-wrap:normal}.files .skill-body{max-height:70vh;padding:4px 16px 16px}.published li{gap:2px}.doc-main .parts li,.published li{grid-template-columns:minmax(0,1fr)}.doc-main .parts li{gap:4px}.doc-main .plugin-table li{grid-template-columns:28px minmax(0,1fr)}.plugin-table .meta{grid-column:2;justify-items:start;grid-auto-flow:column;justify-content:start;gap:10px}.config thead{display:none}.config tr{display:grid;padding:10px 0;border-bottom:var(--hairline)}.config td{padding:0;border:0}.config td:first-child{width:auto}.foot .wrap{flex-direction:column}header.top .acts .btn:first-child{display:none}}@media (prefers-reduced-motion:reduce){.intro .mark,.reel p{animation:none}}.install-bar button{position:relative;isolation:isolate;overflow:hidden}.install-bar button[data-state=copied]:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--paid);transform-origin:left}.install pre .caret,.install pre .typed{display:inline-block}.install pre .caret{width:.6em;height:1.1em;margin-left:2px;vertical-align:-.2em;background:currentColor;opacity:0}.r .ch{display:inline-block}mark.hit{color:inherit;background:linear-gradient(var(--paid),var(--paid)) no-repeat 0 0 /100% 100%}li.paid mark.hit{background-image:linear-gradient(var(--ink),var(--ink));color:var(--paid)}.ranked a,.shelf li a{position:relative}.ranked a:after,.shelf li a:after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--c);transform:scaleY(0);transform-origin:top}.ranked a:is(:hover,:focus-visible):after,.shelf li a:is(:hover,:focus-visible):after{transform:scaleY(1)}.ranked li.paid a:after{display:none}.legend,.legend a{position:relative}.legend a{z-index:1}.legend-at{display:none;position:absolute;z-index:0}.legend.slide .legend-at{display:block}.legend.slide a[aria-current],.legend.slide a[aria-current]:hover{background:transparent}@property --n{syntax:"<integer>";inherits:false;initial-value:0}.count{--n:var(--to);counter-reset:n var(--n)}.count:after{content:counter(n)}@media (prefers-reduced-motion:no-preference){.install-bar button[data-state=copied]:before{animation:copy-sweep .4s var(--ease) both}.install pre .typed{animation:type linear both;animation-timing-function:steps(var(--steps))}.install pre .caret{animation:caret 1s steps(1) both}.r .ch.flip{animation:flip .25s var(--ease) both}mark.hit{animation:mark-in .2s var(--ease) both}.ranked a:after,.shelf li a:after{transition:transform .15s var(--ease)}.cover{animation:push-in .5s var(--ease) both}.cover h1,.cover-sub{animation:rise .45s var(--ease) .15s both}.cover-side{animation:rise .45s var(--ease) .22s both}.legend-at{transition:left .3s var(--ease),top .3s var(--ease),width .3s var(--ease),height .3s var(--ease),background-color .3s var(--ease)}.legend .dot,.legend a{transition:color .3s var(--ease),background-color .3s var(--ease)}[data-js] .count:not(.go){--n:0}.count.go{animation:count .8s var(--ease) both}.av img{transition:opacity .2s ease-out}}@keyframes copy-sweep{0%{transform:scaleX(0)}}@keyframes type{0%{-webkit-clip-path:inset(0 100% 0 0);clip-path:inset(0 100% 0 0)}}@keyframes caret{0%,25%,75%,to{opacity:0}0.1%,50%{opacity:1}}@keyframes flip{0%{transform:perspective(200px) rotateX(-90deg);opacity:0}}@keyframes mark-in{0%{background-size:0 100%}}@keyframes push-in{0%{-webkit-clip-path:inset(0 100% 0 0);clip-path:inset(0 100% 0 0)}}@keyframes rise{0%{transform:translateY(14px);opacity:0}}@keyframes count{0%{--n:0}to{--n:var(--to)}}