.branched-menu{--bm-w:240px;--bm-ink:#f5f5f5;--bm-accent:#f5f5f5;--bm-line:#3f3f46;--bm-font:14px;--bm-row:36px;--bm-indent:40px;--bm-line-w:1.5;--bm-draw:.4s;--bm-fold:.3s;--bm-ease-out:cubic-bezier(.23, 1, .32, 1);--bm-muted:color-mix(in srgb, var(--bm-ink) 55%, transparent);width:fit-content;max-width:min(var(--bm-w), 100%);color:var(--bm-ink);font-family:inherit;font-size:var(--bm-font);flex-direction:column;padding-left:14px;line-height:1.2;display:flex;position:relative}.branched-menu:before{content:"";background:linear-gradient(to bottom, var(--bm-line) 0%, var(--bm-line) 55%, transparent 100%);border-radius:1px;width:2px;position:absolute;top:8px;bottom:0;left:0}.branched-menu__marker{z-index:1;background:var(--bm-accent);opacity:0;width:2px;height:16px;transition:top .22s var(--bm-ease-out), opacity .15s ease;border-radius:1px;position:absolute;top:-1px;left:0}.branched-menu__marker[data-on]{opacity:1}.branched-menu__section{flex-direction:column;display:flex}.branched-menu__head{color:var(--bm-muted);font:inherit;font-size:calc(var(--bm-font) + 1px);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;outline:none;margin:0;padding:9px 0;font-weight:500;transition:color .2s;display:block}.branched-menu__section[data-open] .branched-menu__head,.branched-menu__head[data-active]{color:var(--bm-ink)}@media (hover:hover) and (pointer:fine){.branched-menu__head:hover{color:var(--bm-ink)}}.branched-menu__body{transition:grid-template-rows var(--bm-fold) var(--bm-ease-out);grid-template-rows:0fr;display:grid}.branched-menu__section[data-open] .branched-menu__body{grid-template-rows:1fr}.branched-menu__fold{min-height:0;overflow:hidden}.branched-menu__tree{box-sizing:border-box;padding:6px 0;position:relative}.branched-menu__lines{opacity:0;pointer-events:none;transition:opacity .2s;position:absolute;top:0;left:0;overflow:visible}.branched-menu__section[data-open] .branched-menu__lines{opacity:1;transition:opacity .25s .1s}.branched-menu__base,.branched-menu__reach{fill:none;stroke-width:var(--bm-line-w);stroke-linecap:round;stroke-linejoin:round}.branched-menu__base{stroke:var(--bm-line)}.branched-menu__reach{stroke:var(--bm-accent);transition:stroke-dashoffset var(--bm-draw) var(--bm-ease-out)}.branched-menu__item{width:100%;height:var(--bm-row);padding:0 0 0 var(--bm-indent);color:var(--bm-muted);font:inherit;text-align:left;cursor:pointer;box-sizing:border-box;-webkit-tap-highlight-color:transparent;background:0 0;border:0;outline:none;align-items:center;gap:8px;margin:0;transition:color .2s;display:flex}@media (hover:hover) and (pointer:fine){.branched-menu__item:hover{color:var(--bm-ink)}}.branched-menu__item[data-active]{color:var(--bm-accent);font-weight:500}.branched-menu__icon{flex:none;display:inline-flex}.branched-menu__label{white-space:nowrap}@media (prefers-reduced-motion:reduce){.branched-menu__marker{transition:opacity .15s}.branched-menu__body,.branched-menu__reach{transition:none}}.site-menu{--menu-top:clamp(92px, calc(118*var(--su)), 118px)}.site-menu .menu-glass{--menu-surface:#f1eee5eb;--menu-solid:#f1eee5;--menu-ink:#17362b;--menu-muted:#526359;--menu-accent:#17362b;--menu-glass-line:#17362b40;--menu-border:#ffffffad;--menu-highlight:#ffffffb3;isolation:isolate;color:var(--menu-ink);border:1px solid var(--menu-border);background:0 0;flex-direction:column;padding:0;display:flex;position:relative;box-shadow:0 12px 36px #0508071c,0 2px 8px #0508070a}.site-menu .menu-glass[data-tone=dark]{--menu-surface:#0b1a14eb;--menu-solid:#0b1a14;--menu-ink:#f1eee5;--menu-muted:#c2cec5;--menu-accent:#8fe3c0;--menu-glass-line:#c2cec559;--menu-border:#d2ead13d;--menu-highlight:#e8f8ec24}.site-menu .menu-glass[data-tone=mint]{--menu-surface:#b4e8d3ed;--menu-solid:#b4e8d3;--menu-border:#d8f7e8c9}.menu-glass__surface{z-index:-1;border-radius:inherit;background:var(--menu-surface);-webkit-backdrop-filter:blur(24px)saturate(105%);box-shadow:inset 0 1px 0 var(--menu-highlight), inset 0 0 0 1px #ffffff0a;pointer-events:none;position:absolute;inset:0}.menu-glass__content{min-height:0;padding:12px 22px;position:relative}.site-menu .menu-directory{min-height:132px}.menu-directory .menu-glass__content{scrollbar-width:none;padding:18px 22px;scroll-padding:18px;overflow:visible}.menu-directory .menu-glass__content::-webkit-scrollbar{display:none}.menu-glass__scroll-cue{background:linear-gradient(transparent, var(--menu-solid) 80%);height:30px;color:var(--menu-muted);opacity:0;pointer-events:none;border-radius:0 0 19px 19px;justify-content:flex-end;align-items:flex-end;padding:0 20px 4px;transition:opacity .15s;display:flex;position:absolute;bottom:0;left:0;right:0}.menu-glass[data-more-below] .menu-glass__scroll-cue{opacity:1}.site-menu .menu-link{font:500 20px/1.35 var(--brand);color:var(--menu-ink);padding:6px 0;transition:color .2s}.site-menu .menu-link:hover{color:#2c6750}.site-menu .menu-start .menu-link:hover{color:#164e39}.site-menu .menu-note{color:var(--menu-muted);font:400 13px/1.5 var(--brand);letter-spacing:0;margin-top:10px}.menu-status-row{font:500 12px/1.4 var(--brand);flex-wrap:wrap;align-items:center;gap:6px 10px;margin-bottom:5px;display:flex}.menu-status-row a{align-items:center;gap:7px;display:inline-flex}.menu-status-dot{background:#2c6750;border-radius:50%;flex:none;width:5px;height:5px}.site-menu .menu-status .trust{color:var(--menu-muted);border-color:var(--menu-glass-line);font:500 12px/1.3 var(--brand);letter-spacing:0;margin:0;padding:2px 6px}.site-menu .menu-card .branched-menu{--bm-muted:var(--menu-muted);width:100%;max-width:none}.site-menu .branched-menu__head{width:100%;color:var(--menu-ink);padding:9px 22px 9px 0;font-size:18px;font-weight:500;position:relative}.site-menu .branched-menu__head[aria-expanded]:after{content:"";opacity:.65;border-bottom:1.5px solid;border-right:1.5px solid;width:6px;height:6px;transition:transform .25s;position:absolute;top:15px;right:3px;transform:rotate(-45deg)}.site-menu .branched-menu__head[aria-expanded=true]:after{transform:rotate(45deg)}.site-menu .branched-menu__item{color:var(--menu-muted)}.site-menu .branched-menu__item:hover,.site-menu .branched-menu__head:hover{color:var(--menu-ink)}.site-menu .branched-menu__item[data-active]{color:var(--menu-accent);font-weight:500}.site-menu .menu-card .branched-menu__hover{stroke:var(--menu-glass-line)}.site-menu :is(button,a):focus-visible{outline:2px solid var(--menu-ink);outline-offset:3px;border-radius:3px}.site-menu .branched-menu__head:focus-visible,.site-menu .branched-menu__item:focus-visible{outline-offset:-2px}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.menu-glass__surface{background:var(--menu-solid)}}@media (prefers-reduced-motion:reduce){.site-menu .menu-card,html.menu-open .site-menu .menu-card{transition:opacity .1s;transform:none}.site-menu .menu-card *,.site-menu .menu-card :after{transition:none}.site-menu .branched-menu__label,.site-menu .branched-menu__head,.site-menu .menu-link span,.site-menu .menu-link i{transform:none}}.site-menu .menu-directory{align-self:start;min-height:0}.site-menu .menu-product{--enter-x:-24px;--enter-y:88px;--enter-r:3.5deg;--open-delay:0s;--close-delay:80ms}.site-menu .menu-developer{--enter-x:36px;--enter-y:124px;--enter-r:-3.5deg;--open-delay:40ms;--close-delay:40ms}.site-menu .menu-integration{--enter-x:-20px;--enter-y:150px;--enter-r:2deg;--open-delay:80ms;--close-delay:0s}.menu-integration .menu-status-row{color:var(--menu-muted);margin-top:12px}@media (width<=900px){header{flex-wrap:wrap;gap:4px 16px;height:auto;min-height:72px;padding:12px 0}.header-actions{margin-left:auto}.site-menu{--menu-top:140px}}.site-menu .menu-cluster{width:min(960px,calc(100vw - 2*var(--pad-x)));grid-template-columns:1.15fr 1fr 1fr;align-items:start;gap:14px;max-height:none;display:grid}.site-menu .menu-glass__content{padding:16px 20px}@media (width<=700px){.site-menu .menu-cluster{grid-template-columns:1fr 1fr;gap:10px}.site-menu .menu-product{grid-column:1/-1}.site-menu .menu-glass__content{padding:10px 14px}.site-menu .branched-menu__head{padding-top:5px;padding-bottom:5px}}@media (height<=620px){.site-menu{overscroll-behavior:contain;overflow-y:auto}.site-menu .menu-cluster{padding-bottom:24px}}@media (width<=700px){.site-menu .branched-menu__label{white-space:normal;font-size:14px;line-height:16px}.wordmark{gap:7px;font-size:12px}.wordmark__mark{height:26px}.header-actions .lang{font-size:11px}.gooey-menu>.pill.menu-button{gap:10px;height:38px;padding:0 14px;font-size:12px}}@media (width<=1100px){.site-menu{--menu-top:calc(var(--site-header-height,140px) + 12px);overflow-y:auto}.site-menu .menu-cluster{max-height:calc(100dvh - var(--site-header-height,140px) - 24px - env(safe-area-inset-bottom));padding-bottom:20px;overflow-y:auto}.site-menu :is(.branched-menu__head,.branched-menu__item,.menu-link){min-height:44px}}:root{--menu-rest-surface:#fff;--menu-rest-ink:#000;--gooey-color-1:#fff;--gooey-color-2:#fff;--gooey-color-3:#fff;--gooey-color-4:#fff}.gooey-menu{--gooey-base:var(--menu-rest-surface);--gooey-label:var(--menu-rest-ink);isolation:isolate;display:inline-flex;position:relative}.gooey-menu__definitions{pointer-events:none;width:0;height:0;position:absolute}.gooey-menu__effect{pointer-events:none;filter:var(--gooey-filter);z-index:0;position:absolute;inset:0}.gooey-menu__core{background:var(--gooey-base);border-radius:100vw;transition:background-color .3s;position:absolute;inset:0}.gooey-menu>.pill.menu-button{z-index:1;color:var(--gooey-label);background:0 0;border-color:#0000;transition:color .3s;position:relative}.gooey-menu>.pill.menu-button:hover{transform:none}.gooey-menu__particle,.gooey-menu__point{opacity:0;transform-origin:50%;border-radius:100%;width:20px;height:20px;display:block}.gooey-menu__particle{animation:gooey-menu-particle var(--time) ease 1 -350ms;position:absolute;top:calc(50% - 8px);left:calc(50% - 8px)}.gooey-menu__point{background:var(--color);opacity:1;animation:gooey-menu-point var(--time) ease 1 -350ms}@keyframes gooey-menu-particle{0%{transform:rotate(0deg) translate(var(--start-x), var(--start-y));opacity:1;animation-timing-function:cubic-bezier(.55,0,1,.45)}70%{transform:rotate(calc(var(--rotate) * .5)) translate(calc(var(--end-x) * 1.2), calc(var(--end-y) * 1.2));opacity:1;animation-timing-function:ease}85%{transform:rotate(calc(var(--rotate) * .66)) translate(var(--end-x), var(--end-y));opacity:1}to{transform:rotate(calc(var(--rotate) * 1.2)) translate(calc(var(--end-x) * .5), calc(var(--end-y) * .5));opacity:1}}@keyframes gooey-menu-point{0%{opacity:0;animation-timing-function:cubic-bezier(.55,0,1,.45);transform:scale(0)}25%{transform:scale(calc(var(--scale) * .25))}38%{opacity:1}65%{transform:scale(var(--scale));opacity:1;animation-timing-function:ease}85%{transform:scale(var(--scale));opacity:1}to{opacity:0;transform:scale(0)}}@media (prefers-reduced-motion:reduce){.gooey-menu__effect{filter:none}.gooey-menu__particle{display:none}.gooey-menu__core,.gooey-menu>.pill.menu-button{transition:none}}.gooey-resource-nav{--gooey-base:var(--menu-rest-surface);isolation:isolate;font-size:clamp(12px,calc(16*var(--su)),16px);white-space:nowrap;align-items:center;gap:clamp(2px,.8vw,14px);margin-left:auto;display:flex;position:relative}.gooey-resource-nav>a{z-index:1;min-height:40px;color:inherit;background:0 0;border:0;border-radius:999px;align-items:center;gap:8px;padding:10px 14px;transition:color .18s;display:inline-flex;position:relative}.gooey-resource-nav>a[data-highlighted=true]{color:var(--menu-rest-ink)}.gooey-resource-nav>a:focus-visible{outline-offset:3px;outline:2px solid}.gooey-resource-nav__effect{pointer-events:none;z-index:0;width:0;height:0;filter:var(--gooey-filter);opacity:0;transition:left .32s cubic-bezier(.22,1,.36,1),top .32s cubic-bezier(.22,1,.36,1),width .32s cubic-bezier(.22,1,.36,1),opacity .2s;position:absolute;top:0;left:0}.gooey-resource-nav[data-active=true] .gooey-resource-nav__effect{opacity:1}@media (width<=900px){.gooey-resource-nav{flex-basis:100%;order:3;justify-content:space-between;gap:0;font-size:12px}.gooey-resource-nav>a{gap:5px;padding:8px clamp(5px,1.4vw,12px)}}@media (prefers-reduced-motion:reduce){.gooey-resource-nav__effect{filter:none;transition:none}.gooey-resource-nav>a{transition:none}.gooey-resource-nav .gooey-menu__particle{display:none}}.gooey-resource-nav.gooey-resource-nav--product{border-left:1px solid color-mix(in srgb,currentColor 28%,transparent);margin-left:clamp(6px,1.2vw,20px);padding-left:clamp(6px,1.2vw,20px)}.sound-toggle{width:44px;min-width:44px;height:44px;color:inherit;cursor:pointer;opacity:.75;background:0 0;border:0;justify-content:center;align-items:center;gap:2px;margin:0;padding:0;display:inline-flex;text-decoration:none!important}.sound-toggle:hover{opacity:1}.sound-toggle:focus-visible{outline-offset:4px;outline:1px solid}.sound-toggle i{transform-origin:50%;background:currentColor;border-radius:1px;width:2px;height:12px;transition:transform .4s cubic-bezier(.35,0,0,1);display:block;transform:scaleY(.12)}.sound-toggle.is-on i{animation:1.15s ease-in-out infinite alternate sound-bar}@keyframes sound-bar{0%{transform:scaleY(.25)}50%{transform:scaleY(.9)}to{transform:scaleY(.45)}}@media (prefers-reduced-motion:reduce){.sound-toggle.is-on i{animation:none;transform:scaleY(.6)}}.tk-c{color:#6f8a7e;font-style:italic}.tk-k{color:#c792ea}.tk-s{color:#a5e075}.tk-f{color:#82aaff}.tk-n{color:#f78c6c}.tk-o{color:#ffcb6b}.tk-a{color:#8fe3c0}.tk-g,.tk-p{color:#89ddff}.section-head{max-width:calc(var(--step)*11)}.section-head h2{margin:var(--s16) 0}.section-body{max-width:46em;margin-bottom:var(--s16);line-height:1.7}.tag-row{gap:var(--s8);margin:0 0 var(--s16);padding:0;list-style:none;display:flex}.tag-row li{border:1px solid var(--ink);border-radius:999px;padding:4px 12px}.label.muted,.muted{color:var(--ink-40)}.flow{padding:18vh calc(var(--pad-x) + var(--step)) 12vh}.instrument{border-top:1px solid var(--ink);padding-top:var(--s24);color:var(--ink);position:relative}.instrument-title{color:var(--ink-70);margin-bottom:var(--s16);display:block}.instrument-note{font-size:calc(14*var(--su));color:var(--ink-70);margin-top:var(--s16);line-height:1.6}.instrument-foot{margin-top:var(--s16);color:var(--ink-40)}.json{font:400 calc(13*var(--su))/1.55 var(--machine);color:var(--ink);background:color-mix(in srgb,var(--ink) 4%,transparent);border:1px solid var(--ink-hairline);padding:var(--s16);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;margin:0;overflow:clip}.json.small{font-size:calc(12*var(--su))}.stage-panel{--su:calc(min(calc(100vw / 1800),calc(100vh / 1024 * 1.25)) * var(--fit,1));--s8:calc(8*var(--su));--s16:calc(16*var(--su));--s24:calc(24*var(--su));--s40:calc(40*var(--su));--s64:calc(64*var(--su));--s104:calc(104*var(--su));--small:calc(16*var(--su));--label:calc(13*var(--su));--body:max(16px,calc(21*var(--su)));--title:max(30px,calc(60*var(--su)));--note:max(14px,calc(15*var(--su)));--read:max(11px,calc(13*var(--su)))}html[lang=en] .stage-panel{--label:calc(12.5*var(--su))}.stage-panel{padding:calc(110*var(--su)) calc(var(--pad-x) + var(--step)) calc(40*var(--su));flex-direction:column;display:flex}.stage-panel .section-head{grid-template-columns:calc(var(--step)*9) 1fr;column-gap:var(--s40);align-items:end;max-width:none;display:grid}.stage-panel .section-head h2{margin:var(--s8) 0 var(--s16)}.stage-panel .section-head .section-body{margin-bottom:var(--s16);grid-area:2/2/4}.stage-panel .section-head .tag-row,.stage-panel .section-head .trust{margin-bottom:var(--s16);grid-column:1;justify-self:start}.stage-panel .instrument{flex:1;min-height:0}.code{border:1px solid var(--ink-hairline);background:#ffffff59;border-radius:12px;margin:0;overflow:hidden}.code figcaption{padding:var(--s8) var(--s16);border-bottom:1px solid var(--ink-hairline);color:var(--ink-70);justify-content:space-between;display:flex}.code{width:fit-content;max-width:100%}.code pre{padding:var(--s16);font:400 max(12px,calc(13*var(--su)))/1.6 var(--machine);width:calc(var(--code-cols)*1ch + 2*var(--s16) + 4px);max-width:100%;margin:0;overflow:clip}.code-line{white-space:pre-wrap;overflow-wrap:anywhere;padding-left:calc(var(--indent)*1ch);text-indent:calc(var(--indent)*-1ch);display:block}.code>.trust{margin:0 var(--s16) var(--s16)}.ledger-reel{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ledger-entry{border-bottom:1px solid var(--ink-hairline);position:relative}.ledger-hit{width:100%;padding:var(--s8) 0;color:var(--ink-40);text-align:left;flex-direction:column;transition:color .4s;display:flex}.ledger-fold{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .6s cubic-bezier(.35,0,0,1),opacity .5s;display:grid}.ledger-fold>*{min-height:0;overflow:clip}.ledger-entry[data-state=current] .ledger-text,.ledger-entry[data-state=past] .ledger-digest{opacity:1;grid-template-rows:1fr}.ledger-entry[data-state=current] .ledger-hit{color:var(--ink)}.ledger-entry[data-state=current] .ledger-text>span{padding:6px 0 4px}.ledger-digest .label{color:var(--ink-70);white-space:nowrap;text-overflow:ellipsis;padding-top:2px;display:block;overflow:clip}button.ledger-hit:hover{color:var(--ink-70)}.note{margin-top:var(--s16);font-size:calc(14*var(--su))}.framed{--frame-inset:0%;will-change:transform;position:relative}.framed>.frame-cross{width:calc(14*var(--su));height:calc(14*var(--su));color:var(--ink-40);z-index:2;position:absolute}.framed>.frame-cross.tl{left:calc(var(--frame-inset) - 7*var(--su));top:calc(var(--frame-inset) - 7*var(--su))}.framed>.frame-cross.tr{right:calc(var(--frame-inset) - 7*var(--su));top:calc(var(--frame-inset) - 7*var(--su))}.framed>.frame-cross.bl{left:calc(var(--frame-inset) - 7*var(--su));bottom:calc(var(--frame-inset) - 7*var(--su))}.framed>.frame-cross.br{right:calc(var(--frame-inset) - 7*var(--su));bottom:calc(var(--frame-inset) - 7*var(--su))}.frame-inner{height:100%;clip-path:inset(var(--frame-inset) round calc(20*var(--su)));border-radius:calc(20*var(--su));background:color-mix(in srgb,#fff 32%,var(--ivory));overflow:clip}.frame-content{transform-origin:50%;height:100%}.framed .instrument{padding:calc(28*var(--su)) calc(32*var(--su));border-top:0}.framed .code{background:0 0;border:0;border-radius:0}.stage-panel .framed{flex:1;min-height:0}.stage-panel .framed .instrument{height:100%}.api-col .framed,.hero-foot .framed{min-width:0}.reveal-char{will-change:transform;transform-origin:0 100%;display:inline-block}.reveal-line{will-change:transform;display:block}.code{background:var(--forest)}.framed:has(>.frame-inner>.frame-content>.code) .frame-inner{background:var(--forest)}.framed:has(>.frame-inner>.frame-content>.code) .frame-inner{box-shadow:none}.code figcaption{color:var(--ivory-40);border-color:var(--hairline)}.code figcaption button{color:var(--ivory-70)}.code pre{color:#cfd8d3}.code>.trust{--faint:var(--ivory-40);--line:var(--hairline)}.json{background:var(--forest);color:#cfd8d3;border-color:#0000}.plate-region{height:110vh}.plate-lead{height:100vh;padding:0 calc(var(--pad-x) + var(--step)) 14vh;align-items:flex-end;display:flex;position:relative}.fx-layer{pointer-events:none;z-index:3;width:100%;height:100%;position:absolute;inset:0}.hic-source{pointer-events:none;clip-path:inset(0 0 100%);position:fixed;top:0;left:0}.ledger-text .g{transition:opacity .2s}.snap-point{pointer-events:none;width:0;height:0;position:absolute;top:0;left:0}.stage-track,.plate-region{position:relative}.no-webgl [data-plate],[data-plate-fallback]{background-image:linear-gradient(#e9e4d6a6,#e9e4d6a6),var(--plate-fallback);background-position:50%;background-size:cover;background-attachment:fixed}.page-outlet{overflow-anchor:none;outline:none}.route-transition{z-index:1000;pointer-events:none;position:fixed;inset:0;overflow:hidden}.route-transition:is([data-phase=loading],[data-phase=covering],[data-phase=waiting],[data-phase=revealing],[data-phase=error]){pointer-events:auto}.route-transition__canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.route-busy{overflow:hidden!important}.route-error{color:#fff;background:#050807;flex-wrap:wrap;justify-content:center;align-items:center;gap:24px;display:flex;position:absolute;inset:0}.route-error button,.route-error a{color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff50;border-radius:24px;padding:12px 20px}.rsi-fallback{min-height:100vh;padding:160px 6vw}.gooey-resource-nav a[aria-current=page]{text-underline-offset:7px;text-decoration:underline}.route-transition[data-phase=idle]{visibility:hidden;pointer-events:none}
