:root{color-scheme:light;--ink:#101418;--paper:#fbfaf8;--accent:#1f7a5a;--accent-on-dark:#3fa57f;--text-2:#686c72;--rule:#e4e2dd;--rule-2:#dcd9d2;--line-control:#84888e;--surface-1:#f3f1ec;--surface-2:#f4f2ed;--avatar:#dedbd4;--ink-2:#161b21;--rule-on-dark:#262c33;--text-on-dark:#c3c7cb;--text-2-on-dark:#8a9096;--text-3-on-dark:#7e848b;--shadow-scroll:#10141838;--font-sans:var(--font-inter), -apple-system, "Helvetica Neue", Arial, sans-serif;--font-mono:var(--font-jetbrains), ui-monospace, Menlo, Consolas, monospace;--fs-display:clamp(2.0625rem, 1.55rem + 2.2vw, 2.75rem);--fs-h1:clamp(1.875rem, 1.6rem + 1.1vw, 2.375rem);--fs-h2:clamp(1.375rem, 1.25rem + .55vw, 1.625rem);--fs-h3:clamp(1.125rem, 1.08rem + .2vw, 1.1875rem);--fs-call:clamp(1.0625rem, 1rem + .3vw, 1.1875rem);--fs-body:1rem;--fs-prose:clamp(1rem, .95rem + .25vw, 1.0625rem);--fs-small:.875rem;--fs-meta:.8125rem;--fs-label:.75rem;--fs-kicker:.6875rem;--lh-display:1.07;--lh-heading:1.18;--lh-ui:1.45;--lh-prose:1.65;--tr-display:-.035em;--tr-h1:-.03em;--tr-h2:-.02em;--tr-h3:-.01em;--tr-kicker:.12em;--measure:33em;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:40px;--s-8:56px;--s-9:84px;--section-y:var(--s-8);--gutter:22px;--container:1120px;--rail:200px;--rail-gap:64px;--header-h:68px;--stick:48px;--radius:3px;--radius-sm:2px;--tap:44px;--focus:var(--ink);--dur:.16s;--z-sticky:5;--z-header:60;--z-menu:70;--z-skip:200}@media (width>=861px){:root{--gutter:40px;--section-y:var(--s-9)}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--stick) + 16px)}.ct tbody :is(a,button){scroll-margin-top:calc(var(--stick) + var(--ct-head-h,0px) + 16px)}.h2h tbody :is(a,button){scroll-margin-top:calc(var(--stick) + var(--h2h-head-h,72px) + 16px)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-ui);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4{text-wrap:pretty;margin:0;font-weight:600}h1{text-wrap:balance;font-size:var(--fs-h1);line-height:var(--lh-heading);letter-spacing:var(--tr-h1)}h2{font-size:var(--fs-h2);line-height:var(--lh-heading);letter-spacing:var(--tr-h2)}h3{font-size:var(--fs-h3);letter-spacing:var(--tr-h3);line-height:1.3}p,ul,ol,dl,figure,blockquote{margin:0}img,video{max-width:100%;height:auto;display:block}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:var(--radius-sm)}.on-dark{--focus:var(--paper)}.wrap{max-width:var(--container);padding-inline:max(var(--gutter), env(safe-area-inset-left)) max(var(--gutter), env(safe-area-inset-right));margin-inline:auto}.prose{font-size:var(--fs-prose);line-height:var(--lh-prose)}.prose>:where(p,ul:not([data-component]),ol:not([data-component]),h2,h3,h4,blockquote,dl,hr){max-width:var(--measure)}.prose>*+*{margin-top:1em}.prose h2{margin-top:2.2em}.prose h3{margin-top:1.8em}.prose h2+*,.prose h3+*{margin-top:.6em}.prose p{text-wrap:pretty}.prose :is(ul,ol):not([data-component]){padding-left:1.25em}a{color:inherit;text-underline-offset:3px;text-decoration-line:underline;text-decoration-thickness:1px;text-decoration-color:var(--line-control)}a:hover{text-decoration-color:currentColor}.kicker{font-family:var(--font-mono);font-size:var(--fs-kicker);letter-spacing:var(--tr-kicker);text-transform:uppercase;color:var(--text-2);font-weight:400}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[hidden]{display:none!important}q{quotes:"“" "”" "‘" "’"}.skip{z-index:var(--z-skip);background:var(--paper);color:var(--ink);font-size:var(--fs-small);border-radius:var(--radius);padding:11px 18px;position:absolute;top:0;left:-9999px}.skip:focus{position:fixed;top:10px;left:10px}#main:focus{outline:none}.shead{justify-content:space-between;align-items:baseline;gap:var(--s-5);border-bottom:1px solid var(--ink);padding-bottom:14px;display:flex}.shead h2{letter-spacing:var(--tr-h2);font-size:20px}.shead a{font-size:var(--fs-meta);color:var(--text-2);white-space:nowrap;min-height:var(--tap);align-items:center;margin-block:-12px;text-decoration:none;display:inline-flex}.shead a:hover{color:var(--ink);text-decoration:underline}body{flex-direction:column;min-height:100svh;display:flex}#main{flex:1 0 auto}.zone-a .prose{max-width:none}.zone-b .prose{max-width:776px}:is(.zone-a,.zone-b) .prose>:where(p,ul:not([data-component]),ol:not([data-component]),h2,h3,h4,blockquote,dl,hr){max-width:var(--measure)}:is(.zone-a,.zone-b) .prose>:where(h2,h3,h4){max-width:calc(33 * var(--fs-prose))}.prose strong{font-weight:600}.prose>:is(ul,ol):not([data-component])>li+li{margin-top:.45em}.prose>:is(ul,ol):not([data-component])>li::marker{color:var(--text-2)}.prose [data-component] :is(h2,h3,h4){margin-top:0}.prose [data-component] :is(ul,ol),.prose :is(ul,ol)[data-component]{padding-left:0}.prose .callout[data-component] :is(ul,ol){padding-left:1.25em}.prose code{font-family:var(--font-mono);background:var(--surface-1);border-radius:var(--radius-sm);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:.1em .3em;font-size:.86em}.prose pre{max-width:calc(33 * var(--fs-prose));padding:var(--s-3) var(--s-4);background:var(--surface-1);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--fs-small);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}@media (width>=861px){.prose>pre{width:fit-content;min-width:min(100%, calc(33 * var(--fs-prose)));max-width:100%}}.callout pre{max-width:100%;margin-top:.6em}@media (width>=1200px){.callout:has(>pre){max-width:none}.callout:has(>pre)>:not(pre){max-width:var(--measure)}}.prose pre code{font-size:inherit;background:0 0;padding:0}.prose pre code .line{text-indent:-2ch;padding-left:2ch;display:block}.prose blockquote{border-left:1px solid var(--line-control);padding-left:var(--s-4)}.prose hr{border:0;border-top:1px solid var(--rule);margin-block:2em}.prose h2,.prose h3{scroll-margin-top:calc(var(--stick) + 16px)}.prose>.h2h,.prose>table:not(.spec){max-width:776px}.hairline-grid{grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}.hairline-grid>*{background:var(--paper);border:0 solid var(--rule);border-width:0 1px 1px}.hairline-grid>:first-child{border-top-width:1px}@media (width>=600px){.hairline-grid.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.hairline-grid.g2>:nth-child(n){border-width:0 1px 1px 0}.hairline-grid.g2>:nth-child(odd){border-left-width:1px}.hairline-grid.g2>:nth-child(-n+2){border-top-width:1px}}@media (width>=861px){.hairline-grid.g3-861{grid-template-columns:repeat(3,minmax(0,1fr))}.hairline-grid.g3-861>:nth-child(n){border-width:0 1px 1px 0}.hairline-grid.g3-861>:nth-child(3n+1){border-left-width:1px}.hairline-grid.g3-861>:nth-child(-n+3){border-top-width:1px}}@media (width>=1200px){.hairline-grid.g3-1200{grid-template-columns:repeat(3,minmax(0,1fr))}.hairline-grid.g3-1200>:nth-child(n){border-width:0 1px 1px 0}.hairline-grid.g3-1200>:nth-child(3n+1){border-left-width:1px}.hairline-grid.g3-1200>:nth-child(-n+3){border-top-width:1px}}.nw{white-space:nowrap}@media (width>=861px){.nw-wide{white-space:nowrap}}.cta-group{flex-wrap:wrap;align-items:center;gap:6px 14px;display:flex}.cta{min-height:var(--tap);border-radius:var(--radius);background:var(--ink);max-width:100%;color:var(--paper);text-align:center;white-space:nowrap;justify-content:center;align-items:center;padding:8px 18px;font-size:15px;font-weight:500;text-decoration:none;display:inline-flex}.cta:hover{background:var(--rule-on-dark)}.cta-sm{font-size:var(--fs-small);padding:0 14px}.paid{font-size:var(--fs-small);color:var(--ink);font-weight:500}:is(p,li,td)>.paid{font-size:max(1em, var(--fs-small))}.cta-link{white-space:nowrap;align-items:center;max-width:100%;min-height:24px;font-weight:500;display:inline-flex;position:relative}@media (width<=860px){.cta:not(.cta-sm),.cta-link{white-space:normal}}.cta-link:after{content:"";height:var(--tap);position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.price{font-size:var(--fs-meta);color:var(--text-2)}.back-to-list{margin-top:var(--s-3);font-size:var(--fs-small)}.badge{border:1px solid var(--rule);border-radius:var(--radius-sm);min-height:24px;font-size:var(--fs-label);color:var(--text-2);text-decoration-line:underline;text-decoration-color:var(--line-control);white-space:nowrap;align-items:center;gap:6px;padding:0 8px;font-weight:500;display:inline-flex}span.badge{text-decoration:none}.badge:hover{border-color:var(--line-control)}.ct{margin-top:var(--s-5);position:relative}.ct-head{top:var(--stick);z-index:var(--z-sticky);height:var(--ct-head-h,0px);margin-bottom:calc(-1 * var(--ct-head-h,0px));visibility:hidden;pointer-events:none;background:var(--paper);display:none;position:sticky;overflow:hidden}.ct-head table{table-layout:fixed}.ct.head-on .ct-head{visibility:visible;box-shadow:0 8px 12px -12px var(--shadow-scroll);display:block}.ct-frame{position:relative}.ct-frame:after{content:"";pointer-events:none;background:linear-gradient(90deg, #fbfaf800, var(--paper));opacity:0;width:48px;transition:opacity var(--dur);position:absolute;top:0;bottom:0;right:0}.ct.can-scroll:not(.at-end) .ct-frame:after{opacity:1}.ct-scroll{-webkit-overflow-scrolling:touch;position:relative;overflow-x:auto}.ct-scroll:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.ct table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--fs-small)}.ct caption{caption-side:top;text-align:left;padding-bottom:var(--s-3);font-size:var(--fs-meta);color:var(--text-2)}.ct caption .cap{max-width:min(calc(33 * var(--fs-prose)), calc(100vw - 2 * var(--gutter) - 48px));overflow-wrap:anywhere;display:block;position:sticky;left:0}.ct caption .cap-hint{display:none}.ct.can-scroll.tall caption .cap-hint{width:max-content;margin-top:var(--s-2);font-size:var(--fs-label);color:var(--text-2);display:block;position:sticky;left:0}.ct :is(th,td){border-bottom:1px solid var(--rule);text-align:left;vertical-align:top;background:var(--paper);padding:12px 14px}.ct thead th{vertical-align:bottom;border-bottom-color:var(--ink);font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);min-width:6.5rem;font-weight:400}.ct .n,.ct .s{width:5.75rem}.ct thead th:is(.n,.s){min-width:4.5rem}.ct .sentence{min-width:12rem}@media (width>=861px){.zone-b .ct .sentence{min-width:9rem}}@media (width<=860px){.ct .phrase,.ct[data-component=table]:not([data-cols="2"],[data-cols="3"]) table[data-labels=long] :is(th,td):first-child{min-width:8rem}.ct[data-component=table]:not([data-cols="2"],[data-cols="3"]) table[data-labels=long]:not(:has(thead th:not(:first-child,.n))) :is(th,td):first-child{min-width:7rem}.ct thead th,.ct[data-component=table] :is(th,td):first-child{min-width:5rem}.ct.tight tbody td{hyphens:auto;overflow-wrap:break-word}.ct.tight tbody td :is(q,a,cite){hyphens:manual}.ct :is(th,td):is(.n,.s){padding-left:8px;padding-right:8px}.ct[data-component=table] table:not(:has(thead th:nth-child(4))):has(thead th.head-long) .n:not(.cnt){width:auto}.ct[data-component=table] table:not(:has(thead th:nth-child(4))):has(thead th.head-long):has(tbody th.num) :is(th,td):first-child{width:1%}}.ct .wide{overflow-wrap:anywhere;min-width:20rem}@media (width<=860px){.ct .wide{min-width:26rem}}@media (width>=861px){.ct thead th.n{min-width:7.5rem}.ct thead th.n.cnt{min-width:4.5rem}.ct thead th.n:not(.cnt){max-width:10rem}.ct:is([data-component=table],[data-component=pricing-table]) table:not(:has(.sentence,.wide)){width:auto;min-width:min(100%,36rem)}.ct:is([data-component=table],[data-component=pricing-table]) table:not(:has(.sentence,.wide)) .n:not(.cnt){width:auto}.zone-b .ct:is([data-component=table],[data-component=pricing-table]) table:not(:has(.sentence,.wide)){width:100%}.ct[data-cols="2"] table[data-labels=short][data-col2=n],.zone-b .ct[data-component=table]:is([data-cols="2"],[data-cols="3"]) table:not(:has(thead th:not(:first-child,.n))),.zone-b .ct[data-component=table][data-cols="4"] table:not(:has(thead th:not(:first-child,.n),tbody .rowlabel)){width:min(100%, calc(33 * var(--fs-prose)));min-width:0}.zone-b .ct[data-component=table]:is([data-cols="2"],[data-cols="3"]) table:not(:has(thead th:not(:first-child,.n))) thead th.n:not(.cnt){min-width:11rem}.zone-b .ct[data-component=table][data-cols="4"] table[data-labels=short]:not(:has(thead th:not(:first-child,.n),tbody .rowlabel)) tbody th{white-space:nowrap}.zone-b .ct[data-component=table][data-cols="4"] table[data-labels=long]:not(:has(thead th:not(:first-child,.n),tbody .rowlabel)) :is(th,td):first-child{min-width:12rem}.zone-b .ct[data-component=table][data-cols="4"] table[data-labels=long]:not(:has(thead th:not(:first-child,.n),tbody .rowlabel)) thead th.n:not(.cnt){min-width:8.5rem}.zone-b .ct .wide{min-width:10rem}.zone-b .ct :is(th,td):first-child{min-width:6.5rem}}.ct :is(th,td):first-child{z-index:2;min-width:7.5rem;padding-left:0;position:sticky;left:0}@media (width<=860px){.ct :is(th,td):first-child{min-width:6.5rem;max-width:8.5rem}.ct[data-cols="2"] :is(th,td):first-child{width:40%;max-width:none}.ct[data-cols="2"] table:is([data-labels=short],[data-col2=n]) :is(th,td):first-child{width:auto}.ct[data-cols="2"] table[data-labels=long][data-col2=sentence] :is(th,td):first-child{width:32%}.ct[data-cols="3"] :is(th,td):first-child{max-width:none}.ct[data-cols="3"] table:has(tbody td.cnt:nth-child(2)) :is(th,td):first-child{min-width:8rem}.ct[data-cols="3"] table:has(tbody td.cnt:nth-child(2)) td.links.words a{white-space:normal}}.ct tbody th{font-weight:500}@media (width>=861px){.ct[data-cols="3"] table[data-labels=short] tbody th{white-space:nowrap}}.ct tbody th .row-link:after{content:"";position:absolute;inset:0}.ct tbody th .rowbadge{z-index:1;position:relative}.ct.is-scrolled :is(.ct-scroll :is(th,td),.ct-head :is(th,td)):first-child{box-shadow:8px 0 8px -8px var(--shadow-scroll)}.ct td.n{text-align:right;white-space:nowrap}.ct th.n{text-align:right}.ct td.n{font-family:var(--font-mono)}.ct td.n.range{white-space:normal}.ct td.n.word{font-family:var(--font-sans);color:var(--text-2);white-space:normal}.ct table.dated tbody th{font-family:var(--font-mono);color:var(--text-2);white-space:nowrap;font-weight:400}.ct[data-component=table] table.dated{width:100%;min-width:0}.ct table.dated :is(th,td):first-child{width:8rem;min-width:8rem;max-width:8rem}@media (width<=860px){.ct table.dated :is(th,td):first-child{width:6.75rem;min-width:6.75rem;max-width:6.75rem}}.ct th.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:400}.ct .n.cnt{width:3.5rem}.ct thead th.n.cnt{min-width:3.5rem}.ct td.links{line-height:1.9}.ct td.links a{white-space:nowrap;padding-block:4px}.ct td.refs a{text-align:right;min-width:24px;min-height:24px;padding-block:0;line-height:24px;display:inline-block}.ct td time,.ct .go{white-space:nowrap}.ct .go .cta{min-height:0;color:var(--ink);font-size:var(--fs-small);text-align:left;text-decoration:underline;text-decoration-color:var(--line-control);text-underline-offset:3px;white-space:nowrap;background:0 0;padding:0;font-weight:500;display:inline;position:relative}.ct .go .cta:after{content:"";height:var(--tap);position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.ct .go .cta:hover{background:0 0;text-decoration-color:currentColor}@media (width>=861px){.ct .go .cta{white-space:normal;vertical-align:top;max-width:14rem;display:inline-block}.ct .go .cta:after{height:max(100%, var(--tap))}}.ct .go .paid{margin-left:10px}.ct tr.row-note>*{background:var(--surface-1)}.ct tr.row-note .rowlabel{color:var(--ink)}.ct tr:target>*{background:var(--surface-1)}.ct tr[id]{scroll-margin-top:var(--ct-head-h,0px)}.ct .rowlabel{font-size:var(--fs-label);color:var(--text-2);margin-top:4px;font-weight:500;display:block}.ct-hint{margin-top:var(--s-2);font-size:var(--fs-label);color:var(--text-2);display:none}.ct.can-scroll .ct-hint{display:block}.h2h[data-tools="2"] thead :is(th,td):first-child{width:34%}.h2h[data-tools="3"]{min-width:36rem}.h2h[data-tools="3"] thead :is(th,td):first-child{width:28%}@media (width<=600px){.h2h[data-tools="3"]{min-width:30rem}.h2h[data-tools="3"] thead :is(th,td):first-child{width:7.5rem}}.ct .h2h{max-width:none;margin-top:0}.h2h{width:100%;max-width:776px;margin-top:var(--s-6);table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:var(--fs-small)}.zone-a .h2h[data-tools="2"]{max-width:none}.h2h caption{caption-side:top;text-align:left;padding-bottom:var(--s-3);font-size:var(--fs-meta);color:var(--text-2)}.h2h thead{top:var(--stick);z-index:var(--z-sticky);position:sticky}.h2h thead :is(th,td){background:var(--paper);text-align:left;vertical-align:bottom;border-bottom:1px solid var(--ink);font-size:var(--fs-body);padding:12px 10px;font-weight:600}.h2h thead :is(th,td):first-child{padding-left:0}.h2h tbody :is(th,td){border-bottom:1px solid var(--rule);text-align:left;vertical-align:top;overflow-wrap:anywhere;hyphens:auto;padding:12px 10px}@media (width<=1199px){.zone-a:has(+.zone-b .toc-inline)>.body-a:last-child>.h2h[data-tools="2"]:last-child>tbody:last-child>tr:last-child>:is(th,td){border-bottom:0}}.zone-a:has(+.zone-b .toc-inline.always)>.body-a:last-child>.h2h[data-tools="2"]:last-child>tbody:last-child>tr:last-child>:is(th,td){border-bottom:0}.h2h tbody th[scope=row]{color:var(--text-2);hyphens:manual;padding-left:0;font-weight:500}@media (width<=480px){.h2h[data-stack],.h2h[data-stack] :is(thead,tbody),.h2h[data-stack] caption{display:block}.h2h[data-stack] colgroup{display:none}.h2h[data-stack] tr{grid-template-columns:1fr 1fr;display:grid}.h2h[data-stack] thead td:first-child{clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.h2h[data-stack] thead th:nth-child(2){padding-left:0}.h2h[data-stack] tbody th:is([scope=row],[scope=rowgroup]),.h2h[data-stack] tbody td[colspan]{grid-column:1/-1}.h2h[data-stack] tbody th[scope=row]{border-bottom:0;padding:12px 0 2px}.h2h[data-stack] tbody td{hyphens:manual;padding-top:2px}.h2h[data-stack] tbody th[scope=row]+td{padding-left:0}}.spec{width:100%;max-width:720px;margin-top:var(--s-4);border-collapse:collapse;font-size:var(--fs-small)}.spec caption{caption-side:top;text-align:left;padding-bottom:var(--s-3);font-size:var(--fs-meta);color:var(--text-2)}.spec th{border-top:1px solid var(--rule);text-align:left;vertical-align:top;width:40%;color:var(--text-2);padding:10px 16px 10px 0;font-weight:500}.spec td{border-top:1px solid var(--rule);vertical-align:top;overflow-wrap:anywhere;padding:10px 0}@media (width<=860px){.spec th{width:7rem}[data-component=pricing-table] .ct-scroll .wide{min-width:32rem}}.callout{max-width:var(--measure);margin-top:var(--s-5);padding:2px 0 2px var(--s-4);border-left:2px solid var(--ink);font-size:var(--fs-body);line-height:1.55}.callout .kicker{margin-bottom:6px;display:block}.callout p+p{margin-top:.6em}.fit{margin-top:var(--s-4);font-size:var(--fs-small);line-height:1.5}.prose>.callout+.fit{margin-top:var(--s-5)}.fit dt{font-family:var(--font-mono);font-size:var(--fs-kicker);letter-spacing:var(--tr-kicker);text-transform:uppercase;color:var(--text-2)}.fit dd{margin:4px 0 var(--s-3)}.fit dd:first-letter{text-transform:uppercase}.prose>dl.fit-wide{max-width:776px}@media (width>=861px){.fit-wide{grid-template-columns:1fr 1fr;display:grid}.fit-wide>div:first-child{padding-right:var(--s-5)}.fit-wide>div+div{padding-left:var(--s-5);border-left:1px solid var(--rule)}}.h2h tbody th[scope=rowgroup]{font-family:var(--font-mono);font-size:var(--fs-kicker);letter-spacing:var(--tr-kicker);text-transform:uppercase;color:var(--text-2);text-align:left;padding:22px 0 8px;font-weight:400}.h2h tbody td[colspan]{color:var(--ink)}.h2h-badge{margin-top:6px;font-weight:500;display:block}.ct .h2h thead :is(th,td){font-family:var(--font-sans);font-size:var(--fs-body);letter-spacing:0;text-transform:none;color:var(--ink);font-weight:600}.ct .h2h tbody th[scope=rowgroup]{min-width:0;position:static}.ct .h2h .rg{display:inline-block;position:sticky;left:0}.ct-head thead{position:static}.pros-cons{margin-top:var(--s-4)}.pc{gap:var(--s-5);display:grid}@media (width>=861px){.pc{gap:var(--s-6);grid-template-columns:1fr 1fr;max-width:776px}}.prose .pc-side h3{font-size:var(--fs-body);letter-spacing:0}.pc-side ul{margin:var(--s-2) 0 0;padding:0;list-style:none}.pc-side li{border-top:1px solid var(--rule);font-size:var(--fs-small);padding:8px 0 8px 1.4em;line-height:1.5;position:relative}.pc-glyph{font-family:var(--font-mono);color:var(--text-2);position:absolute;left:0}.pc-side p{margin-top:var(--s-2);font-size:var(--fs-small)}.pc-basis{margin-top:var(--s-3);font-size:var(--fs-label);color:var(--text-2)}.prose section.faq>*+*{margin-top:1em}.prose section.faq>h2{margin-top:2.2em}.prose section.faq>h3{margin-top:var(--s-6)}.prose section.faq>h3+*{margin-top:var(--s-2)}.prose section.faq>:where(p,ul,ol){max-width:var(--measure)}.prose section.faq>:where(h2,h3){max-width:calc(33 * var(--fs-prose))}.prose section.faq>:is(h2,h3){scroll-margin-top:calc(var(--stick) + 16px)}.gloss{margin-top:var(--s-4)}.gloss dt{margin-top:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--rule);scroll-margin-top:calc(var(--stick) + 16px);font-weight:600}.gloss dt:first-child{margin-top:0}.gloss dfn{font-style:normal}.gloss .aka{font-size:var(--fs-small);color:var(--text-2);font-weight:400}.gloss dd{margin:6px 0 0}.gloss dd>*+*{margin-top:.6em}.gloss dd code{font-family:var(--font-mono)}.gloss dt:target,.gloss dt:target+dd{background:var(--surface-1);box-shadow:-8px 0 0 var(--surface-1), 8px 0 0 var(--surface-1)}.gloss-related{font-size:var(--fs-small);color:var(--text-2)}.back-toc{margin-top:var(--s-4);font-size:var(--fs-small)}@media (width>=1200px){.back-toc{display:none}}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.chip{min-height:var(--tap);border:1px solid var(--line-control);border-radius:var(--radius);background:var(--paper);color:var(--ink);font:inherit;font-size:var(--fs-small);cursor:pointer;align-items:center;gap:8px;margin:0;padding:0 14px;font-weight:500;line-height:1.2;display:inline-flex;position:relative}.chip:hover{border-color:var(--ink)}.chip[aria-pressed=true],.chip:has(>input:checked){border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);font-weight:600}.chip[aria-pressed=true]:before,.chip:has(>input:checked):before{content:"";background:var(--ink);flex:none;width:6px;height:6px}.chip:has(>input:focus-visible){outline:2px solid var(--focus);outline-offset:3px}.chip-input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.filters{margin-top:var(--s-5)}.filters .chips{border:0;min-width:0;margin:0;padding:0}.filters legend{font-family:var(--font-mono);font-size:var(--fs-kicker);letter-spacing:var(--tr-kicker);text-transform:uppercase;color:var(--text-2);margin-bottom:8px;padding:0}.filter-bar{margin-bottom:var(--s-2);flex-wrap:wrap;align-items:center;gap:0 16px;display:flex}.filter-count{font-size:var(--fs-meta);color:var(--text-2)}.filter-reset{min-height:var(--tap);color:var(--ink);font:inherit;font-size:var(--fs-meta);text-decoration:underline;text-decoration-color:var(--line-control);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0}.filters+.ct{margin-top:var(--s-3)}@media (width>=1200px){.filters .chip-row{gap:6px}.filters .chip{padding:0 8px}}.filters.sort-only{margin-top:var(--s-2)}.filters.sort-only .filter-bar{margin-bottom:0}.ct.is-scrolled .ct-scroll tr.method-row>td{box-shadow:none}.sort-btn{color:inherit;font:inherit;letter-spacing:inherit;text-align:inherit;text-transform:inherit;text-decoration:underline;text-decoration-color:var(--line-control);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;display:inline}.sort-btn:hover{text-decoration-color:currentColor}.sort-dir{font-family:var(--font-sans);text-decoration:none}@media (width<=1199px){.zone-a:has(+.zone-b.has-rail)>.author.about{border-bottom:0;padding-bottom:0}}.tl{--tl:20px;width:var(--tl);height:var(--tl);vertical-align:middle;flex:none;justify-content:center;align-items:center;display:inline-flex}.tl img{object-fit:contain;width:100%;height:100%;display:block}.tl-mono:before{content:attr(data-mono)}.tl-mono{background:var(--surface-1);border:1px solid var(--rule-2);border-radius:var(--radius-sm);color:var(--ink);font-family:var(--font-mono);font-size:max(11px, calc(var(--tl) * .4));letter-spacing:0;font-weight:600;line-height:1}.prose :is(h2,h3)>.tl{vertical-align:-.14em;margin-right:.45em}.tn{grid-template-columns:auto minmax(0,1fr);align-items:start;column-gap:6px;display:inline-grid}.tn>.tl{margin-top:2px}.fig{margin:var(--s-6) 0;max-width:100%}.prose>.fig{margin-top:var(--s-6);margin-bottom:var(--s-6)}.fig-frame{border:1px solid var(--rule);border-radius:var(--radius);background:#fff;overflow:hidden}.fig-frame img{width:100%;height:auto;display:block}.fig-frame[style*=aspect-ratio] picture,.fig-frame[style*=aspect-ratio] img{object-fit:cover;width:100%;height:100%}.fig-half{max-width:400px}.fig figcaption{margin-top:var(--s-2);font-size:var(--fs-meta);color:var(--text-2);max-width:var(--measure);line-height:1.5}.fig-cap{font-size:var(--fs-small);color:var(--ink);margin-bottom:2px;display:block}.fig-src a{color:inherit}.featured{margin-top:var(--s-5);margin-bottom:0}.chart{margin:var(--s-6) 0}.chart-cap{max-width:var(--measure);font-size:var(--fs-small);line-height:1.5}.chart-title{color:var(--ink);font-weight:600;display:block}.chart-meta{font-size:var(--fs-meta);color:var(--text-2);margin-top:2px;display:block}.bars{margin:var(--s-4) 0 0;border-top:1px solid var(--rule);padding:0;list-style:none}.bar-row{border-bottom:1px solid var(--rule);font-size:var(--fs-small);grid-template-columns:minmax(8rem,12rem) minmax(0,1fr) 7.5rem;align-items:center;gap:6px 14px;padding:9px 0;display:grid}.bar-name{align-items:center;gap:8px;min-width:0;display:flex}.bar-track{background:var(--surface-1);border-radius:1px;height:10px;position:relative}.bar,.bar-range{position:absolute;top:0;bottom:0;left:0}.bar{background:var(--ink)}.bar-range{background:var(--line-control)}.bar-val{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.bar-plan{font-family:var(--font-sans);font-size:var(--fs-label);color:var(--text-2);display:block}@media (width<=599px){.bar-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name val""track track"}.bar-name{grid-area:name}.bar-val{grid-area:val}.bar-plan{margin-left:6px;display:inline}.bar-track{grid-area:track}}.thumb{aspect-ratio:16/9;border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface-1);position:relative;overflow:hidden}.thumb picture,.thumb img{object-fit:cover;width:100%;height:100%;display:block}.thumb-capture img{object-position:top left}.thumb-logos{aspect-ratio:16/7;justify-content:center;align-items:center;gap:16px;display:flex}.credits .ct+.ct{margin-top:var(--s-5)}.credits-logos{margin-top:var(--s-4);font-size:var(--fs-small);color:var(--text-2);max-width:var(--measure)}th[scope=col]>.tl{vertical-align:-4px;margin-right:8px}.fig-user .fig-frame{background:#fff}.vid{max-width:480px}.vid.fig-half{max-width:400px}.vid-frame{border:1px solid var(--rule);border-radius:var(--radius);background:var(--ink);overflow:hidden}.vid-link{color:inherit;flex-direction:column-reverse;text-decoration:none;display:flex}.vid-link img{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto;display:block}.vid-meta{background:var(--ink-2);color:var(--text-on-dark);font-size:var(--fs-label);flex-direction:column;gap:1px;padding:7px 10px 8px;line-height:1.35;display:flex}.vid-title{white-space:nowrap;text-overflow:ellipsis;color:#fff;font-weight:600;overflow:hidden}.vid-chan{font-family:var(--font-mono);color:var(--text-2-on-dark)}.vid-play{background:var(--ink);color:#fff;border:2px solid #fff;border-radius:50%;place-items:center;width:56px;height:56px;margin:-28px 0 0 -28px;display:grid;position:absolute;top:calc(50% + 18px);left:50%}.vid-link{position:relative}.vid-link:hover .vid-play,.vid-link:focus-visible .vid-play{background:#000}.vid-link:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.vid-on iframe{aspect-ratio:16/9;border:0;width:100%;display:block}.prose>.placed{margin:var(--s-6) 0}.prose>.placed>.fig{margin:0}.prose>.placed+.placed{margin-top:calc(-1 * var(--s-3))}.hdr-pad[data-astro-cid-fzpbxy5g]{height:calc((var(--header-h) - var(--stick)) / 2);background:var(--ink)}.hdr[data-astro-cid-fzpbxy5g]{z-index:var(--z-header);background:var(--ink);color:var(--paper);position:sticky;top:0}.hdr-row[data-astro-cid-fzpbxy5g]{height:var(--stick);justify-content:space-between;align-items:center;display:flex}.brand[data-astro-cid-fzpbxy5g]{color:inherit;align-items:center;gap:11px;text-decoration:none;display:flex}.brand[data-astro-cid-fzpbxy5g] svg{flex:none}.brand[data-astro-cid-fzpbxy5g] span[data-astro-cid-fzpbxy5g]{letter-spacing:-.035em;font-size:19px;font-weight:500}.brand[data-astro-cid-fzpbxy5g] b[data-astro-cid-fzpbxy5g]{font-weight:600}.nav-links[data-astro-cid-fzpbxy5g]{gap:30px;font-size:13.5px;display:flex}.nav-links[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]{color:var(--text-on-dark);padding:12px 0;text-decoration:none}.nav-links[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]:hover,.nav-links[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g][aria-current]{color:var(--paper)}.nav-links[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g][aria-current]{text-underline-offset:6px;text-decoration:underline}.menu-btn[data-astro-cid-fzpbxy5g]{color:var(--paper);font-family:var(--font-mono);font-size:var(--fs-kicker);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;align-items:center;padding:0 0 0 14px;display:none;position:relative}.menu-btn[data-astro-cid-fzpbxy5g]:after{content:"";height:44px;position:absolute;top:50%;left:-8px;right:-8px;transform:translateY(-50%)}.menu-panel[data-astro-cid-fzpbxy5g]{border-top:1px solid var(--rule-on-dark);max-height:calc(100svh - var(--stick));padding-bottom:16px;overflow-y:auto}.menu-panel[data-astro-cid-fzpbxy5g][hidden]{display:none}.menu-panel[data-astro-cid-fzpbxy5g] ul[data-astro-cid-fzpbxy5g]{margin:0;padding:0;list-style:none}.menu-panel[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]{min-height:48px;color:var(--paper);align-items:center;font-size:16px;text-decoration:none;display:flex}.menu-panel[data-astro-cid-fzpbxy5g] .sub[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]{color:var(--text-on-dark);min-height:44px;padding-left:16px;font-size:15px}.menu-panel[data-astro-cid-fzpbxy5g] .minor[data-astro-cid-fzpbxy5g]{border-top:1px solid var(--rule-on-dark);margin-top:8px;padding-top:8px}.menu-panel[data-astro-cid-fzpbxy5g] .minor[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]{color:var(--text-2-on-dark);min-height:44px;font-size:14px}@media (width<=860px){.nav-links[data-astro-cid-fzpbxy5g]{display:none}.menu-btn[data-astro-cid-fzpbxy5g]{display:inline-flex}}.menu-btn[data-astro-cid-fzpbxy5g].js-only{display:none}@media (width>=861px){.menu-panel[data-astro-cid-fzpbxy5g]{display:none!important}}.ftr[data-astro-cid-nns7i3if]{background:var(--ink);color:var(--text-on-dark);padding:56px 0 46px;font-size:15px}.ftr-grid[data-astro-cid-nns7i3if],.ftr-nav[data-astro-cid-nns7i3if]{gap:34px;display:grid}@media (width>=861px){.ftr-grid[data-astro-cid-nns7i3if]{grid-template-columns:1.6fr 3fr;gap:40px}.ftr-nav[data-astro-cid-nns7i3if]{grid-template-columns:repeat(3,1fr);gap:40px}}.brand[data-astro-cid-nns7i3if]{color:var(--paper);align-items:center;gap:11px;text-decoration:none;display:inline-flex}.brand[data-astro-cid-nns7i3if] span[data-astro-cid-nns7i3if]{letter-spacing:-.035em;font-size:16px;font-weight:500}.brand[data-astro-cid-nns7i3if] b[data-astro-cid-nns7i3if]{font-weight:600}.ftr-note[data-astro-cid-nns7i3if]{max-width:50ch;margin-top:16px;font-size:14px;line-height:1.6}.ftr-note[data-astro-cid-nns7i3if] a[data-astro-cid-nns7i3if]{color:var(--paper)}h2[data-astro-cid-nns7i3if]{font-family:var(--font-mono);font-size:var(--fs-kicker);letter-spacing:var(--tr-kicker);text-transform:uppercase;color:var(--text-2-on-dark);font-weight:400}ul[data-astro-cid-nns7i3if]{margin:10px 0 0;padding:0;list-style:none}li[data-astro-cid-nns7i3if] a[data-astro-cid-nns7i3if]{color:var(--text-on-dark);padding:6px 0;text-decoration:none;display:inline-block}li[data-astro-cid-nns7i3if] a[data-astro-cid-nns7i3if]:hover{color:var(--paper);text-decoration:underline}li[data-astro-cid-nns7i3if] a[data-astro-cid-nns7i3if][aria-current]{color:var(--paper);text-underline-offset:6px;text-decoration:underline}.ftr-bottom[data-astro-cid-nns7i3if]{border-top:1px solid var(--rule-on-dark);color:var(--text-3-on-dark);margin-top:40px;padding-top:22px;font-size:12px}
