:root{--sfi-ease:cubic-bezier(.22, 1, .36, 1);--sfi-spring:linear(0, .006, .025 2.8%, .101 6.1%, .539 18.9%, .721 25.3%, .849 31.5%, .937 38.1%, .968 41.8%, .991 45.7%, 1.006 50.1%, 1.015 55%, 1.017 63.9%, 1.001 85.8%, 1);--sfi-max:1240px;--sfi-rule:#ffffff0f;--sfi-hover:#ffffff0d;--sfi-dock-bg:#0f0f0feb;--sfi-dock-line:#ffffff14;--sfi-dock-light:inset 0 1px 0 #ffffff0f;--sfi-dock-shadow:0 12px 32px #00000080;--sfi-capsule:#1c1c1c;--sfi-capsule-light:inset 0 1px 0 #ffffff14, 0 1px 2px #0006;--sfi-pop-bg:#0f0f0f;--sfi-pop-shadow:0 30px 80px -20px #000c, 0 12px 32px #00000080;--sfi-dot-ring:#ffffff8c;--sfi-bone:#ededed;--sfi-bone-hover:#fff;--sfi-on-bone:#000;--sfi-dark:#1a1a1a;--sfi-dark-hover:#222;--sfi-dark-line:#ffffff1a;--sfi-dark-light:inset 0 1px 0 #ffffff0f;--sfi-code-bg:#0a0a0a;--sfi-code-path:#d4d4d4;--sfi-bar:#ffffff24;--sfi-card-bg:#0f0f0f;--sfi-card-line:#ffffff0f;--sfi-card-shadow:0 30px 80px -20px #000000e6, inset 0 1px 0 #ffffff0f;--sfi-field:#141414;--sfi-field-line:#ffffff1a}.sfi-ember .ember.ember{--em-bg:var(--sf-bg);--em-surface:var(--sf-surface);--em-raised:var(--sf-raised);--em-raised-2:var(--sf-raised-2);--em-line:var(--sf-line);--em-line-strong:var(--sf-line-strong);--em-line-bright:var(--sf-line-bright);--em-text:var(--sf-text);--em-text-muted:var(--sf-text-muted);--em-text-faint:var(--sf-text-faint);--em-text-ghost:var(--sf-text-ghost);--em-accent:var(--sf-accent);--em-accent-hot:var(--sf-accent-hot);--em-accent-deep:var(--sf-accent-deep);--em-accent-wash:var(--sf-accent-wash);--em-top-light:var(--sf-top-light);--em-sans:var(--sf-sans);--em-mono:var(--sf-mono)}@keyframes sfi-rise{0%{opacity:0;transform:translateY(12px)}}.sfi-rise{animation:sfi-rise .7s var(--sfi-ease) both}.sfi-rise:nth-child(2){animation-delay:60ms}.sfi-rise:nth-child(3){animation-delay:.12s}.sfi-rise:nth-child(4){animation-delay:.18s}.sfi-rise.sfi-rise--stage{animation-delay:.24s}.sfi-pill{height:44px;font:500 15px/1 var(--sf-sans);letter-spacing:-.01em;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .24s var(--sfi-ease), box-shadow .24s var(--sfi-ease), transform .16s var(--sfi-ease);border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 22px;display:inline-flex}.sfi-pill:active{transform:scale(.98)}.sfi-pill svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}.sfi-pill:focus-visible{box-shadow:var(--sf-focus);outline:none}.sfi-pill--bone{background:var(--sfi-bone);color:var(--sfi-on-bone)}.sfi-pill--bone:hover{background:var(--sfi-bone-hover)}.sfi-pill--dark{background:var(--sfi-dark);color:var(--sf-text);box-shadow:var(--sfi-dark-light), 0 1px 2px #0006}.sfi-pill--dark:hover{background:var(--sfi-dark-hover)}.sfi-buy{display:contents}.sfi-textlink{color:var(--sf-text-muted);font:400 15px/1.4 var(--sf-sans);cursor:pointer;transition:color .2s var(--sfi-ease);background:0 0;border:0;padding:0}.sfi-textlink:hover{color:var(--sf-text)}.sfi-page{width:100%;max-width:calc(var(--sfi-max) + 2 * var(--sf-gutter));padding:clamp(128px, 15vh, 176px) var(--sf-gutter) 0;margin:0 auto}.sfi-hero{text-align:center;flex-direction:column;align-items:center;display:flex}.sfi-hero__kicker{align-items:center;gap:10px;display:flex}.sfi-hero__cat{color:var(--sf-text-muted);font:400 14px/1.4 var(--sf-sans);transition:color .2s var(--sfi-ease)}.sfi-hero__cat:hover{color:var(--sf-text)}.sfi-hero__title{max-width:14ch;color:var(--sf-text);font:600 72px/1 var(--sf-sans);letter-spacing:-.045em;text-wrap:balance;margin-top:18px}.sfi-hero__lede{max-width:52ch;color:var(--sf-text-muted);font:400 19px/1.55 var(--sf-sans);letter-spacing:-.01em;text-wrap:balance;margin-top:22px}.sfi-hero__actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:36px;display:flex}.sfi-hero__note{width:100%;color:var(--sf-text-faint);font:400 13px/1.4 var(--sf-sans);margin-top:6px}.sfi-hero__note s,.sfi-locked__sub s{color:var(--sf-text-ghost);text-decoration-thickness:1px}.sfi-rise--stage{margin-top:72px}.sfi-show{position:relative}.sfi-stage{--sfi-dock-band:80px;height:max(clamp(480px, 68vh, 760px), calc(var(--sfi-min,0px) + var(--sfi-dock-band)))}.sfi-stage>.sfi-layer--preview>.sf-stage__frame{bottom:var(--sfi-dock-band);border-bottom-right-radius:0;border-bottom-left-radius:0}.sfi-stage[data-bleed]>.sfi-layer--preview>.sf-stage__frame{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;bottom:0}.sfi-stage[data-bleed]>.sfi-layer--preview .sf-stage__iframe{-webkit-mask-image:none;mask-image:none}.sfi-stage>.sfi-layer--preview .sf-stage__iframe{-webkit-mask-image:linear-gradient(0deg,#0000,#000 20px);mask-image:linear-gradient(0deg,#0000,#000 20px)}.sfi-stage>.sfi-layer{z-index:auto;border-radius:inherit;opacity:0;transition:opacity .42s var(--sfi-ease), transform .64s var(--sfi-ease), visibility 0s linear .64s;visibility:hidden;position:absolute;inset:0;transform:scale(.985)}.sfi-stage>.sfi-layer[data-active]{opacity:1;visibility:visible;transition:opacity .52s var(--sfi-ease) 80ms, transform .64s var(--sfi-ease) 80ms, visibility 0s;transform:none}.sfi-stage>.sfi-layer--code{content-visibility:hidden;transition:opacity .42s var(--sfi-ease), transform .64s var(--sfi-ease), visibility 0s linear .64s, content-visibility 0s linear .64s allow-discrete}.sfi-stage>.sfi-layer--code[data-active]{content-visibility:visible;transition:opacity .52s var(--sfi-ease) 80ms, transform .64s var(--sfi-ease) 80ms, visibility 0s, content-visibility 0s allow-discrete}.sfi-dock{z-index:5;pointer-events:none;justify-content:center;padding:0 16px;display:flex;position:absolute;bottom:24px;left:0;right:0}.sfi-dock>*{pointer-events:auto}.sfi-dock__scroller{background:var(--sfi-dock-bg);min-width:0;box-shadow:inset 0 0 0 1px var(--sfi-dock-line), var(--sfi-dock-light), var(--sfi-dock-shadow);border-radius:999px}.sfi-dock__bar{align-items:center;height:44px;padding:0 6px;display:flex}.sfi-dock__rule{background:var(--sfi-dock-line);flex:none;width:1px;height:18px;margin:0 4px}.sfi-dock__text{height:32px;color:var(--sf-text-muted);font:500 13px/1 var(--sf-sans);white-space:nowrap;cursor:pointer;transition:color .2s var(--sfi-ease), background .2s var(--sfi-ease);background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.sfi-dock__text:hover,.sfi-dock__text[aria-expanded=true]{color:var(--sf-text);background:var(--sfi-hover)}.sfi-dock__text svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:10px;height:10px;transition:transform .32s var(--sfi-spring)}.sfi-dock__text[aria-expanded=true] svg{transform:rotate(180deg)}.sfi-dock__text .sfi-dock__sliders{width:16px;height:16px;transform:none!important}.sfi-dock__picker-label{text-overflow:ellipsis;max-width:16ch;overflow:hidden}.sfi-dock__accents{align-items:center;padding:0 4px;display:flex}.sfi-dock__dot{cursor:pointer;background:0 0;border:0;place-items:center;width:26px;height:32px;padding:0;display:grid}.sfi-dock__dot:before{content:"";background:var(--dot);outline-offset:3px;width:10px;height:10px;transition:outline-color .24s var(--sfi-ease), transform .32s var(--sfi-spring);border-radius:50%;outline:1px solid #0000}.sfi-dock__dot:hover:before{transform:scale(1.15)}.sfi-dock__dot[aria-pressed=true]:before{outline-color:var(--sfi-dot-ring)}.sfi-dock__dot:focus-visible{outline:none}.sfi-dock__dot:focus-visible:before{outline-color:var(--sf-text)}.sfi-slide{flex:none;align-items:center;display:flex;position:relative}.sfi-slide__mark{background:var(--sfi-capsule);height:100%;box-shadow:var(--sfi-capsule-light);pointer-events:none;border-radius:999px;position:absolute;top:0;left:0}.sfi-slide__mark[data-ready]{transition:transform .56s var(--sfi-spring), width .56s var(--sfi-spring)}.sfi-slide__btn{height:32px;color:var(--sf-text-muted);font:500 13px/1 var(--sf-sans);white-space:nowrap;cursor:pointer;transition:color .24s var(--sfi-ease);background:0 0;border:0;border-radius:999px;padding:0 13px;position:relative}.sfi-slide__btn:hover,.sfi-slide__btn[aria-pressed=true]{color:var(--sf-text)}.sfi-slide__btn:focus-visible{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--sf-accent) 60%, transparent);outline:none}.sfi-pop{z-index:6;background:var(--sfi-pop-bg);box-shadow:inset 0 0 0 1px var(--sfi-dock-line), var(--sfi-dock-light), var(--sfi-pop-shadow);opacity:0;visibility:hidden;transform-origin:50% 100%;transition:opacity .2s var(--sfi-ease), transform .36s var(--sfi-ease), visibility 0s linear .36s;border-radius:20px;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,8px)scale(.98)}.sfi-pop[data-open]{opacity:1;visibility:visible;transition:opacity .26s var(--sfi-ease), transform .52s var(--sfi-spring), visibility 0s;transform:translate(-50%)}.sfi-pop--menu{min-width:220px;padding:6px}.sfi-pop__item{width:100%;height:36px;color:var(--sf-text-muted);font:400 14px/1 var(--sf-sans);text-align:left;white-space:nowrap;cursor:pointer;transition:background .16s var(--sfi-ease), color .16s var(--sfi-ease);background:0 0;border:0;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:0 12px;display:flex}.sfi-pop__item:hover,.sfi-pop__item:focus-visible{background:var(--sfi-hover);color:var(--sf-text);outline:none}.sfi-pop__item[aria-checked=true]{color:var(--sf-text)}.sfi-pop__item svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;opacity:0;width:12px;height:12px}.sfi-pop__item[aria-checked=true] svg{opacity:1}.sfi-pop--custom{transform-origin:100% 100%;overscroll-behavior:contain;scrollbar-width:thin;width:min(360px,100vw - 32px);max-height:min(440px,62vh);left:auto;right:24px;overflow-y:auto;transform:translateY(8px)scale(.98)}.sfi-pop--custom[data-open]{transform:none}.sfi-pop[data-below]{transform-origin:50% 0;top:calc(100% + 10px);bottom:auto}.sfi-pop--custom[data-below]{transform-origin:100% 0}@media (pointer:coarse){.sfi-dock__bar :is(.sfi-slide__btn,.sfi-dock__text,.sfi-dock__dot){position:relative}.sfi-dock__bar :is(.sfi-slide__btn,.sfi-dock__text,.sfi-dock__dot):after{content:"";position:absolute;inset:-6px 0}}.sfi-custom{padding:16px 20px 12px}.sfi-custom__head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.sfi-custom__title{color:var(--sf-text);font:500 13px/1 var(--sf-sans)}.sfi-custom__reset{color:var(--sf-text-muted);font:400 13px/1 var(--sf-sans);cursor:pointer;transition:color .2s var(--sfi-ease), opacity .2s var(--sfi-ease);background:0 0;border:0;padding:4px 0}.sfi-custom__reset:hover{color:var(--sf-text)}.sfi-custom__reset:disabled{opacity:0;pointer-events:none}.sfi-custom__row{justify-content:space-between;align-items:center;gap:16px;min-height:48px;display:flex}.sfi-custom__label{color:var(--sf-text-muted);font:400 13px/1.3 var(--sf-sans)}.sfi-custom__control{justify-content:flex-end;min-width:0;display:flex}.sfi-custom__row--number .em-num{justify-content:space-between;align-items:center;gap:16px;max-width:none;display:flex}.sfi-custom__row--number .ember .em-num__label,.sfi-custom__row--number .em-num .em-label{color:var(--sf-text-muted);margin:0;font-size:13px}.sfi-custom__row--number .em-num__field{flex:none;width:132px}.sfi-input{background:var(--sfi-field);width:168px;height:32px;box-shadow:inset 0 0 0 1px var(--sfi-field-line);color:var(--sf-text);font:400 13px/1 var(--sf-sans);transition:box-shadow .2s var(--sfi-ease);border:0;border-radius:10px;padding:0 12px}.sfi-input:focus-visible{box-shadow:inset 0 0 0 1px var(--sf-line-bright), var(--sf-focus);outline:none}.sfi-select{width:180px;display:inline-flex;position:relative}.sfi-select .em-inplace__label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sfi-code{flex-direction:column;display:flex;position:absolute;inset:0}.sfi-code__bar{justify-content:space-between;align-items:center;gap:16px;padding:18px 18px 0 32px;display:flex}.sfi-code__tabs{scrollbar-width:none;align-items:center;gap:4px;min-width:0;margin-left:-10px;display:flex;overflow-x:auto}.sfi-code__tabs::-webkit-scrollbar{display:none}.sfi-code__bar>.sfi-iconbtn{flex:none}.sfi-code__tab{height:32px;color:var(--sf-text-faint);font:400 14px/1 var(--sf-sans);white-space:nowrap;cursor:pointer;transition:color .24s var(--sfi-ease);background:0 0;border:0;border-radius:999px;padding:0 10px}.sfi-code__tab:hover,.sfi-code__tab[aria-selected=true]{color:var(--sf-text)}.sfi-code__tab:focus-visible{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--sf-accent) 60%, transparent);outline:none}.sfi-code__body{flex:1;min-height:0;position:relative}.sfi-code__panel{position:absolute;inset:0}.sfi-code__panel[hidden]{display:none}.sfi-code__scroll{scrollbar-width:thin;scrollbar-color:#7f7f7f40 transparent;height:100%;padding:20px 32px 112px;overflow:auto;-webkit-mask-image:linear-gradient(#0000 0,#000 20px calc(100% - 120px),#0000 calc(100% - 16px));mask-image:linear-gradient(#0000 0,#000 20px calc(100% - 120px),#0000 calc(100% - 16px))}.sfi-code__shared+.sfi-code__shared{margin-top:40px}.sfi-code__path{color:var(--sf-text-faint);font:400 13px/1.4 var(--sf-mono);margin-bottom:12px}.sfi-code__skeleton{place-items:center;display:grid;position:absolute;inset:0}.sfi-code__skeleton[data-leaving]{animation:sfi-code-out .28s var(--sfi-ease) both}.sfi-code__ghost{font:400 13px/1.7 var(--sf-mono);padding:20px 32px;animation:1.4s ease-in-out infinite alternate sfi-code-wait;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(#0000 0,#000 20px calc(100% - 120px),#0000 calc(100% - 16px));mask-image:linear-gradient(#0000 0,#000 20px calc(100% - 120px),#0000 calc(100% - 16px))}.sfi-code__skeleton[data-failed]>.sfi-code__ghost{opacity:.35;animation:none}.sfi-code__ghostline{align-items:center;gap:1ch;height:1.7em;display:flex}.sfi-code__ghostline span{background:var(--sfi-bar);border-radius:4px;height:7px}.sfi-code__ghostline span:nth-child(2){opacity:.6}.sfi-code__retry,.sfi-code__skeleton+.sfi-code__scroll{position:relative}.sfi-code__scroll[data-enter]{animation:sfi-code-in .28s var(--sfi-ease) both}@keyframes sfi-code-in{0%{opacity:0}}@keyframes sfi-code-out{to{opacity:0}}@keyframes sfi-code-wait{0%{opacity:.7}to{opacity:.4}}.sfi-code pre.shiki,.sfi-snippet pre.shiki{font:400 13px/1.7 var(--sf-mono);font-feature-settings:"zero";tab-size:2;width:max-content;min-width:100%;margin:0;background:0 0!important}.sfi-code pre.shiki:focus-visible,.sfi-snippet pre.shiki:focus-visible{outline:none}.sfi-code pre.shiki code,.sfi-snippet pre.shiki code{display:block}.sfi-locked{place-items:center;padding:24px 24px 96px;display:grid;position:absolute;inset:0}.sfi-locked__ghost{font:400 13px/22px var(--sf-mono);filter:blur(6px);opacity:.8;position:absolute;inset:48px 56px 96px;overflow:hidden;-webkit-mask-image:radial-gradient(70% 70% at 40% 45%,#000 20%,#0000 80%);mask-image:radial-gradient(70% 70% at 40% 45%,#000 20%,#0000 80%)}.sfi-locked__line{align-items:center;gap:1ch;height:22px;display:flex}.sfi-locked__line span{background:var(--sfi-bar);border-radius:4px;height:8px}.sfi-locked__line span:nth-child(2){opacity:.6}.sfi-locked__card{background:var(--sfi-card-bg);max-width:440px;box-shadow:inset 0 0 0 1px var(--sfi-card-line), var(--sfi-card-shadow);text-align:center;border-radius:24px;flex-direction:column;align-items:center;padding:36px 36px 30px;display:flex;position:relative}.sfi-locked__lock{width:18px;height:18px;color:var(--sf-text-muted);stroke-width:.8px}.sfi-locked__title{color:var(--sf-text);font:600 22px/1.25 var(--sf-sans);letter-spacing:-.025em;margin-top:18px}.sfi-locked__sub{color:var(--sf-text-muted);font:400 15px/1.55 var(--sf-sans);text-wrap:balance;margin-top:10px}.sfi-locked__actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 24px;margin-top:26px;display:flex}.sfi-docs{grid-template-columns:180px minmax(0,760px);justify-content:center;gap:72px;margin-top:176px;display:grid}.sfi-toc{align-self:start;padding-top:6px;position:sticky;top:120px}.sfi-toc ul{margin:0}.sfi-toc a{color:var(--sf-text-faint);font:400 14px/1.4 var(--sf-sans);transition:color .24s var(--sfi-ease), transform .32s var(--sfi-ease);padding:6px 0;display:block}.sfi-toc a:hover{color:var(--sf-text-muted)}.sfi-toc a[aria-current]{color:var(--sf-text)}.sfi-docs__intro{max-width:60ch;color:var(--sf-text-muted);font:400 19px/1.6 var(--sf-sans);letter-spacing:-.01em;margin-bottom:104px}.sfi-doc{scroll-margin-top:120px}.sfi-doc+.sfi-doc{margin-top:112px}.sfi-doc__title{color:var(--sf-text);font:600 32px/1.15 var(--sf-sans);letter-spacing:-.035em;scroll-margin-top:120px}.sfi-doc__text{max-width:60ch;color:var(--sf-text-muted);font:400 16px/1.6 var(--sf-sans);margin-top:12px}.sfi-snippet{background:var(--sfi-code-bg);border-radius:16px;margin-top:28px;position:relative}.sfi-snippet__code{scrollbar-width:thin;padding:24px 64px 24px 28px;overflow-x:auto}.sfi-snippet__copy{background:var(--sfi-code-bg);box-shadow:-12px 0 16px 4px var(--sfi-code-bg);border-radius:999px 0 0 999px;padding:0 12px 0 4px;position:absolute;top:12px;right:0}.sfi-install{background:var(--sfi-code-bg);border-radius:16px;margin-top:28px}.sfi-install__bar{justify-content:space-between;align-items:center;gap:12px;padding:10px 12px 0 16px;display:flex}.sfi-install__pms{gap:2px;display:flex}.sfi-install__pm{height:28px;color:var(--sf-text-faint);font:500 13px/1 var(--sf-sans);cursor:pointer;transition:background .2s var(--sfi-ease), color .2s var(--sfi-ease), box-shadow .2s var(--sfi-ease);background:0 0;border:0;border-radius:999px;padding:0 12px}.sfi-install__pm:hover{color:var(--sf-text-muted)}.sfi-install__pm[aria-pressed=true]{background:var(--sfi-capsule);box-shadow:var(--sfi-capsule-light);color:var(--sf-text)}.sfi-install__pm:focus-visible,.sfi-install__cmd:focus-visible{box-shadow:var(--sf-focus);outline:none}.sfi-install__cmd{color:var(--sfi-code-path);font:400 14px/1.6 var(--sf-mono);font-feature-settings:"zero";white-space:pre;scrollbar-width:thin;border-radius:0 0 16px 16px;margin:0;padding:14px 28px 22px;overflow-x:auto}.sfi-install__note{color:var(--sf-text-faint);font:400 14px/1.5 var(--sf-sans);margin-top:14px}.sfi-install__note .sfi-textlink{font-size:inherit}.sfi-files{margin:24px 0 0}.sfi-files__row{border-top:1px solid var(--sfi-rule);justify-content:space-between;align-items:baseline;gap:24px;padding:14px 0;display:flex}.sfi-files__row:last-child{border-bottom:1px solid var(--sfi-rule)}.sfi-files__path{overflow-wrap:anywhere;min-width:0;color:var(--sfi-code-path);font:400 13px/1.5 var(--sf-mono)}.sfi-files__note{color:var(--sf-text-faint);font:400 13px/1.5 var(--sf-sans);flex:none}.sfi-api{margin-top:24px;overflow-x:auto}.sfi-api__table{border-collapse:collapse;text-align:left;width:100%}.sfi-api__table thead th{color:var(--sf-text-faint);font:500 13px/1.4 var(--sf-sans);padding:0 24px 12px 0}.sfi-api__table tbody tr{border-top:1px solid var(--sfi-rule)}.sfi-api__table tbody tr:last-child{border-bottom:1px solid var(--sfi-rule)}.sfi-api__table tbody th,.sfi-api__table td{vertical-align:top;padding:16px 24px 16px 0;font-weight:400}.sfi-api__table td:last-child,.sfi-api__table th:last-child{padding-right:0}.sfi-api__prop{color:var(--sf-text);font:400 13px/1.5 var(--sf-mono);display:block}.sfi-api__label{color:var(--sf-text-faint);font:400 13px/1.45 var(--sf-sans);margin-top:2px;display:block}.sfi-api__type,.sfi-api__default{color:var(--sf-text-muted);font:400 13px/1.5 var(--sf-mono);overflow-wrap:anywhere}.sfi-api__table td:nth-child(2){width:46%}.sfi-after{margin-top:200px;padding-bottom:40px}.sfi-next{justify-content:center;align-items:center;gap:32px;width:fit-content;margin:0 auto;display:flex}.sfi-next__stage{aspect-ratio:4/3;width:168px;transition:transform .5s var(--sfi-ease);flex:none}.sfi-next:hover .sfi-next__stage{transform:translateY(-2px)}.sfi-next__text{flex-direction:column;gap:6px;display:flex}.sfi-next__kicker{color:var(--sf-text-faint);font:400 14px/1.3 var(--sf-sans)}.sfi-next__name{color:var(--sf-text);font:600 40px/1.1 var(--sf-sans);letter-spacing:-.04em}.sfi-next__arrow{color:var(--sf-text-faint);transition:transform .5s var(--sfi-spring), color .3s var(--sfi-ease);margin-left:.3em;display:inline-block}.sfi-next:hover .sfi-next__arrow{color:var(--sf-text);transform:translate(6px)}.sfi-more{margin-top:176px}.sfi-more__title{color:var(--sf-text);font:600 40px/1.1 var(--sf-sans);letter-spacing:-.035em;text-align:center}.sfi-more .sfi-grid{margin-top:56px}.sfi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 20px;margin:0;padding:0;list-style:none;display:grid}.sfi-card{position:relative}.sfi-card__stage{aspect-ratio:4/3}.sfi-card[data-hot] .sfi-card__stage{transform:translateY(-2px)}.sfi-card__meta{padding:18px 4px 0}.sfi-card__name{color:var(--sf-text);font:500 16px/1.3 var(--sf-sans);letter-spacing:-.015em;align-items:center;gap:7px;display:flex}.sfi-card__title{display:inline-block}.sfi-card__link:after{content:"";z-index:4;border-radius:20px;position:absolute;inset:0}.sfi-card__link:focus-visible{outline:none}.sfi-card__link:focus-visible:after{box-shadow:var(--sf-focus)}.sfi-new{background:var(--sf-accent-wash);height:18px;color:var(--sf-accent);font:500 10px/1 var(--sf-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;flex:none;align-items:center;padding:0 7px;display:inline-flex;box-shadow:inset 0 1px #ffffff0f}.sfi-card__lock{color:var(--sf-text-faint);display:inline-flex}.sfi-card__lock .sf-lock{width:11px;height:11px}.sfi-card__blurb{color:var(--sf-text-muted);font:400 14px/1.45 var(--sf-sans);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;overflow:hidden}::view-transition-group(.sfi-morph){animation-duration:.64s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-image-pair(.sfi-morph){animation-name:sfi-via-blur;animation-duration:.64s}::view-transition-old(.sfi-morph){object-fit:cover;height:100%}::view-transition-new(.sfi-morph){object-fit:cover;height:100%}@keyframes sfi-via-blur{35%{filter:blur(2px)}}@media (max-width:1100px){.sfi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sfi-more .sfi-grid>li:nth-child(3){display:none}}@media (max-width:900px){.sfi-docs{grid-template-columns:minmax(0,1fr);gap:0;margin-top:120px}.sfi-toc{display:none}}@media (max-width:700px){.sfi-page{padding-top:112px}.sfi-hero__title{font-size:clamp(44px,12vw,56px)}.sfi-hero__lede{margin-top:18px;font-size:17px}.sfi-hero__actions{margin-top:28px}.sfi-rise--stage{margin-top:48px}.sfi-stage{--sfi-dock-band:0px;height:max(min(64vh, 520px), 400px, var(--sfi-min,0px))}.sfi-stage>.sfi-layer--preview>.sf-stage__frame{border-radius:inherit}.sfi-stage>.sfi-layer--preview .sf-stage__iframe{-webkit-mask-image:none;mask-image:none}.sfi-dock{margin-top:14px;padding:0;display:block;position:relative;bottom:auto}.sfi-pop--custom{right:0}.sfi-dock__scroller{scrollbar-width:none;overscroll-behavior-x:contain;overflow-x:auto}.sfi-dock__scroller::-webkit-scrollbar{display:none}.sfi-dock__bar{justify-content:center;width:max-content;min-width:100%}.sfi-pop{bottom:calc(100% + 8px)}.sfi-dock__bar{padding:0 4px}.sfi-dock__rule{margin:0 2px}.sfi-dock .sfi-slide__btn,.sfi-dock__text{padding:0 10px}.sfi-dock__dot{width:22px}.sfi-dock__picker-label{max-width:11ch}.sfi-dock__bar{justify-content:safe center;width:auto}.sfi-dock__bar>*,.sfi-dock__picker svg{flex:none}.sfi-dock__bar>.sfi-dock__picker{flex:0 auto;min-width:0}.sfi-dock__picker-label{min-width:0}.sfi-pop[data-below]{top:calc(100% + 8px)}.sfi-code__bar{padding:14px 12px 0 22px}.sfi-code__scroll{padding:16px 22px 40px;-webkit-mask-image:linear-gradient(#0000 0,#000 16px calc(100% - 40px),#0000);mask-image:linear-gradient(#0000 0,#000 16px calc(100% - 40px),#0000)}.sfi-code pre.shiki{font-size:12px}.sfi-code__ghost{padding:16px 22px;font-size:12px}.sfi-locked{padding:20px 16px}.sfi-locked__ghost{inset:24px}.sfi-locked__card{padding:28px 22px 24px}.sfi-docs{margin-top:104px}.sfi-docs__intro{margin-bottom:80px;font-size:17px}.sfi-doc+.sfi-doc{margin-top:88px}.sfi-doc__title{font-size:28px}.sfi-snippet__code{padding:20px 56px 20px 20px}.sfi-install__bar{padding:8px 8px 0 12px}.sfi-install__cmd{padding:12px 20px 18px;font-size:13px}.sfi-api__table td:nth-child(2){width:auto}.sfi-after{margin-top:120px}.sfi-next{gap:20px}.sfi-next__stage{width:104px}.sfi-next__name{font-size:28px}.sfi-more{margin-top:112px}.sfi-more__title{font-size:32px}.sfi-more .sfi-grid{margin-top:40px}.sfi-grid{grid-template-columns:minmax(0,1fr);gap:36px}.sfi-more .sfi-grid>li:nth-child(3){display:block}}@media (prefers-reduced-motion:reduce){.sfi-rise{animation:none}.sfi-code__scroll[data-enter],.sfi-code__skeleton[data-leaving]{animation-duration:1ms}.sfi-code__ghost{animation:none}.sfi-stage>.sfi-layer,.sfi-stage>.sfi-layer[data-active],.sfi-slide__mark[data-ready],.sfi-pop,.sfi-pop[data-open],.sfi-next__arrow,.sfi-next__stage,.sfi-dock__dot:before{transition:none}.sfi-stage>.sfi-layer,.sfi-card[data-hot] .sfi-card__stage,.sfi-next:hover .sfi-next__stage{transform:none}::view-transition-group(.sfi-morph){animation:none}::view-transition-image-pair(.sfi-morph){animation:none}}@media (max-width:700px){.sfi-next__stage .sf-stage__frame{--stage-zoom:.24!important}}.sfi-ai{justify-items:start;margin-top:28px;display:grid}.sfi-ai button{color:var(--sf-text-faint);font:400 13px/1.4 var(--sf-sans);text-align:left;cursor:pointer;transition:color .24s var(--sfi-ease);background:0 0;border:0;padding:5px 0}.sfi-ai button:hover{color:var(--sf-text-muted)}.sfi-ai button:focus-visible{outline:1px solid var(--sf-line-bright);outline-offset:2px;border-radius:2px}.sfi-ai-inline{display:none}@media (max-width:900px){.sfi-ai-inline{margin:-56px 0 72px;display:block}.sfi-ai-inline .sfi-ai{flex-wrap:wrap;gap:4px 20px;margin-top:0;display:flex}}.sfi-gate{background:color-mix(in srgb, var(--sfi-code-bg) 60%, #ffffff0a);border-radius:16px;align-items:center;gap:16px;margin-top:12px;padding:16px 16px 16px 22px;display:flex;box-shadow:inset 0 1px #ffffff0a}.sfi-gate__lock{width:18px;height:18px;color:var(--sf-text-muted);flex:none}.sfi-gate__text{flex:1;gap:4px;min-width:0;display:grid}.sfi-gate__text strong{color:var(--sf-text);font:500 15px/1.4 var(--sf-sans);letter-spacing:-.01em}.sfi-gate__text span{color:var(--sf-text-faint);font:400 14px/1.5 var(--sf-sans)}.sfi-gate__text s{color:var(--sf-text-ghost);text-decoration-thickness:1px}.sfi-gate__text .sfi-textlink{font-size:inherit}.sfi-gate .sfi-buy .sfi-pill{flex:none}@media (max-width:640px){.sfi-gate{flex-wrap:wrap;align-items:flex-start;padding:16px 18px}.sfi-gate__lock{margin-top:2px}.sfi-gate__text{flex-basis:calc(100% - 34px)}.sfi-gate .sfi-buy .sfi-pill{width:100%}}
