:root{--h:#121212;--f:#1e1e1e;--i:#272727;--n:#333;--l:rgba(42,42,42,.75);--b:#fff;--c:#999;--o:rgba(255,255,255,.6);--p:#2a2a2a;--e:#e63232;--d:#f05a5a;--m:#f04a4a;--r:#b22222;--a:cubic-bezier(.4,0,.2,1);--k:cubic-bezier(.25,.8,.5,1);--j:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);--g:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);color-scheme:dark}*{box-sizing:border-box}html{background:#111}body{margin:0;background:var(--h);color:var(--b);font:16px/1.5 Roboto,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-text-size-adjust:100%;text-align:center;padding-top:88px;min-height:100vh;display:flex;flex-direction:column}main{flex:1 0 auto;display:flex;flex-direction:column;justify-content:center}footer{flex:0 0 auto}.wrap{width:100%;max-width:calc(48rem + 2.5rem);margin:0 auto;padding:0 1.25rem}.pg.prose{text-align:left;max-width:40rem;margin:0 auto}a{color:var(--d);text-underline-offset:.18em}a:hover{color:var(--m)}::selection{background:var(--e);color:#fff}html{scrollbar-color:#3a3a3a var(--h);scrollbar-width:thin}:focus-visible{outline:2px solid var(--d);outline-offset:3px;border-radius:2px}.skip{position:fixed;top:0;left:0;z-index:8;min-height:44px;align-items:center;padding:.7rem 1.1rem;background:var(--f);color:var(--b);font-size:.875rem;font-weight:500;text-decoration:none;border-radius:0 0 4px 0;box-shadow:var(--g);transform:translateY(-130%);transition:transform .2s var(--a)}.skip:focus{transform:none;color:var(--b)}.i{width:1.15em;height:1.15em;fill:currentColor;flex:0 0 auto}body::before{content:"";position:fixed;top:0;right:0;z-index:0;width:min(30rem,46vw);height:min(19rem,40vh);background:repeating-radial-gradient(circle at 116% -16%,transparent 0 32px,var(--r) 32px 45px);-webkit-mask-image:linear-gradient(to bottom left,#000 18%,transparent 62%);mask-image:linear-gradient(to bottom left,#000 18%,transparent 62%);pointer-events:none}main,footer{position:relative;z-index:1}.pg{display:none;scroll-margin-top:112px}[tabindex="-1"]:focus{outline:none}.pg:target,.pg:has(:target){display:block}main:not(:has(:target)) #home,main:not(:has(:target)) .pg:only-child{display:block}nav a{--q:0}body:not(:has(main :target)) nav a[href="#home"],body:has(#home:target) nav a[href="#home"],body:has(#home :target) nav a[href="#home"],body:has(#install:target) nav a[href="#install"],body:has(#install :target) nav a[href="#install"],body:has(#api:target) nav a[href="#api"],body:has(#api :target) nav a[href="#api"],body:has(#help:target) nav a[href="#help"],body:has(#help :target) nav a[href="#help"],body:has(#faq:target) nav a[href="#faq"],body:has(#faq :target) nav a[href="#faq"],body:has(#donate:target) nav a[href="#donate"],body:has(#donate :target) nav a[href="#donate"],body:has(#privacy:target) nav a[href="#privacy"],body:has(#privacy :target) nav a[href="#privacy"]{color:var(--d);--q:1}.skip{display:none}body:not(:has(main :target)) .k-home,body:has(#home:target) .k-home,body:has(#home :target) .k-home,body:has(#install:target) .k-install,body:has(#install :target) .k-install,body:has(#api:target) .k-api,body:has(#api :target) .k-api,body:has(#help:target) .k-help,body:has(#help :target) .k-help,body:has(#faq:target) .k-faq,body:has(#faq :target) .k-faq,body:has(#donate:target) .k-donate,body:has(#donate :target) .k-donate,body:has(#privacy:target) .k-privacy,body:has(#privacy :target) .k-privacy{display:flex}header{position:fixed;top:24px;left:0;right:0;z-index:5;width:fit-content;max-width:100%;margin:16px auto;height:64px;padding:0 48px;border-radius:16px;background:var(--l);backdrop-filter:blur(16px) saturate(2);-webkit-backdrop-filter:blur(16px) saturate(2);transition:background-color .2s var(--a)}.bar{display:flex;align-items:center;justify-content:center;height:64px;padding:4px 16px}nav{display:flex;align-items:center}nav a{position:relative;display:flex;align-items:center;justify-content:center;height:64px;min-width:90px;padding:0 16px;color:var(--o);text-decoration:none;font-size:14px;font-weight:500;letter-spacing:1.25px;text-transform:uppercase;transition:color .2s var(--a)}nav a:hover{color:var(--b)}nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--e);opacity:var(--q)}@media (prefers-reduced-motion:no-preference){.pg{animation:swoop-left .1s ease both}}@keyframes swoop-left{from{opacity:0;transform:translate(1rem)}}::view-transition-old(root),::view-transition-new(root){animation-duration:.12s}.hero{padding:3rem 0 1.5rem}.hero.tall{padding:.25rem 0}.hero.tall>*{width:100%}.hero h1{font-size:3rem;font-weight:700;line-height:1.2;margin:0 0 .25rem}.hero .lede{color:var(--c);font-size:16px;line-height:24px;margin:0 auto 12px;max-width:36rem}.logo{display:block;width:96px;height:96px;margin:0 auto 10px;color:var(--e);fill:currentColor}@media (prefers-reduced-motion:no-preference){.logo{animation:pop .55s ease-in-out both}.hero h1{animation:rise .4s var(--a) both .06s}.hero .lede{animation:rise .4s var(--a) both .12s}.hero .row{animation:rise .4s var(--a) both .18s}.qa .a{animation:fadein .28s var(--a) both}}@keyframes pop{from{opacity:0;transform:rotate(180deg) scale(0)}to{opacity:1;transform:none}}@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fadein{from{opacity:0}to{opacity:1}}.row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;margin:.5rem 0}.btn{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 16px;margin:.25em;border-radius:4px;background:var(--i);color:var(--b);text-decoration:none;font-size:14px;font-weight:500;letter-spacing:1.25px;text-transform:uppercase;line-height:21px;box-shadow:var(--j);transition:box-shadow .28s var(--a),background-color .28s var(--a);background-image:radial-gradient(circle,transparent 1%,var(--i) 1%);background-position:center;background-size:15000%}.btn .i{width:18px;height:18px;margin-right:8px}.btn:hover{background-color:var(--n);box-shadow:var(--g);color:var(--b)}.btn:active{background-size:100%;transition:background-size 0s}.btn.p{height:48px;padding:24px;margin:0 0 12px;font-size:24px;line-height:36px;letter-spacing:2.143px;background:var(--e);background-image:radial-gradient(circle,transparent 1%,var(--e) 1%)}.btn.p .i{width:36px;height:36px;margin-right:24px}.btn.p:hover{background-color:var(--m);color:#fff}.btn[aria-disabled]{opacity:.45;box-shadow:none;pointer-events:none}section{padding:3rem 0}section + section{border-top:1px solid var(--p)}h2{font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.sub{color:var(--c);margin:0 auto 16px;max-width:36rem;line-height:24px}.panels{max-width:768px;margin:0 auto}.qa{background:var(--f);border-radius:4px;margin:0 0 1px;text-align:left;transition:margin .3s var(--k)}.qa:first-of-type{border-radius:4px 4px 0 0}.qa:last-of-type{border-radius:0 0 4px 4px}.qa[open]{margin:16px 0}.qa[open]:first-of-type{margin-top:0}.qa>summary{display:flex;align-items:center;min-height:64px;padding:16px 24px;font-size:15px;font-weight:400;line-height:1.35;cursor:pointer;list-style:none;transition:color .2s var(--a)}.qa>summary::-webkit-details-marker{display:none}.qa>summary:hover{color:var(--d)}.qa>summary::after{content:"";margin-left:auto;flex:0 0 auto;width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-3px,-3px);transition:transform .3s var(--k)}.qa[open]>summary::after{transform:rotate(-135deg) translate(-3px,-3px)}.qa[open]>summary{color:var(--d)}.qa .a{padding:0 24px 20px;text-align:left;color:#ddd}.qa .a>:first-child{margin-top:0}.qa .a>:last-child{margin-bottom:0}.qa:target{box-shadow:0 0 0 2px var(--e),var(--g)}.qa:target>summary{color:var(--d)}.note,blockquote{text-align:left;background:var(--f);border-radius:4px;padding:1rem 1.25rem;margin:1.5rem 0}.note p{margin:0}blockquote{color:var(--c)}.q{color:var(--c);font-size:.875rem}.soon{color:var(--c);font-style:italic;font-size:.9375rem}ul{text-align:left}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;background:#242424;padding:.12em .4em;border-radius:3px}pre{text-align:left;background:var(--f);border-radius:4px;padding:1rem 1.25rem;overflow-x:auto;box-shadow:var(--j)}pre code{background:none;padding:0;font-size:.85rem;line-height:1.7}.fab{position:fixed;right:16px;bottom:32px;z-index:5;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:var(--l);backdrop-filter:blur(16px) saturate(2);-webkit-backdrop-filter:blur(16px) saturate(2);color:var(--b);text-decoration:none;transition:color .2s var(--a),transform .2s var(--a)}.fab:hover{color:var(--d);transform:translateY(-2px)}.fab .i{width:24px;height:24px}.sponsors{margin:2.5rem 0 0}.sponsors h2{display:flex;align-items:center;justify-content:center;gap:8px;font-size:1.17rem;line-height:1.5;font-weight:700;margin:0 0 .5rem}.sponsors h2 .i{width:1em;height:1em;color:var(--b)}.sponsors .q{color:var(--c);font-size:.875rem;margin:0 0 .5rem}.sponsors a{text-decoration:underline}footer{margin-top:.5rem;padding:.8rem 0 .9rem;color:var(--c);font-size:.8125rem}footer p{margin:0 auto;max-width:44rem}@media (max-width:768px){header{padding:0;width:calc(100vw - 2rem);height:auto;top:12px;margin:8px auto}.bar{height:auto;padding:4px}nav{flex-wrap:wrap;justify-content:center}nav a{height:44px;min-width:0;padding:0 10px}nav a::after{left:10px;right:10px}body{padding-top:120px}.pg{scroll-margin-top:140px}.hero h1{font-size:1.85rem;line-height:1.2}.btn.p{font-size:18px;padding:16px;height:44px;line-height:28px}.btn.p .i{width:24px;height:24px;margin-right:12px}.hero.tall{padding:0}.logo{width:56px;height:56px;margin-bottom:6px}.hero .lede{margin-bottom:8px}.row{margin:.35rem 0}footer{margin-top:.25rem;padding:.5rem 0 .6rem}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none !important;transition:none !important}.fab:hover{transform:none}}@media (max-height:700px){.logo{width:72px;height:72px;margin-bottom:8px}.hero h1{font-size:2.25rem}.hero .lede{margin-bottom:8px}}@media (max-height:580px){.logo{width:56px;height:56px;margin-bottom:4px}.hero h1{font-size:1.75rem}.hero .lede{font-size:15px;margin-bottom:6px}.row{margin:.3rem 0}footer{margin-top:.25rem;padding:.5rem 0 .6rem}}@media (max-height:500px){.logo{width:40px;height:40px;margin-bottom:2px}.hero h1{font-size:1.5rem;margin-bottom:0}.hero .lede{font-size:14px;line-height:20px;margin-bottom:4px}.hero.tall{padding:0}.row{margin:.25rem 0}.btn.p{height:40px;font-size:16px;padding:12px;line-height:24px}.btn.p .i{width:20px;height:20px;margin-right:10px}footer{margin-top:.1rem;padding:.3rem 0 .35rem;font-size:.75rem}}