:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--ge-font-sans:"Geist Variable", Geist, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ge-font-mono:"Geist Mono Variable", "Geist Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;--ge-ink:var(--lightningcss-light,#0a0a0a)var(--lightningcss-dark,#fafafa);--ge-ink-hover:var(--lightningcss-light,#262626)var(--lightningcss-dark,#e5e5e5);--ge-on-ink:var(--lightningcss-light,#fff)var(--lightningcss-dark,#0a0a0a);--ge-paper:var(--lightningcss-light,#fff)var(--lightningcss-dark,#0a0a0a);--ge-text-strong:var(--lightningcss-light,#262626)var(--lightningcss-dark,#e5e5e5);--ge-text-secondary:var(--lightningcss-light,#595959)var(--lightningcss-dark,#a3a3a3);--ge-text-tertiary:var(--lightningcss-light,#6b6b6b)var(--lightningcss-dark,#8f8f8f);--ge-text-gutter:var(--lightningcss-light,#767676)var(--lightningcss-dark,#7a7a7a);--ge-surface-panel:var(--lightningcss-light,#fafafa)var(--lightningcss-dark,#141414);--ge-surface-code:var(--lightningcss-light,#f5f5f5)var(--lightningcss-dark,#1c1c1c);--ge-surface-hover:var(--lightningcss-light,#f2f2f2)var(--lightningcss-dark,#1c1c1c);--ge-surface-selection:var(--lightningcss-light,#d9d9d9)var(--lightningcss-dark,#3a3a3a);--ge-border-subtle:var(--lightningcss-light,#e8e8e8)var(--lightningcss-dark,#262626);--ge-border:var(--lightningcss-light,#e3e3e3)var(--lightningcss-dark,#2e2e2e);--ge-border-strong:var(--lightningcss-light,#d6d6d6)var(--lightningcss-dark,#3d3d3d);--ge-radius-6:6px;--ge-radius-8:8px;--ge-radius-9:9px;--ge-radius-12:12px;--ge-radius-16:16px;--ge-radius-full:999px;--ge-focus-width:2px;--ge-focus-offset:2px;--ge-duration-fast:.12s;--ge-ease:cubic-bezier(.2, 0, 0, 1);--site-width:1040px;--site-gutter:16px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--ge-paper);color:var(--ge-ink);font-family:var(--ge-font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.5}h1,h2,h3,p,ul,figure{margin:0}ul{padding:0;list-style:none}a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}:focus-visible{outline:var(--ge-focus-width) solid var(--ge-ink);outline-offset:var(--ge-focus-offset)}::selection{background:var(--ge-surface-selection);color:var(--ge-ink)}code,pre{font-family:var(--ge-font-mono)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:10;border-radius:var(--ge-radius-8);background:var(--ge-ink);color:var(--ge-on-ink);padding:8px 12px;font-size:14px;text-decoration:none;position:absolute;top:8px;left:8px;transform:translateY(-200%)}.skip-link:focus{transform:none}.container{width:100%;max-width:calc(var(--site-width) + 2 * var(--site-gutter));padding-inline:var(--site-gutter);margin-inline:auto}@media (width>=720px){:root{--site-gutter:32px}}.site-header{border-bottom:1px solid var(--ge-border-subtle)}.site-header__inner{justify-content:space-between;align-items:center;gap:16px;min-height:56px;display:flex}.logo{border-radius:var(--ge-radius-6);align-items:center;gap:8px;text-decoration:none;display:inline-flex}.logo__mark{flex:none}.logo__text{letter-spacing:-.03em;font-size:17px;font-weight:700}.site-nav{gap:4px;display:flex}.site-nav a{border-radius:var(--ge-radius-8);color:var(--ge-text-secondary);transition:background-color var(--ge-duration-fast) var(--ge-ease);padding:6px 10px;font-size:14px;text-decoration:none;display:inline-block}.site-nav a:hover,.site-nav a[aria-current=page]{background:var(--ge-surface-hover);color:var(--ge-ink)}@media (width<=479px){.site-nav{gap:0}.site-nav a{padding-inline:7px;font-size:13px}}.hero{padding-block:56px 48px}@media (width>=720px){.hero{padding-block:96px 72px}}.eyebrow{color:var(--ge-text-tertiary);margin-bottom:16px;font-size:13px;font-weight:500}.hero h1{letter-spacing:-.04em;text-wrap:balance;max-width:15em;font-size:clamp(34px,7vw,52px);font-weight:700;line-height:1.08}.lead{max-width:640px;color:var(--ge-text-secondary);margin-top:20px;font-size:17px;line-height:1.65}.actions{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.hint{color:var(--ge-text-tertiary);margin-top:12px;font-size:13px}.button{border-radius:var(--ge-radius-9);min-height:44px;font:inherit;text-align:center;transition:background-color var(--ge-duration-fast) var(--ge-ease), border-color var(--ge-duration-fast) var(--ge-ease);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:15px;font-weight:500;line-height:1.2;text-decoration:none;display:inline-flex}.button__icon{flex:none}.button--primary{background:var(--ge-ink);color:var(--ge-on-ink)}.button--primary:hover{background:var(--ge-ink-hover)}.button--secondary{border-color:var(--ge-border-strong);background:var(--ge-paper);color:var(--ge-ink)}.button--secondary:hover{background:var(--ge-surface-hover)}.button--small{border-color:var(--ge-border-strong);border-radius:var(--ge-radius-8);background:var(--ge-paper);min-height:36px;color:var(--ge-ink);padding:0 14px;font-size:14px}.button--small:hover{background:var(--ge-surface-hover)}.button--unavailable,.button--unavailable:hover{color:var(--ge-text-tertiary);cursor:default;background:0 0;border-style:dashed}@media (width<=479px){.actions .button{flex:100%}}.preview{border:1px solid var(--ge-border-subtle);border-radius:var(--ge-radius-16);grid-template-columns:minmax(0,1fr);margin-top:56px;display:grid;overflow:hidden}@media (width>=720px){.preview{grid-template-columns:repeat(2,minmax(0,1fr))}}.preview__pane{min-width:0;padding:20px}@media (width>=720px){.preview__pane{padding:28px 32px}}.preview__pane+.preview__pane{border-top:1px solid var(--ge-border-subtle);background:var(--ge-surface-panel)}@media (width>=720px){.preview__pane+.preview__pane{border-top:0;border-left:1px solid var(--ge-border-subtle)}}.preview__label{color:var(--ge-text-tertiary);margin-bottom:16px;font-size:12px;font-weight:500}.preview__doc{color:var(--ge-text-strong);font-size:15px;line-height:1.65}.preview__h{color:var(--ge-ink);letter-spacing:-.015em;margin-bottom:8px;font-size:22px;font-weight:700;line-height:1.3}.preview__tasks{gap:6px;margin-top:12px;display:grid}.preview__tasks li{align-items:center;gap:10px;display:flex}.preview__box{border:1.5px solid var(--ge-text-gutter);border-radius:4px;flex:none;width:15px;height:15px}.preview__box.is-checked{border-color:var(--ge-ink);background:var(--ge-ink);box-shadow:inset 0 0 0 2.5px var(--ge-paper)}.preview__doc code{background:var(--ge-surface-code);border-radius:5px;padding:1px 5px;font-size:.88em}.preview__source{color:var(--ge-text-strong);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.7}.features{padding-block:24px 56px}.feature-grid{grid-template-columns:minmax(0,1fr);gap:28px 40px;display:grid}@media (width>=720px){.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1000px){.feature-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.feature-grid li{border-top:1px solid var(--ge-border-subtle);padding-top:16px}.feature-grid h3{letter-spacing:-.01em;font-size:15px;font-weight:600}.feature-grid p{color:var(--ge-text-secondary);margin-top:6px;font-size:14px;line-height:1.6}.download{padding-block:48px 72px;scroll-margin-top:16px}.download h2{letter-spacing:-.025em;font-size:clamp(26px,4vw,30px);font-weight:700;line-height:1.2}.section-lead{max-width:640px;color:var(--ge-text-secondary);margin-top:10px;font-size:15px}.downloads{border:1px solid var(--ge-border-subtle);border-radius:var(--ge-radius-12);margin-top:28px;overflow:hidden}.download-item{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;padding:16px 20px;display:flex}.download-item+.download-item{border-top:1px solid var(--ge-border-subtle)}.download-item.is-recommended{background:var(--ge-surface-panel);box-shadow:inset 3px 0 0 var(--ge-ink)}.download-item__text{flex:260px;min-width:0}.download-item__name{flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:15px;font-weight:600;display:flex}.download-item__detail{color:var(--ge-text-secondary);margin-top:2px;font-size:14px}.download-item__version{color:var(--ge-text-tertiary);margin-top:2px;font-size:13px}.badge{border:1px solid var(--ge-border-strong);border-radius:var(--ge-radius-full);color:var(--ge-text-strong);padding:1px 8px;font-size:12px;font-weight:500;line-height:18px;display:inline-block}.badge[hidden]{display:none}.footnote{color:var(--ge-text-tertiary);margin-top:16px;font-size:13px}.hero--compact{padding-block:48px 32px}@media (width>=720px){.hero--compact{padding-block:72px 40px}}.releases{gap:48px;padding-block:8px 72px;display:grid}.release{border-top:1px solid var(--ge-border-subtle);max-width:720px;padding-top:24px;scroll-margin-top:16px}.release__header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;display:flex}.release h2{letter-spacing:-.025em;font-size:clamp(22px,3.5vw,26px);font-weight:700;line-height:1.25}.release__anchor{border-radius:var(--ge-radius-6);text-decoration:none}.release__anchor:hover{text-decoration:underline}.release__meta{color:var(--ge-text-tertiary);align-items:center;gap:10px;font-size:14px;display:flex}.release__summary{color:var(--ge-text-secondary);margin-top:12px;font-size:16px;line-height:1.6}.release__group{color:var(--ge-text-tertiary);margin-top:24px;font-size:13px;font-weight:600}.release__items{color:var(--ge-text-strong);gap:8px;margin-top:8px;padding-left:20px;font-size:15px;line-height:1.6;list-style:outside;display:grid}.release__items li::marker{color:var(--ge-text-gutter)}.release__items strong{color:var(--ge-ink);font-weight:600}.release__downloads{flex-wrap:wrap;gap:8px 24px;margin-top:8px;font-size:15px;line-height:1.6;display:flex}.release__downloads a{color:var(--ge-ink);font-weight:600}.release__size{color:var(--ge-text-tertiary);font-size:14px}.release code{background:var(--ge-surface-code);overflow-wrap:anywhere;border-radius:5px;padding:1px 5px;font-size:.88em}.site-footer{border-top:1px solid var(--ge-border-subtle);color:var(--ge-text-tertiary);font-size:13px}.site-footer__inner{gap:6px;padding-block:24px 32px;display:grid}
