:root{color-scheme:light;--page:#f3f3f1;--panel:#fff;--soft:#ececea;--soft-2:#f7f7f6;--frame:#11111117;--line:#1111111a;--line-2:#11111124;--line-3:#11111142;--text:#111;--text-2:#4a4a4a;--text-3:#686866;--accent:#d6006f;--accent-hover:#b8005f;--accent-ink:#b8005f;--accent-soft:#d6006f14;--accent-line:#d6006f4d;--art-ink:#1b1b1b;--art-fill:#fff;--art-shade:#ececea;--shadow-xs:0 1px 2px #1111110f;--shadow-sm:0 0 0 1px var(--line), 0 1px 2px #1111110a, 0 8px 20px -12px #11111124;--shadow-md:0 0 0 1px var(--line), 0 2px 4px #11111108, 0 16px 36px -18px #1113;--r-sm:6px;--r:8px;--r-md:12px;--r-lg:16px;--r-xl:24px;--ease:cubic-bezier(.32, .72, 0, 1);--sans:var(--font-inter), system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--serif:var(--font-serif), "Iowan Old Style", Georgia, serif;--mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--container:1120px;--gutter:28px;--rail-gap:0px;--frame-w:min(100% - 2 * var(--rail-gap), var(--container) + 2 * var(--gutter));--nav-h:68px}@media (width<=1240px){:root{--rail-gap:14px;--gutter:24px}}@media (width<=640px){:root{--rail-gap:8px;--gutter:16px;--nav-h:60px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 16px);overflow-x:clip}body{background:var(--page);min-height:100vh;color:var(--text);font-family:var(--sans);letter-spacing:-.011em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px;line-height:1.6;overflow-x:clip}h1,h2,h3,h4,p,ul,ol,figure{margin:0}ul[role=list],ol[role=list]{padding:0;list-style:none}[hidden]{display:none!important}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;letter-spacing:inherit}::selection{background:#d6006f29}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.icon{flex:none}.duo .f{fill:currentColor;fill-opacity:.14}.num{font-variant-numeric:tabular-nums}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;border-radius:var(--r);background:var(--text);color:#fff;padding:10px 16px;font-weight:500;position:absolute;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus-visible{transform:none}.page{isolation:isolate;position:relative}.page:before{content:"";z-index:-1;width:var(--frame-w);border-inline:1px solid var(--frame);pointer-events:none;position:absolute;inset:0 auto 0 50%;translate:-50%}.container{width:var(--frame-w);padding-inline:var(--gutter);margin-inline:auto}.section{border-top:1px solid var(--frame);padding-block:clamp(72px,8.5vw,120px);position:relative}.section:before{content:"";width:calc(var(--frame-w) + 7px);background:linear-gradient(var(--page) 0 0) left 1px top 1px / 5px 5px no-repeat, linear-gradient(var(--page) 0 0) right 1px top 1px / 5px 5px no-repeat, linear-gradient(var(--line-3) 0 0) left top / 7px 7px no-repeat, linear-gradient(var(--line-3) 0 0) right top / 7px 7px no-repeat;pointer-events:none;height:7px;position:absolute;top:-4px;left:50%;translate:-50%}.display,.title{text-wrap:balance;font-weight:500}.display{letter-spacing:-.04em;font-size:clamp(38px,4vw,56px);line-height:1.04}.title{letter-spacing:-.035em;font-size:clamp(32px,3.9vw,48px);line-height:1.06}.it{font-family:var(--serif);letter-spacing:-.012em;font-size:1.1em;font-style:italic;font-weight:400;line-height:.98;display:block}.section-head{text-align:center;flex-direction:column;align-items:center;max-width:760px;margin:0 auto clamp(44px,6vw,72px);display:flex}.lede{max-width:54ch;color:var(--text-2);text-wrap:pretty;margin-top:18px;font-size:clamp(15px,1.25vw,16.5px);line-height:1.65}.section-head .lede{text-wrap:balance}.eyebrow{color:var(--text-3);letter-spacing:0;align-items:center;gap:10px;font-size:13.5px;font-weight:500;display:inline-flex}.eyebrow:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px}.btn{--h:46px;--chip:30px;height:var(--h);border-radius:var(--r);background:var(--panel);color:var(--text);letter-spacing:-.012em;white-space:nowrap;cursor:pointer;user-select:none;transition:background-color .2s var(--ease), box-shadow .2s var(--ease), color .2s var(--ease), transform .2s var(--ease);border:0;justify-content:center;align-items:center;gap:12px;padding:0 18px;font-size:15px;font-weight:500;line-height:1;display:inline-flex;position:relative}.btn:active{transform:translateY(1px)}.btn:has(.btn__chip){padding-right:calc((var(--h) - var(--chip)) / 2)}.btn__chip{width:var(--chip);height:var(--chip);border-radius:var(--r-sm);transition:transform .25s var(--ease);place-items:center;display:grid}.btn:hover .btn__chip .icon{animation:nudge .45s var(--ease)}@keyframes nudge{40%{transform:translate(2px,-2px)}}.btn--accent{background:var(--accent);color:#fff;box-shadow:inset 0 1px #ffffff29,0 1px 2px #96004e3d,0 8px 18px -10px #d6006f99}.btn--accent:hover{background:var(--accent-hover)}.btn--accent .btn__chip{color:var(--accent);background:#fff}.btn--light{box-shadow:0 0 0 1px var(--line-2), var(--shadow-xs)}.btn--light:hover{background:var(--soft-2);box-shadow:0 0 0 1px var(--line-3), var(--shadow-xs)}.btn--light .btn__chip{background:var(--text);color:#fff}.btn--sm{--h:38px;--chip:26px;gap:10px;padding:0 14px;font-size:14px}.link-arrow{color:var(--text);text-decoration:underline;text-decoration-color:var(--line-3);text-underline-offset:4px;transition:color .2s var(--ease), text-decoration-color .2s var(--ease);align-items:center;gap:6px;font-size:14.5px;font-weight:500;display:inline-flex}.link-arrow .icon{color:var(--text-3);transition:transform .25s var(--ease), color .2s var(--ease)}.link-arrow:hover{color:var(--accent);text-decoration-color:currentColor}.link-arrow:hover .icon{color:currentColor;transform:translate(2px,-2px)}.link-arrow--down:hover .icon{transform:translateY(2px)}.link-arrow--page:hover .icon{transform:translate(3px)}.tag{background:var(--soft-2);height:26px;box-shadow:inset 0 0 0 1px var(--line);color:var(--text-2);white-space:nowrap;border-radius:999px;align-items:center;padding:0 10px;font-size:12.5px;font-weight:500;line-height:1;display:inline-flex}.tag--accent{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-line);color:var(--accent-ink)}.art{width:100%;height:auto;color:var(--art-ink);fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;display:block;overflow:visible}.art .p{fill:var(--art-fill)}.art .s{fill:var(--art-shade);stroke:none}.art .ps{fill:var(--art-shade)}.art .mut{stroke-opacity:.42}.art .k{fill:currentColor;stroke:none}.art .a{fill:var(--accent);stroke:none}.art .as{stroke:var(--accent)}.art .thin{stroke-width:1px}.art .bold{stroke-width:2.4px}.art .dash{stroke-dasharray:4 5}.art text{stroke:none;font-family:var(--sans)}@keyframes enter{0%{opacity:0;filter:blur(6px);transform:translateY(14px)}}.enter{animation:enter .9s var(--ease) both;animation-delay:calc(var(--i,0) * 90ms + 60ms)}@keyframes bob{50%{transform:translateY(-5px)}}@keyframes twinkle{50%{opacity:.35;transform:scale(.82)}}.rv-pending{filter:blur(6px);opacity:0!important;transform:translateY(18px)!important}.rv-in{transition:opacity .9s var(--ease), transform .9s var(--ease), filter .9s var(--ease)!important;transition-delay:calc(var(--rv,0) * 80ms)!important}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.logo[data-astro-cid-f7espo7c]{align-items:center;gap:calc(var(--logo) * .34);color:var(--text);display:inline-flex}.logo__mark[data-astro-cid-f7espo7c]{flex:none;display:block}.logo__word[data-astro-cid-f7espo7c]{font-size:calc(var(--logo) * .8);letter-spacing:-.04em;font-weight:650;line-height:1}.footer[data-astro-cid-jo6i4kqk]{color:var(--text-2);padding-block:clamp(48px,6vw,72px) 36px;font-size:14.5px}.footer__top[data-astro-cid-jo6i4kqk]{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.3fr);gap:40px;display:grid}.footer__heading[data-astro-cid-jo6i4kqk]{color:var(--text);font-size:14px;font-weight:600}.footer__col[data-astro-cid-jo6i4kqk] ul[data-astro-cid-jo6i4kqk]{gap:10px;margin-top:14px;display:grid}.footer__col[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{transition:color .2s var(--ease)}.footer__col[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--accent)}.footer__support[data-astro-cid-jo6i4kqk]{border-radius:var(--r-lg);background:var(--panel);box-shadow:var(--shadow-sm);flex-direction:column;align-items:flex-start;gap:12px;padding:20px;display:flex}.footer__support[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{font-size:14px;line-height:1.55}.footer__brand[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px 48px;margin-top:clamp(40px,5vw,56px);padding-top:28px;display:flex}.footer__identity[data-astro-cid-jo6i4kqk]{gap:14px;display:grid}.footer__identity[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{border-radius:var(--r);justify-self:start}.footer__tagline[data-astro-cid-jo6i4kqk]{max-width:38ch}.footer__promise[data-astro-cid-jo6i4kqk]{align-items:center;gap:20px;max-width:440px;font-size:14px;display:flex}.footer__social[data-astro-cid-jo6i4kqk]{gap:8px;display:flex}.footer__social[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{background:var(--panel);width:38px;height:38px;box-shadow:0 0 0 1px var(--line-2);color:var(--text);transition:color .2s var(--ease), box-shadow .2s var(--ease);border-radius:50%;place-items:center;display:grid}.footer__social[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--accent);box-shadow:0 0 0 1px var(--accent-line)}.footer__bottom[data-astro-cid-jo6i4kqk]{color:var(--text-3);flex-wrap:wrap;justify-content:space-between;gap:6px 24px;margin-top:28px;font-size:13px;display:flex}@media (width<=900px){.footer__top[data-astro-cid-jo6i4kqk]{grid-template-columns:repeat(3,minmax(0,1fr))}.footer__support[data-astro-cid-jo6i4kqk]{grid-column:1/-1}}@media (width<=560px){.footer__top[data-astro-cid-jo6i4kqk]{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}.footer__promise[data-astro-cid-jo6i4kqk]{flex-direction:column;align-items:flex-start;gap:14px}}.nav-wrap[data-astro-cid-wpvy4v7s]{z-index:50;height:var(--nav-h);border-bottom:1px solid var(--frame);backdrop-filter:blur(14px)saturate(1.5);background:#f3f3f1d1;position:sticky;top:0}.nav-wrap[data-astro-cid-wpvy4v7s]:after{content:"";width:calc(var(--frame-w) + 7px);background:linear-gradient(var(--page) 0 0) left 1px top 1px / 5px 5px no-repeat, linear-gradient(var(--page) 0 0) right 1px top 1px / 5px 5px no-repeat, linear-gradient(var(--line-3) 0 0) left top / 7px 7px no-repeat, linear-gradient(var(--line-3) 0 0) right top / 7px 7px no-repeat;pointer-events:none;height:7px;position:absolute;bottom:-4px;left:50%;translate:-50%}.nav[data-astro-cid-wpvy4v7s]{align-items:center;gap:16px;height:100%;display:flex}.nav__home[data-astro-cid-wpvy4v7s]{border-radius:var(--r);flex:none;align-items:center;margin-left:-4px;padding:4px;display:flex}.nav__links[data-astro-cid-wpvy4v7s]{align-items:center;gap:4px;margin:0 auto;display:flex}.nav__link[data-astro-cid-wpvy4v7s]{border-radius:var(--r);color:#3a3a3a;height:38px;transition:color .2s var(--ease), background-color .2s var(--ease);align-items:center;padding:0 14px;font-size:15px;font-weight:450;display:inline-flex}.nav__link[data-astro-cid-wpvy4v7s]:hover{color:var(--text);background:#1111110d}.nav__actions[data-astro-cid-wpvy4v7s]{flex:none;align-items:center;gap:8px;display:flex}.nav__github[data-astro-cid-wpvy4v7s]{border-radius:var(--r);color:#3a3a3a;width:38px;height:38px;transition:color .2s var(--ease), background-color .2s var(--ease);place-items:center;display:grid}.nav__github[data-astro-cid-wpvy4v7s]:hover{color:var(--text);background:#1111110d}.nav__toggle[data-astro-cid-wpvy4v7s]{border-radius:var(--r);background:var(--panel);width:40px;height:40px;box-shadow:inset 0 0 0 1px var(--line-2);cursor:pointer;border:0;place-items:center;padding:0;display:none}.nav__burger[data-astro-cid-wpvy4v7s]{gap:5px;width:16px;display:grid}.nav__burger[data-astro-cid-wpvy4v7s] i[data-astro-cid-wpvy4v7s]{background:var(--text);height:1.6px;transition:transform .3s var(--ease);border-radius:2px;display:block}.nav__toggle[data-astro-cid-wpvy4v7s][aria-expanded=true] .nav__burger[data-astro-cid-wpvy4v7s] i[data-astro-cid-wpvy4v7s]:first-child{transform:translateY(3.3px)rotate(45deg)}.nav__toggle[data-astro-cid-wpvy4v7s][aria-expanded=true] .nav__burger[data-astro-cid-wpvy4v7s] i[data-astro-cid-wpvy4v7s]:last-child{transform:translateY(-3.3px)rotate(-45deg)}.nav__menu[data-astro-cid-wpvy4v7s]{width:calc(var(--frame-w) - 2 * var(--gutter) + 16px);border-radius:var(--r-lg);background:var(--panel);box-shadow:var(--shadow-md);padding:8px;position:absolute;top:calc(100% + 8px);left:50%;translate:-50%}.nav__menu-link[data-astro-cid-wpvy4v7s]{border-radius:var(--r);justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:0 12px;font-size:16px;font-weight:500;display:flex}.nav__menu-link[data-astro-cid-wpvy4v7s]:hover{background:var(--soft-2)}.nav__menu-link[data-astro-cid-wpvy4v7s]>.icon{color:var(--text-3)}.nav__menu-label[data-astro-cid-wpvy4v7s]{align-items:center;gap:10px;display:inline-flex}.nav__menu[data-astro-cid-wpvy4v7s] li[data-astro-cid-wpvy4v7s]+li[data-astro-cid-wpvy4v7s]{border-top:1px solid var(--line)}@media (width<=900px){.nav__links[data-astro-cid-wpvy4v7s],.nav__github[data-astro-cid-wpvy4v7s]{display:none}.nav__actions[data-astro-cid-wpvy4v7s]{margin-left:auto}.nav__toggle[data-astro-cid-wpvy4v7s]{display:grid}}@media (width>=901px){.nav__menu[data-astro-cid-wpvy4v7s]{display:none}}
