:root{--ground: #fefefe;--ink: #171717;--ink-2: #525252;--ink-3: #737373;--line: #e5e5e5;--panel: #fafafa;--dark-0: #000000;--dark-1: #0a0a0a;--dark-2: #171717;--dark-3: #404040;--tint-1: #d4d4d4;--tint-2: #f5f5f5;--add: #047857;--add-soft: #ecfdf5;--add-line: #a7f3d0;--del: #d20f39;--del-soft: #fff1f2;--del-line: #fecdd3;--amber: #b45309;--sans: "Instrument Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background:var(--ground);-webkit-text-size-adjust:100%}@media(min-width:90rem){html{font-size:clamp(16px,1.11vw,21px)}}body{font-family:var(--sans);background:var(--ground);color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--dark-1);outline-offset:2px;border-radius:4px}.nav :focus-visible,.hero :focus-visible{outline-color:#fff}.wrap{max-width:72rem;margin:0 auto;padding:0 1.25rem}.mono{font-family:var(--mono)}#how,#features,#review{scroll-margin-top:5.5rem}.skip{position:absolute;left:50%;top:0;transform:translate(-50%,-110%);z-index:100;background:#fff;color:var(--ink);padding:.6rem 1.1rem;border-radius:0 0 .5rem .5rem;font-size:.9375rem;box-shadow:0 4px 16px #00000026;transition:transform .15s}.skip:focus{transform:translate(-50%)}.btn{display:inline-flex;align-items:center;justify-content:center;height:3rem;padding:0 1.5rem;border-radius:1.5rem;border:1px solid transparent;font-family:var(--sans);font-size:1.0625rem;font-weight:400;letter-spacing:-.01em;cursor:pointer;transition:background-color .3s,border-color .3s,color .3s;white-space:nowrap}.btn-white{background:#fff;border-color:#fff;color:#262626}.btn-white:hover{background:#ffffffd9}.btn-dark{background:var(--dark-2);border-color:var(--dark-3);color:#fff}.btn-dark:hover{background:var(--dark-1)}.btn-ghost{background:#fff;border-color:var(--line);color:#262626}.btn-ghost:hover{background:var(--tint-2)}.nav{position:fixed;top:0;left:0;right:0;z-index:50;background:linear-gradient(to bottom,var(--dark-1),rgba(10,10,10,.8));border-bottom:1px solid var(--dark-2);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);color:#fff}.nav-inner{max-width:72rem;margin:0 auto;padding:0 1.25rem;height:4rem;display:flex;align-items:center;gap:2rem}.nav .brand{color:#fff}.brand{display:flex;align-items:center;gap:.55rem;font-weight:600;font-size:1.125rem;letter-spacing:-.02em;color:var(--ink)}.brand .logo{width:1.5rem;height:1.5rem;flex:none;color:currentColor}.nav-links{display:flex;gap:1.5rem;align-items:center;font-size:.9375rem;letter-spacing:-.01em}.nav-links a{color:#ffffffd9;transition:color .2s}.nav-links a:hover{color:#fff}.nav-spacer{flex:1}.nav-cta{display:inline-flex;align-items:center;height:2.25rem;padding:0 1.1rem;background:#fff;color:var(--dark-1);border-radius:1.25rem;font-size:.9375rem;letter-spacing:-.01em;transition:background-color .2s}.nav-cta:hover{background:#ffffffd9}.gh-link{display:inline-flex;align-items:center;gap:.5rem}.menu-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:2.25rem;height:2.25rem;padding:0;border:0;background:transparent;cursor:pointer;border-radius:.5rem}.menu-toggle:hover{background:#ffffff1a}.menu-toggle span{display:block;width:18px;height:2px;border-radius:2px;background:#fff;transition:transform .2s,opacity .2s}.nav.menu-open .menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}.nav.menu-open .menu-toggle span:nth-child(2){opacity:0}.nav.menu-open .menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.hero{background:linear-gradient(to bottom,var(--dark-1) 0%,var(--dark-1) 55%,var(--dark-2) 100%);color:#fff;padding:11rem 0 5rem;text-align:center}.hero h1{margin:0 auto;max-width:56rem;font-size:clamp(2.5rem,7vw,4.5rem);font-weight:400;letter-spacing:-.045em;line-height:1.04;text-wrap:balance}.hero p.sub{margin:1.25rem auto 0;max-width:44rem;font-size:clamp(1.05rem,2vw,1.25rem);color:var(--tint-1);letter-spacing:-.01em}.hero-actions{margin-top:2.75rem;display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.demo-holder{margin:3.5rem auto 0;max-width:80rem;padding:0 1.25rem;overflow-x:clip}.diffgrid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;text-align:left}.vpanel{min-width:0;background:#fff;border-radius:.75rem;overflow:hidden;box-shadow:0 6px 14px #0000000d,0 25px 25px #0000000a,0 56px 33px #00000005,0 99px 40px #00000003}.vpanel:first-child{transform-origin:right center}.vpanel+.vpanel{position:relative;transform-origin:left center}.vpanel+.vpanel:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;background:linear-gradient(105deg,#fff0 38%,#ffffffd9,#fff0 62%)}.mk{transform-box:fill-box;transform-origin:center}rect.mk{stroke-dasharray:var(--len)}.m1{--d: 2.2s}.m2{--d: 2.75s}.m3{--d: 3.3s}.m4{--d: 3.85s}.demo-holder.play .diffgrid{animation:gridSettle 1.15s cubic-bezier(.33,1,.68,1) 1s both}.demo-holder.play .vpanel:first-child{animation:leadSettle 1.15s cubic-bezier(.33,1,.68,1) 1s both}.demo-holder.play .vpanel+.vpanel{animation:panelIn 1s cubic-bezier(.2,.9,.25,1) 1.05s both}.demo-holder.play .vpanel+.vpanel:after{animation:sweep .9s cubic-bezier(.4,0,.2,1) 1.45s both}.demo-holder.play rect.mk{animation:ringDraw .5s cubic-bezier(.35,.8,.3,1) var(--d) both,tintIn .35s ease calc(var(--d) + .28s) both}.demo-holder.play circle.mk{animation:stamp .5s cubic-bezier(.34,1.7,.64,1) calc(var(--d) + .34s) both}.demo-holder.play text.mk{animation:stamp .5s cubic-bezier(.34,1.7,.64,1) calc(var(--d) + .38s) both}.demo-holder.play .vcount{animation:countIn .5s cubic-bezier(.34,1.6,.64,1) 4.75s both}@keyframes gridSettle{0%{transform:translate(25.5%)}to{transform:translate(0)}}@keyframes leadSettle{0%{transform:scale(1.035)}to{transform:scale(1)}}@keyframes panelIn{0%{opacity:0;transform:scale(.93)}40%{opacity:1}70%{transform:scale(1.006)}to{opacity:1;transform:scale(1)}}@keyframes sweep{0%{opacity:0;transform:translate(-65%)}20%{opacity:.85}to{opacity:0;transform:translate(65%)}}@keyframes ringDraw{0%{stroke-dashoffset:var(--len)}to{stroke-dashoffset:0}}@keyframes tintIn{0%{fill-opacity:0}to{fill-opacity:1}}@keyframes stamp{0%{opacity:0;transform:scale(.35)}55%{opacity:1;transform:scale(1.22)}78%{transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes countIn{0%{opacity:0;transform:scale(.72) translateY(3px);background:#ecfdf5}55%{opacity:1;transform:scale(1.12) translateY(0)}to{opacity:1;transform:scale(1) translateY(0);background:var(--line)}}.vhead{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem .75rem;background:var(--dark-2)}.vtag{font-family:var(--sans);font-size:.75rem;font-weight:600;letter-spacing:-.01em;color:#fff;background:#ffffff24;padding:.18rem .55rem;border-radius:.35rem}.vcount{font-family:var(--sans);font-size:.72rem;font-weight:500;letter-spacing:-.005em;color:var(--ink);background:var(--line);padding:.18rem .55rem;border-radius:.35rem}.rung{display:flex;align-items:flex-start;gap:.5rem;padding:.85rem .75rem}.rung+.rung{border-top:1px solid var(--line)}.rung-n{flex:none;margin-top:.2rem;font-family:var(--mono);font-size:.65rem;color:var(--ink-3);background:var(--panel);border:1px solid var(--line);border-radius:.3rem;padding:.1rem .35rem}.rung svg{flex:1;min-width:0;height:auto}.section{padding:7rem 0}.section-head{text-align:center;max-width:46rem;margin:0 auto 4rem}.section-head h2{font-size:clamp(2rem,4.5vw,3.25rem);font-weight:400;letter-spacing:-.03em;line-height:1.05;text-wrap:balance}.section-head p{margin-top:1rem;color:var(--ink-2);font-size:1.125rem;letter-spacing:-.01em}.bento{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.tile{border:1px solid var(--line);border-radius:.75rem;background:#fff;padding:1.5rem;display:flex;flex-direction:column;gap:.5rem;transition:box-shadow .3s,border-color .3s}.tile:hover{border-color:var(--tint-1);box-shadow:0 10px 30px #1717170d}.tile h3{font-size:1.0625rem;font-weight:600;letter-spacing:-.015em}.tile p{color:var(--ink-2);font-size:.9375rem;letter-spacing:-.005em;max-width:46ch}.tile .frame{margin-top:auto;border:1px solid var(--line);border-radius:.5rem;background:var(--panel);padding:.9rem;min-height:6.5rem;display:flex;flex-direction:column;justify-content:center;gap:.5rem;overflow:hidden}.tile-lead{grid-column:span 2}.tile-lead h3{font-size:1.4rem;letter-spacing:-.025em}.tile-lead p{font-size:1rem}.tile-lead .frame{min-height:15rem;padding:1.25rem}.tile-tall .frame{min-height:8rem;flex:1}.tile-mid .frame{flex:1}.tile-wide{grid-column:span 3;flex-direction:row;align-items:center;gap:2.5rem}.tile-wide .copy{flex:0 0 22rem;display:flex;flex-direction:column;gap:.5rem}.tile-wide .frame{margin-top:0;flex:1;min-height:6rem}.hub{flex:1;min-height:0;width:100%}.thread{display:flex;flex-direction:column;gap:.45rem}.mr-line{display:flex;align-items:center;gap:.5rem}.mr-line.me{flex-direction:row-reverse}.avatar{width:1.5rem;height:1.5rem;border-radius:50%;flex:none;display:grid;place-items:center;font-size:.6rem;font-weight:600;color:#fff;letter-spacing:0}.bubble{border:1px solid var(--line);background:#fff;border-radius:.5rem;padding:.35rem .6rem;font-size:.72rem;line-height:1.35;color:var(--ink-2);min-width:0}.me .bubble{background:var(--tint-2)}.mr-verdict{display:flex;justify-content:flex-end;gap:.4rem}.pill{display:inline-flex;align-items:center;padding:.15rem .6rem;border-radius:1rem;font-size:.72rem;font-weight:500}.pill.green{background:var(--add-soft);border:1px solid var(--add-line);color:var(--add)}.pill.neutral{background:var(--tint-2);border:1px solid var(--tint-1);color:var(--dark-1)}.lock-stage{position:relative;flex:1;display:grid}.lock-stage>*{grid-area:1 / 1}.ladder-mini{width:100%;height:100%;min-height:0;filter:blur(2.5px);opacity:.5}.ladder-mini .rail{stroke-dasharray:1}.lock-badge{justify-self:center;align-self:center;width:3.25rem;height:3.25rem;border-radius:50%;background:#fff;border:1px solid var(--line);box-shadow:0 8px 20px #1717171a,0 2px 5px #17171710;display:grid;place-items:center}.lock-badge svg{width:2.35rem;height:2.35rem;overflow:visible}.lock-ring{justify-self:center;align-self:center;width:3.25rem;height:3.25rem;border-radius:50%;border:1.5px solid var(--ink);opacity:0;pointer-events:none}@media(prefers-reduced-motion:no-preference){.tile[data-live] .lock-badge{opacity:0}}.shackle{transform-box:view-box;transform-origin:32px 24px}.lock-body{transform-box:view-box;transform-origin:24px 42px}.hist-row{display:flex;align-items:baseline;gap:.6rem;font-size:.76rem;color:var(--ink-2);white-space:nowrap;overflow:hidden}.hist-row .id{font-family:var(--mono);color:var(--ink-3);flex:none}.hist-row .who{margin-left:auto;color:var(--ink-3);flex:none;font-size:.7rem}.hist-row{padding-inline:.3rem;margin-inline:-.3rem;border-radius:4px}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:none}}@keyframes drawOn{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes pop{0%{opacity:0;transform:scale(.8)}60%{opacity:1;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.tile-lead .curtain{fill:var(--panel);opacity:0}.tile-lead .bridge{opacity:0}.tile-lead .add-el,.tile-lead .add-badge{transform-box:view-box;transform-origin:338px 100px}.tile-lead.play .curtain{animation:scan .85s cubic-bezier(.45,0,.15,1) both}.tile-lead.play .bridge{animation:bridgeOut .3s ease .85s both}.tile-lead.play .add-el{animation:pop .5s cubic-bezier(.34,1.4,.64,1) .9s both}.tile-lead.play .add-badge{animation:pop .45s cubic-bezier(.34,1.6,.64,1) 1.2s both}@keyframes scan{0%{opacity:1;transform:translate(0)}to{opacity:1;transform:translate(560px)}}@keyframes bridgeOut{0%{opacity:1}to{opacity:0}}.tile-tall .chip,.tile-tall .repo{transform-box:fill-box;transform-origin:center}.tile-tall .chip{opacity:0}.tile-tall.play .chip{animation:chipSnap 3.6s cubic-bezier(.5,0,.2,1) both}.tile-tall.play .k1{animation-delay:0s}.tile-tall.play .k2{animation-delay:.15s}.tile-tall.play .k3{animation-delay:.3s}.tile-tall.play .k4{animation-delay:.45s}.tile-tall.play .repo{animation:pop .55s cubic-bezier(.34,1.4,.64,1) 3.2s both}.tile-tall.play .repo-row{animation:fadeUp .4s ease both}.tile-tall.play .r1{animation-delay:3.9s}.tile-tall.play .r2{animation-delay:3.75s}.tile-tall.play .r3{animation-delay:3.6s}@keyframes chipSnap{0%{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--r)) scale(.92)}10%{opacity:1;transform:translate(var(--x),var(--y)) rotate(var(--r)) scale(1)}70%{opacity:1;transform:translate(var(--x),var(--y)) rotate(var(--r)) scale(1)}to{opacity:0;transform:translate(0) rotate(0) scale(.7)}}.tile.play .ladder-mini{animation:blurOn .55s ease 1.05s both}.tile.play .ladder-mini .rail{animation:drawOn .5s ease-out both}.tile.play .ladder-mini .lr1{animation:fadeUp .4s ease .25s both}.tile.play .ladder-mini .lr2{animation:fadeUp .4s ease .4s both}.tile.play .ladder-mini .lr3{animation:fadeUp .4s ease .55s both}.tile.play .lock-badge{animation:pop .5s cubic-bezier(.34,1.4,.64,1) 1.15s both}.tile.play .shackle{animation:shackleClose .55s cubic-bezier(.33,1,.28,1) 1.75s both}.tile.play .lock-body{animation:bodySettle .42s cubic-bezier(.33,1,.68,1) 2.1s both}.tile.play .lock-ring{animation:ringOut .8s cubic-bezier(.2,.7,.3,1) 2.12s forwards}@keyframes blurOn{0%{filter:blur(0);opacity:1}to{filter:blur(2.5px);opacity:.5}}@keyframes shackleClose{0%{transform:translateY(-6px) rotate(-16deg)}55%{transform:translateY(0) rotate(3.5deg)}78%{transform:translateY(0) rotate(-1.5deg)}to{transform:translateY(0) rotate(0)}}@keyframes bodySettle{0%,to{transform:scale(1)}30%{transform:scale(1.05,.94)}62%{transform:scale(.99,1.02)}}@keyframes ringOut{0%{opacity:.45;transform:scale(.94)}to{opacity:0;transform:scale(1.5)}}.tile.play .msg-1{animation:slideIn .45s cubic-bezier(.2,.8,.3,1) both}.tile.play .msg-2{animation:slideInR .45s cubic-bezier(.2,.8,.3,1) .55s both}.tile.play .msg-3{animation:slideIn .45s cubic-bezier(.2,.8,.3,1) 1.1s both}.tile.play .msg-4{animation:slideInR .45s cubic-bezier(.2,.8,.3,1) 1.65s both}.tile.play .mr-verdict{animation:fadeUp .4s ease 2.2s both}.tile.play .mr-verdict .pill.green{animation:pop .45s cubic-bezier(.34,1.5,.64,1) 2.3s both}.tile.play .mr-verdict .pill.neutral{animation:pop .45s cubic-bezier(.34,1.5,.64,1) 2.42s both}@keyframes slideInR{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:none}}.tile.play .hist-row{animation:histIn .45s cubic-bezier(.2,.8,.3,1) both}.tile.play .hist-row:nth-child(3){animation-delay:0s}.tile.play .hist-row:nth-child(2){animation-delay:.2s}.tile.play .hist-row:nth-child(1){animation:histIn .45s cubic-bezier(.2,.8,.3,1) .45s both,flash 1.2s ease .5s both}@keyframes histIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@keyframes flash{0%,35%{background:#0478571a}to{background:#04785700}}.tile-wide .trunk,.tile-wide .branch{stroke-dasharray:1}.tile-wide .node,.tile-wide .node-lbl{transform-box:fill-box;transform-origin:center}.tile-wide.play .trunk{animation:drawOn .6s ease-out both}.tile-wide.play .branch{animation:drawOn .6s ease-out .45s both}.tile-wide.play .node,.tile-wide.play .node-lbl{animation:pop .4s cubic-bezier(.34,1.5,.64,1) both}.tile-wide.play .n1{animation-delay:.12s}.tile-wide.play .n2{animation-delay:.3s}.tile-wide.play .b1{animation-delay:.9s}.tile-wide.play .b2{animation-delay:1.1s}.tile-wide.play .n4{animation-delay:1.5s}.tile-wide.play .head{animation:pop .4s cubic-bezier(.34,1.5,.64,1) 1.5s both,pulse .9s ease-out 1.85s both}@keyframes pulse{0%{transform:scale(1);stroke-opacity:1}45%{transform:scale(1.35);stroke-opacity:.3}to{transform:scale(1);stroke-opacity:1}}.appmock{position:relative;border:1px solid var(--line);border-radius:.9rem;overflow:hidden;box-shadow:0 6px 14px #0000000d,0 25px 25px #0000000a,0 56px 33px #00000005;display:grid;grid-template-columns:13rem 1fr;background:#fff;text-align:left;font-size:.875rem}.appnav{background:#16181d;color:#b9bcc4;padding:1.1rem .9rem;display:flex;flex-direction:column;gap:.15rem;font-size:.8125rem}.appnav .proj{color:#fff;font-weight:600;letter-spacing:-.01em;font-size:.875rem;padding:.35rem .55rem .9rem}.appnav .item{padding:.42rem .55rem;border-radius:.4rem}.appnav .item.on{background:#ffffff17;color:#fff}.appmain{min-width:0}.mr-head{padding:1.25rem 1.5rem 1rem;border-bottom:1px solid var(--line)}.mr-title{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.mr-title h3{font-size:1.05rem;font-weight:600;letter-spacing:-.015em}.mr-meta{margin-top:.3rem;color:var(--ink-3);font-size:.8125rem}.mr-body{display:grid;grid-template-columns:1fr 12rem}.diff-col{padding:1.25rem 1.5rem;min-width:0;border-right:1px solid var(--line)}.file-row{font-size:.8125rem;color:var(--ink-2);padding-bottom:.75rem}.rung-diff{border:1px solid var(--line);border-radius:.55rem;overflow:hidden}.rung-row{display:flex;align-items:center;gap:.9rem;padding:.55rem .9rem}.rung-row.add{border-top:1px solid var(--line)}.rung-row .sign{font-size:.85rem;width:1rem;flex:none}.rung-row.del .sign{color:var(--del)}.rung-row.add .sign{color:var(--add)}.rung-row svg{flex:1;min-width:0;width:100%;height:auto}.mr-comment{display:flex;gap:.6rem;margin-top:1rem;align-items:flex-start}.mr-comment .bubble{font-size:.84rem;padding:.45rem .7rem}.reactions{margin-top:.4rem}.reaction{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--line);border-radius:999px;padding:.2rem .55rem;font-size:.8rem;color:var(--ink-2);background:#fff;transform-origin:left center}.rail-col{padding:1.25rem 1rem;font-size:.8125rem;position:relative}.rail-col h5{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);margin-bottom:.6rem}.rail-col .reviewer{display:flex;align-items:center;gap:.5rem;padding:.3rem 0;color:var(--ink-2)}.rail-btn{position:relative;margin-top:1rem;display:block;width:100%;text-align:center;background:var(--dark-2);border:1px solid var(--dark-3);color:#fff;border-radius:.5rem;padding:.5rem 0;font-size:.8125rem;font-weight:500}.swap{display:inline-grid;vertical-align:bottom}.swap>*{grid-area:1 / 1}.swap .s-b,.swap .cnt-b{opacity:0}.bubble.writing:after{content:"";display:inline-block;width:1.5px;height:.95em;background:var(--ink-2);margin-left:1px;vertical-align:-2px;animation:caretBlink .8s step-end infinite}@keyframes caretBlink{0%,to{opacity:1}50%{opacity:0}}.appmock.play .c1{animation:fadeUp .4s cubic-bezier(.2,.8,.3,1) .4s both}.appmock.play .c2{animation:fadeUp .4s cubic-bezier(.2,.8,.3,1) 1.7s both}.appmock.play .reaction{animation:chipIn .4s cubic-bezier(.34,1.5,.64,1) 4.2s both}@keyframes chipIn{0%{opacity:0;transform:scale(.82)}60%{opacity:1;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}.appmock.reacted .cnt-a{animation:swapOut .25s ease both}.appmock.reacted .cnt-b{animation:swapIn .25s cubic-bezier(.34,1.6,.64,1) both}.appmock.approved .rail-btn{animation:btnWin .85s cubic-bezier(.34,1.3,.5,1) both}.appmock.approved .btn-ring{animation:btnRing .7s cubic-bezier(.2,.7,.3,1) .08s forwards}.appmock.approved .burst i{animation:spark .8s cubic-bezier(.15,.75,.3,1) .08s both}.appmock.approved .s-a{animation:swapOut .3s ease .18s both}.appmock.approved .s-b{animation:swapIn .3s ease .18s both}.appmock.approved .pill.green.s-b{animation:swapIn .3s ease .18s both,winPop .55s cubic-bezier(.34,1.6,.64,1) .18s both}.btn-ring{position:absolute;inset:0;border-radius:.5rem;border:1.5px solid #047857;opacity:0;pointer-events:none}.burst{position:absolute;left:50%;top:50%;width:0;height:0;pointer-events:none}.burst i{position:absolute;width:.34rem;height:.34rem;border-radius:1px;background:var(--c);opacity:0}@keyframes btnRing{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.3)}}@keyframes spark{0%{opacity:0;transform:translate(0) scale(.3) rotate(0)}15%{opacity:1}to{opacity:0;transform:translate(var(--x),var(--y)) scale(1) rotate(var(--r))}}@keyframes winPop{0%{transform:scale(.6)}60%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes btnWin{0%{transform:scale(1);background:var(--dark-2);border-color:var(--dark-3)}10%{transform:scale(.95)}38%{transform:scale(1.08);background:#047857;border-color:#047857}62%{transform:scale(.98)}to{transform:scale(1);background:#047857;border-color:#047857}}@keyframes swapOut{0%{opacity:1}to{opacity:0}}@keyframes swapIn{0%{opacity:0}to{opacity:1}}.cursor{position:absolute;left:0;top:0;opacity:0;pointer-events:none;z-index:3;filter:drop-shadow(0 3px 5px #17171740)}.cur-in{display:block;transition:transform .12s ease-out}.cursor.press .cur-in{transform:scale(.82)}.cta{padding:9rem 0;text-align:center}.cta h2{font-size:clamp(2rem,5vw,4rem);font-weight:400;letter-spacing:-.035em;line-height:1}.cta-actions{margin-top:2.75rem;display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.site-footer{border-top:1px solid var(--line);padding:3.5rem 0 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem}.site-footer .tagline{margin-top:.8rem;color:var(--ink-3);font-size:.875rem;max-width:16rem}.site-footer h5{font-size:.8125rem;font-weight:600;margin-bottom:.8rem}.site-footer ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}.site-footer ul a{color:var(--ink-2);font-size:.875rem;transition:color .2s}.site-footer ul a:hover{color:var(--ink)}.footer-base{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line);color:var(--ink-3);font-size:.8125rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.footer-legal{display:flex;gap:1.25rem}.footer-legal a:hover{color:var(--ink)}.wordmark{display:block;width:100%;height:auto;margin-top:2rem;color:var(--ink)}.legal{padding:10rem 0 7rem}.legal .wrap{max-width:48rem}.legal h1{font-size:clamp(2rem,5vw,2.75rem);line-height:1.08;letter-spacing:-.035em;font-weight:400;color:var(--ink)}.legal .updated{margin-top:.9rem;font-family:var(--mono);font-size:.8125rem;letter-spacing:.02em;color:var(--ink-3)}.legal .lead{margin-top:1.4rem;font-size:1.0625rem;line-height:1.65;color:var(--ink-2)}.legal h2{margin-top:2.6rem;font-size:1.25rem;line-height:1.25;letter-spacing:-.02em;font-weight:600;color:var(--ink)}.legal p{margin-top:.9rem;font-size:.9875rem;line-height:1.7;color:var(--ink-2)}.legal ul{margin-top:.9rem;padding-left:1.25rem}.legal li{margin-top:.55rem;font-size:.9875rem;line-height:1.65;color:var(--ink-2)}.legal a{color:var(--ink);text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--tint-1)}.legal a:hover{text-decoration-color:var(--ink)}.legal strong{color:var(--ink);font-weight:600}.rise{opacity:0;transform:translateY(14px);filter:blur(6px);transition:opacity .9s ease,transform .9s ease,filter .9s ease}.rise.in{opacity:1;transform:none;filter:none}.d1{transition-delay:.12s}.d2{transition-delay:.24s}.d3{transition-delay:.38s}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rise{opacity:1;transform:none;filter:none;transition:none}*{transition-duration:.01ms!important}.tile.play,.tile.play *,.tile.play *:after,.demo-holder.play,.demo-holder.play *,.demo-holder.play *:after,.appmock.play,.appmock.play *,.appmock.play *:after{animation:none!important}}@media(max-width:64rem){.bento{grid-template-columns:repeat(2,1fr)}.tile-lead,.tile-wide{grid-column:span 2}.tile-wide{flex-direction:column;align-items:stretch;gap:1rem}.tile-wide .copy{flex:none}.tile-wide .frame{margin-top:auto}.footer-grid{grid-template-columns:1fr 1fr;row-gap:2.5rem}}@media(max-width:48rem){.menu-toggle{display:flex}.nav-links{position:absolute;left:.75rem;right:.75rem;top:calc(100% + .5rem);display:none;flex-direction:column;align-items:stretch;gap:.15rem;padding:.5rem;border-radius:.75rem;background:var(--dark-1);border:1px solid var(--dark-3);box-shadow:0 16px 36px -16px #0009}.nav.menu-open .nav-links{display:flex}.nav-links a{padding:.7rem .8rem;border-radius:.5rem;font-size:.9375rem}.nav-links a:hover{background:#ffffff14}.hero{padding:9rem 0 3.5rem}.diffgrid{grid-template-columns:1fr}.section{padding:5rem 0}.bento{grid-template-columns:1fr}.tile-lead,.tile-wide{grid-column:span 1}.tile-lead .frame{min-height:11rem}.appmock{grid-template-columns:1fr}.appnav{flex-direction:row;overflow-x:auto;align-items:center}.appnav .proj{padding:.35rem .55rem}.mr-body{grid-template-columns:1fr}.diff-col{border-right:0;border-bottom:1px solid var(--line)}.hero-actions .btn,.cta-actions .btn{width:100%}.cta{padding:6rem 0}.footer-grid{grid-template-columns:1fr;row-gap:2rem}.legal{padding:8rem 0 5rem}}
