:root{--ink:#10141c;--ink-2:#1a2130;--ink-3:#242c3d;--paper:#eceef1;--paper-2:#e3e6ea;--card:#fff;--muted:#59627a;--faint:#8d95a8;--rule:#10141c1f;--rule-soft:#10141c12;--open:#e0680a;--open-ink:#b44f00;--open-soft:#fbead9;--on-dark:#f2f4f7;--on-dark-muted:#98a1b4;--on-dark-rule:#ffffff1c;--open-dark:#ff8f2b;--wrap:1160px;--gut:26px;--sans:"SF Pro Display",-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Helvetica,Arial,sans-serif;--mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--shadow:0 1px 2px #10141c0d,0 14px 34px #10141c12;--shadow-lg:0 2px 4px #10141c0f,0 30px 70px #10141c24}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--sans);letter-spacing:-.006em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;overflow-x:clip}a{color:inherit;text-decoration:none}a[href]{cursor:pointer}h1,h2{letter-spacing:-.035em;text-wrap:balance;margin:0;font-weight:600;line-height:1.05}p{text-wrap:pretty;margin:0}ul{margin:0;padding:0}img,svg{max-width:100%;display:block}svg{shape-rendering:geometricprecision;text-rendering:geometricprecision}code,pre{font-family:var(--mono)}::selection{color:var(--ink);background:#ffd9b0}.skip{background:var(--ink);color:#fff;z-index:99;border-radius:0 0 8px;padding:12px 16px;position:absolute;top:0;left:-9999px}.skip:focus{left:0}.hide{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.link{border-bottom:1px solid #10141c40;align-items:center;gap:8px;padding-bottom:2px;font-size:.92rem;font-weight:550;transition:border-color .18s;display:inline-flex}.link:hover{border-color:var(--ink)}.tk-p{color:var(--open-dark)}.tk-cm{color:#707a92}.tk-str{color:#9fd3a8}.tk-flag{color:#8fb4f5}.card{background:var(--card);border:1px solid var(--rule-soft);box-shadow:var(--shadow);border-radius:14px;padding:24px}.card p{color:var(--muted);font-size:.875rem;line-height:1.6}.docs{grid-template-columns:216px minmax(0,1fr) 190px;align-items:start;gap:clamp(26px,4vw,54px);padding-bottom:96px;display:grid}.prose{color:#252c3c;max-width:44rem;font-size:.97rem;line-height:1.72}.prose>*+*{margin-top:19px}.prose h2{border-top:1px solid var(--rule);letter-spacing:-.035em;margin:52px 0 0;padding-top:26px;scroll-margin-top:78px;font-size:1.5rem}.prose h2+*{margin-top:13px}.prose a{color:var(--open-ink);border-bottom:1px solid #b44f0047}.prose a:hover{border-bottom-color:var(--open-ink)}.prose strong{color:var(--ink);font-weight:600}.prose ul{gap:8px;padding-left:20px;display:grid}.prose li{padding-left:3px}.prose li>ul{margin-top:8px}.prose :not(pre)>code{color:#2b3348;background:#10141c0e;border-radius:5px;padding:.13em .28em;font-size:.85em}.prose pre{background:var(--ink);color:var(--on-dark);border-radius:12px;padding:16px 18px;font-size:12.5px;line-height:1.72;overflow-x:auto}.prose pre code{color:inherit;font-size:inherit;background:0 0;padding:0}.prose table{border-collapse:collapse;width:100%;font-size:.86rem}.prose thead th{font:600 10.5px/1.3 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--faint);text-align:left;border-bottom:1px solid var(--rule);background:#10141c08;padding:11px 14px}.prose td{border-bottom:1px solid var(--rule-soft);vertical-align:top;padding:11px 14px}.prose tbody tr:last-child td{border-bottom:0}.tw{border:1px solid var(--rule);background:var(--card);border-radius:12px;overflow-x:auto}.tw table{min-width:34rem}.landing-nav{z-index:10;justify-content:space-between;align-items:center;gap:24px;padding:8px max(22px,50vw - 490px);display:flex;position:absolute;inset:0 0 auto}.landing-brand-lockup{align-items:center;gap:8px;min-width:0;display:flex}.landing-brand{color:#050505;letter-spacing:-.035em;align-items:center;gap:8px;font-size:.98rem;font-weight:620;line-height:1;display:inline-flex}.landing-brand img{flex:none;width:24px;height:24px}.landing-brand-section{color:#424245;letter-spacing:-.015em;font-size:.84rem;font-weight:500;line-height:1}.landing-brand-section:hover{color:#000}.landing-nav-links{align-items:center;gap:25px;display:flex}.landing-nav-links a{color:#42413e;flex:none;align-items:center;gap:7px;font-size:.88rem;font-weight:560;line-height:1;transition:color .18s,transform .18s;display:inline-flex}.landing-nav-links a:hover{color:#050505;transform:translateY(-1px)}.landing-nav-links img{border-radius:6px;flex:none;width:19px;height:19px;box-shadow:0 2px 7px #0f121521}.landing-nav-links svg{fill:currentColor;width:15px;height:15px}.landing-nav-github{background:#ffffff8c;border:1px solid #14141417;border-radius:999px;height:30px;padding:0 10px;box-shadow:0 4px 12px #1c19140a}.landing-nav-github span{font-weight:590}.landing-nav-github strong{color:#8c6417;letter-spacing:-.01em;white-space:nowrap;border-left:1px solid #1414141a;padding-left:7px;font-size:.65rem;font-weight:620}@media (width<=1080px){.docs{grid-template-columns:196px minmax(0,1fr)}}@media (width<=760px){:root{--gut:12px}.prose h2{font-size:1.35rem}.docs{grid-template-columns:1fr;gap:0}.landing-nav{gap:12px;padding:8px 20px}.landing-brand{gap:8px;font-size:.98rem}.landing-brand img{width:24px;height:24px}.landing-nav-links{gap:10px}.landing-nav-links a{gap:5px;font-size:.76rem}.landing-nav-links img{border-radius:5px;width:16px;height:16px}.landing-nav-links svg{width:13px;height:13px}.landing-nav-github{height:27px;padding:0 8px}.landing-nav-github strong{padding-left:5px;font-size:.58rem}}@media (width<=420px){.landing-nav-links{gap:8px}.landing-nav-supercorp span,.documentation .landing-brand span{display:none}.landing-nav-github strong{padding-left:5px}}@media (width<=360px){.landing-nav{gap:10px;padding-inline:16px}.landing-nav-github{border-radius:50%;justify-content:center;width:30px;height:30px;padding:0}.landing-nav-github span{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}@media (width<=760px){.landing-nav{padding:8px 20px}.landing-nav-links{gap:10px}}@media (width<=430px){.landing-nav-supercorp img{width:17px;height:17px}}.landing-footer{color:#6e6e73;background:#f5f5f7;padding:78px 28px 34px;overflow:hidden}.landing-footer-inner{justify-content:space-between;align-items:center;gap:28px;width:min(1120px,100%);margin-inline:auto;font-size:.88rem;display:flex}.landing-footer-brand{color:#1d1d1f;align-items:center;display:inline-flex}.landing-footer-brand img{filter:none;width:30px;height:30px}.landing-footer nav{align-items:center;gap:24px;margin-left:auto;display:flex}.landing-footer a{transition:color .18s}.landing-footer nav a:hover{color:#111}@media (width<=760px){.landing-footer{padding:62px 20px 30px}.landing-footer-inner,.landing-footer nav{gap:16px}}@media (width<=430px){.landing-footer-inner{gap:12px}.landing-footer nav{gap:12px;margin-left:auto;font-size:.78rem}}.landing-footer-inner{border-top:0;padding-top:0}body.documentation{--ink:#1d1d1f;--muted:#6e6e73;--faint:#8a8a90;--rule:#1d1d1f1c;--rule-soft:#1d1d1f11;--card:#fff;--docs-sidebar:clamp(210px,18vw,250px);color:#1d1d1f;background:#fff;min-height:100svh}.documentation .landing-nav{z-index:20;-webkit-backdrop-filter:saturate(180%)blur(18px);background:#fafafae6;border-bottom:1px solid #1d1d1f24;position:sticky;top:0}.documentation .prose>*{max-width:66rem}.documentation .prose>.tw,.documentation .prose>pre,.documentation .prose>table{max-width:none}.documentation .prose>*+*{margin-top:17px}.documentation .prose h2{letter-spacing:.008em;border-top:0;margin-top:102px;padding-top:0;font-size:1.68125rem;font-weight:600;line-height:1.125}.documentation .prose h2+*{margin-top:15px}.documentation .prose :not(pre)>code{color:#333336;background:#f5f5f7;border-color:#dedee2}.documentation .prose pre{color:#1d1d1f;box-shadow:none;background:#f5f5f7;border:1px solid #dedee2;border-radius:12px}.documentation .tw{background:#fff;border-color:#dedee2;border-radius:10px}@media (width<=1020px){body.documentation{--docs-sidebar:220px}}body.documentation{--docs-bg:#fff;--docs-surface:#fff;--docs-code:#f5f5f7;--docs-text:#1d1d1f;--docs-muted:#6e6e73;--docs-faint:#8a8a90;--docs-rule:#d2d2d7;--docs-rule-soft:#dedee2;--docs-link:#06c;--docs-active:#f0f5ff;--docs-header:#fafafae6;--docs-header-rule:#1d1d1f24;--docs-glyph-filter:none;--ink:var(--docs-text);--muted:var(--docs-muted);--faint:var(--docs-faint);--rule:var(--docs-rule);--rule-soft:var(--docs-rule-soft);--card:var(--docs-surface);color:var(--docs-text);background:var(--docs-bg);color-scheme:light}@media (prefers-color-scheme:dark){body.documentation{--docs-bg:#0b0b0c;--docs-surface:#0b0b0c;--docs-code:#1c1c1e;--docs-text:#f5f5f7;--docs-muted:#a1a1a6;--docs-faint:#8e8e93;--docs-rule:#38383a;--docs-rule-soft:#2c2c2e;--docs-link:#2997ff;--docs-active:#2997ff26;--docs-header:#1c1c1ee6;--docs-header-rule:#ffffff1f;--docs-glyph-filter:invert(1);color-scheme:dark}}.documentation .landing-nav{border-color:var(--docs-header-rule);background:var(--docs-header)}.documentation .landing-brand-lockup{gap:10px}.documentation .landing-brand-section{font-size:.92rem}.documentation .landing-brand,.documentation .landing-brand-section,.documentation .landing-nav-links a,.documentation .landing-brand-section:hover,.documentation .landing-nav-links a:hover{color:var(--docs-text)}.documentation .landing-brand img,.documentation .landing-footer-brand img{filter:var(--docs-glyph-filter)}.documentation .landing-nav-github{border-color:var(--docs-rule-soft);background:var(--docs-code);box-shadow:none}.documentation .prose h2{border-color:var(--docs-rule)}.documentation .prose a{color:var(--docs-link)}.documentation .prose pre{border-color:var(--docs-rule-soft);background:var(--docs-code);color:var(--docs-text)}.documentation .prose pre .tk-cm{color:var(--docs-muted)}.documentation .prose pre .tk-p{color:#ff9f0a}.documentation .prose :not(pre)>code{border-color:var(--docs-rule-soft);background:var(--docs-code);color:var(--docs-text)}.documentation .prose thead th{background:var(--docs-code);color:var(--docs-faint);border-color:var(--docs-rule)}.documentation .tw{border-color:var(--docs-rule-soft);background:var(--docs-surface)}.documentation .landing-footer{background:var(--docs-bg);color:var(--docs-muted);padding:0 max(clamp(44px,4.7vw,96px),50% - 700px + clamp(44px,4.7vw,96px)) 34px max(28px,50% - 672px)}.documentation .landing-footer-inner{border-top:0;width:100%;margin:0;padding-top:28px}.documentation .landing-footer nav a:hover{color:var(--docs-text)}@media (width>=761px) and (width<=1020px){.documentation .landing-footer{padding-left:20px;padding-right:40px}}@media (width<=760px){body.documentation{max-width:100%;overflow-x:clip}.documentation .prose p,.documentation .prose li,.documentation .prose a{overflow-wrap:anywhere}.documentation .prose>*{min-width:0;max-width:100%}.documentation .prose :not(pre)>code{white-space:normal;overflow-wrap:anywhere;word-break:break-word}.documentation .prose pre,.documentation .tw{min-width:0;max-width:100%;overflow-x:auto}.documentation .landing-nav-documentation{display:none}.documentation .landing-footer{padding:0 20px 26px}.documentation .landing-footer-inner{padding-top:24px}}@media (width<=520px){.documentation .landing-nav{padding-inline:16px}.documentation .landing-brand-lockup{flex:auto;min-width:0;overflow:hidden}.documentation .landing-brand{flex:none}.documentation .landing-brand-section{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.documentation .landing-brand span{display:inline}.documentation .landing-nav-links{gap:8px}.documentation .landing-nav-supercorp,.documentation .landing-nav-github{border-radius:50%;justify-content:center;width:30px;height:30px;padding:0}.documentation .landing-nav-supercorp span,.documentation .landing-nav-github span{display:none}}@media (width<=350px){.documentation .landing-brand span{display:none}}.landing-nav-links>a{position:relative}.landing-nav-links>a:before{content:"";border-radius:inherit;width:max(100%,44px);height:max(100%,44px);position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.documentation .landing-nav{padding-inline:max(28px,50% - 560px)}@media (width<=760px){.documentation .landing-nav{padding-inline:12px}.landing-nav-links,.documentation .landing-nav-links{gap:16px}.landing-footer,.documentation .landing-footer{padding-inline:12px}}.nav-label-short{display:none}@media (width<=760px){.documentation .landing-nav:has(.landing-brand-section[href=\/blog]) .landing-nav-documentation{display:inline-flex}.documentation .landing-nav:has(.landing-brand-section[href=\/blog]) .landing-nav-blog,.landing-nav-links .nav-label-long{display:none}.landing-nav-links .nav-label-short{display:inline}.landing-nav-supercorp span,.landing-nav-github span{display:none}.landing-nav-github{justify-content:center;width:30px;height:30px;padding:0}}.compare-main{width:min(1080px,100% - 56px);min-width:0;margin:0 auto;padding:64px 0 96px}.compare-head{max-width:850px;margin:0 auto 60px}.compare-eyebrow{color:var(--docs-muted);margin-bottom:18px;font-size:.875rem;font-weight:550;line-height:1.5}.compare-head h1{letter-spacing:-.045em;text-wrap:balance;font-size:clamp(2.25rem,4.8vw,3.5rem);line-height:1.08}.compare-lead{max-width:740px;color:var(--docs-muted);margin-top:24px;font-size:1.25rem;line-height:1.5}.compare-byline{color:var(--docs-muted);margin-top:24px;font-size:.875rem}.compare-back{min-height:44px;color:var(--docs-link);align-items:center;margin-bottom:22px;font-size:.9375rem;display:inline-flex}.compare-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.compare-card{background:var(--docs-code);border-radius:28px;min-width:0}.compare-card>a{border-radius:inherit;flex-direction:column;height:100%;padding:32px;display:flex}.compare-card h2{text-wrap:pretty;margin:24px 0 14px;font-size:1.75rem;line-height:1.15}.compare-card p{color:var(--docs-muted);margin-bottom:24px;font-size:1rem;line-height:1.55}.compare-card-link{color:var(--docs-link);align-items:center;gap:8px;margin-top:auto;font-size:.9375rem;font-weight:500;display:flex}.compare-card a:hover h2{color:var(--docs-link)}.compare-language{color:var(--docs-muted);align-items:center;gap:10px;font-size:.875rem;font-weight:500;display:flex}.compare-language img{object-fit:contain;background:#fff;border-radius:7px;width:28px;height:28px;padding:3px}.compare-disclosure{max-width:750px;color:var(--docs-muted);text-align:center;margin:32px auto 0;font-size:.875rem;line-height:1.6}.compare-layout{grid-template-columns:180px minmax(0,1fr);align-items:start;gap:52px;display:grid}.compare-toc{font-size:.875rem;line-height:1.45;position:sticky;top:100px}.compare-toc p{margin-bottom:14px;font-weight:600}.compare-toc a{color:var(--docs-muted);padding:8px 0;display:block}.compare-toc a:hover{color:var(--docs-link)}.compare-reading{min-width:0}.documentation .compare-main .prose{max-width:none;color:var(--docs-text);font-size:1.0625rem;line-height:1.7}.documentation .compare-main .prose h2{text-wrap:pretty;margin:44px 0 18px;scroll-margin-top:96px;font-size:1.75rem;line-height:1.2}.documentation .compare-main .prose>h2:first-child{margin-top:0}.documentation .compare-main .prose a,.compare-evidence a,.compare-sources a{text-underline-offset:3px;color:var(--docs-link);text-decoration:underline}.documentation .compare-main .prose pre{max-width:100%;font-size:.875rem;line-height:1.65;overflow-x:auto}.documentation .compare-main .prose .tw{max-width:100%;overflow:auto}.documentation .compare-main .prose .tw table{min-width:520px;font-size:.9375rem}.compare-matrix{margin:28px 0 32px}.compare-scroll{border:1px solid var(--docs-rule-soft);border-radius:20px;overflow:auto}.documentation .compare-main .compare-scroll table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:520px;margin:0;font-size:.9375rem}.documentation .compare-main .compare-scroll caption{text-align:left;background:var(--docs-code);padding:16px 18px;font-size:1rem;font-weight:600}.documentation .compare-main .compare-scroll th,.documentation .compare-main .compare-scroll td{text-align:center;vertical-align:middle;border:0;border-top:1px solid var(--docs-rule-soft);color:var(--docs-text);font:500 .9375rem/1.4 var(--sans);letter-spacing:0;text-transform:none;background:0 0;padding:14px 12px}.documentation .compare-main .compare-scroll th:first-child{text-align:left;width:35%;padding-left:18px}.compare-scroll th small{color:var(--docs-muted);margin-top:4px;font-size:.8125rem;font-weight:400;display:block}.compare-mark{justify-content:center;display:flex;position:relative}.compare-mark svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.compare-mark-yes{color:var(--docs-link)}.compare-mark-no{color:var(--docs-muted)}.documentation .compare-main .compare-notes{color:var(--docs-muted);margin-top:16px;font-size:.875rem;line-height:1.55}.documentation .compare-main .compare-notes p{margin:8px 0}.compare-evidence{border-top:1px solid var(--docs-rule-soft);color:var(--docs-muted);margin-top:36px;padding-top:24px;font-size:.875rem;line-height:1.65}.compare-sources{margin-top:32px}.compare-sources h2,.compare-related h2{letter-spacing:-.015em;scroll-margin-top:96px;font-size:1.125rem;line-height:1.4}.compare-sources ul{margin:12px 0 0 18px;font-size:.875rem;line-height:1.7}.compare-sources li{padding:3px 0}.compare-related{border-top:1px solid var(--docs-rule-soft);margin-top:40px;padding-top:24px}.compare-related a{min-height:44px;color:var(--docs-link);align-items:center;gap:8px;font-size:.9375rem;display:flex}@media (width<=900px){.compare-layout{grid-template-columns:minmax(0,1fr);gap:32px}.compare-toc{border-bottom:1px solid var(--docs-rule-soft);flex-wrap:wrap;gap:4px 20px;padding-bottom:20px;display:flex;position:static}.compare-toc p{flex-basis:100%;margin-bottom:0}.compare-toc a{padding:7px 0}.compare-head{margin-bottom:36px}}@media (width<=640px){.compare-main{width:calc(100% - 24px);padding:32px 0 64px}.compare-head h1{font-size:2.25rem}.compare-lead{margin-top:20px;font-size:1.125rem}.compare-grid{grid-template-columns:minmax(0,1fr);gap:16px}.compare-card>a{padding:24px}.compare-card h2{margin-top:18px;font-size:1.5rem}.documentation .compare-main .prose h2{font-size:1.5rem}.compare-layout{gap:28px}}