.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-latin-600-normal.BgSNZQsw.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-600-normal.DWFSQ4vo.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-400-normal.CDDApCn2.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-400-normal.CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-latin-500-normal.6ng42L7E.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-500-normal.BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-latin-600-normal.CuJfVYMP.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-600-normal.Cu4Hd6ag.woff)format("woff")}@font-face{font-family:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/instrument-serif-latin-400-normal.DnYpCC2O.woff2)format("woff2"),url(/_astro/instrument-serif-latin-400-normal.BVbkICAY.woff)format("woff")}.cookie-consent[data-astro-cid-kror3uvh]{--cookie-consent-cut:.75rem;--cookie-consent-border:1px;--cookie-consent-inner-cut:calc(var(--cookie-consent-cut) - var(--cookie-consent-border));z-index:95;right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));isolation:isolate;width:min(42rem,100vw - 2rem);padding:calc(1.15rem + var(--cookie-consent-border));background:var(--color-ink);color:var(--color-ink);backdrop-filter:blur(16px)saturate(115%);clip-path:polygon(0 0, calc(100% - var(--cookie-consent-cut)) 0, 100% var(--cookie-consent-cut), 100% 100%, var(--cookie-consent-cut) 100%, 0 calc(100% - var(--cookie-consent-cut)));border:0;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1.5rem;display:none;position:fixed;overflow:hidden}.cookie-consent[data-astro-cid-kror3uvh]:before{z-index:-1;inset:var(--cookie-consent-border);background:linear-gradient(135deg, color-mix(in srgb, var(--color-paper) 96%, transparent), color-mix(in srgb, var(--color-panel) 92%, transparent));clip-path:polygon(0 0, calc(100% - var(--cookie-consent-inner-cut)) 0, 100% var(--cookie-consent-inner-cut), 100% 100%, var(--cookie-consent-inner-cut) 100%, 0 calc(100% - var(--cookie-consent-inner-cut)));content:"";pointer-events:none;position:absolute}html[data-cookie-consent=unset] .cookie-consent[data-astro-cid-kror3uvh],html[data-cookie-settings-open=true] .cookie-consent[data-astro-cid-kror3uvh]{display:grid}.cookie-consent__close[data-astro-cid-kror3uvh]{width:1.8rem;height:1.8rem;color:var(--color-muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;font-size:1.15rem;display:grid;position:absolute;top:.45rem;right:.55rem}html[data-cookie-consent=unset] .cookie-consent__close[data-astro-cid-kror3uvh]{display:none}.cookie-consent__close[data-astro-cid-kror3uvh]:hover{color:var(--color-ink)}.cookie-consent__copy[data-astro-cid-kror3uvh]>p[data-astro-cid-kror3uvh]:first-child{color:var(--color-subtle);font:500 .5rem/1.3 var(--font-utility);letter-spacing:.08em;margin:0 0 .45rem}.cookie-consent[data-astro-cid-kror3uvh] h2[data-astro-cid-kror3uvh]{font:600 clamp(1rem, 2vw, 1.35rem)/1.15 var(--font-body);letter-spacing:-.025em;margin:0 0 .45rem}.cookie-consent__copy[data-astro-cid-kror3uvh]>p[data-astro-cid-kror3uvh]:last-child{max-width:58ch;color:var(--color-muted-strong);margin:0;font-size:.7rem;line-height:1.65}.cookie-consent[data-astro-cid-kror3uvh] a[data-astro-cid-kror3uvh]{border-bottom:1px solid var(--color-rule);color:var(--color-ink)}.cookie-consent__actions[data-astro-cid-kror3uvh]{gap:.5rem;min-width:11.5rem;display:grid}.cookie-consent__actions[data-astro-cid-kror3uvh] button[data-astro-cid-kror3uvh]{border:1px solid var(--color-rule);background:var(--color-paper);min-height:2.55rem;color:var(--color-ink);font:600 .56rem var(--font-utility);cursor:pointer;padding:.65rem .8rem}.cookie-consent__actions[data-astro-cid-kror3uvh] .cookie-consent__accept[data-astro-cid-kror3uvh]{--cut-fill:var(--color-ink);color:var(--color-paper);border:0;justify-content:space-between;align-items:center;display:flex}.cookie-consent__accept[data-astro-cid-kror3uvh] span[data-astro-cid-kror3uvh]{transition:transform .18s}.cookie-consent__accept[data-astro-cid-kror3uvh]:hover span[data-astro-cid-kror3uvh]{transform:translate(.15rem)}@media (width<=44rem){.cookie-consent[data-astro-cid-kror3uvh]{right:.75rem;bottom:max(.75rem, env(safe-area-inset-bottom));grid-template-columns:1fr;gap:1rem;width:auto;left:.75rem}.cookie-consent__actions[data-astro-cid-kror3uvh]{grid-template-columns:1fr 1fr;min-width:0}}@media (width<=28rem){.cookie-consent__actions[data-astro-cid-kror3uvh]{grid-template-columns:1fr}}.footer-grid[data-astro-cid-nns7i3if]{grid-template-columns:1.6fr repeat(5,minmax(0,1fr));gap:clamp(1.5rem,3.5vw,4rem);padding:clamp(3.5rem,7vw,6rem) 0;display:grid}.footer-brand[data-astro-cid-nns7i3if],.footer-col[data-astro-cid-nns7i3if]{min-width:0}.footer-brand[data-astro-cid-nns7i3if] a[data-astro-cid-nns7i3if]{font:700 calc(.8rem + 4px) var(--font-utility);align-items:center;gap:.65rem;display:inline-flex}.footer-brand[data-astro-cid-nns7i3if] span[data-astro-cid-nns7i3if]{background:0 0;border:0;place-items:center;width:calc(2rem + 4px);height:calc(2rem + 4px);padding:.35rem;display:grid}.footer-brand[data-astro-cid-nns7i3if] p[data-astro-cid-nns7i3if]{max-width:18rem;color:var(--color-muted);margin:1.5rem 0 0;font-size:.82rem;line-height:1.7}.footer-col[data-astro-cid-nns7i3if] h2[data-astro-cid-nns7i3if]{font:600 calc(.58rem + 2px) var(--font-utility);letter-spacing:.08em;text-transform:uppercase;margin:0 0 1.35rem}.footer-col[data-astro-cid-nns7i3if] a[data-astro-cid-nns7i3if],.footer-col[data-astro-cid-nns7i3if] button[data-astro-cid-nns7i3if]{width:fit-content;color:var(--color-muted);font:inherit;margin-bottom:.85rem;font-size:.78rem;display:block}.footer-col[data-astro-cid-nns7i3if] button[data-astro-cid-nns7i3if]{cursor:pointer;background:0 0;border:0;padding:0}.footer-col[data-astro-cid-nns7i3if] a[data-astro-cid-nns7i3if].is-external{grid-template-columns:auto auto;align-items:center;gap:2px;display:grid}.footer-col[data-astro-cid-nns7i3if] a[data-astro-cid-nns7i3if]:hover,.footer-col[data-astro-cid-nns7i3if] button[data-astro-cid-nns7i3if]:hover{color:var(--color-signal)}.footer-bottom[data-astro-cid-nns7i3if]{border-top:1px solid var(--color-rule);color:var(--color-muted);font:500 calc(.57rem + 2px) var(--font-utility);letter-spacing:.07em;text-transform:uppercase;justify-content:space-between;gap:2rem;padding:1.2rem 0;display:flex}.footer-legal[data-astro-cid-nns7i3if]{flex-wrap:wrap;align-items:center;gap:.5rem .72rem;display:flex}.footer-legal[data-astro-cid-nns7i3if]>[data-astro-cid-nns7i3if]{white-space:nowrap;flex:none}.footer-legal__separator[data-astro-cid-nns7i3if]{color:var(--color-subtle)}.footer-legal[data-astro-cid-nns7i3if] a[data-astro-cid-nns7i3if]{border-bottom:1px solid var(--color-rule);transition:border-color .16s,color .16s}.footer-legal[data-astro-cid-nns7i3if] a[data-astro-cid-nns7i3if]:hover{border-color:var(--color-ink);color:var(--color-ink)}@media (width<=70rem){.footer-grid[data-astro-cid-nns7i3if]{grid-template-columns:1.4fr repeat(3,minmax(0,1fr))}.footer-brand[data-astro-cid-nns7i3if]{grid-row:span 2}}@media (width<=44rem){.footer-grid[data-astro-cid-nns7i3if]{grid-template-columns:1fr 1fr;gap:2.25rem 1.25rem;padding-block:3rem}.footer-brand[data-astro-cid-nns7i3if]{grid-area:auto/1/auto/-1}.footer-brand[data-astro-cid-nns7i3if] p[data-astro-cid-nns7i3if]{margin-top:1rem;font-size:.78rem}.footer-col[data-astro-cid-nns7i3if] h2[data-astro-cid-nns7i3if]{margin-bottom:1rem}.footer-col[data-astro-cid-nns7i3if] a[data-astro-cid-nns7i3if],.footer-col[data-astro-cid-nns7i3if] button[data-astro-cid-nns7i3if]{margin-bottom:.7rem;font-size:.74rem;line-height:1.45}.footer-bottom[data-astro-cid-nns7i3if]{flex-direction:column;gap:.6rem}.footer-legal[data-astro-cid-nns7i3if]{align-items:flex-start}.footer-legal__separator[data-astro-cid-nns7i3if]{display:none}}:root,html[data-theme=light]{color-scheme:light;--color-paper:#fff;--color-white:#fff;--color-ink:#080808;--color-muted:#666;--color-rule:#d9dbde;--color-dash:#a8acb2;--color-corner-strong:#161616;--color-panel:#f4f4f2;--color-grid:#e9eaec;--color-signal:#080808;--color-signal-pale:#efefef;--color-muted-strong:#4f535a;--color-subtle:#8b9098;--color-diff-add:#0b6b3a;--color-diff-add-bg:#e8f4ec;--color-diff-remove:#a72c43;--color-diff-remove-bg:#f7e8ec;--ascii-accent:#9c5365;--ascii-wave-base:#cfd1d4;--ascii-wave-crest:#6f1f39;--ascii-panel:#fff;--ascii-ink:#111317;--ascii-muted:#6f747c;--ascii-rule:#d9dbde;--brand-logo-filter:none;--brand-logo-on-ink-filter:invert(1) brightness(1.12);--font-display:"IBM Plex Sans", "PingFang SC", "Microsoft YaHei", sans-serif;--font-body:"IBM Plex Sans", "PingFang SC", "Microsoft YaHei", sans-serif;--font-utility:"IBM Plex Mono", SFMono-Regular, Menlo, monospace;--page-gutter:clamp(1rem, 3vw, 2.5rem);--page-width:82rem;--rule:1px solid var(--color-rule)}html[data-theme=dark]{color-scheme:dark;--color-paper:#08090b;--color-white:#08090b;--color-ink:#f2f0ec;--color-muted:#9b9fa7;--color-rule:#292b30;--color-dash:#52565e;--color-corner-strong:#f2f0ec;--color-panel:#101114;--color-grid:#1a1c20;--color-signal:#f2f0ec;--color-signal-pale:#1b1d21;--color-muted-strong:#c4c7cc;--color-subtle:#737880;--color-diff-add:#80d6a1;--color-diff-add-bg:#12251a;--color-diff-remove:#f28b9d;--color-diff-remove-bg:#2b171c;--ascii-accent:#c06a7d;--ascii-wave-base:#4a3f44;--ascii-wave-crest:#f49ab0;--ascii-panel:#0b0c0f;--ascii-ink:#f3f1ed;--ascii-muted:#969ba4;--ascii-rule:#2a2d32;--brand-logo-filter:invert(1) brightness(1.12);--brand-logo-on-ink-filter:none}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);scroll-behavior:smooth;text-rendering:optimizelegibility;scroll-padding-top:4.5rem}body{background:var(--color-paper);min-width:20rem;min-height:100vh;color:var(--color-ink);-webkit-font-smoothing:antialiased;margin:0;transition:background-color .2s,color .2s;overflow-x:hidden}a{color:inherit;text-decoration:none}img,svg,canvas{max-width:100%;display:block}.brand-logo{object-fit:contain;width:100%;height:100%;display:block}.brand-logo--themed{filter:var(--brand-logo-filter)}.brand-logo--on-ink{filter:var(--brand-logo-on-ink-filter)}.brand-logo--inverse{filter:invert()brightness(1.12)}button,input,select,textarea{color:inherit;font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--color-ink);outline-offset:3px}::selection{background:var(--color-ink);color:var(--color-paper)}[data-auth-account]{display:none!important}html[data-auth-state=authenticated] [data-auth-account]{display:flex!important}html[data-auth-state=authenticated] [data-auth-guest]{display:none!important}.cut-button{--cut-size:.48rem;--cut-border:1px;--cut-inner-size:calc(var(--cut-size) - var(--cut-border));--cut-edge:var(--color-ink);--cut-fill:var(--color-paper);isolation:isolate;appearance:none;background:var(--cut-edge);clip-path:polygon(0 0, calc(100% - var(--cut-size)) 0, 100% var(--cut-size), 100% 100%, 0 100%);border:0;border-radius:0;position:relative;overflow:hidden}.cut-button:before{z-index:-1;inset:var(--cut-border);background:var(--cut-fill);clip-path:polygon(0 0, calc(100% - var(--cut-inner-size)) 0, 100% var(--cut-inner-size), 100% 100%, 0 100%);content:"";pointer-events:none;transition:background-color .16s;position:absolute}.page-grid{width:min(100%, var(--page-width));padding-inline:var(--page-gutter);margin-inline:auto}.site-shell{flex-direction:column;min-height:100vh;display:flex}main{flex:1}::view-transition-old(root),::view-transition-new(root){mix-blend-mode:normal;animation:none}.route-block-enter{animation:.58s cubic-bezier(.16,1,.3,1) backwards route-block-enter;animation-delay:calc(min(var(--route-block-index,0), 7) * 70ms)}@keyframes route-block-enter{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}.site-header{z-index:50;pointer-events:none;padding:0;position:fixed;top:0;left:0;right:0}.site-header__inner{--header-cut:.86rem;--header-edge:color-mix(in srgb, var(--color-ink) 18%, var(--color-rule));isolation:isolate;pointer-events:auto;background:0 0;border:0;grid-template-columns:minmax(11.5rem,.66fr) minmax(0,2.34fr);width:100%;height:3.65rem;display:grid;position:relative;overflow:visible}.site-header__inner:before{z-index:0;background:color-mix(in srgb, var(--color-paper) 96%, transparent);backdrop-filter:blur(12px);clip-path:polygon(0 0, 100% 0, 100% calc(100% - var(--header-cut)), calc(100% - var(--header-cut)) 100%, var(--header-cut) 100%, 0 calc(100% - var(--header-cut)));content:"";transition:background-color .2s;position:absolute;inset:0}.site-header__inner:after{z-index:2;background:linear-gradient(var(--header-edge), var(--header-edge)) center top / 100% 1px no-repeat, linear-gradient(var(--header-edge), var(--header-edge)) left top / 1px calc(100% - var(--header-cut)) no-repeat, linear-gradient(var(--header-edge), var(--header-edge)) right top / 1px calc(100% - var(--header-cut)) no-repeat, linear-gradient(45deg, transparent 46%, var(--header-edge) 47%, var(--header-edge) 53%, transparent 54%) left bottom / var(--header-cut) var(--header-cut) no-repeat, linear-gradient(135deg, transparent 46%, var(--header-edge) 47%, var(--header-edge) 53%, transparent 54%) right bottom / var(--header-cut) var(--header-cut) no-repeat, linear-gradient(var(--header-edge), var(--header-edge)) center bottom / calc(100% - (var(--header-cut) * 2) + 2px) 1px no-repeat;content:"";pointer-events:none;position:absolute;inset:0}.site-header__inner>*{z-index:1;position:relative}.site-header.is-scrolled .site-header__inner:before{background:color-mix(in srgb, var(--color-paper) 98%, transparent)}.wordmark{min-width:0;padding:0 var(--page-gutter);font:600 calc(.82rem + 2px)/1 var(--font-display);letter-spacing:-.02em;align-items:center;gap:.62rem;display:flex}.wordmark__mark{background:0 0;border:0;flex:none;place-items:center;width:1.85rem;height:1.85rem;padding:.29rem;display:grid}.wordmark__copy{flex-direction:column;gap:.25rem;min-width:0;display:flex}.wordmark__name{white-space:nowrap}.wordmark small{color:var(--color-muted);font:500 calc(.37rem + 2px)/1 var(--font-utility);letter-spacing:.075em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.desktop-navigation{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;min-width:0;display:grid;position:static}.desktop-navigation__links,.desktop-navigation__actions{align-items:stretch;min-width:0;display:flex}.desktop-navigation__links{--desktop-nav-optical-gap:2rem;z-index:3;gap:var(--desktop-nav-optical-gap);width:max-content;height:100%;position:absolute;top:0;left:50%;transform:translate(-50%)}.desktop-navigation__actions{padding-right:var(--page-gutter);grid-column:2;justify-content:flex-end}.desktop-navigation__links>a,.product-navigation__root,.desktop-navigation__actions>a,.desktop-navigation__actions>button{min-width:3.8rem;color:var(--color-muted-strong);font:500 calc(.51rem + 4px) var(--font-utility);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:.35rem;padding:0 .66rem;display:flex;position:relative}.desktop-navigation__links>a{width:auto;min-width:0;padding:0}.desktop-navigation__links>a:first-child{padding-inline:.5rem}.product-navigation{align-items:stretch;width:auto;min-width:0;display:flex;position:relative}.product-navigation__root{width:auto;min-width:0;height:100%;padding:0}.product-navigation__root:focus-visible{outline:0}.product-navigation__toggle{--nav-toggle-hit:1.25rem;--nav-toggle-mark:.42rem;z-index:1;width:var(--nav-toggle-hit);min-width:0;height:100%;margin-right:calc((var(--nav-toggle-mark) - var(--nav-toggle-hit)) / 2);color:var(--color-muted-strong);cursor:pointer;background:0 0;border:0;place-items:center;margin-left:.15rem;padding:0;display:grid;position:relative}.product-navigation__toggle:focus-visible{outline:0}.product-navigation__toggle-mark{width:var(--nav-toggle-mark);height:var(--nav-toggle-mark);position:relative}.product-navigation__toggle-mark:before,.product-navigation__toggle-mark:after{content:"";background:currentColor;width:.42rem;height:1px;transition:transform .14s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.product-navigation__toggle-mark:after{transform:translate(-50%,-50%)rotate(90deg)}.product-navigation.is-open .product-navigation__toggle-mark:after{transform:translate(-50%,-50%)rotate(0)}.desktop-navigation__label{--nav-corner-gap:.5rem;justify-content:center;align-items:center;padding-block:calc(.16rem + 4px);line-height:1;display:inline-flex;position:relative}.desktop-navigation__label:before,.desktop-navigation__label:after{opacity:0;content:"";width:.4rem;height:.4rem;transition:opacity .14s,transform .14s;position:absolute}.desktop-navigation__label:before{top:-.11rem;left:calc(-1 * var(--nav-corner-gap));border-top:1px solid var(--color-ink);border-left:1px solid var(--color-ink);transform:translate(.1rem,.1rem)}.desktop-navigation__label:after{right:calc(-1 * var(--nav-corner-gap));border-right:1px solid var(--color-ink);border-bottom:1px solid var(--color-ink);bottom:-.11rem;transform:translate(-.1rem,-.1rem)}.resource-navigation .desktop-navigation__label:before,.resource-navigation .desktop-navigation__label:after{display:none}.desktop-navigation__links>a:focus-visible{outline:0}.desktop-navigation__links>a:hover,.desktop-navigation__links>a:focus-visible,.desktop-navigation__links>a[aria-current=page],.product-navigation.is-current>.product-navigation__root,.product-navigation.is-open>.product-navigation__root,.product-navigation__root:hover,.product-navigation__root:focus-visible,.product-navigation__toggle:hover,.product-navigation__toggle:focus-visible,.product-navigation.is-open>.product-navigation__toggle{color:var(--color-ink)}.desktop-navigation__links>a:hover .desktop-navigation__label:before,.desktop-navigation__links>a:hover .desktop-navigation__label:after,.desktop-navigation__links>a:focus-visible .desktop-navigation__label:before,.desktop-navigation__links>a:focus-visible .desktop-navigation__label:after,.desktop-navigation__links>a[aria-current=page] .desktop-navigation__label:before,.desktop-navigation__links>a[aria-current=page] .desktop-navigation__label:after,.product-navigation.is-current>.product-navigation__root .desktop-navigation__label:before,.product-navigation.is-current>.product-navigation__root .desktop-navigation__label:after,.product-navigation.is-open>.product-navigation__root .desktop-navigation__label:before,.product-navigation.is-open>.product-navigation__root .desktop-navigation__label:after,.product-navigation__root:hover .desktop-navigation__label:before,.product-navigation__root:hover .desktop-navigation__label:after,.product-navigation__root:focus-visible .desktop-navigation__label:before,.product-navigation__root:focus-visible .desktop-navigation__label:after{opacity:1;transform:translate(0)}.product-navigation__panel{--product-menu-outline:color-mix(in srgb, var(--color-ink) 13%, var(--color-rule));z-index:80;background:var(--product-menu-outline);clip-path:polygon(0 0,calc(100% - .8rem) 0,100% .8rem,100% 100%,.8rem 100%,0 calc(100% - .8rem));width:min(38rem,100vw - 2rem);padding:1px;position:absolute;top:calc(100% + .45rem);left:50%;transform:translate(-36%)}.product-navigation__panel[hidden]{display:none}.product-navigation__surface{background:var(--color-paper);clip-path:polygon(0 0,calc(100% - .76rem) 0,100% .76rem,100% 100%,.76rem 100%,0 calc(100% - .76rem))}.product-navigation__surface>header,.product-navigation__surface>footer{min-height:2rem;color:var(--color-subtle);font:500 calc(.43rem + 2px)/1.2 var(--font-utility);letter-spacing:.055em;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.product-navigation__surface>header{border-bottom:1px solid var(--color-rule)}.product-navigation__surface>header small{font:inherit}.product-navigation__surface>footer{border-top:1px solid var(--color-rule)}.resource-navigation .product-navigation__panel{width:min(36rem,100vw - 2rem);transform:translate(-42%)}.product-navigation__grid{grid-template-columns:1fr 1fr;display:grid}.product-navigation__grid>a{--product-menu-corner:var(--color-dash);--product-menu-corner-size:.72rem;border-right:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule);background:var(--color-paper);min-height:5rem;color:var(--color-ink);grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.72rem .75rem;display:grid;position:relative}.product-navigation__grid>a:after{z-index:2;background:repeating-linear-gradient(to right, var(--product-menu-corner) 0 .18rem, transparent .18rem .28rem) left top / var(--product-menu-corner-size) 1px no-repeat, repeating-linear-gradient(to bottom, var(--product-menu-corner) 0 .18rem, transparent .18rem .28rem) left top / 1px var(--product-menu-corner-size) no-repeat, repeating-linear-gradient(to left, var(--product-menu-corner) 0 .18rem, transparent .18rem .28rem) right top / var(--product-menu-corner-size) 1px no-repeat, repeating-linear-gradient(to bottom, var(--product-menu-corner) 0 .18rem, transparent .18rem .28rem) right top / 1px var(--product-menu-corner-size) no-repeat, repeating-linear-gradient(to right, var(--product-menu-corner) 0 .18rem, transparent .18rem .28rem) left bottom / var(--product-menu-corner-size) 1px no-repeat, repeating-linear-gradient(to top, var(--product-menu-corner) 0 .18rem, transparent .18rem .28rem) left bottom / 1px var(--product-menu-corner-size) no-repeat, repeating-linear-gradient(to left, var(--product-menu-corner) 0 .18rem, transparent .18rem .28rem) right bottom / var(--product-menu-corner-size) 1px no-repeat, repeating-linear-gradient(to top, var(--product-menu-corner) 0 .18rem, transparent .18rem .28rem) right bottom / 1px var(--product-menu-corner-size) no-repeat;opacity:0;content:"";pointer-events:none;transition:opacity .14s;position:absolute;inset:.28rem}.product-navigation__grid>a:nth-child(2n){border-right:0}.product-navigation__grid>a:last-child{border-bottom:0;border-right:0;grid-column:1/-1;min-height:4.25rem}.product-navigation__glyph{border:1px solid var(--color-rule);place-items:center;width:2rem;height:2rem;font-size:calc(.48rem + 2px);display:grid}.product-navigation__copy{grid-template-columns:auto 1fr;align-items:baseline;column-gap:.48rem;min-width:0;display:grid}.product-navigation__copy small{color:var(--color-subtle);font-size:calc(.39rem + 3px)}.product-navigation__copy b{font:600 calc(.65rem + 3px)/1.2 var(--font-body)}.product-navigation__copy em{color:var(--color-muted);font:400 calc(.51rem + 3px)/1.4 var(--font-body);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;margin-top:.32rem;overflow:hidden}.product-navigation__arrow{color:var(--color-subtle);font-size:calc(.56rem + 2px)}.product-navigation__grid>a:hover,.product-navigation__grid>a:focus-visible,.product-navigation__grid>a[aria-current=page]{--product-menu-corner:var(--color-corner-strong);background:var(--color-paper);color:var(--color-ink)}.product-navigation__grid>a:focus-visible{outline:0}.product-navigation__grid>a:hover:after,.product-navigation__grid>a:focus-visible:after,.product-navigation__grid>a[aria-current=page]:after{opacity:1}.product-navigation__grid>a:hover .product-navigation__glyph,.product-navigation__grid>a:focus-visible .product-navigation__glyph,.product-navigation__grid>a[aria-current=page] .product-navigation__glyph{border-color:var(--product-menu-corner)}.theme-toggle{min-width:3rem!important}.theme-toggle span{font-size:.72rem}.theme-toggle em{font-size:inherit;white-space:nowrap;font-style:normal}.desktop-navigation__actions .nav-login{--cut-fill:var(--color-ink);min-width:5.2rem;min-height:1.9rem;color:var(--color-paper);border-radius:0;align-self:center;margin:0 .48rem;padding-inline:.8rem}.desktop-navigation__actions .nav-login b{font-size:.7rem;font-weight:500;transition:transform .18s}.desktop-navigation__actions .nav-login:hover{--cut-fill:var(--color-paper);color:var(--color-ink)}.desktop-navigation__actions .nav-login:hover b{transform:translate(.12rem,-.12rem)}.mobile-navigation{display:none}.site-shell main>.page-hero{padding-top:clamp(9rem,12vw,11rem)!important}.site-footer{--footer-cut:.86rem;--footer-border:1px;--footer-inner-cut:calc(var(--footer-cut) - var(--footer-border));--footer-edge:color-mix(in srgb, var(--color-ink) 18%, var(--color-rule));isolation:isolate;background:var(--color-paper);color:var(--color-ink);border-top:0;margin-top:0;position:relative}.site-footer:before,.site-footer:after{content:"";pointer-events:none;position:absolute;inset:0}.site-footer:before{z-index:0;background:var(--footer-edge);clip-path:polygon(var(--footer-cut) 0, calc(100% - var(--footer-cut)) 0, 100% var(--footer-cut), 100% 100%, 0 100%, 0 var(--footer-cut))}.site-footer:after{z-index:1;inset:var(--footer-border);background:var(--color-paper);clip-path:polygon(var(--footer-inner-cut) 0, calc(100% - var(--footer-inner-cut)) 0, 100% var(--footer-inner-cut), 100% 100%, 0 100%, 0 var(--footer-inner-cut));transition:background-color .2s}.site-footer__inner{z-index:2;display:block;position:relative}.skip-link{z-index:100;color:#fff;font:500 .65rem var(--font-utility);background:#000;border:1px solid #fff;padding:.65rem .85rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}@media (prefers-reduced-motion:reduce){.route-block-enter{animation:none}}@media (width<=68rem){.site-header__inner{padding-right:env(safe-area-inset-right);padding-left:env(safe-area-inset-left);grid-template-columns:minmax(0,1fr) auto}.desktop-navigation{display:none}.mobile-navigation{align-items:stretch;min-width:5.75rem;display:grid;position:relative}.mobile-navigation summary{min-height:100%;color:var(--color-ink);font:600 calc(.58rem + 2px) var(--font-utility);letter-spacing:.08em;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:.45rem;padding:.72rem .85rem;list-style:none;display:flex}.mobile-navigation summary::-webkit-details-marker{display:none}.mobile-navigation summary b{font-size:.9rem;font-weight:400;line-height:1}.mobile-navigation__close-label,.mobile-navigation[open] .mobile-navigation__menu-label{display:none}.mobile-navigation[open] .mobile-navigation__close-label{display:inline}.mobile-navigation[open] summary b{transform:rotate(45deg)}.mobile-navigation nav{--mobile-navigation-cut:.65rem;--mobile-navigation-border:1px;--mobile-navigation-inner-cut:calc(var(--mobile-navigation-cut) - var(--mobile-navigation-border));top:4.1rem;right:max(.5rem, env(safe-area-inset-right));left:max(.5rem, env(safe-area-inset-left));background:var(--color-ink);width:auto;clip-path:polygon(0 0, calc(100% - var(--mobile-navigation-cut)) 0, 100% var(--mobile-navigation-cut), 100% 100%, var(--mobile-navigation-cut) 100%, 0 calc(100% - var(--mobile-navigation-cut)));border:0;display:block;position:fixed;overflow:hidden}.mobile-navigation__surface{width:calc(100% - (var(--mobile-navigation-border) * 2));max-height:calc(100dvh - 4.6rem - env(safe-area-inset-bottom) - (var(--mobile-navigation-border) * 2));margin:var(--mobile-navigation-border);overscroll-behavior:contain;background:var(--color-paper);clip-path:polygon(0 0, calc(100% - var(--mobile-navigation-inner-cut)) 0, 100% var(--mobile-navigation-inner-cut), 100% 100%, var(--mobile-navigation-inner-cut) 100%, 0 calc(100% - var(--mobile-navigation-inner-cut)));scrollbar-width:thin;display:grid;overflow:hidden auto}.mobile-navigation a,.mobile-navigation__surface>button{border:0;border-bottom:1px solid var(--color-rule);background:var(--color-paper);min-height:3rem;color:var(--color-ink);font:500 calc(.62rem + 2px) var(--font-utility);text-align:left;justify-content:space-between;align-items:center;padding:.8rem 1rem;display:flex}.mobile-navigation__section-root{background:var(--color-panel)!important;min-height:3.35rem!important;font-weight:600!important}.mobile-navigation__section-root b{color:var(--color-subtle);font:500 calc(.42rem + 2px) var(--font-utility);letter-spacing:.06em}.mobile-navigation__product{grid-template-columns:1fr 1fr;display:grid}.mobile-navigation__product p{border-bottom:1px solid var(--color-rule);color:var(--color-subtle);font:500 calc(.43rem + 2px) var(--font-utility);letter-spacing:.07em;grid-column:1/-1;margin:0;padding:.7rem 1rem}.mobile-navigation__product a:nth-of-type(odd){border-right:1px solid var(--color-rule)}.mobile-navigation__resource a:last-child{border-right:0;grid-column:1/-1}.mobile-navigation__product a[aria-current=page]{background:var(--color-panel)}.mobile-navigation__surface>[data-auth-guest],.mobile-navigation__surface>[data-auth-account]{background:var(--color-ink);color:var(--color-paper);cursor:pointer;border-bottom:0}.mobile-navigation a[aria-current=page]{background:var(--color-panel)}}html[data-theme=dark] main :where(p,dd){color:var(--color-muted)}@media (width<=42rem){.site-header__inner{height:3.65rem}.wordmark{padding-right:.75rem;padding-left:max(1rem, env(safe-area-inset-left))}.wordmark__mark{width:1.75rem;height:1.75rem}.wordmark__name{font-size:calc(.78rem + 2px)}.wordmark small{display:none}.mobile-navigation{min-width:5rem}.mobile-navigation summary{padding-inline:.6rem}.mobile-navigation__product{grid-template-columns:1fr}.mobile-navigation__product p,.mobile-navigation__resource a:last-child{grid-column:auto}.mobile-navigation__product a:nth-of-type(odd){border-right:0}.site-shell main>.page-hero{padding-top:7rem!important}}@media (pointer:coarse){.mobile-navigation a,.mobile-navigation__surface>button,.mobile-navigation summary{min-height:2.75rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:where(#auth-modal-root) .auth-overlay{z-index:100;backdrop-filter:blur(6px);background:#0a0a0a61;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}:where(#auth-modal-root) .auth-modal-enter-active,:where(#auth-modal-root) .auth-modal-leave-active{transition:opacity .22s}:where(#auth-modal-root) .auth-modal-enter-from,:where(#auth-modal-root) .auth-modal-leave-to{opacity:0}:where(#auth-modal-root) .auth-card{--auth-card-cut:14px;width:min(780px,100%);min-height:520px;clip-path:polygon(0 0, calc(100% - var(--auth-card-cut)) 0, 100% var(--auth-card-cut), 100% 100%, var(--auth-card-cut) 100%, 0 calc(100% - var(--auth-card-cut)));background:#fff;border:0;border-radius:0;transition:transform .26s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden}:where(#auth-modal-root) .auth-modal-enter-from .auth-card,:where(#auth-modal-root) .auth-modal-leave-to .auth-card{transform:translateY(14px)scale(.985)}:where(#auth-modal-root) .auth-visual{color:#fff;background:#0a0a0a;flex-direction:column;flex:0 0 42%;justify-content:space-between;width:42%;padding:28px 26px;display:flex;position:relative;overflow:hidden}:where(#auth-modal-root) .auth-visual__texture{z-index:0;opacity:.72;position:absolute;inset:0}:where(#auth-modal-root) .auth-visual__texture .ascii-scene{min-height:100%}:where(#auth-modal-root) .auth-visual__texture:after{content:"";background:linear-gradient(#0a0a0a14,#0a0a0a7a 70%,#0a0a0a);position:absolute;inset:0}:where(#auth-modal-root) .auth-brand,:where(#auth-modal-root) .auth-visual__copy,:where(#auth-modal-root) .activity-log,:where(#auth-modal-root) .auth-terminal{z-index:2;position:relative}:where(#auth-modal-root) .auth-brand{font:700 12px var(--font-utility);align-items:center;gap:9px;display:flex}:where(#auth-modal-root) .auth-brand>span{background:0 0;border:0;place-items:center;width:30px;height:30px;padding:5px;display:grid}:where(#auth-modal-root) .auth-visual__copy{margin-top:28px}:where(#auth-modal-root) .auth-overline{letter-spacing:.09em;color:#ffffff6b!important;font:500 9px var(--font-utility)!important;margin:0 0 12px!important}:where(#auth-modal-root) .auth-visual__copy h2{max-width:12ch;font:400 28px/1.02 var(--font-display);letter-spacing:-.03em;margin:0 0 11px}:where(#auth-modal-root) .auth-visual__copy p{color:#c9c9c9;max-width:32ch;margin:0;font-size:12.5px;line-height:1.6}:where(#auth-modal-root) .activity-log{margin-top:22px}:where(#auth-modal-root) .activity-log>p{color:#ffffff6b;font:600 9px var(--font-utility);letter-spacing:.08em;margin:0 0 9px}:where(#auth-modal-root) .activity-log>div{color:#ffffff9e;border-bottom:1px solid #ffffff17;grid-template-columns:34px 5px 1fr auto;align-items:center;gap:7px;padding:7px 0;font-size:11px;display:grid}:where(#auth-modal-root) .activity-log time{color:#ffffff52;font:9px var(--font-utility)}:where(#auth-modal-root) .activity-log i{background:#ffffff47;border-radius:50%;width:5px;height:5px}:where(#auth-modal-root) .activity-log i.is-active{background:#fff}:where(#auth-modal-root) .activity-log b{color:#ffffff59;font:8px var(--font-utility)}:where(#auth-modal-root) .auth-terminal{border-top:1px dashed #ffffff3d;padding-top:13px}:where(#auth-modal-root) .auth-terminal>div{color:#ffffff70;font:600 9px var(--font-utility);letter-spacing:.08em;justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}:where(#auth-modal-root) .auth-terminal b{color:#fff}:where(#auth-modal-root) .auth-terminal code{color:#ffffffa8;font:10px/1.6 var(--font-utility);background:#ffffff0a;border:1px solid #ffffff1f;padding:9px 11px;display:block}:where(#auth-modal-root) .auth-main{color:#0a0a0a;background:#fff;flex:1;padding:35px 34px 30px;position:relative}:where(#auth-modal-root) .auth-close{--auth-control-cut:6px;z-index:2;width:32px;height:32px;clip-path:polygon(0 0, calc(100% - var(--auth-control-cut)) 0, 100% var(--auth-control-cut), 100% 100%, 0 100%);color:#6b6b6b;cursor:pointer;background:0 0;border:0;border-radius:0;place-items:center;padding:0;font-size:21px;transition:background-color .16s,color .16s;display:grid;position:absolute;top:13px;right:16px}:where(#auth-modal-root) .auth-close:hover,:where(#auth-modal-root) .auth-close:focus-visible{color:#000;background:#ededed;outline:0}:where(#auth-modal-root) .auth-main header{text-align:center;margin-bottom:21px}:where(#auth-modal-root) .auth-main header>p{color:#999;font:500 9px var(--font-utility);letter-spacing:.08em;margin:0 0 10px}:where(#auth-modal-root) .auth-main header>p span{color:#0a0a0a}:where(#auth-modal-root) .auth-main header h2{font:400 28px var(--font-display);letter-spacing:-.025em;margin:0 0 5px}:where(#auth-modal-root) .auth-main header>span{color:#6b6b6b;font-size:13px}:where(#auth-modal-root) .auth-main form{gap:13px;display:grid}:where(#auth-modal-root) .auth-main label>span:first-child{margin-bottom:6px;font-size:12.5px;font-weight:500;display:block}:where(#auth-modal-root) .input-wrap{--auth-input-cut:9px;isolation:isolate;clip-path:polygon(0 0, calc(100% - var(--auth-input-cut)) 0, 100% var(--auth-input-cut), 100% 100%, var(--auth-input-cut) 100%, 0 calc(100% - var(--auth-input-cut)));background:#f3f3f1;border:0;border-radius:0;align-items:center;transition:background-color .18s;display:flex;position:relative;overflow:hidden}:where(#auth-modal-root) .input-wrap:focus-within{background:#ececea;outline:0}:where(#auth-modal-root) .input-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;color:#999;pointer-events:none;width:16px;height:16px;position:absolute;left:12px}:where(#auth-modal-root) .input-wrap input{color:#0a0a0a;background:0 0;border:0;outline:0;width:100%;padding:11px 13px 11px 36px;font-size:14px}:where(#auth-modal-root) .input-wrap--password input{padding-right:48px}:where(#auth-modal-root) .password-visibility{--auth-control-cut:5px;z-index:3;width:28px;height:28px;clip-path:polygon(0 0, calc(100% - var(--auth-control-cut)) 0, 100% var(--auth-control-cut), 100% 100%, 0 100%);color:#777;cursor:pointer;background:0 0;border:0;border-radius:0;place-items:center;padding:0;transition:background-color .16s,color .16s;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}:where(#auth-modal-root) .password-visibility:hover{color:#0a0a0a;background:#0a0a0a0f}:where(#auth-modal-root) .password-visibility:focus-visible{color:#0a0a0a;background:#0a0a0a17;outline:0}:where(#auth-modal-root) .password-visibility svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;width:16px;height:16px}:where(#auth-modal-root) .input-wrap input::placeholder{color:#bdbdbd}:where(#auth-modal-root) .form-options{justify-content:space-between;align-items:center;margin:2px 0;display:flex}:where(#auth-modal-root) .form-options>span{color:#888;font-size:12px}:where(#auth-modal-root) .form-options button{color:#0a0a0a;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;font-weight:500}:where(#auth-modal-root) .form-options button:hover{text-decoration:underline}:where(#auth-modal-root) .input-wrap--code input{padding-right:7rem}:where(#auth-modal-root) .input-wrap--code button{--auth-control-cut:5px;--auth-code-border:1px;--auth-code-inner-cut:calc(var(--auth-control-cut) - var(--auth-code-border));--auth-code-edge:#d2d2d2;--auth-code-fill:#f4f4f2;isolation:isolate;appearance:none;background:var(--auth-code-edge);min-width:5.25rem;height:28px;clip-path:polygon(0 0, calc(100% - var(--auth-control-cut)) 0, 100% var(--auth-control-cut), 100% 100%, 0 100%);color:#111;font:600 10px var(--font-utility);cursor:pointer;border:0;border-radius:0;padding:0 .65rem;transition:background-color .16s,color .16s;position:absolute;top:50%;right:12px;overflow:hidden;transform:translateY(-50%)}:where(#auth-modal-root) .input-wrap--code button:before{z-index:-1;inset:var(--auth-code-border);background:var(--auth-code-fill);clip-path:polygon(0 0, calc(100% - var(--auth-code-inner-cut)) 0, 100% var(--auth-code-inner-cut), 100% 100%, 0 100%);content:"";pointer-events:none;transition:background-color .16s;position:absolute}:where(#auth-modal-root) .input-wrap--code button:hover,:where(#auth-modal-root) .input-wrap--code button:focus-visible{background:#bcbcb8;outline:0}:where(#auth-modal-root) .input-wrap--code button:hover:before,:where(#auth-modal-root) .input-wrap--code button:focus-visible:before{background:#e8e8e5}:where(#auth-modal-root) .input-wrap--code button:disabled{color:#999;cursor:wait}:where(#auth-modal-root) .auth-error{color:#703b49;background:#f7eef1;border:0;margin:0;padding:.65rem .75rem;font-size:12px;line-height:1.5}:where(#auth-modal-root) .auth-submit,:where(#auth-modal-root) .auth-social{cursor:pointer;border-radius:0;justify-content:center;align-items:center;width:100%;min-height:43px;display:flex}:where(#auth-modal-root) .auth-submit{color:#fff;font:600 12px var(--font-utility);background:#0a0a0a;border:1px solid #0a0a0a;gap:8px}:where(#auth-modal-root) .auth-submit:hover{background:#333;border-color:#000}:where(#auth-modal-root) .auth-submit:disabled{cursor:wait;background:#555}:where(#auth-modal-root) .auth-submit span{opacity:0;transition:opacity .2s,transform .2s;transform:translate(-6px)}:where(#auth-modal-root) .auth-submit:hover span{opacity:1;transform:translate(0)}:where(#auth-modal-root) .auth-switch{color:#6b6b6b;text-align:center;margin:18px 0 0;font-size:13px}:where(#auth-modal-root) .auth-switch button{color:#0a0a0a;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}:where(#auth-modal-root) .auth-switch button:hover{text-decoration:underline}:where(#auth-modal-root) .terms{color:#6b6b6b;align-items:flex-start;gap:7px;font-size:12px;line-height:1.5;display:flex}:where(#auth-modal-root) .terms input{accent-color:#0a0a0a;width:14px;height:14px}:where(#auth-modal-root) .terms>span{margin:0!important}:where(#auth-modal-root) .terms a{color:#111;border-bottom:1px solid #aaa}@media (width<=680px){:where(#auth-modal-root) .auth-overlay{padding:max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));align-items:flex-start;overflow-y:auto}:where(#auth-modal-root) .auth-card{width:min(400px,100%);min-height:0;max-height:calc(100dvh - 24px);margin-block:auto}:where(#auth-modal-root) .auth-visual{display:none}:where(#auth-modal-root) .auth-main{overscroll-behavior:contain;padding:46px 24px 28px;overflow-y:auto}:where(#auth-modal-root) .auth-close{width:38px;height:38px;top:9px;right:10px}}@media (width<=380px){:where(#auth-modal-root) .auth-main{padding:44px 18px 22px}:where(#auth-modal-root) .auth-main header{margin-bottom:17px}:where(#auth-modal-root) .auth-main form{gap:11px}:where(#auth-modal-root) .auth-switch{margin-top:15px}}@media (prefers-reduced-motion:reduce){:where(#auth-modal-root) .auth-modal-enter-active,:where(#auth-modal-root) .auth-modal-leave-active,:where(#auth-modal-root) .auth-card,:where(#auth-modal-root) .auth-submit span{transition:none;animation:none}}
