:root{color-scheme:light dark;--espresso:oklch(28.6% .042 49.9);--caramel:oklch(76% .097 69.6);--cream:oklch(92.2% .04 80.9);--bg:light-dark(oklch(98.4% .01 80),oklch(18.5% .016 50));--surface:light-dark(oklch(95.6% .02 80),oklch(23% .02 50));--surface-raised:light-dark(oklch(99.5% .005 80),oklch(26.5% .022 50));--text:light-dark(oklch(25% .035 50),oklch(93% .025 80));--muted:light-dark(oklch(44% .03 55),oklch(78% .03 75));--accent:light-dark(oklch(46% .09 58),var(--caramel));--on-accent:light-dark(oklch(98.4% .01 80),var(--espresso));--border:color-mix(in oklch, var(--text) 16%, transparent);--code-bg:light-dark(var(--espresso),oklch(13% .012 50));--code-text:var(--cream);--code-muted:oklch(80% .035 75);--code-warn:oklch(78% .12 35);--code-ok:oklch(80% .1 150);--ok:light-dark(oklch(43% .09 150),oklch(80% .1 150));--soon:light-dark(oklch(45% .06 250),oklch(80% .07 250));--wip:light-dark(oklch(47% .1 70),oklch(82% .1 80));--shot-shadow:oklch(20% .03 50/.28);--step--1:clamp(.83rem, .8rem + .15vw, .9rem);--step-0:clamp(1rem, .96rem + .2vw, 1.125rem);--step-1:clamp(1.2rem, 1.1rem + .45vw, 1.45rem);--step-2:clamp(1.45rem, 1.25rem + .9vw, 2rem);--step-3:clamp(1.8rem, 1.4rem + 1.9vw, 3.1rem);--step-4:clamp(2.1rem, 1.5rem + 2.8vw, 4rem);--space-2xs:clamp(.25rem, .22rem + .1vw, .35rem);--space-xs:clamp(.5rem, .45rem + .2vw, .625rem);--space-s:clamp(.75rem, .7rem + .3vw, 1rem);--space-m:clamp(1.25rem, 1.1rem + .6vw, 1.75rem);--space-l:clamp(2rem, 1.6rem + 1.8vw, 3.5rem);--space-xl:clamp(3rem, 2.2rem + 3.5vw, 6rem);--radius:.75rem;--radius-inner:.375rem;--content:70rem;--gutter:1rem;--phone:17rem;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Code", "JetBrains Mono", Menlo, Consolas, monospace;--ease-out:cubic-bezier(.22, 1, .36, 1);--duration:.18s}*,:before,:after{box-sizing:border-box}html{overflow-wrap:break-word;scrollbar-gutter:stable;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-block-start:var(--space-m)}body{background:var(--bg);min-block-size:100svh;color:var(--text);font-family:var(--font-sans);font-size:var(--step-0);font-synthesis:none;margin:0;line-height:1.6}h1,h2,h3,h4{text-wrap:balance;margin:0;line-height:1.2}p,li,dd,figcaption,summary{text-wrap:pretty}p,ul,ol,dl,dd,figure,pre{margin:0}img{block-size:auto;max-inline-size:100%;display:block}picture{display:block}code,pre{font-family:var(--font-mono);font-size:.9em}:not(pre)>code{border-radius:var(--radius-inner);background:color-mix(in oklch, var(--text) 8%, transparent);white-space:nowrap;padding-inline:.3em}:where(.cards,.steps,.platforms,.row,.duo,.showcase,.strip)>*{min-inline-size:0}a{color:var(--accent);text-underline-offset:.18em}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-inner)}.skip-link{z-index:10;padding:var(--space-xs) var(--space-s);background:var(--accent);color:var(--on-accent);border-radius:var(--radius-inner);position:absolute;inset-block-start:-10rem;inset-inline-start:var(--gutter)}.skip-link:focus{inset-block-start:var(--space-xs)}.site-header,main>section,.site-footer{grid-template-columns:[full-start] minmax(var(--gutter), 1fr) [content-start] minmax(0, var(--content)) [content-end] minmax(var(--gutter), 1fr) [full-end];display:grid}.site-header>*,main>section>*,.site-footer>*{grid-column:content}main>section{padding-block:var(--space-xl) 0;row-gap:var(--space-m)}main>section:last-child{padding-block-end:var(--space-xl)}h2{font-size:var(--step-3);letter-spacing:-.01em}h3{font-size:var(--step-1)}.section-lead{color:var(--muted);font-size:var(--step-1);max-inline-size:62ch;margin-block-start:calc(var(--space-s) * -1)}.note,.fineprint{color:var(--muted);font-size:var(--step--1);max-inline-size:70ch}.site-header{padding-block:var(--space-s);row-gap:var(--space-xs);border-block-end:1px solid var(--border)}.site-header .brand,.site-header nav{grid-row:1}.site-header nav{place-self:center end}@media (width<52rem){.site-header nav{grid-row:2;justify-self:start}}.brand{color:var(--text);font-weight:700;font-size:var(--step-1);justify-self:start;align-items:center;gap:.5em;text-decoration:none;display:inline-flex}.brand img{border-radius:.4em;flex:none;block-size:1.6em;inline-size:1.6em}:is(.site-header,.site-footer) nav ul{gap:var(--space-xs) var(--space-s);flex-wrap:wrap;padding:0;list-style:none;display:flex}.site-header nav a,.site-footer nav a{color:var(--text);font-size:var(--step--1);font-weight:500;text-decoration:none;position:relative}:is(.site-header,.site-footer) nav a:after{content:"";position:absolute;inset:-.75rem -.3rem}@media (hover:hover) and (pointer:fine){:is(.site-header,.site-footer) nav a:hover{color:var(--accent)}}.hero{padding-block-start:var(--space-l)}.hero-text{gap:var(--space-m);max-inline-size:48rem;display:grid}.hero h1{font-size:var(--step-4);letter-spacing:-.025em}.lead{font-size:var(--step-1);color:var(--muted)}.pill{border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:var(--step--1);border-radius:999px;justify-self:start;padding:.2em .85em;font-weight:600;text-decoration:none;position:relative}.pill:after{content:"";position:absolute;inset:-.5rem -.2rem}.pill span{color:var(--accent)}.reassure{gap:var(--space-2xs) var(--space-s);color:var(--muted);font-size:var(--step--1);flex-wrap:wrap;padding:0;list-style:none;display:flex}.reassure li:before{content:"✓ ";color:var(--ok)}.actions{gap:var(--space-s);flex-wrap:wrap;display:flex}.button{border:1px solid var(--accent);min-block-size:2.75rem;color:var(--accent);transition:background-color var(--duration) var(--ease-out), color var(--duration) var(--ease-out);border-radius:999px;align-items:center;padding:.6em 1.2em;font-weight:600;text-decoration:none;display:inline-flex}.button.primary{background:var(--accent);color:var(--on-accent)}@media (hover:hover) and (pointer:fine){.button:hover{background:color-mix(in oklch, var(--accent) 12%, transparent)}.button.primary:hover{background:color-mix(in oklch, var(--accent) 85%, var(--text))}}@media (prefers-reduced-motion:no-preference){.button{transition:background-color var(--duration) var(--ease-out), color var(--duration) var(--ease-out), scale var(--duration) var(--ease-out)}.button:active{scale:.97}}.phone img{border:1px solid var(--border);background:var(--surface);inline-size:100%;box-shadow:0 1rem 2.5rem -1.25rem var(--shot-shadow);border-radius:8%/3.6%}.window img{inline-size:100%;filter:drop-shadow(0 .9rem 1.4rem var(--shot-shadow))}.notice img{inline-size:100%;box-shadow:0 .6rem 1.6rem -.8rem var(--shot-shadow);border-radius:1.1rem}.shot{gap:var(--space-s);align-content:start;display:grid}.shot figcaption,.showcase-caption{color:var(--muted);font-size:var(--step--1)}.shot strong{color:var(--text)}.showcase{grid-template-columns:repeat(12,minmax(0,1fr));margin-block-start:var(--space-m);display:grid}.showcase .window{grid-area:1/1/auto/span 10}.showcase .phone{z-index:1;grid-area:1/10/auto/span 3;margin-block-start:60%;position:relative}.showcase figcaption{grid-area:2/1/auto/-1;margin-block-start:var(--space-s)}@media (width<40rem){.showcase .window{grid-column:1/-1}.showcase .phone{grid-column:7/-1;margin-block-start:40%}}.rows{gap:var(--space-xl);display:grid}.row{gap:var(--space-m) var(--space-l);align-items:center;display:grid}.row-text{gap:var(--space-s);max-inline-size:36rem;display:grid}.row-text p{color:var(--muted)}.row-media{gap:var(--space-m);flex-wrap:wrap;justify-content:center;align-items:start;display:flex}.row-media.stack{flex-direction:column;align-items:center}.row-media .phone{inline-size:min(100%, var(--phone))}.row-media .notice{inline-size:min(100%,22rem)}@media (width>=52rem){.row:not(.wide){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.strip{grid-auto-flow:column;grid-auto-columns:min(72%, var(--phone));gap:var(--space-m);overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;padding-block-end:var(--space-s);display:grid;overflow-x:auto}.strip>*{scroll-snap-align:start}ol.strip{margin:0;padding-inline:0;list-style:none}@media (width>=60rem){.strip{grid-auto-flow:row;grid-template-columns:repeat(auto-fit, minmax(14rem, var(--phone)));justify-content:center;overflow-x:visible}}.platforms{gap:var(--space-s) var(--space-m);grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));display:grid}.platforms div{gap:var(--space-2xs);display:grid}.platforms dt{font-weight:700}.platforms dd{color:var(--muted)}.terminal{border-radius:var(--radius);background:var(--code-bg);color:var(--code-text);box-shadow:0 1px 0 var(--border), 0 1rem 2.5rem -1.5rem var(--shot-shadow);overflow:clip}.terminal-bar{gap:.4rem;padding:.7rem .9rem 0;display:flex}.terminal-bar span{background:color-mix(in oklch, var(--code-text) 30%, transparent);border-radius:50%;block-size:.65rem;inline-size:.65rem}.terminal pre,pre.code{padding:var(--space-s) var(--space-m);line-height:1.55;font-size:var(--step--1);tab-size:2;overflow-x:auto}.terminal.wrap pre{white-space:pre-wrap}.terminal figcaption{padding:0 var(--space-m) var(--space-s);color:var(--code-muted);font-size:var(--step--1)}.prompt{color:var(--caramel);user-select:none}.out{color:var(--code-muted)}.warn{color:var(--code-warn)}.good{color:var(--code-ok)}pre.code{border-radius:var(--radius-inner);background:var(--code-bg);color:var(--code-text);padding:var(--space-xs) var(--space-s)}.code-wrap{display:grid;position:relative}.copy{border:1px solid color-mix(in oklch, var(--code-text) 35%, transparent);border-radius:var(--radius-inner);background:var(--code-bg);color:var(--code-text);font:inherit;font-size:var(--step--1);cursor:pointer;padding:.2em .6em;position:absolute;inset-block-start:.35rem;inset-inline-end:.35rem}.copy:after{content:"";position:absolute;inset:-.6rem}.copy:focus-visible{outline-color:var(--code-text);outline-offset:2px}.code-wrap pre{padding-block-start:2.4rem}.cards,.steps{gap:var(--space-s);grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));padding:0;list-style:none;display:grid}.card{gap:var(--space-xs);padding:var(--space-m);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;display:flex}.card p{color:var(--muted)}.card .meta{font-size:var(--step--1)}.downloads{grid-template-columns:repeat(auto-fit,minmax(min(100%,26rem),1fr))}.downloads .wide{grid-column:1/-1}.downloads .card p{color:var(--text)}.downloads .card .meta,.downloads .card .later{color:var(--muted)}.card.ios{background:0 0;border-style:dashed}.status{padding:var(--space-xs) var(--space-s);border-inline-start:3px solid var(--wip);border-radius:var(--radius-inner);background:var(--surface);justify-self:start;max-inline-size:70ch}.badge{font-size:var(--step--1);white-space:nowrap;border:1px solid;border-radius:999px;margin-inline-end:.35em;padding:0 .55em;font-weight:600;display:inline-block}.badge.ok{color:var(--ok)}.badge.soon{color:var(--soon)}.badge.wip{color:var(--wip)}.steps{counter-reset:step}.steps>li{counter-increment:step;gap:var(--space-xs);border-block-start:2px solid var(--accent);flex-direction:column;padding-block-start:var(--space-s);display:flex}.steps>li:before{content:counter(step);font-family:var(--font-mono);color:var(--accent);font-variant-numeric:tabular-nums;font-weight:700}.steps p{color:var(--muted)}.split-text>div{gap:var(--space-s);max-inline-size:65ch;display:grid}.duo{gap:var(--space-m) var(--space-l);grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr));align-items:start;display:grid}.duo>div,.connect{gap:var(--space-s);display:grid}.connect>p{max-inline-size:65ch;color:var(--muted)}.faq{gap:var(--space-xs);max-inline-size:50rem;display:grid}.faq details{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.faq summary{padding:var(--space-s) var(--space-m);cursor:pointer;font-weight:600;list-style-position:inside}.faq details p{padding:0 var(--space-m) var(--space-m);color:var(--muted)}.closing{text-align:center;justify-items:center}.closing .actions{justify-content:center}.site-footer{padding-block:var(--space-l);row-gap:var(--space-s);border-block-start:1px solid var(--border);color:var(--muted);font-size:var(--step--1)}.brand-line{align-items:center;gap:.5em;display:flex}.brand-line img{border-radius:.3em;flex:none;block-size:1.4em;inline-size:1.4em}.site-footer nav a{color:var(--accent);text-decoration:underline}.site-header nav a[aria-current=page]{color:var(--accent)}.docs{gap:var(--space-m) var(--space-l);inline-size:min(100% - 2 * var(--gutter), var(--content));padding-block:var(--space-m) var(--space-xl);margin-inline:auto;display:grid}@media (width>=60rem){.docs{grid-template-columns:16rem minmax(0,1fr);align-items:start}.docs-side{max-block-size:calc(100svh - 2 * var(--space-s));overscroll-behavior:contain;position:sticky;inset-block-start:var(--space-s);overflow-y:auto}}.docs-menu>summary{padding:.6rem var(--space-s);border:1px solid var(--border);border-radius:var(--radius-inner);background:var(--surface);cursor:pointer;font-weight:700;list-style-position:inside}.docs-menu[open]>summary{margin-block-end:var(--space-xs)}@media (width>=60rem){@supports selector(::details-content){.docs-menu>summary{display:none}.docs-menu::details-content{content-visibility:visible;display:block}}}.docs-nav-title{margin-block:var(--space-s) var(--space-2xs);color:var(--muted);font-size:var(--step--1);font-weight:700}.docs-side ul{margin:0;padding:0;list-style:none;display:grid}.docs-side nav a{border-radius:var(--radius-inner);min-block-size:2.25rem;color:var(--text);font-size:var(--step--1);align-items:center;padding-inline:.6rem;text-decoration:none;display:flex}.docs-side nav a[aria-current=page]{background:var(--surface);color:var(--accent);font-weight:600}@media (hover:hover) and (pointer:fine){.docs-side nav a:hover{color:var(--accent)}}.docs-search{gap:var(--space-2xs);margin-block-end:var(--space-xs);display:grid}@media (scripting:none){.docs-search{display:none}}.docs-search label{font-size:var(--step--1);font-weight:600}.docs-search input{border:1px solid var(--border);border-radius:var(--radius-inner);background:var(--surface-raised);min-block-size:2.75rem;color:var(--text);font:inherit;padding-inline:.7rem}.docs-search-status{color:var(--muted);font-size:var(--step--1)}.docs-search-status:empty{display:none}.docs-search-results{gap:var(--space-xs);margin:0;padding:0;list-style:none;display:grid}.docs-search-results a{font-size:var(--step--1);font-weight:600}.docs-search-results p{color:var(--muted);font-size:var(--step--1)}.docs-article{min-inline-size:0;max-inline-size:48rem}.docs-crumb{color:var(--muted);font-size:var(--step--1);font-weight:600}.docs-article h1{margin-block:var(--space-2xs) var(--space-m);font-size:var(--step-3);letter-spacing:-.01em}.docs-toc{padding:var(--space-s) var(--space-m);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-block-end:var(--space-m)}.docs-toc p{font-size:var(--step--1);font-weight:700}.docs-toc ul{margin:var(--space-2xs) 0 0;columns:2 14rem;column-gap:var(--space-m);padding:0;list-style:none}.docs-toc li{font-size:var(--step--1);break-inside:avoid;padding-block:.15rem}.prose{line-height:1.65}.prose>*+*{margin-block-start:var(--space-s)}.prose h2{font-size:var(--step-2);margin-block-start:var(--space-l)}.prose h3{font-size:var(--step-1);margin-block-start:var(--space-m)}.prose h4{font-size:var(--step-0);margin-block-start:var(--space-m)}.prose :is(h2,h3,h4){scroll-margin-block-start:var(--space-s)}.prose :is(ul,ol){padding-inline-start:1.4em}.prose li+li,.prose li>:is(ul,ol,p){margin-block-start:.3em}.prose :not(pre)>code{white-space:normal;overflow-wrap:anywhere}.prose blockquote{border-inline-start:3px solid var(--border);color:var(--muted);margin-inline:0;padding-inline-start:var(--space-s)}.prose hr{margin-block:var(--space-l);border:0;border-block-start:1px solid var(--border)}.prose pre{padding:var(--space-xs) var(--space-s);border-radius:var(--radius-inner);background:var(--code-bg);color:var(--code-text);font-size:var(--step--1);line-height:1.5;overflow-x:auto}.prose .code-wrap pre{padding-block-start:2.4rem}.table-wrap{border:1px solid var(--border);border-radius:var(--radius-inner);overflow-x:auto}.prose table{border-collapse:collapse;inline-size:100%;font-size:var(--step--1)}.prose :is(th,td){border-block-end:1px solid var(--border);text-align:start;vertical-align:top;padding:.45rem .7rem}.prose thead th{background:var(--surface)}.prose tbody tr:last-child td{border-block-end:0}.prose :is(th,td) code{overflow-wrap:normal}.docs-pager{justify-content:space-between;gap:var(--space-s);border-block-start:1px solid var(--border);margin-block-start:var(--space-xl);padding-block-start:var(--space-m);display:flex}.docs-pager a{gap:.1rem;max-inline-size:48%;font-weight:600;text-decoration:none;display:grid}.docs-pager a[rel=next]{text-align:end;margin-inline-start:auto}.docs-pager a span{color:var(--muted);font-size:var(--step--1);font-weight:400}.docs-source{color:var(--muted);font-size:var(--step--1);margin-block-start:var(--space-m)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}
