html{scroll-behavior:smooth;scroll-padding-top:88px}body{background:var(--sd-color-surface-base);margin:0}.visually-hidden{height:1px;overflow:hidden;position:absolute;width:1px;clip:rect(0 0 0 0);white-space:nowrap}.copied{color:var(--sd-color-success-text);font-size:var(--sd-type-caption-size);font-weight:var(--sd-font-weight-medium)}.end-links{display:flex;flex-wrap:wrap;gap:var(--sd-space-xs)}.article-foot{align-items:center;border-top:1px solid var(--sd-color-border-subtle);gap:var(--sd-space-sm);margin-top:var(--sd-space-xl);padding-top:var(--sd-space-md)}.article-foot,.demo-bar{display:flex;flex-wrap:wrap;justify-content:space-between}.demo-bar{background:var(--sd-color-navy-brand);color:var(--sd-color-white);font-size:var(--sd-type-caption-size);gap:4px 16px;line-height:var(--sd-type-caption-line-height);padding:8px 16px}.demo-bar a{color:inherit;text-underline-offset:2px}.demo-bar a[aria-current=page]{font-weight:var(--sd-font-weight-semibold);text-decoration:none}.demo-bar__links{display:flex;flex-wrap:wrap;gap:4px 14px}.sd-article-hero__media img{height:100%;inset:0;object-fit:cover;position:absolute;width:100%}.blog-hero{overflow:hidden;position:relative}.blog-hero__text{display:flex;flex-direction:column;gap:var(--sd-space-sm);margin-bottom:var(--sd-space-xl);max-width:44rem}.blog-hero__text .sd-text-h1{margin:0}.blog-feature{align-items:center;color:inherit;display:grid;gap:var(--sd-space-xl);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);text-decoration:none}.blog-feature .sd-card__media{aspect-ratio:16/9;box-shadow:var(--sd-shadow-md)}.blog-feature__text{display:flex;flex-direction:column;gap:var(--sd-space-sm)}.blog-feature__text .sd-text-h2{margin:0;transition:color var(--sd-motion-duration-fast) var(--sd-motion-easing)}.blog-feature:hover .sd-text-h2{text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 45%,transparent);text-decoration-thickness:1px;text-underline-offset:.16em}.blog-toolbar{align-items:baseline;display:flex;flex-wrap:wrap;gap:var(--sd-space-sm);justify-content:space-between;margin-bottom:var(--sd-space-lg)}.blog-toolbar .sd-text-h3{margin:0}.blog-grid{display:grid;gap:var(--sd-space-xl) var(--sd-space-lg);grid-template-columns:repeat(3,minmax(0,1fr))}.sd-card .sd-card__title{margin:0}.card-body{display:flex;flex-direction:column;gap:var(--sd-space-xs);min-width:0}.card-excerpt{display:-webkit-box;-webkit-line-clamp:3;margin:0;-webkit-box-orient:vertical;overflow:hidden}.card-meta{gap:4px 8px}.card-meta,.pager{display:flex;flex-wrap:wrap}.pager{align-items:center;font-variant-numeric:tabular-nums;gap:var(--sd-space-2xs);justify-content:center;margin-top:var(--sd-space-2xl,64px)}.pager a,.pager span{border-radius:var(--sd-radius-control);color:var(--sd-color-text-muted);display:inline-grid;font-size:var(--sd-type-small-size);height:40px;min-width:40px;padding:0 10px;place-items:center;text-decoration:none}.pager a:hover{background:var(--sd-color-surface-sunken);color:var(--sd-color-text-default)}.pager [aria-current=page]{background:var(--sd-color-text-default);color:var(--sd-color-surface-base);font-weight:var(--sd-font-weight-semibold)}@media (max-width:1100px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.blog-feature{gap:var(--sd-space-md);grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.blog-grid{grid-template-columns:minmax(0,1fr)}}.sd-prose .lede{color:var(--sd-color-text-default);font-size:var(--sd-type-lead-size,1.25em);line-height:var(--sd-type-lead-line-height,1.5)}.sd-prose img{border-radius:var(--sd-radius-media);height:auto;max-width:100%}.sd-prose figure img{display:block;margin-inline:auto}.sd-prose .sd-embed{aspect-ratio:16/9;background:var(--sd-color-surface-sunken);border-radius:var(--sd-radius-media);overflow:hidden;position:relative}.sd-prose .sd-embed iframe{border:0;height:100%;inset:0;position:absolute;width:100%}.sd-prose{overflow-wrap:break-word}.sd-prose pre{max-width:100%;overflow-x:auto}.sd-prose pre code{white-space:pre}.sd-prose :not(pre)>code{overflow-wrap:anywhere}.sd-prose .ai2html{overflow:hidden;position:relative}.sd-prose .ai2html h3{font-size:inherit;line-height:inherit;margin:0 0 .75em}.is-legacy :where(:not(.ai2html *))[style]{background-color:transparent!important;color:inherit!important;float:none!important;font-family:inherit!important;font-size:inherit!important;line-height:inherit!important}.is-legacy a[style]{color:var(--sd-link-text)!important}.is-legacy img{display:block;float:none!important;margin-inline:auto}.is-legacy :is(p,blockquote,h2,h3,h4,div):empty{display:none}.is-legacy center{display:block}.is-legacy .hs-responsive-embed-wrapper{max-width:100%!important}.is-legacy iframe{max-width:100%}.is-legacy img[src^="chrome-extension:"]{display:none}.site-nav{align-items:center;gap:var(--sd-space-2xs)}.nav-trigger,.site-nav .nav-link{align-items:center;background:none;border:0;border-radius:var(--sd-radius-control);color:var(--sd-color-text-muted);cursor:pointer;display:inline-flex;font:inherit;font-size:var(--sd-type-small-size);font-weight:var(--sd-font-weight-medium);gap:4px;padding:8px 10px;text-decoration:none}.nav-trigger:hover,.nav-trigger[aria-expanded=true],.site-nav .nav-link:hover,.site-nav .nav-link[aria-current=page]{color:var(--sd-color-text-default)}.nav-trigger svg{height:12px;transition:transform var(--sd-motion-duration-fast) var(--sd-motion-easing);width:12px}.nav-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.nav-item{position:relative}.nav-panel{background:var(--sd-color-surface-raised,var(--sd-color-surface-base));border:1px solid var(--sd-color-border-subtle);border-radius:var(--sd-radius-media);box-shadow:var(--sd-shadow-md);left:-8px;min-width:220px;opacity:0;padding:var(--sd-space-sm);position:absolute;top:calc(100% + 8px);transform:translateY(-4px);transition:opacity var(--sd-motion-duration-fast) var(--sd-motion-easing),transform var(--sd-motion-duration-fast) var(--sd-motion-easing),visibility 0s linear var(--sd-motion-duration-fast);visibility:hidden;z-index:50}.nav-panel:before{content:"";height:10px;inset:-10px 0 auto;position:absolute}.nav-item.is-open .nav-panel{opacity:1;transform:none;transition-delay:0s;visibility:visible}.nav-panel__list{display:grid;gap:2px var(--sd-space-sm);grid-template-columns:repeat(var(--cols,1),minmax(180px,1fr));list-style:none;margin:0;padding:0}.nav-panel__list a{border-radius:var(--sd-radius-control);color:var(--sd-color-text-default);display:block;font-size:var(--sd-type-small-size);padding:8px 10px;text-decoration:none;white-space:nowrap}.nav-panel__list a:focus-visible,.nav-panel__list a:hover{background:var(--sd-color-surface-sunken)}.nav-panel__all{display:inline-flex;margin:var(--sd-space-xs) 10px 2px}.nav-login,.nav-panel__all{font-size:var(--sd-type-small-size)}.nav-login{color:var(--sd-color-text-muted);font-weight:var(--sd-font-weight-medium);padding:8px 6px;text-decoration:none}.nav-login:hover{color:var(--sd-color-text-default)}.nav-burger,.nav-mobile-actions{display:none}.site-footer__grid{grid-template-columns:1.5fr repeat(4,minmax(0,1fr))}@media (max-width:1100px){.nav-login{display:none}.site-footer__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.site-footer__grid>:first-child{grid-column:1/-1}}@media (max-width:900px){.sd-site-header__actions .sd-btn--secondary{display:none}.nav-burger{display:inline-grid}.nav-burger svg{height:18px;width:18px}.site-nav{align-items:stretch;background:var(--sd-color-surface-base);border-top:1px solid var(--sd-color-border-subtle);display:none;flex-direction:column;gap:0;height:calc(100dvh - 64px);left:0;overflow-y:auto;padding:var(--sd-space-sm) 16px var(--sd-space-xl);position:absolute;right:0;top:100%;z-index:60}.site-nav.is-open{display:flex}.nav-trigger,.site-nav .nav-link{border-bottom:1px solid var(--sd-color-border-subtle);border-radius:0;font-size:var(--sd-type-body-size,1rem);justify-content:space-between;padding:14px 4px;width:100%}.nav-panel{background:none;border:0;box-shadow:none;display:none;min-width:0;opacity:1;padding:4px 0 var(--sd-space-sm);position:static;transform:none;transition:none;visibility:visible}.nav-item.is-open .nav-panel{display:block}.nav-panel__list{grid-template-columns:minmax(0,1fr)}.nav-mobile-actions{display:flex;flex-direction:column;gap:var(--sd-space-xs);margin-top:var(--sd-space-lg)}.nav-mobile-actions .nav-link{border:0;justify-content:center}body.nav-open{overflow:hidden}}@media (max-width:640px){.site-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}html:has(body.has-legacy-chrome){scroll-padding-top:calc(76px + var(--sd-space-md))}.has-legacy-chrome .sd-rail{top:calc(76px + var(--sd-space-lg))}.has-legacy-chrome .sd-progress{top:calc(76px + env(safe-area-inset-top, 0px));z-index:1001}.has-legacy-chrome .demo-bar{bottom:0;left:0;position:fixed;right:0;z-index:1002}.has-legacy-chrome main{padding-top:76px}.author-page .sd-timeline{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.author-page .sd-timeline li{display:grid;gap:var(--sd-space-sm);grid-template-columns:6rem 1fr;padding:0 0 var(--sd-space-md) var(--sd-space-md);position:relative}.author-page .sd-timeline li:before{background:var(--sd-color-border-strong);bottom:-10px;content:"";left:4px;position:absolute;top:10px;width:1px}.author-page .sd-timeline li:last-child:before{display:none}.author-page .sd-timeline li:after{background:var(--sd-color-surface-raised);border:1.5px solid var(--sd-color-navy-brand);border-radius:50%;content:"";height:9px;left:0;position:absolute;top:7px;width:9px}.author-page .sd-timeline li.is-now:after{background:var(--sd-color-blue-500);border-color:var(--sd-color-blue-500);box-shadow:0 0 0 4px color-mix(in srgb,var(--sd-color-blue-500) 18%,transparent)}.author-page .sd-timeline li.is-done:after{background:var(--sd-color-navy-brand)}.author-page .sd-timeline time{color:var(--sd-color-text-subtle);font-size:var(--sd-type-small-size);font-variant-numeric:tabular-nums;line-height:var(--sd-type-small-line-height);padding-top:2px}.author-page .sd-timeline li>div{min-width:0}.author-page .sd-timeline b{display:block;font-weight:var(--sd-font-weight-semibold)}.author-page .sd-timeline p{color:var(--sd-color-text-muted);font-size:var(--sd-type-body-size);line-height:var(--sd-type-body-line-height);margin:2px 0 0}.author-hero{border-bottom:1px solid var(--sd-color-border-subtle);overflow:hidden;position:relative}.author-hero__grid{align-items:end;display:grid;gap:var(--sd-space-2xl,64px);grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);margin-top:var(--sd-space-lg)}.author-hero__text{display:flex;flex-direction:column;gap:var(--sd-space-sm);max-width:40rem}.author-hero__name{margin:0}.author-hero__role{color:var(--sd-color-text-default);font-size:var(--sd-type-h4-size);font-weight:var(--sd-font-weight-medium);line-height:var(--sd-type-h4-line-height);margin:0}.author-hero__actions{display:flex;flex-wrap:wrap;gap:var(--sd-space-xs);margin-top:var(--sd-space-xs)}.author-hero__actions svg{flex:none;height:16px;width:16px}.author-hero__actions .sd-btn{gap:8px}.author-portrait{background:var(--sd-color-surface-raised);border:1px solid var(--sd-color-border-subtle);border-radius:var(--sd-radius-card);box-shadow:var(--sd-shadow-md);justify-self:end;margin:0;max-width:26rem;overflow:hidden;width:100%}.author-portrait__photo{background:radial-gradient(70% 70% at 50% 40%,var(--sd-color-blue-50),transparent 70%),var(--sd-color-surface-sunken);border-bottom:1px solid var(--sd-color-border-subtle);display:grid;padding:var(--sd-space-lg) var(--sd-space-md) var(--sd-space-md);place-items:center}.author-portrait__photo img{border-radius:50%;clip-path:circle(46.5%);display:block;height:11rem;transform:scale(1.06);width:11rem}.author-portrait figcaption{padding:var(--sd-space-md)}.author-facts{display:grid;font-size:var(--sd-type-small-size);gap:10px var(--sd-space-md);grid-template-columns:auto minmax(0,1fr);line-height:var(--sd-type-small-line-height);margin:0}.author-facts dt{color:var(--sd-color-text-subtle)}.author-facts dd{color:var(--sd-color-text-default);font-variant-numeric:tabular-nums;font-weight:var(--sd-font-weight-medium);margin:0}.author-about__grid{align-items:start;display:grid;gap:var(--sd-space-2xl,64px);grid-template-columns:minmax(0,1fr) 18rem}.author-about__story{display:flex;flex-direction:column;gap:var(--sd-space-md);max-width:44rem}.author-about__side{position:sticky;top:104px}.author-topics{border-top:1px solid var(--sd-color-border-subtle);list-style:none;margin:0;padding:0}.author-topics li{border-bottom:1px solid var(--sd-color-border-subtle);display:flex;font-size:var(--sd-type-small-size);gap:var(--sd-space-sm);justify-content:space-between;line-height:var(--sd-type-small-line-height);padding:12px 0}.author-topics span:last-child{color:var(--sd-color-text-subtle);font-variant-numeric:tabular-nums}.author-path{background:var(--sd-color-surface-sunken);border-block:1px solid var(--sd-color-border-subtle)}.author-path__grid{align-items:start;display:grid;gap:var(--sd-space-2xl,64px);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.author-path__grid>div{display:flex;flex-direction:column;gap:var(--sd-space-sm);position:sticky;top:104px}.author-path__grid p{margin:0;max-width:28rem}.author-path .sd-timeline li{grid-template-columns:7rem 1fr;padding-bottom:var(--sd-space-lg)}.author-path .sd-timeline li:after{background:var(--sd-color-surface-sunken)}.author-standards{border:1px solid var(--sd-color-border-subtle);border-radius:var(--sd-radius-card);display:grid;gap:var(--sd-space-xl);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);padding:var(--sd-space-xl)}.author-standards>div{display:flex;flex-direction:column;gap:var(--sd-space-xs)}.author-standards__list{display:grid;gap:var(--sd-space-md);list-style:none;margin:0;padding:0}.author-standards__list li{color:var(--sd-color-text-muted);display:grid;gap:var(--sd-space-xs);grid-template-columns:20px minmax(0,1fr)}.author-standards__list svg{color:var(--sd-color-success-text);height:20px;margin-top:2px;width:20px}.author-standards__list b{color:var(--sd-color-text-default);font-weight:var(--sd-font-weight-semibold)}.author-standards__list a{color:var(--sd-link-text)}@media (max-width:900px){.author-about__grid,.author-hero__grid,.author-path__grid,.author-standards{gap:var(--sd-space-xl);grid-template-columns:minmax(0,1fr)}.author-portrait{align-items:center;display:grid;grid-template-columns:auto minmax(0,1fr);justify-self:start;max-width:100%}.author-portrait__photo{border-bottom:0;border-right:1px solid var(--sd-color-border-subtle);height:100%;padding:var(--sd-space-md)}.author-portrait__photo img{height:7rem;width:7rem}.author-about__side,.author-path__grid>div{position:static}}@media (max-width:520px){.author-portrait{grid-template-columns:minmax(0,1fr)}.author-portrait__photo{border-bottom:1px solid var(--sd-color-border-subtle);border-right:0}.author-path .sd-timeline li{gap:2px;grid-template-columns:minmax(0,1fr)}.author-standards{padding:var(--sd-space-md)}}.sd-author__name{display:block}.sd-author a.sd-author__name{color:inherit;text-decoration:none}.sd-author a.sd-author__name:hover{text-decoration:underline}