.article-header__light[data-astro-cid-bpov7l6u]{background:radial-gradient(at 94% 0,#fffffff0 0%,#ffffff9e 16%,#ffffff3d 35%,#0000 62%),linear-gradient(135deg,#0000 52%,#ffffff24 71%,#0000 88%)}.article-body{--article-text-width:42rem;--article-section-gap:clamp(4.5rem, 9vw, 7rem);--article-subsection-gap:clamp(3rem, 6vw, 4.5rem);--article-paragraph-gap:1.15em;font-family:var(--font-body);overflow-wrap:anywhere;--article-list-indent:1.8em;--article-list-item-gap:.45em;font-size:clamp(1rem,.96rem + .18vw,1.075rem);line-height:2}.article-body .my-grid{min-width:0;margin-block:1.5em;display:grid}.article-body .my-grid__cell{min-width:0}.article-body>h2,.article-body>section[role=doc-bibliography]>h2{margin:var(--article-section-gap) 0 0;border-top:1px solid color-mix(in oklab, var(--foreground) 40%, transparent);font-family:var(--font-heading);letter-spacing:.06em;padding-top:1.4rem;font-size:clamp(1.75rem,1.45rem + 1.2vw,2.5rem);font-weight:500;line-height:1.5}.article-body>h2:first-child,.article-body>section[role=doc-bibliography]:first-child>h2{margin-top:0}.article-body h3{margin:var(--article-subsection-gap) 0 0;border-inline-start:2px solid var(--foreground);font-family:var(--font-heading);padding-inline-start:1rem;font-size:clamp(1.35rem,1.22rem + .5vw,1.7rem);font-weight:500;line-height:1.6}.article-body h4{font-family:var(--font-heading);letter-spacing:.04em;margin:2.5rem 0 0;font-size:1.15rem;font-weight:600}.article-body p{margin:0}.article-body p+p{margin-top:var(--article-paragraph-gap)}.article-body :where(code,pre){font-family:var(--font-code);font-variant-ligatures:none}.article-body pre{box-sizing:border-box;border:1px solid color-mix(in oklab, var(--foreground) 18%, transparent);background:color-mix(in oklab, var(--background) 88%, var(--primary) 12%);width:100%;min-width:0;max-width:100%;color:var(--foreground);border-radius:.65rem;margin:2rem 0;padding:.7rem 1rem;line-height:1.65;overflow:hidden}.article-body pre>code{overflow-wrap:anywhere;white-space:pre-wrap;tab-size:2;min-width:0;max-width:100%;font-size:.88em;display:block}.article-body pre>code>.code-line{border-bottom:1px solid color-mix(in oklab, var(--foreground) 14%, transparent);min-height:1.65em;display:block}.article-body :is(h2,h3,h4)+p{margin-top:1.5rem}.article-body .web-link-card{--web-link-card-ogp-ratio:40 / 21;border:1px solid color-mix(in oklab, var(--foreground) 30%, transparent);color:inherit;border-radius:.75rem;grid-template-columns:minmax(0,3fr) minmax(12rem,2fr);margin:2rem 0;line-height:1.5;text-decoration:none;display:grid;overflow:hidden}.article-body .web-link-card__content{grid-area:1/1;align-content:center;gap:.35rem;min-width:0;padding:1rem 1.1rem;display:grid}.article-body .web-link-card__title{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.article-body .web-link-card__description{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.article-body .web-link-card__site{color:color-mix(in oklab, var(--foreground) 58%, transparent);text-overflow:ellipsis;white-space:nowrap;font-size:.85em;overflow:hidden}.article-body .web-link-card__image{width:100%;height:auto;aspect-ratio:var(--web-link-card-ogp-ratio);object-fit:contain;grid-area:1/2;align-self:center;display:block}.article-body .web-link-card--fallback{overflow-wrap:anywhere;padding:1rem 1.1rem;display:block}.article-body .web-link-card:focus-visible{outline:3px solid var(--foreground);outline-offset:3px}@media (width<=36rem){.article-body .web-link-card{grid-template-columns:1fr}.article-body .web-link-card__image{grid-area:1/1;max-height:none}.article-body .web-link-card__content{grid-area:2/1}}.article-body ul{list-style-type:disc}.article-body ol{list-style-type:decimal}.article-body :where(ul,ol){margin-block:1.35em;padding-inline-start:var(--article-list-indent);list-style-position:outside}.article-body :where(ul,ol)>li+li{margin-block-start:var(--article-list-item-gap)}.article-body :where(ul,ol)>li{padding-inline-start:.25em}.article-body li>:where(ul,ol){margin-block:.5em 0}.article-body li>p{margin-block:0}.article-body ul ul{list-style-type:circle}.article-body ul ul ul{list-style-type:square}.article-body :where(ul,ol)>li::marker{color:color-mix(in oklab, var(--foreground) 68%, transparent)}.article-body ol>li::marker{font-variant-numeric:tabular-nums;font-weight:600}
