.ft{--dim:color-mix(in oklab, var(--ink2) 80%, var(--ground));--rule:color-mix(in oklab, var(--line), var(--ink) 9%);--on-ink:var(--ground);--ft-font:var(--font-geist), ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--ft-mono:var(--font-geist-mono), ui-monospace, SFMono-Regular, Menlo, monospace;--ft-out:cubic-bezier(.16, 1, .3, 1);--ft-press:cubic-bezier(.2, .8, .2, 1);--ft-swap:cubic-bezier(.77, 0, .175, 1);--gut:clamp(20px, 4.4vw, 72px);background:var(--ground);min-height:100vh;color:var(--ink);font:400 16px/1.55 var(--ft-font);letter-spacing:-.006em;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;transition:background-color .6s var(--ft-swap), color .6s var(--ft-swap);display:block;position:relative;overflow-x:clip}:where(.ft) :is(h1,h2,p,ol,ul){margin:0;padding:0}:where(.ft) :is(ol,ul){list-style:none}:where(.ft) a{color:inherit;text-decoration:none}:where(.ft) button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}:where(.ft) :is(h1,h2){text-wrap:balance}:where(.ft) p{text-wrap:pretty}.ft :focus-visible{outline:2px solid var(--ink);outline-offset:4px;box-shadow:0 0 0 6px var(--ground);border-radius:6px}.ft-mono{font-family:var(--ft-mono);font-variant-numeric:tabular-nums;letter-spacing:0}.ft-form{display:contents}.ft-stage{z-index:0;pointer-events:none;position:fixed;inset:0}.ft-gl{opacity:0;width:100%;height:100%;transition:opacity .9s var(--ft-out);display:block;position:absolute;inset:0}.ft-has-gl .ft-gl{opacity:1}.ft-has-gl .ft-gl.ft-dip{opacity:0;transition-duration:.2s}.ft-fallback{width:min(28vh,32vw);color:var(--ink);transition:left .9s var(--ft-out), top .9s var(--ft-out);filter:drop-shadow(10px 18px 22px #00000024);position:absolute;top:31%;left:50%;transform:translate(-50%,-50%)}.ft-fallback .ft-t4{transform-origin:155px 167.5px;transition:transform .9s var(--ft-out);transform:rotate(-9.45deg)translate(6px,8px)}.ft-has-gl .ft-fallback{display:none}.ft[data-at="1"] .ft-fallback,.ft[data-at="2"] .ft-fallback,.ft[data-at="4"] .ft-fallback{top:50%;left:70%}.ft[data-at="3"] .ft-fallback{top:50%;left:28%}.ft[data-at="5"] .ft-fallback .ft-t4{transform:translate(-3.5px,-16px)}.ft-bar{z-index:20;height:68px;padding:0 var(--gut);justify-content:space-between;align-items:center;display:flex;position:fixed;inset:0 0 auto}.ft-bar:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(var(--ground) 62%, color-mix(in srgb, var(--ground) 0%, transparent));opacity:0;transition:opacity .4s var(--ft-out);position:absolute;inset:0 0 -24px}.ft-scrolled .ft-bar:before{opacity:1}.ft-brand{min-width:44px;min-height:44px;font:620 19px/1 var(--ft-font);letter-spacing:-.035em;align-items:center;display:inline-flex}.ft-brand .wm{letter-spacing:-.035em;font-size:19px}.ft .wm-mark,.ft .wm-ghost{color:var(--ink);filter:none}.ft-bar-r{align-items:center;gap:10px;display:flex}.ft-switch{background:var(--sunken);height:36px;box-shadow:inset 0 0 0 1px var(--line);font:500 11px/1 var(--ft-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim);border-radius:999px;align-items:center;padding:0 4px;display:inline-flex;position:relative}.ft-switch span{z-index:1;text-align:center;width:52px;transition:color .5s var(--ft-swap);position:relative}.ft-knob{z-index:0;background:var(--surface);width:52px;height:28px;box-shadow:var(--lift);transition:transform .6s var(--ft-swap), background-color .6s var(--ft-swap);border-radius:999px;position:absolute;top:4px;left:4px}.ft-switch[aria-checked=false] span:first-of-type,.ft-switch[aria-checked=true] span:last-of-type{color:var(--ink)}.ft-switch[aria-checked=true] .ft-knob{transform:translate(52px)}.ft-btn{background:var(--ink);height:44px;color:var(--on-ink);font:520 15px/1 var(--ft-font);letter-spacing:-.01em;transition:transform .14s var(--ft-press), background-color .6s var(--ft-swap), color .6s var(--ft-swap);border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 20px;display:inline-flex}.ft-btn:active{transform:scale(.97)!important}.ft-btn[data-pending]{opacity:.8}.ft-btn-sm{gap:8px;height:36px;padding:0 16px;font-size:14px}.ft-btn-sm svg{display:none}.ft-btn-lg{height:54px;padding:0 24px 0 20px;font-size:16px}.ft-shut{color:var(--ink2);max-width:30em;font-size:15px;line-height:1.5}.ft-ch,.ft-footer{position:relative}.ft-ch{z-index:2;padding:0 var(--gut)}.ft-eyebrow{font:500 11.5px/1 var(--ft-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);align-items:center;gap:12px;display:flex}.ft-eyebrow b{color:var(--ink);font-weight:500}.ft-eyebrow:after{content:"";background:var(--rule);width:40px;height:1px}:where(.ft) h2{font:600 clamp(34px, 4.1vw, 60px)/.98 var(--ft-font);letter-spacing:-.045em}.ft-body{color:var(--ink2);max-width:34em;font-size:17px;line-height:1.6}.ft-ln{margin-bottom:-.1em;padding-bottom:.1em;display:block;overflow:clip}.ft-ln>span{transition:transform 1s var(--ft-out);display:block}.ft-rv{transition:opacity .9s var(--ft-out), transform .9s var(--ft-out)}.ft[data-js] .ft-ln>span{transform:translateY(108%)}.ft[data-js] .ft-rv{opacity:0;transform:translateY(14px)}.ft[data-js] .ft-in .ft-ln>span{transform:none}.ft[data-js] .ft-in .ft-rv{opacity:1;transform:none}.ft-in .ft-ln:nth-child(2)>span{transition-delay:70ms}.ft-in .ft-d1{transition-delay:.12s}.ft-in .ft-d2{transition-delay:.2s}.ft-in .ft-d3{transition-delay:.28s}.ft-hero{flex-direction:column;justify-content:flex-end;min-height:100svh;padding-bottom:clamp(28px,5vh,56px);display:flex}.ft-display{font:600 min(8.1vw, 13.2vh, 168px)/.9 var(--ft-font);letter-spacing:-.055em;margin:18px 0 0 -.04em}.ft-foot{border-top:1px solid var(--line);grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:end;gap:24px 56px;margin-top:clamp(22px,3.6vh,40px);padding-top:clamp(18px,2.6vh,26px);display:grid}.ft-lede{color:var(--ink2);max-width:31em;font-size:17px;line-height:1.55}.ft-cta{flex-direction:column;justify-self:end;align-items:flex-start;gap:12px;display:flex}.ft-note{color:var(--dim);max-width:34em;font-size:13px;line-height:1.5}.ft-pieces{align-items:center;min-height:150vh;display:flex}.ft-copy{gap:22px;width:min(38vw,520px);display:grid}.ft-parts{border-top:1px solid var(--line);margin-top:6px;display:grid}.ft-parts li{border-bottom:1px solid var(--line);color:var(--ink2);grid-template-columns:92px 1fr;gap:12px;padding:13px 0;font-size:15px;display:grid}.ft-parts b{color:var(--ink);font-weight:560}.ft-tags{z-index:1;pointer-events:none;opacity:0;position:fixed;inset:0}.ft-tags svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.ft-tags line{stroke:var(--rule);stroke-width:1px}.ft-tags circle{fill:var(--ink)}.ft-tag{white-space:nowrap;font-size:14px;line-height:1.25;position:absolute;top:0;left:0}.ft-tag b{letter-spacing:-.01em;font-weight:560;display:block}.ft-tag i{font:400 11.5px/1.4 var(--ft-mono);color:var(--dim)}.ft-tag.ft-l{text-align:right}.ft-entry-ch{align-items:center;min-height:170vh;display:flex}.ft-entry{background:var(--surface);box-shadow:var(--lift);transition:background-color .6s var(--ft-swap);border-radius:22px;gap:12px;padding:18px 20px 16px;display:grid}.ft-e-head{align-items:center;gap:10px;font-size:14px;display:flex}.ft-who{font-weight:560}.ft-h{color:var(--dim)}.ft-av{border-radius:9px;flex:none;width:30px;height:30px;overflow:hidden}.ft-e-body{font-size:15.5px;line-height:1.55}.ft-ms{background:var(--sunken);height:26px;color:var(--ink2);border-radius:999px;justify-self:start;align-items:center;gap:8px;padding:0 10px;font-size:12.5px;display:inline-flex}.ft-ms:before{content:"";background:var(--live);border-radius:2px;width:7px;height:7px;transform:rotate(45deg)}.ft-e-foot{border-top:1px solid var(--line);color:var(--dim);flex-wrap:wrap;align-items:center;gap:8px 14px;padding-top:12px;font-size:12.5px;display:flex}.ft-code{font:500 12px/1 var(--ft-mono);color:var(--ink);align-items:center;gap:8px;display:inline-flex}.ft-dot{background:var(--dim);border-radius:50%;flex:none;width:7px;height:7px}.ft-dot[data-s=idea]{background:var(--idea)}.ft-dot[data-s=bld]{background:var(--bld)}.ft-dot[data-s=beta]{background:var(--beta)}.ft-dot[data-s=live]{background:var(--live)}.ft-dot[data-s=shelf]{background:var(--shelf)}.ft-chip{height:24px;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink2);border-radius:999px;align-items:center;padding:0 9px;display:inline-flex}.ft-fork{height:150px;margin-top:-2px;position:relative}.ft-fork svg{width:100%;height:96px;position:absolute;inset:0 0 auto;overflow:visible}.ft-fork path{fill:none;stroke:var(--ink);stroke-width:1.25px;stroke-dasharray:1}.ft[data-js] .ft-fork path{stroke-dashoffset:1px}.ft-ends{grid-template-columns:1fr 1fr;display:grid;position:absolute;inset:104px 0 auto}.ft-end{transition:opacity .5s var(--ft-out);font-size:14px;line-height:1.35}.ft[data-js] .ft-end{opacity:.25}.ft[data-js] .ft-fork.ft-done .ft-end{opacity:1}.ft-end:last-child{text-align:right}.ft-end b{font-weight:560;display:block}.ft-end i{font:400 12px/1.4 var(--ft-mono);color:var(--dim);font-style:normal}.ft-log{height:300vh;padding:0}.ft-pin{height:100svh;padding:76px var(--gut) 32px;align-items:center;display:flex;position:sticky;top:0}.ft-log .ft-copy{gap:18px;width:min(44vw,560px);margin-left:auto}.ft-machine{align-items:center;gap:18px;margin-top:4px;display:flex}.ft-plate{background:var(--ink);height:64px;color:var(--on-ink);font:500 26px/1 var(--ft-mono);letter-spacing:-.01em;box-shadow:0 2px 0 var(--rule), 0 18px 30px -16px #00000073;transition:background-color .6s var(--ft-swap), color .6s var(--ft-swap);border-radius:16px;align-items:center;padding:0 18px;display:inline-flex}.ft-pre{opacity:.74}.ft-dg{width:1ch;height:1.15em;line-height:1.15;display:inline-block;overflow:clip}.ft-dg>span{display:block}.ft-dg.ft-roll>span{animation:ft-roll .22s var(--ft-out)}@keyframes ft-roll{0%{opacity:0;transform:translateY(-80%)}to{opacity:1;transform:none}}.ft-plate.ft-press{animation:ft-press .26s var(--ft-press)}@keyframes ft-press{40%{box-shadow:0 0 0 var(--rule), 0 6px 10px -8px #0006;transform:translateY(4px)scale(.985)}}.ft-m-note{font:400 12px/1.45 var(--ft-mono);color:var(--dim);max-width:22ch}.ft-rows{border-top:1px solid var(--line);display:grid}.ft-row{border-bottom:1px solid var(--line);grid-template-columns:112px 82px 1fr;align-items:baseline;gap:14px;padding:12px 0;font-size:14.5px;line-height:1.45;display:grid}.ft-stg{color:var(--dim);align-items:center;gap:7px;font-size:12.5px;display:inline-flex}.ft-row p{color:var(--ink2)}.ft-row .ft-code,.ft-row p,.ft-row .ft-stg{transition:opacity .35s var(--ft-out), filter .35s var(--ft-out)}.ft-row:not(.ft-inked) .ft-code,.ft-row:not(.ft-inked) p,.ft-row:not(.ft-inked) .ft-stg{opacity:.18;filter:blur(.4px)}.ft-gap{border-bottom:1px solid var(--line);font:400 11.5px/1 var(--ft-mono);color:var(--dim);letter-spacing:.04em;padding:7px 0}.ft-stopped{align-items:center;min-height:160vh;display:flex}.ft-q{background:var(--sunken);height:20px;font:500 10.5px/1 var(--ft-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);vertical-align:1px;border-radius:6px;align-items:center;margin-left:8px;padding:0 7px;display:inline-flex}.ft-close{height:230vh;padding:0}.ft-close .ft-pin{flex-direction:column;justify-content:flex-end;align-items:stretch;padding-bottom:clamp(28px,5vh,56px)}.ft-close-h{font:600 min(6.4vw, 10.5vh, 132px)/.92 var(--ft-font);letter-spacing:-.055em;margin-top:16px}.ft-ring{z-index:1;width:10px;height:10px;box-shadow:0 0 0 1px var(--ink);opacity:0;pointer-events:none;border-radius:50%;margin:-5px 0 0 -5px;position:fixed;top:0;left:0}.ft-ring.ft-go{animation:ft-ring 1.1s var(--ft-out) forwards}@keyframes ft-ring{0%{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(34)}}.ft-footer{z-index:2;padding:26px var(--gut) 34px;border-top:1px solid var(--line);color:var(--dim);background:var(--ground);transition:background-color .6s var(--ft-swap);justify-content:space-between;align-items:center;gap:16px;font-size:13px;display:flex}.ft-footer .wm{color:var(--ink);font-size:16px}@media (hover:hover) and (pointer:fine){.ft-btn:hover{transform:translateY(-1px)}.ft-switch:hover{box-shadow:inset 0 0 0 1px var(--rule)}}@media (max-width:760px){.ft-bar{height:58px}.ft-bar .ft-btn-sm{display:none}.ft-switch{height:44px;padding:0 5px}.ft-knob{height:34px;top:5px}.ft-hero{padding-bottom:28px}.ft-display{font-size:clamp(40px,11.6vw,64px);line-height:.92}.ft-foot{grid-template-columns:1fr;gap:18px}.ft-cta{justify-self:start}.ft-lede,.ft-body{font-size:16px}.ft-pieces,.ft-entry-ch,.ft-stopped{min-height:0;padding-top:50svh;padding-bottom:12svh;display:block}.ft-copy,.ft-log .ft-copy{width:auto;margin:0;position:relative}.ft-copy:before{content:"";inset:-40px calc(-1 * var(--gut)) -24px;z-index:-1;background:linear-gradient(color-mix(in srgb, var(--ground) 0%, transparent), var(--ground) 40px);position:absolute}.ft-tags{display:none}.ft-log{height:auto}.ft-log .ft-pin{height:auto;padding:50svh var(--gut) 12svh;display:block;position:relative}.ft-row{grid-template-columns:1fr auto;gap:4px 12px}.ft-row p{grid-column:1/-1}.ft-plate{height:56px;padding:0 14px;font-size:22px}.ft-machine{flex-wrap:wrap}.ft-close{height:auto}.ft-close .ft-pin{height:auto;min-height:100svh;padding-top:52svh;position:relative}.ft-close-h{font-size:clamp(38px,11vw,60px)}.ft-footer{flex-direction:column;align-items:flex-start}}@media (max-width:760px) and (max-height:700px){.ft-hero .ft-note{display:none}}@media (min-width:761px) and (max-height:760px){.ft-row{padding:9px 0;font-size:13.5px}.ft-gap{padding:5px 0}.ft-log .ft-copy{gap:13px}.ft-log .ft-body{font-size:15.5px}.ft-plate{height:54px;font-size:22px}}@media (prefers-reduced-motion:reduce){.ft *,.ft :before,.ft :after{transition-duration:.01ms!important;animation:none!important}.ft[data-js] .ft-ln>span,.ft[data-js] .ft-rv{transform:none!important}.ft[data-js] .ft-rv{opacity:1}.ft-has-gl .ft-gl{transition:opacity .3s linear!important}.ft-has-gl .ft-gl.ft-dip{transition-duration:.15s!important}.ft-btn:active{transform:none!important}}
