/* inter-latin-ext-wght-normal */
@font-face {
  font-family: 'Inter Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(../fonts/inter-latin-ext-wght-normal.woff2) format('woff2-variations');
  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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* inter-latin-wght-normal */
@font-face {
  font-family: 'Inter Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(../fonts/inter-latin-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,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;
}/* jetbrains-mono-latin-ext-wght-normal */
@font-face {
  font-family: 'JetBrains Mono Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 800;
  src: url(../fonts/jetbrains-mono-latin-ext-wght-normal.woff2) format('woff2-variations');
  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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* jetbrains-mono-latin-wght-normal */
@font-face {
  font-family: 'JetBrains Mono Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 800;
  src: url(../fonts/jetbrains-mono-latin-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,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;
}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-24:96px;--space-32:128px;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--text-3xl:40px;--text-4xl:56px;--text-5xl:80px;--tracking-tight:-.03em;--tracking-snug:-.015em;--tracking-wide:.08em;--leading-display:1.05;--leading-heading:1.2;--leading-body:1.65;--container-prose:720px;--container-wide:1040px;--container-site:1200px;--gutter:clamp(20px,5vw,120px);--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-full:999px;--ground:#fff;--surface:#f4f4f4;--ink:#111;--ink-soft:#5c5c5c;--rule:#e2e2e2;--accent:#111;--accent-ink:#fff;--success:#1f7a4d;--warning:#b76e00;--danger:#c62828;--font-display:var(--gh-font-heading,"Inter Variable",system-ui,sans-serif);--font-text:var(--gh-font-body,"Inter Variable",system-ui,sans-serif);--font-ui:"Inter Variable",system-ui,sans-serif;--font-mono:"JetBrains Mono Variable",ui-monospace,monospace;--radius-control:var(--radius-full);--header-height:72px}*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--ground);color:var(--ink);font-family:var(--font-ui);font-size:var(--text-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.5}img,svg,video,iframe{max-width:100%;display:block}img{height:auto}a{color:inherit}h1,h2,h3,h4,p,figure,blockquote,ul,ol{margin:0}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{top:var(--space-2);left:var(--space-2);z-index:100;padding:var(--space-2)var(--space-4);background:var(--ink);color:var(--ground);position:absolute;transform:translateY(-200%)}.skip-link:focus{transform:none}.container{width:100%;max-width:calc(var(--container-site) + 2*var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.container--wide{max-width:calc(var(--container-wide) + 2*var(--gutter))}.container--prose{max-width:calc(var(--container-prose) + 2*var(--gutter))}.section{padding-block:var(--space-24)}.section--tight{padding-block:var(--space-12)}.stack>*+*{margin-top:var(--stack-gap,var(--space-4))}.eyebrow{font-family:var(--font-ui);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;font-weight:600}.meta{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--ink-soft)}.section-head{justify-content:space-between;align-items:baseline;gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:2px solid var(--ink);display:flex}.section-head__title{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(26px,3vw,36px);font-weight:500;line-height:1.2}.section-head__link{font-size:var(--text-sm);text-underline-offset:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.site-header{z-index:20;background:var(--ground);position:relative}.site-header__bar{justify-content:space-between;align-items:center;gap:var(--space-6);min-height:var(--header-height);display:flex}.site-header__brand{align-items:center;gap:var(--space-3);font-family:var(--font-display);letter-spacing:-.02em;font-size:22px;font-weight:700;text-decoration:none;display:flex}.site-header__logo{width:auto;max-height:40px}.site-nav ul{gap:var(--space-8);margin:0;padding:0;list-style:none;display:flex}.site-nav a{color:var(--ink-soft);font-size:15px;text-decoration:none}.site-nav .nav-current a,.site-nav a:hover{color:var(--ink)}.site-header__actions{align-items:center;gap:var(--space-4);display:flex}.icon-button{width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.icon-button svg{width:20px;height:20px}.site-header__menu-toggle{display:none}@media (width<=900px){.site-header .site-nav,.site-header__signin{display:none}.site-header__menu-toggle{display:inline-grid}}.nav-drawer{z-index:60;gap:var(--space-8);padding:var(--space-4)var(--gutter)var(--space-12);background:var(--ground);flex-direction:column;display:flex;position:fixed;inset:0;overflow-y:auto}.nav-drawer[hidden]{display:none}.nav-drawer__top{min-height:var(--header-height);justify-content:space-between;align-items:center;display:flex}.nav-drawer__nav ul{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.nav-drawer__nav a{padding-block:var(--space-3);font-family:var(--font-display);border-bottom:1px solid var(--rule);font-size:28px;text-decoration:none;display:block}.nav-drawer__actions{gap:var(--space-3);display:grid}.nav-drawer__legal{gap:var(--space-2)var(--space-4);font-size:var(--text-sm);color:var(--ink-soft);flex-wrap:wrap;margin-top:auto;display:flex}body.has-drawer-open{overflow:hidden}.site-footer{border-top:1px solid var(--rule);padding-block:var(--space-8)var(--space-6);font-size:var(--text-sm)}.site-footer__main{justify-content:space-between;align-items:center;gap:var(--space-6);flex-wrap:wrap;display:flex}.site-footer__brand{font-family:var(--font-display);font-size:var(--text-xl);text-decoration:none}.site-footer__nav ul{gap:var(--space-2)var(--space-6);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.site-footer__nav a{text-decoration:none}.site-footer__legal{justify-content:space-between;align-items:center;gap:var(--space-3)var(--space-6);margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--rule);font-size:var(--text-xs);color:var(--ink-soft);flex-wrap:wrap;display:flex}.legal-links{gap:var(--space-2)var(--space-5,20px);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.legal-links a,.legal-links button{color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:none}.legal-links button{text-underline-offset:3px;text-decoration:underline}.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-5,20px);border:1px solid var(--ink);border-radius:var(--radius-control);background:var(--ink);color:var(--ground);font-family:var(--font-ui);cursor:pointer;font-size:15px;font-weight:600;line-height:1;text-decoration:none;transition:opacity .15s;display:inline-flex}.button:hover{opacity:.88}.button svg{flex-shrink:0;width:18px;height:18px}.button--small{min-height:36px;padding-inline:var(--space-4);font-size:var(--text-sm)}.button--outline{color:var(--ink);background:0 0}.button--accent{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.button--block{width:100%}.field{gap:var(--space-2);display:grid}.field__label{font-size:var(--text-sm);font-weight:600}.input,.select,.textarea{width:100%;min-height:48px;padding:var(--space-3)var(--space-4);border:1px solid var(--rule);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--ground)60%,#fff);font-size:var(--text-base)}.textarea{resize:vertical;min-height:160px}.input::placeholder,.textarea::placeholder{color:var(--ink-soft)}.checkbox{align-items:flex-start;gap:var(--space-3);font-size:var(--text-sm);line-height:1.5;display:flex}.checkbox input{width:18px;height:18px;accent-color:var(--accent);margin-top:2px}.members-form__message{font-size:var(--text-sm);display:none}.members-form.loading button[type=submit]{opacity:.6;pointer-events:none}.members-form.success .members-form__fields{display:none}.members-form.success .members-form__message--success,.members-form.error .members-form__message--error{display:block}.members-form__message--error{color:var(--danger)}.inline-subscribe{border:1px solid;gap:0;display:flex}.inline-subscribe .input{background:0 0;border:0;border-radius:0;flex:1;min-width:0}.inline-subscribe .button{border-radius:0}.tag-chip{min-height:32px;padding:0 var(--space-3);border:1px solid var(--rule);border-radius:var(--radius-full);align-items:center;font-size:13px;text-decoration:none;display:inline-flex}.tag-chip--active{border-color:var(--ink);background:var(--ink);color:var(--ground)}.badge{height:22px;padding:0 var(--space-2);border-radius:var(--radius-full);letter-spacing:var(--tracking-wide);text-transform:uppercase;white-space:nowrap;border:1px solid;align-items:center;font-size:11px;font-weight:600;display:inline-flex}.avatar{object-fit:cover;background:var(--rule);border-radius:50%;flex-shrink:0;width:36px;height:36px}.avatar--large{width:96px;height:96px}.post-card{gap:var(--space-3);flex-direction:column;display:flex;position:relative}.post-card__link:after{content:"";position:absolute;inset:0}.post-card__link{text-decoration:none}.post-card__image{aspect-ratio:3/2;object-fit:cover;background:var(--surface);width:100%}.post-card__title{font-family:var(--font-display);letter-spacing:var(--tracking-snug);font-size:21px;font-weight:700;line-height:1.25}.post-card__excerpt{font-family:var(--font-text);color:var(--ink-soft);font-size:17px;line-height:1.55}.post-card__meta{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--ink-soft);flex-wrap:wrap;display:flex}.post-card__lock{width:12px;height:12px}.post-card--feature .post-card__image{aspect-ratio:16/9}.post-card--feature .post-card__title{font-size:clamp(28px,3vw,36px);line-height:1.12}.post-card--list{align-items:flex-start;gap:var(--space-5);padding-block:var(--space-5);border-bottom:1px solid var(--rule);flex-direction:row}.post-card--list .post-card__body{gap:var(--space-2);flex-direction:column;flex:1;display:flex}.post-card--list .post-card__title{font-size:19px}.post-card--list .post-card__image{aspect-ratio:4/3;flex-shrink:0;width:96px}.post-card--compact{align-items:baseline;gap:var(--space-4);padding-block:var(--space-4);border-bottom:1px solid var(--rule);flex-direction:row}.post-card--compact .post-card__date{width:64px;font-family:var(--font-mono);color:var(--ink-soft);flex-shrink:0;font-size:13px}.post-card--compact .post-card__title{font-size:var(--text-base);font-weight:500}.post-grid{gap:var(--space-12)var(--space-8);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.pagination{justify-content:space-between;align-items:center;gap:var(--space-4);padding-block:var(--space-8);font-size:var(--text-sm);display:flex}.pagination a{text-decoration:none}.pagination__disabled{opacity:.4}.breadcrumbs ol{gap:var(--space-2);color:var(--ink-soft);flex-wrap:wrap;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.breadcrumbs li+li:before{content:"/";margin-right:var(--space-2);opacity:.6}.breadcrumbs a{text-underline-offset:3px}.breadcrumbs [aria-current=page]{vertical-align:bottom;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;max-width:32ch;display:inline-block;overflow:hidden}.byline{align-items:center;gap:var(--space-3);display:flex}.byline__text{font-size:var(--text-sm);gap:2px;display:grid}.byline__authors a{text-underline-offset:3px;font-weight:600}.byline__dates{color:var(--ink-soft)}.article-header{gap:var(--space-5);padding-block:var(--space-16)var(--space-8);display:grid}.article-header__title{font-family:var(--font-display);letter-spacing:var(--tracking-tight);font-size:clamp(36px,5.5vw,64px);font-weight:500;line-height:1.04}.article-header__excerpt{font-family:var(--font-text);color:var(--ink-soft);font-size:clamp(19px,2vw,22px);line-height:1.5}.article-feature{margin-block:var(--space-8)}.article-feature img{width:100%}.article-feature figcaption,.gh-content figcaption{margin-top:var(--space-3);color:var(--ink-soft);text-align:center;font-size:13px;line-height:1.5}.gh-canvas{grid-template-columns:[full-start]minmax(var(--gutter),1fr)[wide-start]minmax(0,calc((var(--container-wide) - var(--container-prose))/2))[main-start]min(var(--container-prose),calc(100% - 2*var(--gutter)))[main-end]minmax(0,calc((var(--container-wide) - var(--container-prose))/2))[wide-end]minmax(var(--gutter),1fr)[full-end];display:grid}.gh-canvas>*{grid-column:main-start/main-end}.kg-width-wide{grid-column:wide-start/wide-end}.kg-width-full{grid-column:full-start/full-end}.kg-width-full img{width:100%}.kg-width-wide,.kg-width-full{z-index:2;position:relative}.gh-content{font-family:var(--font-text);font-size:clamp(18px,1.6vw,20px);line-height:1.7}.gh-content>*+*{margin-top:1.4em}.gh-content>h2{font-family:var(--font-display);letter-spacing:-.02em;margin-top:1.9em;font-size:clamp(26px,2.6vw,32px);font-weight:500;line-height:1.2}.gh-content>h3{font-family:var(--font-display);margin-top:1.6em;font-size:clamp(21px,2vw,24px);font-weight:600;line-height:1.3}.gh-content>h2+*,.gh-content>h3+*{margin-top:.6em}.gh-content :is(h2,h3){scroll-margin-top:calc(var(--header-height) + var(--space-6))}.gh-content a{text-underline-offset:3px;text-decoration-thickness:1px}.gh-content :is(ul,ol){padding-left:1.3em}.gh-content li+li{margin-top:.4em}.gh-content blockquote:not([class]){padding-left:var(--space-6);border-left:2px solid var(--ink);font-style:italic}.gh-content blockquote.kg-blockquote-alt{font-family:var(--font-display);text-align:center;font-size:clamp(24px,2.6vw,30px);font-style:italic;line-height:1.3}.gh-content hr{background:var(--rule);border:0;width:100%;height:1px}.gh-content :not(pre)>code{border-radius:var(--radius-sm);background:var(--surface);font-family:var(--font-mono);padding:.1em .35em;font-size:.85em}.gh-content pre{padding:var(--space-5);border-radius:var(--radius-md);background:var(--ink);color:var(--ground);font-family:var(--font-mono);font-size:14px;line-height:1.6;overflow-x:auto}.gh-content table{border-collapse:collapse;width:100%;font-family:var(--font-ui);font-size:15px}.gh-content :is(th,td){padding:var(--space-3);border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}.gh-content th{border-bottom:2px solid var(--ink);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase}@media (width<=640px){.gh-content table{display:block;overflow-x:auto}}.article-body{padding-bottom:var(--space-16);position:relative}.article-rail{display:none}@media (width>=1280px){.article-rail{width:220px;display:block;position:absolute;top:0;bottom:0}.article-rail--left{right:calc(50% + var(--container-prose)/2 + var(--space-12))}.article-rail--right{left:calc(50% + var(--container-prose)/2 + var(--space-12));width:300px}.article-rail__sticky{top:var(--space-8);position:sticky}.article-body--has-rail .toc--inline{display:none}}.toc[hidden]{display:none}.toc__title{font-family:var(--font-ui);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-soft);font-weight:600}.toc ol{gap:var(--space-1);margin:var(--space-3)0 0;border-left:1px solid var(--rule);padding:0;list-style:none;display:grid}.toc a{padding:6px 0 6px var(--space-4);font-family:var(--font-ui);font-size:var(--text-sm);color:var(--ink-soft);border-left:2px solid #0000;margin-left:-1px;line-height:1.4;text-decoration:none;display:block}.toc .toc__item--h3 a{padding-left:var(--space-8);font-size:13px}.toc a[aria-current=true]{border-left-color:var(--accent);color:var(--ink);font-weight:600}.toc--inline{margin-bottom:var(--space-8);border-block:1px solid var(--rule)}.toc--inline summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:52px;list-style:none;display:flex}.toc--inline summary::-webkit-details-marker{display:none}.toc--inline summary:after{content:"+";font-size:20px}.toc--inline[open] summary:after{content:"–"}.toc--inline ol{margin-bottom:var(--space-4)}.ad-slot{justify-items:center;gap:var(--space-2);margin-block:var(--space-12);display:grid}.ad-slot__label{font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-size:11px}.ad-slot__frame{width:var(--ad-width);max-width:100%;min-height:var(--ad-height);background:color-mix(in srgb,var(--ink)4%,var(--ground));place-items:center;display:grid}.ad-slot[data-ad-size=leaderboard]{--ad-width:970px;--ad-height:250px}.ad-slot[data-ad-size=banner]{--ad-width:728px;--ad-height:90px}.ad-slot[data-ad-size=rectangle]{--ad-width:300px;--ad-height:250px}.ad-slot[data-ad-size=skyscraper]{--ad-width:300px;--ad-height:600px}.ad-slot--anchor{z-index:40;padding:var(--space-1);background:var(--ground);border-top:1px solid var(--rule);--ad-width:320px;--ad-height:50px;margin:0;position:fixed;bottom:0;left:0;right:0}.ad-slot--anchor .ad-slot__label{display:none}@media (width>=768px){.ad-slot--anchor{display:none}}@media (width<=767px){body:has(.ad-slot--anchor){padding-bottom:64px}.ad-slot[data-ad-size=leaderboard],.ad-slot[data-ad-size=banner]{--ad-width:300px;--ad-height:250px}}.paywall{justify-items:center;gap:var(--space-4);margin-top:var(--space-8);padding:var(--space-12)var(--space-8);border:1px solid var(--ink);text-align:center;display:grid}.paywall__title{font-family:var(--font-display);font-size:clamp(24px,2.6vw,30px);font-weight:500;line-height:1.2}.paywall__actions{justify-content:center;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.gh-content.is-locked-preview{-webkit-mask-image:linear-gradient(#000 60%,#0000);mask-image:linear-gradient(#000 60%,#0000)}.article-tags{gap:var(--space-2);flex-wrap:wrap;display:flex}.author-box{gap:var(--space-5);padding-block:var(--space-8);border-block:1px solid var(--rule);display:flex}.author-box__name{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600}.related{padding-block:var(--space-16)}.comments{padding-bottom:var(--space-16)}#ghost-comments-root,#ghost-comments-root iframe{color-scheme:normal}.kg-width-full figcaption{padding-inline:var(--gutter)}.gh-content .kg-bookmark-card a.kg-bookmark-container,.gh-content .kg-file-card a.kg-file-card-container{border-color:var(--rule);background:var(--surface);color:var(--ink)}.gh-content .kg-product-card .kg-product-card-container{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1px var(--rule)}.gh-content :is(.kg-bookmark-description,.kg-bookmark-metadata,.kg-file-card-caption,.kg-file-card-metadata,.kg-product-card-description){color:var(--ink-soft)}.page-hero{gap:var(--space-4);padding-block:var(--space-16)var(--space-12);display:grid}.page-hero__title{font-family:var(--font-display);letter-spacing:var(--tracking-tight);font-size:clamp(40px,6vw,72px);font-weight:500;line-height:1.02}.page-hero__description{max-width:60ch;font-family:var(--font-text);color:var(--ink-soft);font-size:clamp(18px,1.8vw,21px);line-height:1.55}.page-hero__stats{gap:var(--space-2)var(--space-6);font-size:var(--text-sm);color:var(--ink-soft);flex-wrap:wrap;display:flex}.page-hero--author{align-items:center;column-gap:var(--space-8);grid-template-columns:auto 1fr}.page-hero--author>:not(.avatar){grid-column:2}.page-hero--author .avatar{grid-row:1/span 4;width:120px;height:120px}@media (width<=640px){.page-hero--author{grid-template-columns:1fr}.page-hero--author>:not(.avatar){grid-column:1}.page-hero--author .avatar{grid-row:auto;width:80px;height:80px}}.directory{gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin:0;padding:0;list-style:none;display:grid}.directory__item{gap:var(--space-2);padding:var(--space-6);border:1px solid var(--rule);display:grid;position:relative}.directory__item a{text-decoration:none}.directory__item a:after{content:"";position:absolute;inset:0}.directory__name{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600}.directory__description{color:var(--ink-soft);font-size:15px;line-height:1.5}.directory__count{color:var(--ink-soft);font-size:13px}.billing-toggle{padding:var(--space-1);border:1px solid var(--ink);border-radius:var(--radius-full);display:inline-flex}.billing-toggle button{min-height:36px;padding:0 var(--space-4);border-radius:var(--radius-full);font-size:var(--text-sm);cursor:pointer;background:0 0;border:0}.billing-toggle button[aria-pressed=true]{background:var(--ink);color:var(--ground);font-weight:600}.tiers{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:0;padding:0;list-style:none;display:grid}.tier{gap:var(--space-5);padding:var(--space-8);border:1px solid var(--rule);flex-direction:column;display:flex}.tier--featured{border-color:var(--ink);background:var(--ink);color:var(--ground)}.tier--featured .tier__benefits,.tier--featured .tier__description{color:inherit;opacity:.85}.tier--featured .button{border-color:var(--ground);background:var(--ground);color:var(--ink)}.tier__name{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;font-weight:600}.tier__price{align-items:baseline;gap:var(--space-2);font-family:var(--font-display);font-size:48px;font-weight:500;line-height:1;display:flex}.tier__interval{font-family:var(--font-ui);font-size:var(--text-sm)}.tier__description{color:var(--ink-soft);font-size:15px;line-height:1.5}.tier__benefits{gap:var(--space-2);padding:var(--space-5)0 0;border-top:1px solid;border-top-color:color-mix(in srgb,currentColor 20%,transparent);font-size:var(--text-sm);margin:0;list-style:none;display:grid}.tier__benefits li:before{content:"✓ "}.tier .button{margin-top:auto}[data-billing=monthly] [data-price=yearly],[data-billing=yearly] [data-price=monthly]{display:none}.faq{border-top:1px solid var(--rule);display:grid}.faq details{padding-block:var(--space-5);border-bottom:1px solid var(--rule)}.faq summary{justify-content:space-between;gap:var(--space-4);font-family:var(--font-display);cursor:pointer;font-size:20px;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+"}.faq details[open] summary:after{content:"–"}.faq details p{margin-top:var(--space-3);color:var(--ink-soft);line-height:1.6}.auth{min-height:calc(100vh - var(--header-height));padding:var(--space-16)var(--gutter);place-items:center;display:grid}.auth__panel{gap:var(--space-5);width:min(440px,100%);display:grid}.auth__title{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(32px,4vw,44px);font-weight:500;line-height:1.1}.auth__switch{font-size:var(--text-sm);text-align:center}.auth__fineprint{color:var(--ink-soft);text-align:center;font-size:13px}.newsletter-picks{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--rule);display:grid}.account{gap:var(--space-8);padding-block:var(--space-12)var(--space-24);display:grid}.account__card{gap:var(--space-4);padding:var(--space-6);border:1px solid var(--rule);display:grid}.account__row{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.legal-summary{padding:var(--space-6);border:1px solid var(--ink);font-family:var(--font-ui);font-size:16px;line-height:1.6}.legal-summary__title{margin-bottom:var(--space-2);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;font-weight:600}.legal-meta{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.legal-actions{gap:var(--space-3);display:flex}.legal-index{border-top:2px solid var(--ink);margin:0;padding:0;list-style:none;display:grid}.legal-index li{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding-block:var(--space-5);border-bottom:1px solid var(--rule);flex-wrap:wrap;display:flex;position:relative}.legal-index a{font-family:var(--font-display);font-size:var(--text-xl);text-decoration:none}.legal-index a:after{content:"";position:absolute;inset:0}.starter-note{margin-top:var(--space-8);padding-top:var(--space-4);border-top:1px solid var(--rule);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-soft);font-weight:600}.contact{gap:var(--space-16);padding-bottom:var(--space-24);grid-template-columns:minmax(0,1fr) minmax(0,320px);display:grid}.contact__form{gap:var(--space-5);display:grid}.contact__aside{align-content:start;gap:var(--space-6);font-size:15px;display:grid}@media (width<=860px){.contact{gap:var(--space-12);grid-template-columns:1fr}}.error-page{gap:var(--space-6);padding-block:var(--space-24);display:grid}.error-page__code{font-family:var(--font-display);letter-spacing:-.05em;font-size:clamp(96px,18vw,220px);font-weight:500;line-height:.9}.recommendations{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.recommendations li{padding:var(--space-5);border:1px solid var(--rule)}.recommendations a{gap:var(--space-1)var(--space-4);grid-template-columns:32px 1fr;text-decoration:none;display:grid}.recommendations img{border-radius:var(--radius-sm);grid-row:span 2;width:32px;height:32px}.recommendation-title{font-weight:600}.recommendation-url,.recommendation-description{font-size:var(--text-sm);color:var(--ink-soft);grid-column:2}.consent-banner{z-index:80;border-top:2px solid var(--ink);background:var(--ground);box-shadow:0 -8px 32px color-mix(in srgb,var(--ink)12%,transparent);position:fixed;bottom:0;left:0;right:0}.consent-banner[hidden]{display:none}.consent-banner__inner{justify-content:space-between;align-items:center;gap:var(--space-5)var(--space-12);padding-block:var(--space-6);flex-wrap:wrap;display:flex}.consent-banner__text{gap:var(--space-2);flex:420px;font-size:15px;line-height:1.55;display:grid}.consent-banner__title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600}.consent-banner__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.consent-banner__actions .button{min-width:150px}@media (width<=640px){.consent-banner__actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.consent-banner__actions .button--outline{grid-column:1/-1}}.consent-dialog{width:min(560px,calc(100% - 2*var(--space-4)));max-height:calc(100vh - 2*var(--space-8));border:1px solid var(--ink);background:var(--ground);color:var(--ink);padding:0}.consent-dialog::backdrop{background:color-mix(in srgb,var(--ink)55%,transparent)}.consent-dialog__head,.consent-dialog__foot{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-5)var(--space-6);display:flex}.consent-dialog__head{border-bottom:1px solid var(--rule)}.consent-dialog__title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600}.consent-dialog__foot{border-top:1px solid var(--rule)}.consent-dialog__foot .button{flex:1}.consent-category{align-items:center;gap:var(--space-1)var(--space-6);padding:var(--space-5)var(--space-6);border-bottom:1px solid var(--rule);grid-template-columns:1fr auto;display:grid}.consent-category__name{font-weight:600}.consent-category__description{font-size:var(--text-sm);color:var(--ink-soft);grid-column:1}.consent-category__control{grid-area:1/2/span 2}.switch{align-items:center;gap:var(--space-3);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;cursor:pointer;font-weight:700;display:inline-flex}.switch input{opacity:0;position:absolute}.switch__label{text-align:right;width:3ch}.switch__label:before{content:"Off"}.switch input:checked~.switch__label:before{content:"On"}.switch__track{border:2px solid var(--ink);border-radius:var(--radius-full);background:var(--ground);width:48px;height:28px;transition:background .15s;position:relative}.switch__track:after{content:"";background:var(--ink);border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px}.switch input:checked~.switch__track{background:var(--ink)}.switch input:checked~.switch__track:after{background:var(--ground);transform:translate(20px)}.switch input:focus-visible~.switch__track{outline:2px solid var(--accent);outline-offset:2px}.consent-always-on{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;font-weight:700}@media print{.site-header,.nav-drawer,.site-footer,.consent-banner,.consent-dialog,.ad-slot,.article-rail,.toc,.legal-actions,.related,.comments,[class*=subscribe-],.related-band{display:none!important}body{color:#000;background:#fff;font-size:11pt}.gh-content a:after{content:" (" attr(href)")";font-size:.85em}.gh-content :is(h2,h3){break-after:avoid}.gh-content :is(table,figure,blockquote){break-inside:avoid}}:root{--ground:#fff;--surface:#f6f8fa;--ink:#1f2328;--ink-soft:#57606a;--ink-faint:#6e7781;--rule:#e1e4e8;--accent:#0b57d0;--accent-ink:#fff;--accent-wash:#e8f0fe;--code-red:#cf222e;--font-display:var(--gh-font-heading,"Inter Variable",system-ui,sans-serif);--font-text:var(--gh-font-body,"Inter Variable",system-ui,sans-serif);--font-ui:"Inter Variable",system-ui,sans-serif;--radius-control:6px;--header-height:64px;--sidebar-width:280px;--rail-width:240px}a{text-underline-offset:3px}.button{border-radius:var(--radius-control)}.button--accent,.button:not(.button--outline){border-color:var(--ink)}.docs-header{border-bottom:1px solid var(--rule);position:sticky;top:0}.docs-header__bar{justify-content:space-between;align-items:center;gap:var(--space-6);height:var(--header-height);padding-inline:var(--space-8);display:flex}.docs-header__left{align-items:center;gap:40px;min-width:0;display:flex}.docs-brand{color:var(--ink);flex-shrink:0;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.docs-brand__logo{width:auto;max-height:28px}.docs-brand__mark{background:var(--ink);color:#fff;border-radius:6px;place-items:center;width:24px;height:24px;display:inline-grid}.docs-brand__mark svg{width:14px;height:14px}.docs-brand__mark--icon{object-fit:contain;background:0 0}.docs-brand__title{letter-spacing:-.02em;font-size:17px;font-weight:700}.docs-header .site-nav ul{gap:28px}.docs-header .site-nav a{color:var(--ink-soft);font-size:14px}.docs-header .site-nav .nav-current a{color:var(--ink);font-weight:600}.docs-header .site-header__actions{gap:var(--space-4)}.docs-search-trigger{align-items:center;gap:var(--space-2);width:220px;height:32px;padding:0 var(--space-2)0 var(--space-3);border:1px solid var(--rule);background:var(--surface);color:var(--ink-faint);text-align:left;cursor:pointer;border-radius:6px;font-size:13px;display:inline-flex}.docs-search-trigger svg{width:14px;height:14px;color:var(--ink-soft);flex-shrink:0}.docs-search-trigger__label{flex:1}.docs-search-trigger--block{width:100%;height:44px;font-size:15px}.docs-kbd{border:1px solid var(--rule);color:var(--ink-soft);font-family:var(--font-mono);background:#fff;border-radius:4px;padding:2px 6px;font-size:11px;line-height:14px}.docs-version{font-family:var(--font-mono);color:var(--ink-soft);font-size:13px}.site-header__signin{color:var(--ink);font-size:14px;text-decoration:none}.docs-header__search-icon{display:none}@media (width<=900px){.docs-header__bar{padding-inline:var(--space-5)}.docs-search-trigger:not(.docs-search-trigger--block),.docs-header .docs-version,.docs-header .site-header__signin{display:none}.docs-header__search-icon{display:inline-grid}}.docs-hero{border-bottom:1px solid var(--rule);background:var(--surface)}.docs-hero__inner{justify-items:center;gap:var(--space-6);padding-block:var(--space-24)80px;text-align:center;display:grid}.docs-hero__kicker{font-family:var(--font-mono);color:var(--accent);font-size:13px}.docs-hero__title{font-family:var(--font-display);letter-spacing:-.035em;font-size:clamp(34px,5vw,56px);font-weight:700;line-height:1.05}.docs-hero__search{align-items:center;gap:var(--space-3);width:min(680px,100%);height:60px;padding:0 var(--space-3)0 var(--space-5);border:1.5px solid var(--accent);color:var(--ink);text-align:left;cursor:text;background:#fff;border-radius:10px;font-size:18px;display:flex;box-shadow:0 0 0 4px #0b57d01f}.docs-hero__search svg{flex-shrink:0;width:20px;height:20px}.docs-hero__placeholder{color:var(--ink-faint);flex:1}.docs-hero__search .docs-kbd{padding:4px 8px;font-size:12px}.docs-hero__popular{justify-content:center;gap:var(--space-2);color:var(--ink-soft);flex-wrap:wrap;font-size:14px;display:flex}.docs-hero__popular a{color:var(--accent);text-decoration:none}.docs-hero__popular a+a:before{content:"·";margin-right:var(--space-2);color:#8c959f}.docs-home-section{padding-block:80px var(--space-12)}.docs-section-head{justify-content:space-between;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-6);display:flex}.docs-section-head h2,.docs-popular__title{letter-spacing:-.02em;font-size:24px;font-weight:700}.docs-section-head a{color:var(--accent);font-size:14px;text-decoration:none}.docs-cards{gap:var(--space-4);counter-reset:section;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:0;padding:0;list-style:none;display:grid}.docs-card{align-content:start;gap:var(--space-3);padding:var(--space-6);border:1px solid var(--rule);counter-increment:section;border-radius:8px;transition:border-color .15s;display:grid;position:relative}.docs-card:hover{border-color:var(--accent)}.docs-card__no:before{content:counter(section,decimal-leading-zero)" /";font-family:var(--font-mono);color:var(--accent);font-size:13px}.docs-card__title{font-size:18px;font-weight:700;text-decoration:none}.docs-card__title:after{content:"";position:absolute;inset:0}.docs-card__description{color:var(--ink-soft);font-size:14px;line-height:1.6}.docs-card__count{font-family:var(--font-mono);color:var(--ink-faint);font-size:12px}.docs-home-split{gap:var(--space-16);padding-block:var(--space-6)var(--space-24);grid-template-columns:minmax(0,1fr) 420px;display:grid}.docs-rows{margin:var(--space-5)0 0;border-top:1px solid var(--rule);padding:0;list-style:none}.docs-row{align-items:baseline;gap:var(--space-4);padding-block:var(--space-4);border-bottom:1px solid var(--rule);grid-template-columns:152px minmax(0,1fr) auto;display:grid}.docs-row__section,.docs-row__time{font-family:var(--font-mono);color:var(--ink-faint);font-size:12px}.docs-row__title{color:var(--accent);font-size:16px;font-weight:500;text-decoration:none}.docs-row__title:hover{text-decoration:underline}.docs-popular .ad-slot{margin-block:var(--space-8)0;justify-items:start}.docs-changelog{padding:var(--space-6)var(--space-8)var(--space-8);background:var(--surface);border-radius:8px;align-self:start}.docs-changelog__head{margin-bottom:var(--space-4);justify-content:space-between;align-items:baseline;display:flex}.docs-changelog__head h2{font-size:18px;font-weight:700}.docs-changelog__head h2 a{text-decoration:none}.docs-changelog__head>a{color:var(--accent);font-size:14px;text-decoration:none}.docs-changelog__list{gap:var(--space-5);margin:0;padding:0;list-style:none;display:grid}.docs-changelog__meta{align-items:center;gap:var(--space-2);font-family:var(--font-mono);color:var(--ink-faint);font-size:12px;display:flex}.docs-chip{border:1px solid var(--rule);color:var(--ink);font-family:var(--font-mono);background:#fff;border-radius:4px;padding:2px 6px;font-size:12px;font-weight:600;text-decoration:none}.docs-changelog__summary{margin-top:var(--space-2);font-size:15px;line-height:1.55}@media (width<=1024px){.docs-home-split{gap:var(--space-12);grid-template-columns:1fr}}@media (width<=640px){.docs-hero__inner{padding-block:var(--space-12)}.docs-hero__search .docs-kbd{display:none}.docs-row{grid-template-columns:minmax(0,1fr) auto}.docs-row__section{grid-column:1/-1}}.docs-layout{grid-template-columns:var(--sidebar-width)minmax(0,1fr)var(--rail-width);align-items:start;display:grid}.docs-layout--two{grid-template-columns:var(--sidebar-width)minmax(0,1fr)}.docs-sidebar{border-right:1px solid var(--rule);align-self:stretch}.docs-sidebar__sticky{top:var(--header-height);max-height:calc(100vh - var(--header-height));padding:var(--space-8)var(--space-6)var(--space-8)var(--space-8);position:sticky;overflow-y:auto}.docs-tree{gap:28px;display:grid}.docs-tree__title{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);cursor:pointer;padding:0 10px 8px;font-size:12px;font-weight:600;list-style:none;display:block}.docs-tree__title::-webkit-details-marker{display:none}.docs-tree__list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.docs-tree__link{color:#424a53;border-left:2px solid #0000;border-radius:6px;padding:6px 10px;font-size:14px;line-height:18px;text-decoration:none;display:block}.docs-tree__link:hover{background:var(--surface);color:var(--ink)}.docs-tree__link[aria-current=page]{border-left-color:var(--accent);background:var(--accent-wash);color:var(--accent);font-weight:600}.docs-main{width:100%;max-width:calc(var(--container-prose) + 2*var(--space-12));padding:40px var(--space-12)80px;margin-inline:auto}.docs-main--wide{max-width:calc(960px + 2*var(--space-12))}.docs-head{gap:var(--space-5);margin-bottom:var(--space-6);display:grid}.docs-head .breadcrumbs ol{font-size:14px}.docs-head .breadcrumbs a{color:var(--ink-soft);text-decoration:none}.docs-head .breadcrumbs [aria-current=page]{font-weight:500}.docs-title{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(32px,4vw,44px);font-weight:700;line-height:1.1}.docs-lead{color:#424a53;font-size:19px;line-height:1.6}.docs-meta{align-items:center;gap:var(--space-2)var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--rule);font-family:var(--font-mono);color:var(--ink-faint);flex-wrap:wrap;font-size:12px;display:flex}.docs-meta a{color:var(--accent);text-decoration:none}.docs-meta__author{font-family:var(--font-ui);align-items:center;gap:6px;font-size:13px;display:inline-flex}.docs-meta__author .avatar{width:18px;height:18px}.docs-rail{align-self:stretch}.docs-rail__sticky{top:var(--header-height);gap:var(--space-6);padding:var(--space-12)var(--space-8)var(--space-8)0;display:grid;position:sticky}.docs-toc .toc__title{letter-spacing:.06em;padding-bottom:6px;font-size:12px}.docs-toc ol{gap:0}.docs-toc a{padding:5px var(--space-3);color:var(--ink-soft);font-size:13px}.docs-toc .toc__item--h3 a{padding-left:var(--space-6)}.docs-toc a[aria-current=true]{color:var(--accent)}.docs-rail__links a{color:var(--ink-soft);font-size:13px;text-decoration:none}.ad-slot[data-ad-size=carbon]{--ad-width:100%;--ad-height:200px;margin:var(--space-4)0 0;justify-items:stretch}.ad-slot[data-ad-size=carbon] .ad-slot__label{letter-spacing:.06em;color:var(--ink-faint);font-size:11px;font-weight:600}.ad-slot__frame{background:var(--surface);border:1px dashed #c9d1d9;border-radius:8px}.docs-toc-inline{margin:0 0 var(--space-6)}.docs-layout .docs-toc-inline{display:none}.docs-content{font-size:17px;line-height:1.7}.docs-content>*+*{margin-top:20px}.docs-content>h2{margin-top:var(--space-12);letter-spacing:-.02em;font-size:26px;font-weight:700;line-height:1.3}.docs-content>h3{margin-top:var(--space-8);letter-spacing:-.01em;font-size:20px;font-weight:700;line-height:1.3}.docs-content a{color:var(--accent)}.docs-content :not(pre)>code{background:var(--surface);color:var(--code-red);border-radius:4px;padding:.1em .3em;font-size:15px}.docs-content>:is(.kg-width-wide,.kg-width-full){width:100%}.docs-code{border:1px solid var(--rule);border-radius:8px;overflow:hidden}.docs-code__bar{height:42px;padding:0 var(--space-2)0 var(--space-4);border-bottom:1px solid var(--rule);background:var(--surface);justify-content:space-between;align-items:center;display:flex}.docs-code__lang{align-items:center;height:100%;font-size:13px;font-weight:600;display:flex;position:relative}.docs-code__lang:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:-1px;left:-14px;right:-14px}.docs-code__copy{border:1px solid var(--rule);color:#424a53;cursor:pointer;background:#fff;border-radius:6px;align-items:center;gap:6px;min-height:28px;padding:4px 10px;font-size:12px;display:inline-flex}.docs-code__copy svg{width:12px;height:12px}.docs-content .docs-code pre,.docs-content pre{padding:var(--space-5)var(--space-6);color:var(--ink);background:#fff;border-radius:0;margin:0;font-size:14px;line-height:1.75}.docs-content>pre{border:1px solid var(--rule);border-radius:8px}.docs-content .kg-callout-card{gap:var(--space-3);padding:var(--space-4)var(--space-5);border-left:3px solid var(--rule);background:var(--surface);border-radius:0 6px 6px 0;font-size:15px;line-height:1.6;display:flex}.docs-content .kg-callout-card-blue{border-left-color:var(--accent);background:#eef4ff}.docs-content .kg-callout-card-yellow{border-left-color:var(--warning);background:#fff8e5}.docs-content .kg-callout-card-red{border-left-color:var(--danger);background:#ffeef0}.docs-content .kg-callout-card-green{border-left-color:var(--success);background:#eaf7ef}.docs-content .kg-callout-emoji{padding-right:0;font-size:16px;line-height:1.6}.docs-content .kg-callout-text{color:var(--ink)}.docs-pager{gap:var(--space-4);padding-top:var(--space-12);grid-template-columns:1fr 1fr;display:grid}.docs-pager__link{gap:var(--space-1);padding:var(--space-4)var(--space-5);border:1px solid var(--rule);border-radius:8px;text-decoration:none;display:grid}.docs-pager__link:hover{border-color:var(--accent)}.docs-pager__link span{color:var(--ink-faint);font-size:13px}.docs-pager__link strong{color:var(--accent);font-size:16px;font-weight:600}.docs-pager__link--next{text-align:right;grid-column:2;justify-items:end}.docs-feedback{justify-content:space-between;align-items:center;gap:var(--space-4);padding-top:var(--space-8);flex-wrap:wrap;display:flex}.docs-feedback__edit{align-items:center;gap:var(--space-2);color:var(--accent);font-size:14px;text-decoration:none;display:inline-flex}.docs-feedback__edit svg{color:var(--ink-soft)}.docs-feedback__vote{align-items:center;gap:var(--space-3);color:var(--ink-soft);font-size:14px;display:flex}.docs-feedback__vote button{min-height:32px;padding:4px var(--space-3);border:1px solid var(--rule);border-radius:var(--radius-full);color:var(--ink);cursor:pointer;background:#fff;font-size:13px}.docs-feedback__vote button:hover{border-color:var(--accent)}.docs-legal{margin-top:var(--space-6);border-top:1px solid var(--rule);color:var(--ink-faint);padding-top:14px;font-size:12px}.post-template .site-footer{display:none}.docs-list{border-top:1px solid var(--rule);margin:0;padding:0;list-style:none}.docs-list__item{justify-content:space-between;align-items:flex-start;gap:var(--space-6);padding-block:var(--space-6);border-bottom:1px solid var(--rule);display:flex}.docs-list__body{gap:var(--space-2);display:grid}.docs-list__section{font-family:var(--font-mono);color:var(--ink-faint);font-size:12px}.docs-list__title{letter-spacing:-.01em;font-size:18px;font-weight:600}.docs-list__title a{color:var(--accent);text-decoration:none}.docs-list__title a:hover{text-decoration:underline}.docs-list__excerpt{color:var(--ink-soft);font-size:15px;line-height:1.55}.docs-list__meta{font-family:var(--font-mono);color:var(--ink-faint);flex-shrink:0;font-size:12px}.docs-list__ad{padding-block:var(--space-2);border-bottom:1px solid var(--rule)}.docs-list__ad .ad-slot{margin-block:var(--space-4);justify-items:start}.docs-index{padding-block:var(--space-12)var(--space-24)}.pagination a{color:var(--accent)}.docs-archive{gap:var(--space-12)var(--space-8);padding-bottom:var(--space-24);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.docs-archive__title{padding-bottom:var(--space-3);border-bottom:1px solid var(--rule);justify-content:space-between;font-size:18px;font-weight:700;display:flex}.docs-archive__title a{text-decoration:none}.docs-archive__title span{font-family:var(--font-mono);color:var(--ink-faint);font-size:12px;font-weight:400}.docs-archive ul{gap:var(--space-2);margin:var(--space-3)0 0;padding:0;list-style:none;display:grid}.docs-archive li a{color:var(--accent);font-size:15px;text-decoration:none}.page-hero__title,.article-header__title,.auth__title{letter-spacing:-.03em;font-weight:700}.page-hero{padding-block:var(--space-12)var(--space-8)}.section-head__title,.directory__name,.tier__price,.faq summary,.paywall__title,.author-box__name,.consent-banner__title,.consent-dialog__title,.error-page__code{letter-spacing:-.02em;font-weight:700}.directory__item,.tier,.account__card,.legal-summary,.newsletter-picks{border-radius:8px}.directory__item:hover{border-color:var(--accent)}.directory__name{font-size:18px}.tier--featured{border-color:var(--accent);background:var(--accent)}.tier--featured .button{color:var(--accent)}.legal-summary{border:0;border-left:3px solid var(--accent);background:#eef4ff;border-radius:0 6px 6px 0}.gh-content a{color:var(--accent)}.consent-banner{border-top-width:1px}.consent-dialog{border-color:var(--rule);border-radius:12px}.docs-footer .site-footer__main p,.docs-footer .site-footer__nav a{color:var(--ink-soft);font-size:14px}.docs-footer .site-footer__main p a{color:inherit}.docs-drawer{gap:var(--space-5);padding-inline:var(--space-5)}.docs-drawer__tools{gap:var(--space-3);display:grid}.docs-drawer__row{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.docs-version--boxed{padding:var(--space-2)var(--space-3);border:1px solid var(--rule);border-radius:6px}.docs-drawer__pills ul{gap:var(--space-2);padding:var(--space-4)0;border-block:1px solid var(--rule);flex-wrap:wrap;margin:0;list-style:none;display:flex}.docs-drawer__pills a{min-height:36px;padding:0 var(--space-4);border:1px solid var(--rule);border-radius:var(--radius-full);align-items:center;font-size:14px;text-decoration:none;display:inline-flex}.docs-drawer__pills .nav-current a{border-color:var(--ink);background:var(--ink);color:#fff;font-weight:600}.docs-drawer__tree .docs-tree{gap:var(--space-2)}.docs-drawer__tree .docs-tree__title{justify-content:space-between;align-items:center;min-height:44px;padding:0;display:flex}.docs-drawer__tree .docs-tree__title:after{content:"›";font-size:16px;transition:transform .15s}.docs-drawer__tree details[open]>.docs-tree__title{color:var(--ink)}.docs-drawer__tree details[open]>.docs-tree__title:after{transform:rotate(90deg)}.docs-drawer__tree .docs-tree__link{padding-block:12px;font-size:16px}@media (width<=1279px){.docs-layout{grid-template-columns:var(--sidebar-width)minmax(0,1fr)}.docs-rail{grid-column:2}.docs-rail__sticky{max-width:calc(var(--container-prose) + 2*var(--space-12));padding:0 var(--space-12)var(--space-12);margin-inline:auto;position:static}.docs-rail .docs-toc,.docs-rail__links{display:none}.docs-layout .docs-toc-inline:not([hidden]){display:block}.ad-slot[data-ad-size=carbon]{--ad-width:300px;--ad-height:250px;justify-items:center}}@media (width<=1023px){.docs-layout,.docs-layout--two{grid-template-columns:minmax(0,1fr)}.docs-sidebar{display:none}.docs-rail{grid-column:1}.site-header__menu-toggle{display:inline-grid}}@media (width<=640px){.docs-main,.docs-rail__sticky{padding-inline:var(--space-5)}.docs-main{padding-top:var(--space-6)}.docs-pager{grid-template-columns:1fr}.docs-pager__link--next{grid-column:1}.docs-list__item{gap:var(--space-2);flex-direction:column}}@media (width<=1023px){.docs-header .site-nav{display:none}}.docs-layout--legal{grid-template-columns:minmax(0,1fr)minmax(0,calc(var(--container-prose) + 2*var(--space-12)))var(--rail-width)minmax(0,1fr)}.docs-layout--legal .docs-main{grid-column:2}.docs-layout--legal .docs-rail{grid-column:3}.docs-meta--plain{border-bottom:0;padding-bottom:0}.docs-content table{font-size:14px}.gh-content>:is(h2,h3){letter-spacing:-.02em;font-weight:700}.docs-content :not(pre)>code{background:0 0;padding:0}@media (width<=1279px){.docs-layout--legal{grid-template-columns:minmax(0,1fr)}.docs-layout--legal .docs-main,.docs-layout--legal .docs-rail{grid-column:1}.docs-layout--legal .docs-rail{display:none}}.docs-hero__placeholder{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}