.mobile-story{border-block:1px solid var(--border);background:var(--bg-subtle);color:var(--fg-strong);padding:80px 0;overflow:hidden}.mobile-story-container{width:min(1180px,100% - 48px);margin-inline:auto}.mobile-story-heading{max-width:700px;margin-bottom:40px}.mobile-story-heading h2{letter-spacing:-.035em;text-wrap:balance;margin:0;font-size:clamp(30px,3.6vw,46px);font-weight:600;line-height:1.05}.mobile-story-heading p{max-width:620px;color:var(--fg-muted);text-wrap:pretty;margin:16px 0 0;font-size:16px;line-height:1.6}.mobile-story-media{margin:0}.mobile-story-frame{background:var(--background);aspect-ratio:16/9;outline-offset:-1px;border-radius:12px;outline:1px solid #ffffff1a;outline:1px solid lab(100% 0 0/.1);position:relative;overflow:hidden}[data-theme=light] .mobile-story-frame{outline-color:#0000001a;outline-color:lab(0% 0 0/.1)}.mobile-story-frame>video{object-fit:contain;width:100%;height:100%;display:block}.mobile-story-caption{color:var(--fg-faint);justify-content:center;margin-top:20px;font-size:12px;line-height:1.5;display:flex}.mobile-story-play{min-height:40px;color:var(--fg-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:500;transition-property:color,background-color,scale;transition-duration:.15s;display:inline-flex}.mobile-story-play:hover{color:var(--fg-strong);background:var(--surface-1)}.mobile-story-play:active{scale:.96}.mobile-story-plan{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;margin-top:40px;padding-top:20px;display:flex}.mobile-story-plan p{max-width:720px;color:var(--fg-muted);text-wrap:pretty;margin:0;font-size:14px;line-height:1.6}.mobile-story-plan a{min-height:40px;color:var(--fg-strong);flex:none;align-items:center;gap:6px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.mobile-story-plan a:hover{color:var(--accent)}.mobile-story-plan a:focus-visible,.mobile-story-play:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.mobile-page .mobile-docs-cta{white-space:normal;text-align:center}@media (max-width:760px){.mobile-story{padding:56px 0}.mobile-story-container{width:min(100% - 32px,560px)}.mobile-story-plan{flex-direction:column;align-items:flex-start;gap:8px}}
.local-first-page{color:var(--fg-strong);padding-top:1px}.local-first-container{width:min(1120px,100% - 48px);margin-inline:auto}.local-first-hero{grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);align-items:center;gap:clamp(32px,6vw,80px);padding-block:104px 0;display:grid}.local-first-hero-copy{min-width:0}.local-first-hero h1{letter-spacing:-.045em;text-wrap:balance;max-width:620px;margin:0;font-size:clamp(38px,5vw,64px);font-weight:700;line-height:1.04}.local-first-hero h1 span{color:var(--fg-faint)}.local-first-hero-copy>p{max-width:590px;color:var(--fg-muted);text-wrap:pretty;margin:24px 0 0;font-size:16px;line-height:1.65}.local-first-actions{flex-wrap:wrap;align-items:center;gap:18px;margin-top:32px;display:flex}.local-first-cta{border-radius:8px;gap:8px;min-height:44px}.local-first-cta:active{scale:.96}.local-first-text-link{min-height:40px;color:var(--fg-strong);align-items:center;gap:7px;font-size:14px;font-weight:500;text-decoration:none;transition-property:color;transition-duration:.15s;display:inline-flex}.local-first-text-link:hover{color:var(--accent)}.local-first-hero-art{color:var(--fg-strong);justify-content:center;display:flex}.local-first-dex{width:100%;max-width:400px;height:auto}.local-first-principles{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 40px;padding-top:88px;display:grid}.local-first-principle{border-top:1px solid var(--border);min-width:0;padding-top:20px}.local-first-principle h2{letter-spacing:-.015em;text-wrap:balance;margin:0;font-size:18px;font-weight:600;line-height:1.3}.local-first-principle p{color:var(--fg-muted);margin:10px 0 0;font-size:15px;line-height:1.6}.local-first-data,.local-first-statement{padding-top:112px}.local-first-section-heading{max-width:720px;margin-bottom:32px}.local-first-section-heading h2,.local-first-statement-copy h2{letter-spacing:-.035em;color:var(--fg-strong);text-wrap:balance;margin:0;font-size:clamp(28px,3.4vw,40px);font-weight:700;line-height:1.12}.local-first-section-heading p{max-width:620px;color:var(--fg-muted);margin:16px 0 0;font-size:16px;line-height:1.6}.local-first-compare{border:1px solid var(--border);border-radius:12px;grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);display:grid;overflow:hidden}.local-first-compare-col{grid-row:span 2;grid-template-rows:subgrid;min-width:0;padding:28px 28px 12px;display:grid}.local-first-leaves{border-left:1px solid var(--border)}.local-first-compare-head{padding-bottom:20px}.local-first-compare-head h3{letter-spacing:-.015em;color:var(--fg-strong);margin:0;font-size:18px;font-weight:600;line-height:1.3}.local-first-compare-head p{color:var(--fg-muted);margin:6px 0 0;font-size:14px;line-height:1.55}.local-first-compare ul,.local-first-compare dl{align-self:start;margin:0;padding:0;list-style:none}.local-first-compare li,.local-first-compare dl>div{border-top:1px solid var(--border);padding:14px 0;font-size:14px;line-height:1.55}.local-first-compare li{color:var(--fg-strong)}.local-first-compare dl>div{grid-template-columns:minmax(0,.42fr) minmax(0,1fr);gap:4px 20px;display:grid}.local-first-compare dt{color:var(--fg-strong);font-weight:500}.local-first-compare dd{color:var(--fg-muted);margin:0}.local-first-compare-foot{border-top:1px solid var(--border);color:var(--fg-strong);grid-column:1/-1;margin:0;padding:18px 28px;font-size:14px;line-height:1.55}.local-first-statement{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(32px,5vw,64px);display:grid}.local-first-statement-copy{min-width:0}.local-first-statement-copy>p{color:var(--fg-muted);margin:16px 0 0;font-size:16px;line-height:1.6}.local-first-statement-copy>.local-first-statement-close{color:var(--fg-strong);margin-top:12px}.local-first-statement-copy h3{color:var(--fg-strong);margin:36px 0 12px;font-size:15px;font-weight:600;line-height:1.4}.local-first-paths{border-top:1px solid var(--border);margin:0}.local-first-paths>div{border-bottom:1px solid var(--border);grid-template-columns:88px minmax(0,1fr);align-items:baseline;gap:16px;padding:11px 0;display:grid}.local-first-paths dt{color:var(--fg-muted);font-size:14px}.local-first-paths dd{overflow-wrap:anywhere;margin:0}.local-first-paths code{color:var(--fg-strong);font:13px/1.5 var(--font-mono)}.local-first-statement-copy>.local-first-paths-note{margin-top:12px;font-size:14px;line-height:1.6}.local-first-statement-art{min-width:0}.local-first-page a:focus-visible,.local-first-page button:focus-visible{outline:2px solid var(--fg-strong);outline-offset:4px}@media (max-width:900px){.local-first-hero{grid-template-columns:1fr;gap:40px;padding-top:64px}.local-first-hero-copy{max-width:680px}.local-first-hero-art{justify-content:flex-start}.local-first-dex{max-width:320px}.local-first-principles{grid-template-columns:1fr;row-gap:24px;padding-top:64px}.local-first-data,.local-first-statement{padding-top:80px}.local-first-compare{grid-template-rows:none;grid-template-columns:1fr}.local-first-compare-col{grid-row:auto;display:block}.local-first-leaves{border-left:0;border-top:1px solid var(--border)}.local-first-statement{grid-template-columns:1fr}}@media (max-width:600px){.local-first-container{width:calc(100% - 32px)}.local-first-hero{padding-top:40px}.local-first-hero h1{font-size:clamp(36px,10vw,48px)}.local-first-hero-copy>p{font-size:15px}.local-first-dex{max-width:260px}.local-first-compare-col{padding:22px 20px 8px}.local-first-compare dl>div{grid-template-columns:1fr}.local-first-compare-foot{padding:16px 20px}}@media (prefers-reduced-motion:reduce){.local-first-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.canvas-page{color:var(--fg-strong)}.canvas-container{width:min(1120px,100% - 48px);margin-inline:auto}.canvas-hero{padding:96px 0 0}.canvas-hero h1{letter-spacing:-.045em;text-wrap:balance;max-width:820px;margin:0;font-size:clamp(38px,6vw,68px);font-weight:700;line-height:1.04}.canvas-hero>p{max-width:640px;color:var(--fg-muted);text-wrap:pretty;margin:20px 0 0;font-size:17px;line-height:1.65}.canvas-actions{flex-wrap:wrap;align-items:center;gap:22px;margin-top:28px;display:flex}.canvas-link{min-height:44px;color:var(--fg-strong);align-items:center;gap:8px;font-size:14px;font-weight:500;text-decoration:none;transition-property:color;transition-duration:.15s;display:inline-flex}.canvas-link:hover{color:var(--accent)}.canvas-link:focus-visible,.canvas-play:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.canvas-hero-shot{margin-top:56px}.canvas-section{padding-top:112px}.canvas-page h2{letter-spacing:-.035em;text-wrap:balance;margin:0;font-size:clamp(28px,3.4vw,42px);font-weight:700;line-height:1.1}.canvas-split-head{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:24px 64px;display:grid}.canvas-split-head h2{max-width:520px}.canvas-split-body p,.canvas-demo-copy>p,.canvas-flow-lead{color:var(--fg-muted);text-wrap:pretty;margin:0;font-size:16px;line-height:1.65}.canvas-split-body p+p{margin-top:14px}.canvas-demo{grid-template-columns:minmax(230px,.65fr) minmax(0,1.35fr);align-items:center;gap:56px;padding-top:112px;display:grid}.canvas-demo-copy h2{max-width:420px}.canvas-demo-copy>p{max-width:420px;margin-top:16px}.canvas-media{min-width:0;margin:0}.canvas-media-frame{aspect-ratio:1440/900;background:var(--surface-2);outline-offset:-1px;border-radius:12px;outline:1px solid #ffffff1a;outline:1px solid lab(100% 0 0/.1);position:relative;overflow:hidden;box-shadow:0 18px 40px -24px #0009;box-shadow:0 18px 40px -24px lab(0% 0 0/.6)}[data-theme=light] .canvas-media-frame{outline-color:#0000001a;outline-color:lab(0% 0 0/.1);box-shadow:0 18px 40px -26px #00000040;box-shadow:0 18px 40px -26px lab(0% 0 0/.25)}.canvas-media-frame img,.canvas-media-frame video{object-fit:cover;width:100%;height:100%;display:block}.canvas-play{z-index:1;min-height:42px;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #00000038}.canvas-media figcaption{color:var(--fg-muted);margin-top:10px;font-size:13px;line-height:1.5}.canvas-pair{grid-template-columns:1.436fr 1.746fr;align-items:start;gap:20px;margin-top:48px;display:grid}.canvas-kinds{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px;margin:48px 0 0;display:grid}.canvas-kinds>div{border-top:1px solid var(--border);padding:18px 0}.canvas-kinds dt,.canvas-rows dt{font-size:15px;font-weight:600;line-height:1.35}.canvas-kinds dd{color:var(--fg-muted);text-wrap:pretty;margin:6px 0 0;font-size:14px;line-height:1.55}.canvas-library-shot{margin-top:48px}.canvas-catalog{grid-template-columns:repeat(4,minmax(0,1fr));gap:40px;margin-top:56px;display:grid}.canvas-catalog h3{border-bottom:1px solid var(--border);margin:0;padding-bottom:12px;font-size:15px;font-weight:600;line-height:1.35}.canvas-catalog ul{margin:16px 0 0;padding:0;list-style:none}.canvas-catalog li+li{margin-top:16px}.canvas-catalog-name{flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-size:14.5px;font-weight:600;line-height:1.35;display:flex}.canvas-soon{color:var(--fg-faint);font-size:12px;font-weight:500}.canvas-catalog-blurb{color:var(--fg-muted);text-wrap:pretty;margin-top:4px;font-size:13.5px;line-height:1.55;display:block}.canvas-note{color:var(--fg-muted);margin:40px 0 0;font-size:14px;line-height:1.55}.canvas-flow{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:64px;display:grid}.canvas-flow-lead{margin-top:16px}.canvas-rows{margin:32px 0 0}.canvas-rows>div{border-top:1px solid var(--border);padding:18px 0}.canvas-rows dd{color:var(--fg-muted);text-wrap:pretty;margin:6px 0 0;font-size:14.5px;line-height:1.6}.canvas-flow-shot{position:sticky;top:96px}@media (max-width:1000px){.canvas-catalog,.canvas-kinds{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.canvas-demo,.canvas-flow,.canvas-split-head{grid-template-columns:1fr}.canvas-demo{gap:24px}.canvas-flow{gap:32px}.canvas-flow-shot{position:static}.canvas-pair{grid-template-columns:1fr}}@media (max-width:600px){.canvas-hero{padding-top:56px}.canvas-hero h1{font-size:clamp(36px,11vw,48px)}.canvas-hero>p{font-size:16px}.canvas-actions{flex-direction:column;align-items:flex-start;gap:8px}.canvas-hero-shot{margin-top:36px}.canvas-section,.canvas-demo{padding-top:80px}.canvas-kinds,.canvas-catalog{grid-template-columns:1fr}.canvas-catalog{gap:32px}}