@font-face{font-family:Funnel Display;src:url(/assets/funnel-display-CgCmP4wh.woff2) format("woff2");font-weight:300 800;font-display:swap}@font-face{font-family:Funnel Sans;src:url(/assets/funnel-sans-DVKpzgrc.woff2) format("woff2");font-weight:300 800;font-display:swap}@font-face{font-family:Geist Mono;src:url(/assets/geist-mono-BkSrORwc.woff2) format("woff2");font-weight:100 900;font-display:swap}:root{color-scheme:light dark;--paper: light-dark(#F2F2F7, #000000);--surface: light-dark(#FFFFFF, #1C1C1E);--sunk: light-dark(#E9E9EF, #111113);--ink: light-dark(#111113, #F5F5F7);--ink-2: light-dark(#55555B, #AEAEB2);--ink-3: light-dark(#6B6B71, #8E8E93);--hair: light-dark(rgb(17 17 19 / .1), rgb(245 245 247 / .14));--hair-2: light-dark(rgb(17 17 19 / .06), rgb(245 245 247 / .08));--red: light-dark(#FF383C, #FF4245);--red-ink: light-dark(#D3141B, #FF6961);--blue: light-dark(#0088FF, #0091FF);--link: light-dark(#0060C7, #5CB3FF);--yellow: light-dark(#FFCC00, #FFD60A);--trim: #F5E8B5;--bezel: light-dark(#1D1D1F, #2C2C2E);--wait: light-dark(rgb(17 17 19 / .07), rgb(245 245 247 / .09));--bar: light-dark(#E5E5EA, #3A3A3C);--display: "Funnel Display", ui-sans-serif, system-ui, sans-serif;--text: "Funnel Sans", ui-sans-serif, system-ui, sans-serif;--mono: "Geist Mono", ui-monospace, monospace;--page: 1160px;--gutter: clamp(20px, 4vw, 40px);--section: clamp(96px, 12vw, 160px);--ease: cubic-bezier(.23, 1, .32, 1)}*,*:before,*:after{box-sizing:border-box}html{background:var(--paper);color:var(--ink);-webkit-text-size-adjust:100%}body{margin:0;font:400 17px/1.55 var(--text);letter-spacing:-.003em;-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 0}::selection{background:light-dark(var(--trim),#48484A);color:var(--ink)}a{color:var(--link);text-decoration:none;transition:color .16s var(--ease)}a:hover{text-decoration:underline;text-underline-offset:3px}img,video{display:block;max-width:100%;height:auto}h1,h2,h3{font-family:var(--display);margin:0;text-wrap:balance}h2{font-size:clamp(34px,4.6vw,54px);line-height:1.04;font-weight:650;letter-spacing:-.035em}.head p,.disk-copy>p{margin:20px 0 0;max-width:34em;color:var(--ink-2);font-size:19px;line-height:1.5;text-wrap:pretty}.head.center{text-align:center}.head.center p{margin-inline:auto}sup{font-size:.6em;line-height:0;margin-left:1px;font-feature-settings:"tnum"}sup a{color:var(--ink-3)}code{font-family:var(--mono);font-size:.86em;white-space:nowrap}@media(prefers-color-scheme:dark){.only-light{display:none!important}}@media(prefers-color-scheme:light){.only-dark{display:none!important}}.bar{max-width:calc(var(--page) + 2 * var(--gutter));margin:0 auto;padding:22px var(--gutter);display:flex;align-items:center;justify-content:space-between}.lockup img{height:28px;width:auto}.bar-link{color:var(--ink);font-weight:550;font-size:15px}main>section{max-width:calc(var(--page) + 2 * var(--gutter));margin:0 auto;padding:0 var(--gutter)}main>section+section{margin-top:var(--section)}.phone{margin:0}.phone>img,.phone>picture>img,.phone>video{width:100%;aspect-ratio:1320 / 2868;object-fit:cover;border-radius:13.5%/6.2%;outline:clamp(5px,1.6cqi,11px) solid var(--bezel);outline-offset:0;box-shadow:0 0 0 clamp(6px,1.7cqi,12px) var(--hair),0 40px 80px -40px #00000059;background:var(--surface)}.phone figcaption,.tablet figcaption{margin-top:26px;font-size:14px;color:var(--ink-3);text-align:center}.hero{display:grid;grid-template-columns:minmax(0,1fr) clamp(250px,27vw,320px);grid-template-areas:"copy phone" "strip strip";column-gap:clamp(32px,6vw,96px);align-items:center;padding-top:clamp(32px,6vw,72px)!important}.hero-copy{grid-area:copy;container-type:inline-size}.hero-phone{grid-area:phone;container-type:inline-size}h1{font-size:clamp(30px,9.6cqi,92px);line-height:1.02;font-weight:700;letter-spacing:-.045em}.trim{text-decoration:underline var(--trim);text-decoration-thickness:.34em;text-underline-offset:-.42em;text-decoration-skip-ink:none;white-space:nowrap}@media(prefers-color-scheme:dark){.trim{text-decoration:none;color:var(--yellow)}}html.dark .trim{text-decoration:none;color:var(--yellow)}html.light .trim{text-decoration-line:underline;color:inherit}.lede{margin:28px 0 0;font-size:clamp(19px,1.8vw,22px);line-height:1.45;color:var(--ink-2);max-width:26em;text-wrap:pretty}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}.button{display:inline-flex;align-items:center;height:50px;padding:0 24px;border-radius:25px;font:600 16px/1 var(--text);color:var(--ink);background:var(--surface);box-shadow:0 0 0 1px var(--hair);transition:transform .2s var(--ease),background-color .16s var(--ease)}.button:hover{text-decoration:none}.button:active{transform:scale(.97)}.button.primary{background:var(--ink);color:var(--paper);box-shadow:none}.strip{grid-area:strip;position:relative;margin-top:clamp(48px,7vw,88px);height:132px}.strip canvas{position:absolute;inset:0 0 52px;width:100%;height:calc(100% - 52px)}.strip-ruler{position:absolute;left:0;right:0;bottom:40px;height:12px;border-top:1px solid var(--hair);background:repeating-linear-gradient(to right,var(--hair) 0 1px,transparent 1px calc(100% / 24)) 0 0 / 100% 6px no-repeat}.strip-ruler span{position:absolute;top:12px;font:500 11px/1 var(--text);font-feature-settings:"tnum";color:var(--ink-3);transform:translate(-50%)}.strip-ruler span:first-child{transform:none}.strip-takes{position:absolute;left:0;right:0;bottom:0;height:20px}.strip-takes .take{position:absolute;bottom:0;font:600 13px/1.2 var(--text);white-space:nowrap;color:var(--ink);opacity:0;translate:0 6px;transition:opacity .3s var(--ease),translate .35s var(--ease)}.strip-takes .take.in{opacity:1;translate:0 0}.strip-takes .take.end{translate:-100% 6px}.strip-takes .take.end.in{translate:-100% 0}.strip-takes .take small{font-weight:400;color:var(--ink-3);margin-left:6px;font-size:13px;font-feature-settings:"tnum"}.playhead{position:absolute;top:-6px;bottom:46px;width:2px;margin-left:-1px;left:0;background:var(--ink-3);transition:background-color .16s var(--ease)}.playhead:before,.playhead:after{content:"";position:absolute;left:50%;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:inherit}.playhead:before{top:-4px}.playhead:after{bottom:-4px}.playhead.live{background:var(--red)}.note blockquote{margin:0;max-width:980px}.note p{margin:0;font:500 clamp(30px,4.2vw,50px)/1.14 var(--display);letter-spacing:-.03em;text-indent:-.42em;text-wrap:balance}.note footer{margin-top:24px;display:flex;align-items:center;gap:10px;font-size:15px;color:var(--ink-3)}.note footer:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--red)}.timing{margin-top:48px;background:var(--surface);border-radius:24px;box-shadow:0 0 0 1px var(--hair);padding:clamp(20px,3vw,36px)}.timing-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px}.timing-label{font-size:14px;color:var(--ink-3)}.speeds{display:inline-flex;padding:3px;border-radius:18px;background:var(--sunk)}.speeds button{font:600 13px/1 var(--text);font-feature-settings:"tnum";color:var(--ink-2);background:none;border:0;height:30px;min-width:44px;border-radius:15px;cursor:pointer;transition:background-color .16s var(--ease),color .16s var(--ease)}.speeds button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--hair)}.lanes{position:relative;display:grid;gap:14px;padding-left:128px}.lane{position:relative}.lane-name{position:absolute;left:-128px;top:0;height:44px;display:flex;align-items:center;font:600 15px/1 var(--text)}.lane[data-lane=retake] .lane-name:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red);margin-right:8px}.track{position:relative;height:44px;border-radius:10px;background:repeating-linear-gradient(to right,var(--hair-2) 0 1px,transparent 1px calc(100% * 16.667 / 600))}.block{position:absolute;top:0;bottom:0;left:calc(var(--from) / 600 * 100%);width:calc((var(--to) - var(--from)) / 600 * 100%);border-radius:10px;display:flex;align-items:center;padding:0 12px;font:500 13px/1.2 var(--text);font-feature-settings:"tnum";white-space:nowrap;overflow:hidden;text-overflow:ellipsis;clip-path:inset(0 calc(100% - var(--shown, 100%)) 0 0 round 10px)}.block.wait{color:var(--ink-2);background:repeating-linear-gradient(-45deg,var(--wait) 0 6px,transparent 6px 12px);box-shadow:inset 0 0 0 1px var(--hair)}.block.collapse{background:var(--bar);color:var(--ink)}.block.collapse.ours{background:var(--red);color:#111113;font-weight:600}.row-in{position:absolute;top:50%;left:calc(var(--at) / 600 * 100%);translate:12px -50%;font:600 13px/1 var(--text);white-space:nowrap;padding:8px 10px;border-radius:8px;background:var(--surface);box-shadow:0 0 0 1px var(--hair),0 6px 16px -8px #00000040;opacity:var(--row, 1);scale:calc(.94 + .06 * var(--row, 1));transition:opacity .2s var(--ease),scale .3s var(--ease)}.lane[data-lane=apple] .row-in{left:auto;right:0;translate:0 -50%}.ms-ruler{display:flex;justify-content:space-between;font:500 11px/1 var(--text);font-feature-settings:"tnum";color:var(--ink-3);padding-top:6px}.ms-ruler span{width:0;display:flex;justify-content:center;white-space:nowrap}.ms-ruler span:first-child{justify-content:flex-start}.ms-ruler span:last-child{justify-content:flex-end}.sweep{position:absolute;top:-10px;bottom:18px;left:calc(128px + (100% - 128px) * var(--t, 0) / 600);width:2px;margin-left:-1px;background:var(--red);pointer-events:none}.sweep:before,.sweep:after{content:"";position:absolute;left:50%;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:var(--red)}.sweep:before{top:-4px}.sweep{transition:opacity .3s var(--ease)}.lanes.done .sweep{opacity:0}.sweep:after{bottom:-4px}.disk{display:grid;grid-template-columns:clamp(240px,26vw,300px) minmax(0,1fr);gap:clamp(40px,8vw,120px);align-items:center}.disk .phone{container-type:inline-size}.states{display:block;width:100%;max-width:520px;margin-top:44px;color:var(--ink-3);overflow:visible}.states .nodes rect{fill:var(--surface);stroke:var(--hair)}.states .nodes rect.live{fill:var(--red);stroke:none}.states .names text{font:600 16px var(--text);fill:var(--ink)}.states .names text.live{fill:#111113}.states .edges text{font:500 13px var(--text);fill:var(--ink-3)}.states .edges .stop-label{fill:var(--ink);font-weight:600}.states .stop-path{stroke:var(--ink);stroke-width:1.5;color:var(--ink)}.ledger{margin-top:48px;position:relative}.ledger canvas{display:block;width:100%;height:220px;touch-action:pan-y;cursor:crosshair}.ledger-read{display:flex;gap:10px;align-items:baseline;margin-top:18px;min-height:24px;font:600 15px/1.3 var(--text)}.ledger-read .len{font-weight:400;color:var(--ink-3);font-feature-settings:"tnum"}.ledger-ends{display:flex;justify-content:space-between;margin-top:8px;padding-top:10px;border-top:1px solid var(--hair);font-size:13px;color:var(--ink-3)}.pair{display:grid;grid-template-columns:repeat(2,minmax(0,300px));justify-content:center;gap:clamp(28px,6vw,88px);margin-top:64px}.pair .phone{container-type:inline-size}.screens{max-width:none!important;padding:0!important}.screens .head{max-width:calc(var(--page) + 2 * var(--gutter));margin:0 auto;padding:0 var(--gutter)}.reel{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(200px,22vw,260px);gap:clamp(24px,3vw,40px);overflow-x:auto;scroll-snap-type:x mandatory;padding:56px max(var(--gutter),calc((100vw - var(--page)) / 2)) 24px;scroll-padding-inline:max(var(--gutter),calc((100vw - var(--page)) / 2));scrollbar-width:none}.reel::-webkit-scrollbar{display:none}.reel .phone{scroll-snap-align:start;container-type:inline-size}.reel:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.device-row{display:grid;grid-template-columns:7.8fr 6.2fr 3fr;gap:clamp(20px,3vw,40px);align-items:end;margin-top:64px}.tablet{margin:0;container-type:inline-size}.tablet img{width:100%;border-radius:3.2cqi;outline:clamp(5px,2.4cqi,12px) solid var(--bezel);box-shadow:0 0 0 clamp(6px,2.5cqi,13px) var(--hair),0 40px 80px -40px #00000059}.duo-open img{aspect-ratio:1600 / 1126}.ipad img{aspect-ratio:1200 / 1600;border-radius:5cqi}.duo-cover{container-type:inline-size}.duo-cover img{aspect-ratio:640 / 931;border-radius:9%/6.2%}.scope{display:grid;grid-template-columns:2fr 1fr;gap:clamp(32px,6vw,96px)}.scope h3{font-size:15px;font-weight:650;letter-spacing:-.01em;display:flex;align-items:center;gap:8px}.scope h3:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red)}.scope div+div h3:before{background:none;box-shadow:inset 0 0 0 1.5px var(--ink-3)}.scope p{margin:14px 0 0;font-size:19px;line-height:1.55;color:var(--ink-2);text-wrap:pretty}.build{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(32px,6vw,96px);align-items:start}.code{position:relative;background:var(--surface);border-radius:20px;box-shadow:0 0 0 1px var(--hair)}.code pre code{white-space:pre}.code pre{margin:0;padding:26px 28px;overflow-x:auto;font:400 14px/1.85 var(--mono)}.code pre code{font-size:inherit}.copy{position:absolute;bottom:16px;right:16px;font:600 13px/1 var(--text);height:32px;padding:0 14px;border:0;border-radius:16px;color:var(--ink);background:var(--sunk);cursor:pointer;transition:transform .2s var(--ease)}.copy:active{transform:scale(.97)}.name{text-align:center}.split{margin:0 auto;display:inline-flex;align-items:center;font:700 clamp(64px,12vw,148px)/1 var(--display);letter-spacing:-.045em}.cut{position:relative;width:4px;height:1.12em;margin:0 .12em 0 .16em;border-radius:2px;background:var(--red)}.cut:before,.cut:after{content:"";position:absolute;left:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:var(--red)}.cut:before{top:-7px}.cut:after{bottom:-7px}.name>p:last-child{margin:36px auto 0;max-width:30em;font-size:19px;color:var(--ink-2);text-wrap:balance}.foot{max-width:calc(var(--page) + 2 * var(--gutter));margin:var(--section) auto 0;padding:32px var(--gutter) 48px;border-top:1px solid var(--hair);font-size:13px;color:var(--ink-3)}.notes{margin:0;padding-left:1.2em;display:grid;gap:6px;max-width:60em}.legal{margin:28px 0 0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px}.legal a{color:var(--ink-2)}@media(max-width:760px){body{font-size:16px}.hero{grid-template-columns:1fr;grid-template-areas:"copy" "phone" "strip"}.hero-phone{width:min(260px,70vw);margin:56px auto 0}.strip{height:120px}.lanes{padding-left:0;gap:10px}.lane{padding-top:24px}.lane-name{left:0;height:18px}.lane+.lane{margin-top:6px}.sweep{left:calc(100% * var(--t, 0) / 600);top:14px}.block{font-size:12px;padding:0 8px}.row-in{font-size:12px;padding:7px 8px}.timing-label{font-size:13px}.disk{grid-template-columns:1fr}.disk .phone{width:min(260px,70vw);margin:0 auto;order:2}.states{margin-top:32px}.ledger canvas{height:300px}.pair{gap:20px;margin-top:48px}.device-row{grid-template-columns:7.8fr 6.2fr 3fr;gap:14px}.tablet figcaption,.phone figcaption{font-size:12px}.scope,.build{grid-template-columns:minmax(0,1fr)}.block .long{display:none}.ms-ruler span:nth-child(2n){visibility:hidden}.strip-takes .take .word{display:none}.strip-takes .take small{margin-left:0}.head p,.disk-copy>p,.scope p{font-size:17px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}
