:root{color-scheme:dark;--paper:#080a0f;--ink:#f4f6fb;--grey:#9aa6b8;--line:#ffffff24;--accent:#86adff;--gap:24px;--ease-out:cubic-bezier(.16, 1, .3, 1);--sans:"Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}body{background:var(--paper);min-width:320px;color:var(--ink);font:400 1.0625rem/1.5 var(--sans);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit}h1,h2,h3,p,ul,dl,dd,figure{margin:0;padding:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}code{font-family:var(--mono);font-size:.875em}.shell{width:min(1280px,100% - 64px);margin-inline:auto}.hero,.row,.download,.site-footer .shell{column-gap:var(--gap);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.nightly-banner{padding:8px var(--gap);background:var(--accent);color:var(--paper);text-align:center;margin:0;font-size:14px}.nightly-banner a{color:inherit;text-decoration:underline}.site-header{z-index:20;isolation:isolate;backdrop-filter:blur(24px)saturate(145%);background:#0d111b9e;border-bottom:1px solid #b0c6f538;position:sticky;top:0;box-shadow:0 8px 30px #02050c47}.site-header:before{content:"";z-index:0;pointer-events:none;opacity:.22;background-image:radial-gradient(#b1c6ff8a 1px,#0000 1px);background-size:4px 4px;position:absolute;inset:0;mask-image:linear-gradient(#000 0%,#00000080 62%,#0000 100%)}.site-header .shell{z-index:1;justify-content:space-between;align-items:center;height:62px;display:flex;position:relative}.brand{letter-spacing:-.03em;align-items:center;gap:10px;font-size:1.25rem;font-weight:700;text-decoration:none;display:inline-flex}.brand img{width:28px;height:28px}.site-header nav{align-items:center;gap:28px;font-size:.9375rem;font-weight:500;display:flex}.site-header nav a{transition:color .15s var(--ease-out);text-decoration:none}.site-header nav a:hover{color:var(--accent)}.button{background:var(--ink);height:44px;color:var(--paper);align-items:center;padding:0 20px;font-size:.9375rem;font-weight:600;text-decoration:none;display:inline-flex}.button:hover{background:var(--accent);color:var(--paper)}.button,.download-button,.download-stores a,.download-command button{transition:background-color .15s var(--ease-out), color .15s var(--ease-out), box-shadow .15s var(--ease-out)}.button:active,.download-button:active,.download-stores a:active{transform:translateY(1px)}.text-link,.download a:not([class]),.methods a,.download-link,.site-footer nav a{transition:color .15s var(--ease-out)}.text-link,.download a:not([class]),.methods a{text-underline-offset:3px;text-decoration:underline 1px}.text-link:hover,.download a:not([class]):hover,.methods a:hover{color:var(--accent)}.badge{background:var(--accent);color:var(--paper);letter-spacing:0;white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.6875rem;font-weight:600;line-height:1.4;display:inline-block}.hero{--display:clamp(3.5rem, 11.6vw, 10.5rem);padding-top:72px}.hero h1{font-size:var(--display);letter-spacing:-.045em;grid-area:1/1/auto/-1;font-weight:700;line-height:.82}.hero-side{margin-top:calc(var(--display) * 1.562);border-top:2px solid var(--ink);grid-area:1/8/auto/13;align-self:start;padding-top:16px}.hero-lede{font-size:1.25rem;line-height:1.4}.hero-meta{color:var(--grey);margin-top:12px;font-size:.9375rem}.actions{flex-wrap:wrap;align-items:center;gap:12px 28px;margin-top:24px;display:flex}.hero-mark{width:100%;height:calc(var(--display) * 1.562 + 32px);grid-area:1/9/auto/13;margin-top:-56px}.hero-switch{grid-column:1/-1;justify-content:center;gap:12px;margin-top:72px;display:flex}.hero-switch label{cursor:pointer;position:relative}.hero-switch input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.hero-switch span{color:var(--grey);transition:color .2s var(--ease-out), background-color .2s var(--ease-out), border-color .2s var(--ease-out);border:1px solid #0000;border-radius:999px;padding:8px 28px;font-size:1.0625rem;display:block}.hero-switch label:hover span{color:var(--ink)}.hero-switch input:checked+span{color:var(--ink);background:#ffffff12;border-color:#ffffff4d}.hero-switch .badge{display:none;position:absolute;top:-9px;right:-4px}.hero-switch input:checked+span .badge{display:block}.hero-switch input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.hero-shot{grid-column:1/-1;margin-top:24px}.hero-shot img{width:100%;height:auto;display:block}.hero-shot-desktop img{outline:1px solid var(--line);outline-offset:-1px;border-radius:12px}.hero-shot-mobile{column-gap:var(--gap);grid-column:2/12;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.hero-shot-mobile img{border:1px solid var(--line);border-radius:16px}.hero:has(#shot-mobile:checked) .hero-shot-desktop,.hero:has(#shot-desktop:checked) .hero-shot-mobile{display:none}@media (width<=1180px){.hero-side{grid-column:7/13}}@media (width<=1000px){.hero-side{grid-area:2/1/auto/8;align-self:start;margin:40px 0 0}.hero-shot-mobile{grid-column:1/-1}}.row{padding-top:128px}.row>h2{letter-spacing:-.04em;grid-column:1/7;font-size:clamp(2.25rem,4.6vw,4rem);font-weight:700;line-height:.95}.row-copy{grid-column:7/13;max-width:36em;font-size:1.125rem}.row-copy p+.text-link{margin-top:20px;display:inline-block}.row>.row-title{letter-spacing:-.01em;border-top:2px solid var(--ink);grid-column:1/4;padding-top:12px;font-size:1.125rem;line-height:1.4}.agents{column-gap:var(--gap);grid-column:4/13;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;display:grid}.agents li{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:12px 0;display:flex}.agents li:nth-child(-n+3){border-top:2px solid var(--ink)}.agents img{object-fit:contain;filter:invert(.9);width:18px;height:18px}.agents-more{color:var(--grey)}.row:has(.agents){padding-top:48px}.features{gap:48px var(--gap);grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:72px;display:grid}.features article{border-top:2px solid var(--ink);padding-top:16px}.features h3{letter-spacing:-.02em;margin-bottom:8px;font-size:1.25rem;font-weight:700}.features p{max-width:30em;color:var(--grey)}.showcase{column-gap:var(--gap);grid-column:1/-1;grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;margin-top:96px;display:grid}.showcase-text{border-top:2px solid var(--ink);grid-area:1/1/auto/5;padding-top:16px}.showcase .shots{grid-area:1/6/auto/13}.showcase-flip .showcase-text{grid-column:10/13}.showcase-flip .shots{grid-column:1/9}.showcase h3{letter-spacing:-.02em;text-wrap:balance;margin-bottom:12px;font-size:1.5rem;font-weight:700;line-height:1.2}.showcase p{color:var(--grey);text-wrap:pretty}.showcase strong{color:var(--ink);font-weight:600}.showcase-wide .showcase-text{grid-column:1/6}.showcase-wide .desk{grid-area:2/1/auto/-1;margin-top:48px}.desk{aspect-ratio:100/36.5;position:relative;container-type:inline-size}.monitor{width:44cqw;position:absolute;top:1cqw}.monitor-a{left:3cqw}.monitor-b{left:53cqw}.panel{background:#050607;border-radius:1.3cqw;padding:1cqw;position:relative;box-shadow:0 0 0 .12cqw #4b4f58,0 0 0 .2cqw #1d1f24,0 1.5cqw 3cqw #00000073}.panel:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(118deg,#ffffff17,#fff0 32%);position:absolute;inset:0}.display{aspect-ratio:16/10;background:#0b0d12 radial-gradient(#b1c6ff24 1px,#0000 1px) 0 0/10px 10px;border-radius:.35cqw;position:relative;overflow:hidden}.display img{width:100%;height:100%;display:block;position:absolute;inset:0}.neck{clip-path:polygon(12% 0,88% 0,100% 100%,0 100%);background:linear-gradient(90deg,#26292f,#5d616a 45%,#3a3d44 55%,#1f2126);width:6cqw;height:4.4cqw;margin:0 auto}.foot{background:linear-gradient(#6a6e77,#2d3036 70%);border-radius:.5cqw .5cqw .3cqw .3cqw;width:17cqw;height:1cqw;margin:0 auto;box-shadow:0 .9cqw 1.8cqw #0000008c}.desk .window{aspect-ratio:16/10;border-radius:.35cqw;width:42cqw;height:auto;display:block;position:absolute;top:2cqw;left:54cqw}@media (prefers-reduced-motion:no-preference){.desk .monitor-a,.desk .monitor-b,.desk .window,.desk .shot-before{animation-duration:12s;animation-iteration-count:infinite;animation-play-state:paused;animation-fill-mode:both}.desk.playing :is(.monitor-a,.monitor-b,.window,.shot-before){animation-play-state:running}.desk .monitor-a{animation-name:desk-a}.desk .monitor-b{animation-name:desk-b}.desk .window{animation-name:desk-window}.desk .shot-before{animation-name:desk-before}@keyframes desk-a{0%,15%{animation-timing-function:cubic-bezier(.65,0,.35,1);translate:25cqw}23%,72%{animation-timing-function:cubic-bezier(.65,0,.35,1);translate:0}80%,to{translate:25cqw}}@keyframes desk-b{0%,21%{opacity:0;animation-timing-function:cubic-bezier(.16,1,.3,1);translate:6cqw}28%,69%{opacity:1;animation-timing-function:cubic-bezier(.7,0,.84,0);translate:0}73%,to{opacity:0;translate:6cqw}}@keyframes desk-window{0%,10%{opacity:0;box-shadow:none;translate:-25cqw;scale:1}12%{opacity:1;box-shadow:none;animation-timing-function:cubic-bezier(.16,1,.3,1);translate:-25cqw;scale:1}15%{border-radius:.7cqw;animation-timing-function:cubic-bezier(.65,0,.35,1);translate:-25cqw -1.5cqw;scale:.84;box-shadow:0 2cqw 4cqw #0009,0 0 0 .08cqw #ffffff24}25%{border-radius:.7cqw;animation-timing-function:cubic-bezier(.16,1,.3,1);translate:0 -1cqw;scale:.84;box-shadow:0 2cqw 4cqw #0009,0 0 0 .08cqw #ffffff24}30%,63.3%{opacity:1;box-shadow:none;border-radius:.35cqw;animation-timing-function:cubic-bezier(.16,1,.3,1);translate:0;scale:1}67.5%{border-radius:.7cqw;animation-timing-function:cubic-bezier(.65,0,.35,1);translate:0 -1.5cqw;scale:.84;box-shadow:0 2cqw 4cqw #0009,0 0 0 .08cqw #ffffff24}77.5%{border-radius:.7cqw;animation-timing-function:cubic-bezier(.16,1,.3,1);translate:-25cqw -1cqw;scale:.84;box-shadow:0 2cqw 4cqw #0009,0 0 0 .08cqw #ffffff24}82.5%{opacity:1;box-shadow:none;border-radius:.35cqw;translate:-25cqw;scale:1}84.5%,to{opacity:0;box-shadow:none;translate:-25cqw;scale:1}}@keyframes desk-before{0%,10%{opacity:1}15%,82.5%{opacity:0}84.5%,to{opacity:1}}}@media (prefers-reduced-motion:reduce){.desk .shot-before{opacity:0}}.shots{gap:var(--gap);align-items:flex-start;display:flex}.shots figure{flex:1 1 0;min-width:0}.shots img,.review-shot img{outline:1px solid var(--line);outline-offset:-1px;border-radius:8px;width:100%;height:auto;display:block}.shots .crop img{object-fit:cover;object-position:top;height:100%}.shots figcaption{color:var(--grey);margin-top:12px;font-size:.9375rem}.review{column-gap:var(--gap);grid-column:1/-1;grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;margin-top:72px;display:grid}.review-list{grid-area:1/1/auto/5}.review-list label{cursor:pointer;display:block;position:relative}.review-list input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.review-item{border-top:1px solid var(--line);color:var(--grey);padding:17px 0 20px;display:block;position:relative}.review-item:before{content:"";background:var(--ink);transform-origin:0;height:2px;transition:transform .3s var(--ease-out);position:absolute;inset:-1px 0 auto;transform:scaleX(0)}.review-list b{letter-spacing:-.02em;transition:color .15s var(--ease-out);font-size:1.25rem;font-weight:700;display:block}.review-list label:hover b,.review-list input:checked+.review-item b{color:var(--ink)}.review-copy{opacity:0;transition:grid-template-rows .3s var(--ease-out), opacity .2s var(--ease-out);grid-template-rows:0fr;display:grid}.review-copy>span{text-wrap:pretty;min-height:0;overflow:hidden}.review-copy>span:before{content:"";height:8px;display:block}.review-list input:checked+.review-item:before{transform:scaleX(1)}.review-list input:checked+.review-item .review-copy{opacity:1;grid-template-rows:1fr}.review-list input:focus-visible+.review-item b{outline:2px solid var(--accent);outline-offset:2px}.review-shots{grid-column:5/13;display:grid}.review-shot{transition:opacity .24s var(--ease-out);grid-area:1/1}.review:has(#review-diff:checked) .review-shot-diff,.review:has(#review-preview:checked) .review-shot-preview,.review:has(#review-history:checked) .review-shot-history{z-index:1}.review:has(#review-diff:not(:checked)) .review-shot-diff,.review:has(#review-preview:not(:checked)) .review-shot-preview,.review:has(#review-history:not(:checked)) .review-shot-history{opacity:0;visibility:hidden;transition:opacity 0s .24s,visibility 0s .24s}.remote-shots{grid-column:1/-1;margin-top:72px}.methods{border-bottom:1px solid var(--line);grid-column:1/-1;margin-top:72px}.methods>div{column-gap:var(--gap);border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));padding:20px 0;display:grid}.methods>div:first-child{border-top:2px solid var(--ink)}.methods dt{letter-spacing:-.02em;font-size:1.25rem;font-weight:700}.methods dd{color:var(--grey)}.methods dd code{color:var(--ink);overflow-wrap:anywhere}.closing{border-top:2px solid var(--ink);align-items:center;margin-top:128px;padding-top:32px}.closing .actions{grid-column:7/13;margin-top:0}.site-footer{border-top:1px solid #b0c6f538;margin-top:128px;font-size:.9375rem}.site-footer .shell{align-items:center;padding:24px 0 48px}.site-footer .brand{grid-column:1/4;font-size:1rem}.site-footer .brand img{width:20px;height:20px}.site-footer nav{grid-column:8/13;justify-content:flex-end;gap:28px;font-weight:500;display:flex}.site-footer nav a{text-decoration:none}.site-footer nav a:hover{color:var(--accent)}.download{--display:clamp(3rem, 7vw, 6rem);grid-template-rows:auto 1fr;padding-top:72px}.download-intro{grid-area:1/1/auto/6}.download h1{font-size:var(--display);letter-spacing:-.05em;font-weight:700;line-height:.9}.download-intro p{color:var(--grey);margin-top:24px}.download-links{grid-area:2/1/auto/6;align-self:start;margin-top:16px;font-size:.9375rem;list-style:none}.download-links li+li{margin-top:6px}.download-links li.download-links-break{margin-top:24px}.download-link{color:var(--grey);text-underline-offset:3px;text-decoration:underline 1px}.download-link:hover{color:var(--accent)}.download-links span{color:var(--grey);font-size:.8125rem;display:block}.download-main{margin-top:calc(var(--display) * .09);grid-area:1/7/3/13}.download-platform{border-top:2px solid var(--ink);padding-top:16px;scroll-margin-top:88px}.download-platform+.download-platform{border-top:1px solid var(--line);margin-top:40px}.download-head{letter-spacing:-.02em;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:1.25rem;font-weight:700;display:flex}.download-stores{grid-template-columns:1fr 1fr;gap:12px;display:grid}.download-stores a{height:52px;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);justify-content:center;align-items:center;font-weight:600;text-decoration:none;display:flex}.download-stores a:hover{color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.download-choice{border:1px solid var(--line);display:flex}.download-choice label{cursor:pointer;position:relative}.download-choice input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.download-choice span{letter-spacing:0;padding:5px 12px;font-size:.875rem;font-weight:500;display:block}.download-choice label:hover span{color:var(--accent)}.download-choice input:checked+span{background:var(--ink);color:var(--paper)}.download-choice input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.download-button{height:52px;box-shadow:inset 0 0 0 2px var(--ink);justify-content:center;align-items:center;gap:8px;font-weight:600;text-decoration:none;display:flex}.download-button:hover{color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.is-current .download-button{background:var(--ink);color:var(--paper)}.is-current .download-button:hover{background:var(--accent)}.download-button svg,.download-command svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:square;width:16px;height:16px}.download-note{color:var(--grey);margin-top:12px;font-size:.9375rem}.download hr{border:0;border-top:2px solid var(--ink);margin:72px 0 16px}.download h2{letter-spacing:-.02em;font-size:1.25rem;font-weight:700}.download-command{border:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;column-gap:12px;margin-top:12px;padding:12px 8px 12px 16px;display:grid}.download-command small{grid-column:1/-1;margin-bottom:4px;font-size:.8125rem;font-weight:500}.download-command code{overflow-wrap:anywhere;font-size:.875rem}.download-command button{width:32px;height:32px;color:var(--grey);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.download-command button:hover,.download-command button[data-copied]{background:var(--ink);color:var(--paper)}@media (width<=760px){.shell{width:calc(100% - 32px)}.hero,.row,.download{display:block}.site-header .shell{height:56px}.site-header nav{gap:20px}.site-header nav a[href="/docs/"],.site-header nav a[href^="https://github"]{display:none}.hero{padding-top:40px}.hero h1{font-size:clamp(3rem,16vw,5.5rem)}.hero-mark{display:none}.hero-side,.hero-switch{margin-top:40px}.hero-shot-mobile{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;grid-template-columns:none;grid-auto-columns:72%;grid-auto-flow:column;margin-inline:-16px;padding-inline:16px;scroll-padding-inline:16px;overflow-x:auto}.hero-shot-mobile img{scroll-snap-align:start;border-radius:12px}.row{padding-top:88px}.row-copy,.agents,.features,.methods{margin-top:32px}.showcase,.review{margin-top:64px;display:block}.showcase .shots,.review-shots{margin-top:24px}.shots{gap:12px}.showcase-wide .desk{margin-top:32px}.features{margin-top:64px}.remote-shots{margin-top:40px;display:block}.remote-shots figure+figure{width:60%;margin-top:32px}.agents,.features,.methods>div{grid-template-columns:minmax(0,1fr)}.agents{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}.agents li:nth-child(3){border-top:0}.features{gap:32px}.methods dd{margin-top:6px}.closing{margin-top:88px;padding-top:24px}.closing .actions{margin-top:24px}.site-footer{margin-top:88px}.site-footer .shell{flex-wrap:wrap;justify-content:space-between;gap:12px 24px;display:flex}.download{padding-top:40px}.download-main{margin-top:40px}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@property --dot{syntax:"<length>";inherits:false;initial-value:0}.hero-shot{view-transition-name:hero-shot}::view-transition-old(root){display:none}::view-transition-new(root){animation:none}::view-transition-group(hero-shot){animation-duration:.52s;animation-timing-function:var(--ease-out)}::view-transition-old(hero-shot),::view-transition-new(hero-shot){mask-image:radial-gradient(circle, #000 var(--dot), transparent calc(var(--dot) + .5px));mask-position:50%;mask-size:8px 8px}::view-transition-old(hero-shot){animation:.2s cubic-bezier(.65,0,.35,1) both dots-out}::view-transition-new(hero-shot){animation:.44s cubic-bezier(.4,0,.2,1) .18s both dots-in}@keyframes dots-out{0%{--dot:6px}to{--dot:0px}}@keyframes dots-in{0%{--dot:0px}to{--dot:6px}}@supports (animation-timeline:view()){@media (width<=760px) and (prefers-reduced-motion:no-preference){.hero-shot-mobile img{animation-name:phone-focus;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view(inline)}@keyframes phone-focus{entry 0%{opacity:.45;scale:.94}entry 100%,exit 0%{opacity:1;scale:1}exit 100%{opacity:.45;scale:.94}}}}:root.reveal-ready [data-reveal]:not(.in),:root.reveal-ready [data-reveal]:not(.in)>*{transition:none}:root.reveal-ready [data-reveal=rise]:not(.in){opacity:0;translate:0 16px}:root.reveal-ready [data-reveal=rise].in{transition:opacity .7s var(--ease-out) var(--delay), translate .9s var(--ease-out) var(--delay)}:root.reveal-ready [data-reveal=type]:not(.in){clip-path:inset(-20% -5% 100%);translate:0 .3em}:root.reveal-ready [data-reveal=type].in{clip-path:inset(-20% -5% -25%);transition:clip-path 1s var(--ease-out) var(--delay), translate 1s var(--ease-out) var(--delay)}[data-reveal]{--delay:0s}[data-reveal=rule]{--rule:var(--ink);--rule-width:2px}.methods>div+div{--rule:var(--line);--rule-width:1px}:root.reveal-ready [data-reveal=rule]{background:linear-gradient(var(--rule), var(--rule)) 0 0 / 0 var(--rule-width) no-repeat border-box;border-top-color:#0000}:root.reveal-ready [data-reveal=rule].in{background-size:100% var(--rule-width);transition:background-size .9s var(--ease-out) var(--delay)}:root.reveal-ready [data-reveal=rule]:not(.in)>*{opacity:0;translate:0 12px}:root.reveal-ready [data-reveal=rule].in>*{transition:opacity .6s var(--ease-out) calc(var(--delay) + .15s), translate .8s var(--ease-out) calc(var(--delay) + .15s)}:root.reveal-ready [data-reveal=dots] img{mask-image:radial-gradient(circle, #000 var(--dot), transparent calc(var(--dot) + .5px));mask-position:50%;mask-size:8px 8px}:root.reveal-ready [data-reveal=dots].in img{animation-name:dots-in;animation-duration:.8s;animation-timing-function:cubic-bezier(.4,0,.2,1);animation-delay:var(--delay);animation-fill-mode:both}@media (prefers-reduced-motion:reduce){.review-item:before,.review-copy,.review-shot{transition:none}.button:active,.download-button:active,.download-stores a:active{transform:none}}
