@font-face{font-family:__Plus_Jakarta_Sans_532bb9;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Plus_Jakarta_Sans_532bb9;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Plus_Jakarta_Sans_532bb9;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Plus_Jakarta_Sans_532bb9;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Plus_Jakarta_Sans_Fallback_532bb9;src:local("Arial");ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.00%;size-adjust:104.98%}.__className_532bb9{font-family:__Plus_Jakarta_Sans_532bb9,__Plus_Jakarta_Sans_Fallback_532bb9;font-style:normal}.__variable_532bb9{--font-display:"__Plus_Jakarta_Sans_532bb9","__Plus_Jakarta_Sans_Fallback_532bb9"}@font-face{font-family:__Figtree_e2cc43;font-style:normal;font-weight:300 900;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Figtree_e2cc43;font-style:normal;font-weight:300 900;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Figtree_Fallback_e2cc43;src:local("Arial");ascent-override:94.32%;descent-override:24.82%;line-gap-override:0.00%;size-adjust:100.72%}.__className_e2cc43{font-family:__Figtree_e2cc43,__Figtree_Fallback_e2cc43;font-style:normal}.__variable_e2cc43{--font-sans-src:"__Figtree_e2cc43","__Figtree_Fallback_e2cc43"}@font-face{font-family:__JetBrains_Mono_4dc837;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__JetBrains_Mono_4dc837;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/0aa834ed78bf6d07-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__JetBrains_Mono_4dc837;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__JetBrains_Mono_4dc837;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__JetBrains_Mono_4dc837;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__JetBrains_Mono_4dc837;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__JetBrains_Mono_Fallback_4dc837;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_4dc837{font-family:__JetBrains_Mono_4dc837,__JetBrains_Mono_Fallback_4dc837;font-style:normal}.__variable_4dc837{--font-mono-src:"__JetBrains_Mono_4dc837","__JetBrains_Mono_Fallback_4dc837"}:root{--bg:#fff;--bg-2:#f4f4f4;--bg-3:#ececec;--fg:#1a1a1a;--fg-2:#3d3d3d;--fg-3:#5c5c5c;--border:#dcdcdc;--border-2:#c4c4c4;--nav-bg:hsla(0,0%,100%,.88);--scrim:rgba(0,0,0,.35);--accent:var(--fg);--accent-ink:var(--bg);--eye:#f0b429;--k-app:#2b59c3;--k-plugin:#0d7a5c;--k-extension:#9a3fb8;--font-sans:var(--font-sans-src),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;--font-head:var(--font-display),var(--font-sans-src),system-ui,sans-serif;--font-mono:var(--font-mono-src),ui-monospace,"SF Mono",Menlo,Consolas,monospace;--radius:10px;--radius-sm:6px;--nav-h:64px;--sidebar-w:280px;--prose-w:740px;--toc-w:220px;--wrap:1240px;--c-focus:var(--fg);--c-context:#8a8a8a;color-scheme:light}:root[data-theme=dark]{--bg:#121212;--bg-2:#1c1c1c;--bg-3:#262626;--fg:#ececec;--fg-2:#cfcfcf;--fg-3:#a3a3a3;--border:#333;--border-2:#4a4a4a;--nav-bg:hsla(0,0%,7%,.88);--scrim:rgba(0,0,0,.55);--k-app:#8fb0ff;--k-plugin:#5fd3b0;--k-extension:#d9a3f2;--c-context:#8f8f8f;color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.topnav{position:-webkit-sticky;position:sticky;top:0;z-index:40;height:var(--nav-h);display:flex;align-items:center;gap:28px;padding:0 28px;background:var(--nav-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.topnav__menu{display:none}.topnav__brand{display:flex;align-items:center;gap:12px;font-family:var(--font-head);font-weight:600;font-size:16px;letter-spacing:-.01em;white-space:nowrap}.cat.mark{width:28px;height:28px;flex:none}.topnav__right{margin-left:auto;display:flex;align-items:center;gap:20px}.topnav__gh{font-size:14px;color:var(--fg-2)}.topnav__gh:hover{color:var(--fg)}.theme-toggle{background:transparent;border:1px solid var(--border-2);border-radius:999px;color:var(--fg-2);font:inherit;font-size:13px;padding:4px 16px;cursor:pointer}.theme-toggle:hover{color:var(--fg);border-color:var(--fg-3)}.shell__body{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:calc(100vh - var(--nav-h))}.shell--home .shell__body{grid-template-columns:minmax(0,1fr)}.shell--home .sidebar{display:none}.main{min-width:0}.scrim{display:none}.sidebar{position:-webkit-sticky;position:sticky;top:var(--nav-h);height:calc(100vh - var(--nav-h));overflow-y:auto;border-right:1px solid var(--border);padding:24px 16px 28px;background:var(--bg)}.sidebar nav{gap:16px}.sidebar nav,.sidebar__section{display:flex;flex-direction:column}.sidebar__section{gap:2px}.sidebar__label{margin:8px 0 0;padding:4px 12px;font-size:13px;font-weight:500;color:var(--fg-3)}.sidebar__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.sidebar__item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-radius:var(--radius-sm);font-size:14px;color:var(--fg-2)}.sidebar__item--top{padding-left:12px;font-weight:500}.sidebar__item:hover{background:var(--bg-3);color:var(--fg)}.sidebar__section .sidebar__item.is-active{background:var(--bg-3);color:var(--fg);font-weight:600}.sidebar__item--top.is-active{background:var(--bg-3);color:var(--fg)}.sidebar__draft{font-family:var(--font-mono);font-size:12px;color:var(--fg-3);border:1px solid var(--border-2);border-radius:4px;padding:0 4px}.chip{margin:0 0 20px;padding:4px 12px;border-radius:999px;font-size:13px;font-weight:600;color:var(--fg-2);background:var(--bg-3);border:1px solid var(--border)}.btn,.chip{display:inline-flex;align-items:center;gap:8px}.btn{padding:12px 24px;border-radius:999px;border:1px solid transparent;font:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:border-color .2s,background .2s}.btn--primary{background:var(--accent);color:var(--accent-ink)}.btn--primary:hover{background:var(--fg-2)}.btn--ghost{border-color:var(--border-2);color:var(--fg);background:transparent}.btn--ghost:hover{border-color:var(--fg);background:var(--bg-3)}.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.js .reveal.is-in{opacity:1;transform:none}.home{overflow-x:clip}.hero{max-width:var(--wrap);margin:0 auto;padding:clamp(40px,7vw,88px) 28px clamp(32px,4vw,56px);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-gap:32px;gap:32px;align-items:center}.hero h1{font-family:var(--font-head);font-size:clamp(36px,4.4vw,60px);line-height:1.06;letter-spacing:-.03em;word-spacing:.06em;font-weight:600;margin:0 0 24px;text-wrap:balance}.hero__lede{font-size:clamp(17px,1.6vw,20px);line-height:1.6;color:var(--fg-2);max-width:54ch;margin:0 0 32px}.hero__cta{display:flex;flex-wrap:wrap;gap:12px}.hero__art{min-width:0;display:flex;justify-content:center}.cat{width:100%;max-width:340px;height:auto;display:block}.cat .ink{fill:#0d0d0d}.cat .wht{fill:#fff}.cat .pup{fill:#0d0d0d}.cat .eye{fill:var(--eye)}.cat .lid{fill:#0d0d0d}.cat .bag{fill:none;stroke:#5a5a5a;stroke-width:.9;stroke-linecap:round}.cat .ln{fill:none;stroke:#0d0d0d;stroke-linecap:round;stroke-linejoin:round}.cat .ln-w{fill:none;stroke:#fff;stroke-linecap:round}:root[data-theme=dark] .cat .ink{stroke:#ececec;stroke-opacity:.55;stroke-width:.8}:root[data-theme=dark] .cat.mark .ink{stroke-opacity:.8;stroke-width:1.6}:root[data-theme=dark] .cat .ln{stroke:#ececec}:root[data-theme=dark] .cat .lid{stroke:none}.block{max-width:var(--wrap);margin:0 auto;padding:clamp(36px,5vw,64px) 28px;border-top:1px solid var(--border)}.block__h{font-family:var(--font-head);font-size:clamp(24px,2.8vw,34px);font-weight:600;letter-spacing:-.02em;word-spacing:.06em;line-height:1.15;margin:0 0 24px}.feat{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:16px;gap:16px}.feat,.rlist{list-style:none;margin:0;padding:0}.rlist{max-width:760px;border-top:1px solid var(--border)}.rlist li{border-bottom:1px solid var(--border)}.rlist a{display:flex;justify-content:space-between;gap:16px;padding:16px 0;font-weight:500}.rlist a:hover .rlist__arrow{transform:translateX(4px)}.rlist__arrow{color:var(--fg-3);transition:transform .2s}.band__empty{color:var(--fg-3);margin:0}.sitefoot{max-width:var(--wrap);margin:0 auto;padding:32px 28px 48px;display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--border);font-size:14px;color:var(--fg-3)}.sitefoot a:hover{color:var(--fg)}.cards{list-style:none;margin:0 auto;padding:0 40px;max-width:1100px;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:16px;gap:16px}.card{position:relative;display:flex;flex-direction:column;gap:12px;height:100%;padding:24px 24px 28px;border-radius:8px;background:var(--bg-2);border:1px solid var(--border);transition:border-color .2s,background .2s}.card:hover{border-color:var(--fg-3);background:var(--bg-3)}.card__title{font-family:var(--font-head);font-size:20px;font-weight:600;letter-spacing:-.015em;word-spacing:.06em;line-height:1.2;padding-right:24px}.card__desc{color:var(--fg-2);font-size:15px;line-height:1.55}.card__go{position:absolute;right:22px;top:24px;color:var(--fg-3);transition:transform .2s,color .2s}.card:hover .card__go{color:var(--fg);transform:translateX(4px)}.docwrap{display:grid;grid-template-columns:minmax(0,var(--prose-w)) var(--toc-w);grid-gap:56px;gap:56px;justify-content:center;padding:clamp(32px,6vh,64px) 40px 96px}.docwrap:not(:has(.toc)){grid-template-columns:minmax(0,var(--prose-w))}.doc{min-width:0}.doc__meta{display:flex;align-items:center;gap:16px;font-size:13px;color:var(--fg-3);margin:0 0 20px}.doc__meta .chip{margin:0}.doc h1{font-family:var(--font-head);font-size:clamp(32px,4.4vw,52px);line-height:1.06;letter-spacing:-.035em;word-spacing:.06em;font-weight:600;margin:0 0 20px}.doc__lede{font-size:18px;line-height:1.6;color:var(--fg-2);margin:0;max-width:62ch}.doc__head{padding-bottom:32px;margin-bottom:8px}.prose{padding-top:8px}.prose h2{font-family:var(--font-head);font-size:26px;line-height:1.25;letter-spacing:-.02em;word-spacing:.06em;margin:52px 0 16px}.prose h2,.prose h3{position:relative;font-weight:600;scroll-margin-top:88px}.prose h3{font-size:18px;line-height:1.3;margin:32px 0 12px}.prose .anchor{position:absolute;left:-22px;color:var(--fg-3);opacity:0;font-weight:400}.prose .anchor:focus,.prose h2:hover .anchor,.prose h3:hover .anchor{opacity:1}.prose li,.prose p{color:var(--fg-2);line-height:1.7}.prose p{margin:0 0 16px}.prose ol,.prose ul{padding-left:24px;margin:0 0 16px}.prose li{margin-bottom:8px}.prose li::marker{color:var(--fg-3)}.prose a,.prose strong{color:var(--fg)}.prose a{border-bottom:1px solid var(--fg-3);transition:border-color .15s}.prose a:hover{border-bottom-color:var(--fg)}.prose code{font-family:var(--font-mono);font-size:.9em;background:var(--bg-3);padding:1px 6px;border-radius:4px}.prose pre{background:var(--bg-2);border:1px solid var(--border);border-radius:12px;padding:16px;overflow-x:auto;margin:0 0 20px}.prose pre code{background:none;padding:0;font-size:13px;line-height:1.6}.prose hr{border:0;border-top:1px solid var(--border);margin:36px 0}.prose blockquote{margin:0 0 16px;padding:16px 20px;border:1px solid var(--border);border-radius:12px;background:var(--bg-2);color:var(--fg-2)}.prose img{max-width:100%;height:auto;border-radius:var(--radius)}.table-wrap{overflow-x:auto;margin:0 0 24px;border:1px solid var(--border);border-radius:12px}.prose table{width:100%;border-collapse:collapse;font-size:14px}.prose td,.prose th{text-align:left;padding:12px 16px;border-bottom:1px solid var(--border);vertical-align:top}.prose th{background:var(--bg-2);color:var(--fg);font-weight:600;white-space:nowrap}.prose tr:last-child td{border-bottom:0}.key{border:1px solid var(--border);background:var(--bg-2);border-radius:12px;padding:16px 20px;margin:24px 0}.key p{color:var(--fg);margin:0}.links{display:flex;gap:24px;flex-wrap:wrap;font-size:14px;margin:0 0 8px}.proof{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:16px;gap:16px;margin:0 0 24px}.proof>div{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:16px;padding:20px 24px;background:var(--bg-2)}.proof dt{font-size:13px;color:var(--fg-3);margin-bottom:8px;line-height:1.5}.proof dd{margin:0}.proof dd:first-of-type{font-family:var(--font-head);font-size:28px;font-weight:600;letter-spacing:-.02em}.proof__n{font-size:13px;color:var(--fg-3);margin-top:8px!important}.install{border:1px solid var(--border);border-radius:8px;background:var(--bg-2);min-width:0;margin:0 0 16px;overflow:hidden}.install__head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg-3)}.install__label{font-size:13px;font-weight:600;color:var(--fg)}.install__copy{background:transparent;border:1px solid var(--border-2);border-radius:999px;color:var(--fg-2);font:inherit;font-size:12px;padding:4px 12px;cursor:pointer}.install__copy:hover{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.install__code,.prose .install__code{margin:0;padding:16px;white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--font-mono);font-size:13px;line-height:1.6;background:none;border:0}.install__note{margin:0;padding:0 16px 12px;font-size:12px;color:var(--fg-3)}.connected{margin-top:64px;padding-top:28px;border-top:1px solid var(--border)}.connected__h{font-family:var(--font-head);font-size:20px;font-weight:600;letter-spacing:-.02em;word-spacing:.06em;margin:0 0 16px}.connected__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:16px;gap:16px}.connected__card{position:relative;display:flex;flex-direction:column;gap:4px;padding:20px 44px 20px 20px;border-radius:16px;background:var(--bg-2);border:1px solid var(--border);transition:border-color .2s}.connected__card:hover{border-color:var(--fg-3)}.connected__kind{font-size:13px;color:var(--fg-3)}.connected__title{font-weight:600;line-height:1.35}.connected__go{position:absolute;right:18px;top:50%;translate:0 -50%;color:var(--fg-3);transition:transform .2s,color .2s}.connected__card:hover .connected__go{color:var(--fg);transform:translateX(4px)}.toc{position:-webkit-sticky;position:sticky;top:calc(var(--nav-h) + 24px);align-self:start;max-height:calc(100vh - var(--nav-h) - 48px);overflow-y:auto;font-size:13px}.toc__label{font-size:13px;font-weight:600;color:var(--fg-3);margin:0 0 12px}.toc ul{list-style:none;margin:0;padding:0;border-left:1px solid var(--border)}.toc li a{display:block;padding:4px 0 4px 16px;margin-left:-1px;border-left:1px solid transparent;color:var(--fg-3);line-height:1.4}.toc li a:hover{color:var(--fg);border-left-color:var(--fg)}.toc li.is-sub a{padding-left:28px}.embed{display:flex;flex-direction:column;height:calc(100vh - var(--nav-h))}.embed__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;border-bottom:1px solid var(--border);font-size:14px}.embed__title{font-weight:600}.embed__bar a{color:var(--fg-2)}.embed__bar a:hover{color:var(--fg)}.embed__frame{flex:1 1;width:100%;border:0;background:#fff}.docwrap.docwrap--product{grid-template-columns:minmax(0,1080px);padding-top:24px}.doc--product .doc__meta,.doc--product h1{margin-bottom:12px}.doc--product h1{font-size:clamp(30px,3.4vw,40px)}.doc--product .doc__lede{font-size:16px;line-height:1.55}.doc--product .doc__head{padding-bottom:16px}.doc--product .prose>.install,.doc--product .prose>h2,.doc--product .prose>p,.doc--product .prose>ul{max-width:var(--prose-w)}.doc--product .prose>h2{margin-top:clamp(56px,9vw,96px)}.doc--product .prose>p:first-child{margin:0 0 20px;font-size:16px;line-height:1.55;color:var(--fg-2)}.doc--product .doc__meta .chip,.doc--product .doc__meta time{display:none}.film{max-width:880px;margin:28px 0;border:1px solid var(--border);border-radius:18px;overflow:hidden;background:var(--bg-2)}.film video{height:auto}.film video,.film__fill{display:block;width:100%}.film__fill{padding:0;margin:0;border:0;background:none;cursor:zoom-in}.film__fill:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}.film--open{position:fixed;inset:0;z-index:100;max-width:none;margin:0;border:0;border-radius:0;display:flex;align-items:center;justify-content:center;background:#000;padding:56px 24px}.film--open .film__fill{cursor:default;max-width:calc((100vh - 112px) * 16 / 9)}.film--open video{border-radius:8px}@media (max-width:720px) and (orientation:portrait){.film--open{inset:auto;top:50%;left:50%;width:100vh;height:100vw;width:100dvh;padding:12px 56px;transform:translate(-50%,-50%) rotate(90deg)}.film--open .film__fill{max-width:calc((100vw - 24px) * 16 / 9)}}@media (max-width:920px) and (orientation:landscape){.film--open{padding:8px 56px}.film--open .film__fill{max-width:calc((100vh - 16px) * 16 / 9)}}.film-pair{display:grid;grid-template-columns:1fr 2fr;align-items:center;grid-gap:12px;gap:12px;margin:28px 0}.film-pair video{display:block;width:100%;height:auto;border:1px solid var(--border);border-radius:14px}.film-pair__half{display:block;padding:0;margin:0;border:0;background:none;cursor:zoom-in;border-radius:14px}.film-pair__half:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (max-width:720px){.film-pair{grid-template-columns:1fr}}.film-pair--open{position:fixed;inset:0;z-index:100;margin:0;display:flex;align-items:center;justify-content:center;background:#000;padding:56px 76px}.film-pair--open .film-pair__half{cursor:default;width:100%;max-width:calc((100vh - 112px) * 16 / 9)}.film-pair--open[data-open=left] .film-pair__half[data-side=right],.film-pair--open[data-open=right] .film-pair__half[data-side=left]{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.film-pair--open video{border-color:transparent;border-radius:8px}.film-pair__close,.film-pair__swap{position:absolute;display:grid;place-items:center;border:0;border-radius:999px;background:hsla(0,0%,100%,.14);color:#fff;cursor:pointer}.film-pair__close{top:12px;right:12px;width:44px;height:44px}.film-pair__swap{top:50%;transform:translateY(-50%);width:52px;height:52px}.film-pair__swap[data-to=right]{right:12px}.film-pair__swap[data-to=left]{left:12px}.film-pair__close:hover,.film-pair__swap:hover{background:hsla(0,0%,100%,.26)}.film-pair__close:focus-visible,.film-pair__swap:focus-visible{outline:2px solid #fff;outline-offset:2px}@media (max-width:720px) and (orientation:portrait){.film-pair--open{inset:auto;top:50%;left:50%;width:100vh;height:100vw;width:100dvh;padding:12px 64px;transform:translate(-50%,-50%) rotate(90deg)}.film-pair--open .film-pair__half{max-width:calc((100vw - 24px) * 16 / 9)}.film-pair__close{top:8px;right:8px}.film-pair__swap{width:44px;height:44px}.film-pair__swap[data-to=right]{right:8px}.film-pair__swap[data-to=left]{left:8px}}@media (max-width:920px) and (orientation:landscape){.film-pair--open{padding:8px 64px}.film-pair--open .film-pair__half{max-width:calc((100vh - 16px) * 16 / 9)}.film-pair__close{top:8px;right:8px}}.frames{max-width:880px;margin:28px 0}.frames__tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.frames__tab{background:transparent;border:1px solid var(--border-2);border-radius:999px;color:var(--fg-2);font:inherit;font-size:14px;padding:8px 16px;cursor:pointer}.frames__tab:hover{color:var(--fg);border-color:var(--fg-2)}.frames__tab--on,.frames__tab--on:hover{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.frames__n{font-weight:600}.frames__text,.prose .frames__text{margin:0 0 12px;max-width:var(--prose-w);color:var(--fg-2)}.frames__text strong{color:var(--fg)}.frames__img{display:block;width:100%;height:auto;border:1px solid var(--border);border-radius:12px;background:#111}.frames__img--tall{max-height:720px;object-fit:contain}.frames__fill{display:block;width:100%;padding:0;margin:0;border:0;background:none;cursor:zoom-in;border-radius:12px}.frames__fill:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.frames--open{position:fixed;inset:0;z-index:100;max-width:none;margin:0;background:#000}.frames--open .frames__tabs,.frames--open .frames__text{display:none}.frames--open .frames__fill{box-sizing:border-box;width:100%;height:100%;padding:12px;cursor:zoom-out;border-radius:0}.frames--open .frames__img{width:100%;height:100%;max-height:none;object-fit:contain;border:0;border-radius:0;background:transparent}@media (max-width:720px) and (orientation:portrait){.frames--open.frames--wide{inset:auto;top:50%;left:50%;width:100vh;height:100vw;width:100dvh;transform:translate(-50%,-50%) rotate(90deg)}}.diagram{margin:28px 0;max-width:880px}.prose .diagram a{display:block;border:0}.diagram img{display:block;width:100%;height:auto;border:1px solid var(--border);border-radius:12px;background:#fff}.flowfig{margin:28px 0;border:1px solid var(--border);border-radius:18px;padding:24px 24px 28px;background:var(--bg-2)}.flowfig__head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.flowfig__title{font-weight:600}.flowfig__caption{font-size:13px;color:var(--fg-3)}.flowfig__steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--cols,3),1fr);grid-gap:16px;gap:16px}.prose .flowfig__steps{padding-left:0;margin:0}.flowfig__step{position:relative;display:grid;grid-gap:8px;gap:8px;padding:16px;margin:0;border:1px solid var(--border);border-radius:12px;background:var(--bg);opacity:.45;transition:opacity .4s,border-color .4s}.flowfig__step.is-lit{opacity:1;border-color:var(--border-2)}.flowfig__step.is-now{border-color:var(--fg)}.flowfig__num{font-family:var(--font-mono);font-size:12px;color:var(--fg-3)}.flowfig__label{font-size:15px;font-weight:600;color:var(--fg);overflow-wrap:anywhere}.flowfig__label--code{font-family:var(--font-mono);font-size:14px}.flowfig__detail{font-size:13px;color:var(--fg-2)}.stackfig{margin:28px 0;border:1px solid var(--border);border-radius:18px;padding:24px 24px 28px;background:var(--bg-2)}.stackfig__title{font-weight:600;margin-bottom:20px}.stackfig__grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.stackfig__card:only-child{grid-column:1/-1}.stackfig__card:only-child .stackfig__layers{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.stackfig__card{padding:16px;border:1px solid var(--border-2);border-radius:12px;background:var(--bg)}.stackfig__name{margin:0 0 12px;font-size:15px;font-weight:600;color:var(--fg)}.stackfig__layers{margin:0;display:grid;grid-gap:12px;gap:12px}.stackfig__layers dt{font-size:13px;color:var(--fg-3)}.stackfig__layers dd{margin:2px 0 0;font-size:13px;color:var(--fg-2)}.flowfig__bar{margin-top:20px;height:6px;border-radius:999px;background:var(--bg-3);overflow:hidden}.flowfig__bar span{display:block;height:100%;background:var(--fg);transition:width .5s ease}.role-focus{--c:var(--c-focus)}.role-context{--c:var(--c-context)}.barfig,.linefig,.matrix{--lab:150px;--val:72px;margin:32px 0;border:1px solid var(--border);border-radius:18px;padding:24px 24px 20px;background:var(--bg-2)}.barfig__head{display:block;margin-bottom:20px}.barfig__title{display:block;font-weight:600;color:var(--fg)}.barfig__caption{display:block;margin-top:4px;font-size:13px;line-height:1.45;color:var(--fg-3)}.barfig__group+.barfig__group{margin-top:20px}.barfig__gtitle{font-size:13px;font-weight:600;color:var(--fg-3);margin:0 0 8px!important}.barfig__rows{list-style:none;padding:0!important;grid-gap:8px;gap:8px}.barfig__row,.barfig__rows{margin:0!important;display:grid}.barfig__row{grid-template-columns:var(--lab) minmax(0,1fr);grid-gap:12px;gap:12px;align-items:center;font-size:14px;color:var(--fg)}.barfig__label{line-height:1.3}.barfig__row.is-mixed.role-focus .barfig__label{font-weight:600}.barfig__sub{display:block;font-family:var(--font-mono);font-size:12px;font-weight:400;color:var(--fg-3)}.barfig__plot{display:flex;align-items:center;gap:8px;min-height:20px}.barfig__bar{display:block;flex:none;height:12px;width:calc((100% - var(--val)) * var(--f));border-radius:0 3px 3px 0;background:var(--c)}.barfig__val{font-family:var(--font-mono);font-size:13px;font-weight:400;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.barfig__note{margin:16px 0 0!important;font-size:13px!important;color:var(--fg-3)!important;line-height:1.5!important}.barfig__rows--ref{position:relative}.barfig__rows--ref .barfig__row{grid-template-columns:var(--lab) minmax(0,1fr) 44px}.barfig__rows--ref .barfig__bar{width:calc(100% * var(--f))}.barfig__rows--ref .barfig__val{text-align:right}.barfig__rows--ref:after{content:"";position:absolute;top:-2px;bottom:-2px;left:calc(var(--lab) + 12px + (100% - var(--lab) - 68px) * var(--at));width:1px;background:var(--fg)}.barfig__reflabel{position:relative;height:18px;margin:0!important}.barfig__reflabel span{position:absolute;left:calc(var(--lab) + 12px + (100% - var(--lab) - 68px) * var(--at));transform:translateX(-50%);font-family:var(--font-mono);font-size:12px;color:var(--fg)}.linefig__wide{display:block}.linefig__narrow{display:none}.linefig svg{width:100%;height:auto;display:block}.linefig__grid{stroke:var(--border);stroke-width:1}.linefig__tick{fill:var(--fg-3);font-size:12px;font-family:var(--font-mono)}.linefig__tick--n{font-size:12px}.linefig__line{fill:none;stroke:var(--c);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.linefig__line.is-dashed{stroke-dasharray:5 5}.linefig__dot{fill:var(--c);stroke:var(--bg-2);stroke-width:2}.linefig__end{fill:var(--fg);font-size:12px;font-family:var(--font-sans)}.linefig__legend{list-style:none;display:flex;flex-wrap:wrap;gap:8px 20px;margin:12px 0 0!important;padding:0!important;font-size:13px}.linefig__legend li{margin:0;color:var(--fg-2)}.linefig__swatch{display:inline-block;width:18px;height:0;border-top:2px solid var(--c);margin-right:8px;vertical-align:middle}.linefig__swatch.is-dashed{border-top-style:dashed}@media (max-width:1180px){.docwrap{grid-template-columns:minmax(0,var(--prose-w))}.toc{display:none}}@media (max-width:960px){.hero{grid-template-columns:minmax(0,1fr)}.hero__art{order:-1;max-width:220px;margin:0}}@media (max-height:500px) and (pointer:coarse),(max-width:900px){.shell--home .shell__body,.shell__body{grid-template-columns:minmax(0,1fr)}.topnav{padding:0 16px;gap:12px}.topnav__gh{display:none}.topnav__menu{display:inline-flex;background:transparent;border:1px solid var(--border-2);border-radius:999px;color:var(--fg);font:inherit;font-size:13px;padding:4px 16px;cursor:pointer}.topnav__brand span{font-size:15px}.shell--home .sidebar{display:block}.sidebar{position:fixed;z-index:50;top:var(--nav-h);left:0;bottom:0;width:min(86vw,320px);height:auto;transform:translateX(-102%);transition:transform .2s ease}.sidebar.is-open{transform:none;box-shadow:0 0 60px rgba(0,0,0,.25)}.scrim{display:block;position:fixed;inset:var(--nav-h) 0 0 0;z-index:45;background:var(--scrim);border:0;padding:0}.docwrap{padding:28px 16px 72px;gap:0}.cards{padding-left:16px;padding-right:16px}.prose .anchor{display:none}.embed{height:calc(100vh - var(--nav-h))}.embed__bar{padding:12px 16px}.topnav{transition:transform .25s ease}.topnav.is-hidden:not(:focus-within){transform:translateY(-100%)}}@media (max-height:500px) and (pointer:coarse){:root{--nav-h:48px}}@media (max-width:640px){.block,.hero,.sitefoot{padding-left:16px;padding-right:16px}.hero__cta .btn{flex:1 1 100%;justify-content:center}.flowfig__steps,.stackfig__grid{grid-template-columns:1fr}.linefig__wide{display:none}.linefig__narrow{display:block}.barfig,.flowfig,.linefig,.matrix,.stackfig{padding:20px 16px 16px}.barfig,.linefig,.matrix{--lab:96px}.barfig__row{font-size:13px;gap:8px}.barfig__reflabel span,.barfig__rows--ref:after{left:calc(var(--lab) + 8px + (100% - var(--lab) - 60px) * var(--at))}.prose th{white-space:normal}.prose td,.prose th{padding:10px 8px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}.prose a.btn{border-bottom-width:1px}.prose a.btn--primary{border-color:var(--accent)}.prose a.btn--primary,.prose a.btn--primary:hover{color:var(--accent-ink)}.pills{display:inline-flex;flex-wrap:wrap;gap:8px}.pill{--k:var(--fg-3);display:inline-block;padding:2px 12px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.5;color:var(--k);background:color-mix(in srgb,var(--k) 12%,var(--bg));border:1px solid color-mix(in srgb,var(--k) 38%,var(--bg))}.pill--app{--k:var(--k-app)}.pill--plugin{--k:var(--k-plugin)}.pill--extension{--k:var(--k-extension)}.pills--sm{gap:4px;margin-top:4px}.pills--sm .pill{padding:0 8px;font-size:12px}.sidebar__text{display:flex;flex-direction:column;align-items:flex-start}.card .pills{margin:2px 0 8px}.doc__meta .pills{margin:0}.sitefoot__links{display:flex;gap:20px}.card__head{display:flex;align-items:center;justify-content:space-between;gap:12px}.card__head .card__title{padding-right:0}.card__logo{flex:none;width:44px;height:44px;border-radius:10px;object-fit:contain}.card:has(.card__logo) .card__go{display:none}.feat-group+.feat-group{margin-top:40px}.feat-group__h{font-family:var(--font-head);font-size:15px;font-weight:600;color:var(--fg-2);letter-spacing:.01em;margin:0 0 12px}@media (max-width:640px){.feat-group+.feat-group{margin-top:28px}.feat{grid-template-columns:minmax(0,1fr);gap:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg-2)}.feat li+li{border-top:1px solid var(--border)}.feat .card{display:grid;grid-template-columns:40px minmax(0,1fr) auto;grid-template-areas:"logo title go" "logo pills go";align-items:center;grid-column-gap:14px;column-gap:14px;grid-row-gap:4px;row-gap:4px;padding:14px 16px;border:0;border-radius:0;background:transparent}.feat .card:hover{background:var(--bg-3)}.feat .card__head{display:contents}.feat .card__logo{grid-area:logo;width:40px;height:40px;border-radius:9px}.feat .card__title{grid-area:title;font-size:17px;padding-right:0}.feat .card .pills{grid-area:pills;margin:0;gap:4px}.feat .card .pill{padding:0 8px;font-size:12px}.feat .card .cicons,.feat .card__desc{display:none}.feat .card .card__go{grid-area:go;position:static;display:block}}.hero__line{display:block}.measured{display:flex;flex-wrap:wrap;gap:8px 28px;margin:0 0 16px;padding:16px 20px;border:1px solid var(--border);border-radius:8px;background:var(--bg-2)}.measured div{min-width:0}.measured dt{font-size:12px;color:var(--fg-3)}.measured dd{margin:2px 0 0;font-size:14px;color:var(--fg);overflow-wrap:anywhere}.history{margin:48px 0 0}.history__h{font-size:20px;font-weight:600;margin:0 0 12px}.history__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}.history__list li{display:grid;grid-template-columns:110px 1fr;grid-gap:2px 16px;gap:2px 16px;padding:12px 0;border-bottom:1px solid var(--border)}.history__list time,.history__meta{font-size:13px;color:var(--fg-3)}.history__meta{grid-column:2}@media (max-width:560px){.history__list li{grid-template-columns:1fr}.history__meta{grid-column:1}}.compat{margin:0 0 28px}.compat__row{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.compat__item{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;border-radius:999px;border:1px solid var(--border-2);font-size:14px;color:var(--fg-2);background:var(--bg)}.compat__item--untested{opacity:.55;border-style:dashed}.compat__icon{width:15px;height:15px;flex:none}.compat__note{margin:8px 0 0;font-size:13px;color:var(--fg-3)}.cicons{display:flex;align-items:center;gap:16px;margin:0 0 8px;color:var(--fg-2)}.cicons__item{display:inline-flex}.cicons__item--untested{opacity:.4}.cicons__icon{width:18px;height:18px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.docwrap.docwrap--study{grid-template-columns:minmax(0,860px)}.doc--study .doc__head{padding-bottom:20px;margin-bottom:0}.doc--study .measured{padding:0;border:0;border-radius:0;background:none;margin:0}.doc--study .prose>.key,.doc--study .prose>h2,.doc--study .prose>p,.doc--study .prose>ul{max-width:var(--prose-w)}.doc__eyebrow{font-weight:600;color:var(--fg);border-bottom:1px solid var(--fg-3);transition:border-color .15s}.doc__eyebrow:hover{border-bottom-color:var(--fg)}.resultband{margin:24px 0 20px;padding:32px;border-radius:16px;background:var(--fg);color:var(--bg)}.resultband__nums{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:24px;gap:24px;margin:0}.resultband__nums div{display:flex;flex-direction:column}.resultband__nums dd{order:0;margin:0;font-family:var(--font-head);font-weight:600;font-size:clamp(44px,7vw,76px);line-height:1;letter-spacing:-.03em}.resultband__nums dt{order:1;margin-top:8px;font-size:15px;line-height:1.35;opacity:.8}.prose .resultband__note{margin:24px 0 0;padding-top:16px;border-top:1px solid color-mix(in srgb,var(--bg) 25%,var(--fg));font-size:14px;line-height:1.5;color:inherit;opacity:.8}.claim{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-gap:40px;gap:40px;align-items:start;padding:48px 0 40px;margin-top:16px;border-top:1px solid var(--border)}.prose .claim h2{margin-top:0}.claim>div>:last-child{margin-bottom:0}.claim .barfig{--lab:112px;margin:0}.detail{margin-top:16px;border-top:1px solid var(--border)}.detail summary{cursor:pointer;padding:12px 0;font-size:15px;font-weight:600;color:var(--fg)}.detail__body{padding-bottom:8px}.doc--study .detail .barfig__head{margin-top:4px}.prose .matrix table{border-collapse:separate;border-spacing:4px;font-size:15px;table-layout:fixed}.prose .matrix td,.prose .matrix th{background:none;border:0;padding:8px;white-space:normal}.prose .matrix thead th{font-size:13px;font-weight:500;color:var(--fg-3);vertical-align:bottom}.prose .matrix tbody th{font-size:13px;font-weight:500;color:var(--fg);vertical-align:middle}.matrix tbody th small{display:block;font-family:var(--font-sans);font-size:12px;color:var(--fg-3)}.prose .matrix .matrix__c{height:72px;padding:0;text-align:center;vertical-align:middle;font-family:var(--font-head);font-size:24px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;border-radius:12px}.prose .matrix .matrix__c--0{background:color-mix(in srgb,var(--fg) 5%,var(--bg));color:var(--fg-2)}.prose .matrix .matrix__c--1{background:color-mix(in srgb,var(--fg) 15%,var(--bg));color:var(--fg)}.prose .matrix .matrix__c--2{background:color-mix(in srgb,var(--fg) 60%,var(--bg));color:var(--bg)}.prose .matrix .matrix__c--3{background:color-mix(in srgb,var(--fg) 85%,var(--bg));color:var(--bg)}.prose .matrix .matrix__c--4{background:var(--fg);color:var(--bg)}@media (max-width:1100px){.claim{grid-template-columns:minmax(0,1fr);gap:20px;padding:36px 0 28px}}@media (max-width:640px){.resultband{padding:24px 20px}.resultband__nums{gap:12px}.resultband__nums dt{font-size:13px}.claim .barfig{--lab:96px}.prose .matrix table{border-spacing:2px}.prose .matrix td,.prose .matrix th{padding:4px 2px}.prose .matrix thead th{font-size:12px;line-height:1.25}.matrix tbody th small,.prose .matrix tbody th{font-size:12px}.prose .matrix .matrix__c{height:54px;font-size:16px;border-radius:6px}}