:root{--ink:#0e1116;--nav:#020408;--ink-3:#292a25;--ink-deep:#11120f;--paper:#f1eee7;--paper-2:#e6e0d5;--white:#fffdf8;--text-light:#c9c7be;--text-dark-muted:#65645e;--line:#fffdf824;--paper-line:#bdb6aa;--blue:#3b6cc7;--blue-bright:#2580fa;--blue-dark:#1f6dd3;--blue-soft:#98b7ff;--purple:#867de7;--focus-ring:#2580fa94;--max:1240px;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI Variable Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}html{background:var(--ink);scroll-behavior:smooth;scroll-padding-top:96px}body{min-height:100dvh;color:var(--white);background:var(--ink);font-family:var(--font-sans);flex-direction:column;margin:0;font-size:16px;line-height:1.58;display:flex}#main{flex-direction:column;flex:1 0 auto;display:flex}#main>:last-child{flex:1 0 auto}body.menu-open{overflow:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}svg{display:block}h1,h2,h3,p{text-wrap:pretty}.skip-link{z-index:500;color:var(--ink);background:var(--white);border-radius:2px;padding:10px 14px;position:fixed;top:10px;left:10px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.container{width:min(calc(100% - 48px), var(--max));margin-inline:auto}.site-header{z-index:100;background:var(--nav);border-bottom:1px solid var(--line);align-items:center;height:72px;display:flex;position:sticky;top:0}.nav-wrap{justify-content:space-between;align-items:center;gap:28px;display:flex}.brand{letter-spacing:-.035em;flex:none;align-items:center;gap:11px;font-size:20px;font-weight:750;display:inline-flex}.brand img{border-radius:5px;width:34px;height:34px}.nav-links{align-items:center;gap:27px;margin-left:auto;display:flex}.nav-links a:not(.btn){color:var(--text-light);font-size:13px;font-weight:600;position:relative}.nav-links a:not(.btn):after{content:"";background:var(--blue);transform-origin:100%;height:1px;transition:transform .18s;position:absolute;bottom:-7px;left:0;right:0;transform:scaleX(0)}.nav-links a:not(.btn):hover:after,.nav-links a[aria-current=page]:after{transform-origin:0;transform:scaleX(1)}.nav-links a:not(.btn) svg{vertical-align:-2px;width:14px;height:14px;display:inline-block}.nav-links .nav-github{fill:currentColor;margin-right:6px}.menu-toggle{color:#fff;border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:3px;width:42px;height:42px;padding:9px;display:none}.menu-toggle span{background:currentColor;height:1px;margin:6px 0;transition:transform .18s,opacity .18s;display:block}.btn{cursor:pointer;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:0 20px;font-size:14px;font-weight:750;line-height:1;transition:background-color .16s,border-color .16s,transform .16s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.btn--primary{color:var(--white);background:var(--blue-bright)}.btn--primary:hover{background:var(--blue-dark)}.btn--outline{color:var(--white);background:0 0;border-color:#ffffff52}.btn--outline:hover{border-color:var(--purple);background:#ffffff0a}.btn--small{min-height:39px;padding-inline:15px;font-size:13px}.btn svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:17px;height:17px}.kicker{color:var(--blue);font:800 11px/1.3 var(--font-mono);letter-spacing:.14em;text-transform:uppercase}.format-strip{border-block:1px solid var(--line);background:#22231f;padding:21px 0}.format-strip .container{justify-content:space-between;align-items:center;gap:28px;display:flex}.format-label{color:#95958d;font:750 10px/1.3 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.formats{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.format{color:#d5d2c9;font:650 11px/1.2 var(--font-mono);background:0 0;border:1px solid #4a4b44;border-radius:2px;padding:6px 10px}.section{padding:116px 0}.section--paper{color:var(--ink);background:var(--paper)}.section-heading{max-width:800px;margin-bottom:57px}.kicker{margin:0 0 16px}.section-heading h2,.interop h2,.tutorial-hero h1,.contact-hero h1{letter-spacing:-.052em;margin:0;font-size:clamp(42px,5vw,68px);line-height:.98}.feature-grid{border-top:1px solid var(--paper-line);border-left:1px solid var(--paper-line);grid-template-columns:repeat(3,1fr);display:grid}.feature-card{background:var(--paper);border-right:1px solid var(--paper-line);border-bottom:1px solid var(--paper-line)}.feature-image{background:var(--paper-2);border-bottom:1px solid var(--paper-line);width:100%;height:auto;display:block}.feature-body{padding:30px}.feature-number{color:#89857c;font:600 10px/1 var(--font-mono);margin-bottom:16px;display:block}.feature-card h3{letter-spacing:-.02em;margin:0 0 10px;font-size:19px}.feature-card p{color:var(--text-dark-muted);margin:0;font-size:13px}.interop{background:var(--ink);border-top:1px solid var(--line);padding:92px 0}.interop-grid{grid-template-columns:1.05fr .95fr;align-items:end;gap:90px;display:grid}.interop .kicker{color:var(--blue-soft)}.interop h2{max-width:620px}.interop-copy{max-width:520px;color:var(--text-light);margin:0 0 5px;font-size:17px}.interop-copy em{color:var(--white)}.site-footer{background:var(--ink-deep);border-top:1px solid var(--line);padding:70px 0 25px}.footer-grid{grid-template-columns:1.4fr repeat(2,1fr);gap:58px;padding-bottom:56px;display:grid}.footer-intro p{color:#85857d;max-width:290px;font-size:13px}.footer-col h2{color:#d8d5cc;letter-spacing:.04em;margin:5px 0 16px;font-family:inherit;font-size:12px;font-weight:700}.footer-col a{color:#898981;width:fit-content;margin:8px 0;font-size:12px;display:block}.footer-col a:hover{color:var(--purple)}.footer-links-grid{grid-template-rows:repeat(3,auto);grid-template-columns:repeat(2,auto);grid-auto-flow:column;gap:6px 24px;width:fit-content;display:grid}.footer-links-grid a{margin:0;position:relative}.footer-socials{align-items:center;gap:10px;display:flex}.footer-col .footer-socials a{color:#898981;border:1px solid var(--line);border-radius:4px;place-items:center;width:40px;height:40px;margin:0;transition:color .16s,background-color .16s,border-color .16s;display:grid}.footer-socials a:hover{color:var(--white);background:var(--ink-3);border-color:var(--purple)}.footer-socials svg{width:20px;height:20px}.footer-bottom{color:#6f7069;border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:30px;padding-top:23px;font-size:11px;display:flex}.tutorial-page{color:var(--ink);background:var(--ink)}.tutorial-hero{color:var(--white);background:var(--ink);padding:24px 0 28px}.tutorial-hero .kicker{color:var(--purple)}.tutorial-hero h1{max-width:650px}.contact-page{color:var(--ink);background:var(--ink)}.contact-hero{color:var(--white);background:var(--ink);padding:24px 0 28px}.contact-hero .kicker{color:var(--purple)}.contact-hero h1{max-width:720px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width<=1120px){.nav-links{gap:19px}.feature-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=860px){.container{width:min(calc(100% - 32px), var(--max))}.menu-toggle{display:block}.nav-links{overscroll-behavior:contain;background:var(--nav);border-top:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;height:calc(100dvh - 72px);padding:26px 24px;display:none;position:fixed;inset:72px 0 auto;overflow-y:auto}.nav-links.open{display:flex}.nav-links a:not(.btn){border-bottom:1px solid var(--line);padding:15px 4px;font-size:16px}.nav-links a:not(.btn):after{display:none}.nav-links .btn{margin-top:21px}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7px)rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.footer-grid{grid-template-columns:1.4fr repeat(2,1fr);gap:34px}.interop-grid{grid-template-columns:1fr;gap:28px}}@media (width<=600px){.site-header{height:68px}.nav-links{height:calc(100dvh - 68px);top:68px}.brand{font-size:18px}.format-strip .container{flex-direction:column;align-items:flex-start}.formats{justify-content:flex-start}.section{padding:80px 0}.feature-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr;gap:34px 22px}.footer-intro{grid-column:1/-1}.footer-bottom{flex-direction:column;align-items:flex-start}.tutorial-hero h1,.contact-hero h1,.interop h2{font-size:48px}.tutorial-hero,.contact-hero{padding:65px 0}.interop{padding:68px 0}}:root{--ink:#192a44;--nav:#fff;--ink-deep:#f7f9fc;--paper:#f6f8fc;--paper-2:#eaf0f8;--white:#fff;--text-light:#53627a;--text-dark-muted:#53627a;--line:#e2e8f1;--paper-line:#dce4ef;--purple:#6250ef;--blue:#2878ed}html,body{color:var(--ink);background:#fff}h1,h2{font-family:inherit;font-weight:700}.site-header{background:#fff}.site-header .brand,.site-footer .brand{color:#2880ff}.nav-links a:not(.btn):hover,.nav-links a[aria-current=page]{color:#2878ed}.btn--outline{color:#2878ed;border-color:#bed5f8}.btn--outline:hover{background:#f1f6ff}.menu-toggle{color:#192a44}.footer-intro p,.footer-col a,.footer-bottom,.footer-col .footer-socials a{color:#53627a}.footer-col h2{color:#192a44}.footer-socials a:hover{background:#eaf0f8}.tutorial-page,.contact-page,.tutorial-hero,.contact-hero{color:var(--ink);background:#fff}.tutorial-hero,.contact-hero{padding-block:75px}.intro-copy,.showcase-heading>p,.feature-card p,.interop-copy,.footer-intro p,.not-found-intro{text-align:left}@media (width>=861px){.intro-copy,.showcase-heading>p,.interop-copy{text-align:justify;text-justify:inter-word}}.campaign-page{--canvas:1700px;color:#192a44;background:#fff}.campaign-page .container{--max:var(--canvas);width:min(91%, var(--max))}.campaign-page .site-header{border:0;height:100px;position:relative}.campaign-page .brand{gap:16px;font-size:26px}.campaign-page .brand img{width:48px;height:48px}.poster-hero{isolation:isolate;height:calc(100svh - 100px);min-height:700px;max-height:1100px;position:relative;overflow:hidden}.poster-heading{z-index:3;pointer-events:none;padding-top:25px;position:relative}.poster-heading h1{letter-spacing:-.055em;margin:0;font-size:clamp(76px,8.5vw,142px);font-weight:750;line-height:1.03}.poster-heading h1 span,.intro-section h2 span,.closing-section h2 span{color:#2880ff}.poster-heading p{color:#53627a;letter-spacing:-.025em;margin:22px 0 0;font-size:clamp(19px,2vw,31px)}.hero-ribbon{width:min(91%, var(--canvas));z-index:-1;height:100%;position:absolute;inset:0 auto 0 50%;overflow:visible;transform:translate(-50%)}.hero-ribbon path{fill:none;stroke:#6250ef;stroke-width:64px}.ribbon-intro{stroke-dasharray:1;stroke-dashoffset:0;animation:2.8s cubic-bezier(.3,0,.2,1) both ribbon-arrive}@keyframes ribbon-arrive{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.poster-mine{z-index:1;width:83%;max-width:none;height:auto;position:absolute;bottom:10%;right:-10%}.poster-bottom{z-index:4;justify-content:space-between;align-items:end;gap:30px;display:flex;position:absolute;bottom:30px;left:0;right:0}.poster-start h2{letter-spacing:-.04em;margin:0 0 3px;font-size:clamp(24px,2.4vw,38px)}.poster-launch{color:#2880ff;letter-spacing:-.025em;align-items:center;gap:26px;font-size:clamp(21px,2vw,31px);display:flex}.poster-launch span{font-size:1.5em;line-height:1;transition:transform .2s}.poster-launch:hover span{transform:translate(7px)}.native-link{color:#53627a;margin-top:8px;font-size:13px;display:inline-block}.native-link:hover,.text-link:hover{color:#6250ef}.poster-meta{color:#53627a;text-align:right;font-size:13px}.poster-meta p{margin:0 0 8px}.poster-meta a{text-transform:uppercase;letter-spacing:.1em;font-size:11px}.poster-meta span{margin-left:15px}.journey{isolation:isolate;position:relative;overflow:hidden}.intro-section{padding-block:130px 110px}.intro-section h2,.closing-section h2{letter-spacing:-.05em;margin:0;font-size:clamp(44px,5.6vw,84px);line-height:1.04}.intro-content{text-align:center;max-width:780px;margin-inline:auto;position:relative}.intro-section .intro-content>*{width:fit-content;margin-inline:auto;position:relative}.intro-section .intro-copy{color:#53627a;max-width:590px;margin:30px auto 24px;font-size:20px}.text-link{color:#2878ed;font-weight:600}.text-link span{margin-left:14px}.campaign-page .kicker{color:#6250ef;font:650 12px/1.4 var(--font-sans);letter-spacing:.13em}.campaign-page .format-strip{background:#fff;border-color:#e9edf4;padding-block:30px}.campaign-page .format-label{color:#53627a}.campaign-page .format{color:#53627a;border-color:#dce4ef;padding:9px 14px}.campaign-page .section--paper{background:0 0}.campaign-page .section{padding-block:115px 85px}.campaign-page .section-heading{background:#fff;width:fit-content;box-shadow:0 0 0 20px #fff}.campaign-page .section-heading h2{font-size:clamp(40px,4.8vw,70px);font-weight:700;line-height:1.04}.campaign-page .feature-grid{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:70px 7%}.campaign-page .feature-card{background:#fff;border:0}.campaign-page .feature-image{border:1px solid #e6eaf2;border-radius:5px}.campaign-page .feature-body{padding:25px 0 10px}.campaign-page .feature-number{color:#6250ef}.campaign-page .feature-card h3{font-size:30px}.campaign-page .feature-card p{max-width:470px;font-size:16px}.campaign-page .interop{background:#f5f7fc;border:0;margin-block:60px}.campaign-page .interop-copy{color:#53627a}.campaign-page .interop h2{font-weight:700}.closing-section{padding-block:110px 150px}.closing-section>*{background:#fff;width:fit-content;position:relative;box-shadow:0 0 0 12px #fff}.closing-actions{flex-wrap:wrap;align-items:center;gap:28px;margin-top:35px;display:flex}.closing-note{color:#53627a;margin-top:26px;font-size:13px}.will-reveal{opacity:0;transition:opacity .75s,transform .75s;transform:translateY(35px)}.will-reveal.is-visible{opacity:1;transform:none}@media (width>=1101px){.poster-heading h1{font-size:clamp(76px,8.5vw,122px)}.poster-mine{object-fit:contain;object-position:right bottom;width:min(91%,1400px);height:calc(100% - 390px);right:max(4.5%, calc((100% - var(--canvas)) / 2))}}@media (width<=1100px){.campaign-page .nav-links{gap:15px}.campaign-page .brand{font-size:21px}.campaign-page .brand img{width:36px;height:36px}.campaign-page .nav-links .btn{padding-inline:10px;font-size:11px}.poster-hero{min-height:720px}.poster-mine{width:105%;bottom:19%;right:-24%}.poster-heading h1{font-size:10vw}}@media (width<=860px){.campaign-page .site-header{height:80px}.campaign-page .nav-links{height:calc(100dvh - 80px);top:80px}.poster-hero{height:calc(100svh - 80px)}.poster-heading h1{font-size:clamp(60px,11vw,94px)}.poster-heading p{max-width:330px}.poster-mine{width:115%;bottom:23%;right:-28%}.hero-ribbon{width:150%}.poster-meta p{max-width:150px}}@media (width<=600px){.campaign-page .container{width:calc(100% - 40px)}.poster-hero{min-height:690px;max-height:850px}.poster-heading{padding-top:24px}.poster-heading h1{font-size:clamp(52px,12.5vw,75px)}.poster-heading p{max-width:280px;margin-top:18px;font-size:19px}.poster-mine{width:145%;bottom:26%;right:-44%}.hero-ribbon{width:190%;height:72%;top:12%}.poster-bottom{flex-direction:column;align-items:start;gap:20px;bottom:25px}.poster-start h2{font-size:28px}.poster-launch{font-size:23px}.poster-meta{text-align:left;justify-content:space-between;align-items:center;width:100%;font-size:10px;display:flex}.poster-meta p{max-width:none;margin:0}.poster-meta a{letter-spacing:.03em;font-size:9px}.poster-meta span{margin-left:5px}.intro-section{padding-block:100px 65px}.intro-section .intro-copy{font-size:17px}.campaign-page .feature-grid{grid-template-columns:1fr;gap:50px}.campaign-page .feature-card:nth-child(2n){margin-top:0}.campaign-page .section{padding-block:75px 30px}.campaign-page .interop{margin-block:30px}.closing-section{padding-block:80px 100px}}@media (prefers-reduced-motion:reduce){.ribbon-intro{animation:none}.will-reveal{opacity:1;transition:none;transform:none}}.campaign-page .feature-card:nth-child(2n){margin-top:0}.intro-section{position:relative}.app-showcase{padding-block:35px 55px;position:relative}.showcase-heading{grid-template-columns:1.2fr 1fr;align-items:end;gap:70px;margin-bottom:42px;display:grid}.showcase-heading h2{letter-spacing:-.045em;margin:0;font-size:clamp(38px,4.6vw,66px);line-height:1.07}.showcase-heading h2 span{color:#2880ff}.showcase-heading>p{color:#53627a;max-width:400px;margin:0 0 5px;font-size:18px}.app-preview{margin:0}.app-preview img{border:1px solid #dce4ef;border-radius:6px;width:100%;height:auto;box-shadow:0 24px 65px #192a4412}.app-preview figcaption{color:#53627a;justify-content:space-between;gap:20px;margin-top:20px;font-size:12px;display:flex}.closing-actions{flex-direction:column;align-items:start;gap:5px}@media (width<=860px){.showcase-heading{grid-template-columns:1fr;gap:24px}.showcase-heading>p{max-width:520px}}@media (width<=600px){.poster-launch{gap:14px;font-size:clamp(19px,5.7vw,23px)}.app-showcase{padding-block:20px 30px}.showcase-heading{margin-bottom:28px}.showcase-heading>p{font-size:16px}.app-preview figcaption{flex-direction:column;gap:4px;font-size:11px}.campaign-page .feature-grid{row-gap:50px}}.intro-section>*,.closing-section>*,.campaign-page .section-heading{box-shadow:none;background:0 0}.campaign-page .section-heading{margin-bottom:57px}@media (width>=601px) and (width<=860px){.hero-ribbon{height:83%}}@media (width<=600px){.campaign-page .section-heading{margin-bottom:55px}}.closing-section{isolation:isolate;position:relative}@media (width<=600px){.closing-section{padding-bottom:180px}}@media (width>=1101px){.hero-ribbon{height:calc(100% - 80px)}}@media (width>=1101px) and (height<=900px){.poster-heading h1{font-size:clamp(76px,7vw,100px)}.poster-heading p{font-size:26px}}.intro-section{isolation:isolate}.intro-section .intro-content{text-align:center;width:min(100%,780px);margin-inline:auto}@media (width<=600px){.intro-section .intro-content{width:100%}.closing-section{padding-bottom:240px}}.campaign-page .page-hero{background:#fff;padding-block:100px 65px}.campaign-page .page-hero h1{letter-spacing:-.055em;max-width:none;margin:14px 0 0;font-size:clamp(56px,6.6vw,112px);font-weight:750;line-height:1.02}.campaign-page .page-hero h1 span{color:#2880ff}.campaign-page .page-lead{color:#53627a;letter-spacing:-.02em;text-align:left;max-width:560px;margin:30px 0 0;font-size:21px}.route-section{padding-bottom:120px}.route-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 6%;display:grid}.route-card{border-top:1px solid #dce4ef;padding-top:24px;display:block}.route-number{color:#6250ef;font:700 11px/1 var(--font-mono);letter-spacing:.08em}.route-label{color:#6250ef;font:650 12px/1.4 var(--font-sans);letter-spacing:.13em;text-transform:uppercase;margin:16px 0 14px;display:block}.route-card strong{color:#2880ff;letter-spacing:-.035em;overflow-wrap:anywhere;font-size:clamp(20px,1.65vw,28px);font-weight:700;transition:color .18s;display:block}.route-card p{color:#53627a;max-width:330px;margin:16px 0 0;font-size:15px}.route-card:hover strong{color:#6250ef}.campaign-page #main>.page-band{flex:none;margin-top:auto}.page-band{background:#f5f7fc;padding-block:95px}.band-grid{grid-template-columns:1.05fr .95fr;align-items:start;gap:80px;display:grid}.band-grid h2{letter-spacing:-.05em;margin:12px 0 0;font-size:clamp(38px,4.4vw,64px);font-weight:700;line-height:1.04}.band-grid h2 span{color:#2880ff}.band-links>p{color:#53627a;text-align:left;max-width:470px;margin:0 0 30px;font-size:18px}.band-links a{color:#192a44;letter-spacing:-.02em;border-top:1px solid #dde4f0;justify-content:space-between;align-items:center;gap:20px;padding:17px 0;font-size:17px;font-weight:600;transition:color .18s;display:flex}.band-links a:last-child{border-bottom:1px solid #dde4f0}.band-links a span{color:#8fa0b8;transition:transform .18s,color .18s}.band-links a:hover{color:#2880ff}.band-links a:hover span{color:#2880ff;transform:translate(2px,-2px)}.campaign-page .tutorial-page .section,.tutorial-page .section{padding-block:20px 95px}@media (width<=1100px){.route-grid{gap:0 5%}}@media (width<=860px){.campaign-page .page-hero{padding-block:70px 45px}.campaign-page .page-lead{margin-top:24px;font-size:18px}.route-section{padding-bottom:80px}.route-grid{grid-template-columns:1fr;gap:42px}.route-card p{max-width:none}.page-band{padding-block:70px}.band-grid{grid-template-columns:1fr;gap:34px}.tutorial-page .section{padding-block:10px 70px}}@media (width<=600px){.campaign-page .page-hero h1{font-size:clamp(46px,13vw,64px)}.band-links a{font-size:16px}}
