@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Inter Variable", "Inter", system-ui, sans-serif;--mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--ink:#1d1d1f;--ink-2:#424245;--muted:#6e6e73;--faint:#86868b;--line:#00000014;--bg:#fff;--bg-alt:#f5f5f7;--card:#fff;--dark:#000;--dark-2:#111113;--dark-card:#1c1c1e;--link:#06c;--blue:#0071e3;--violet:#7c5cff;--indigo:#4d45f2;--purple:#9445f2;--pink:#f2549e;--brand:linear-gradient(120deg, #4d45f2 0%, #9445f2 45%, #f2549e 100%);--brand-soft:linear-gradient(120deg, #4d45f21f, #f2549e1f);--radius:22px;--radius-lg:30px;--shadow:0 1px 2px #0000000a, 0 8px 30px #0000000f;--shadow-lg:0 30px 80px #0000002e;--ease:cubic-bezier(.22, 1, .36, 1);--spring:cubic-bezier(.34, 1.56, .64, 1);--max:1080px;--gutter:clamp(20px, 5vw, 48px);--nav-h:52px}*,: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)}body{font-family:var(--font);letter-spacing:-.022em;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:17px;line-height:1.47;overflow-x:hidden}img,svg,video{max-width:100%;display:block}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;color:inherit}::selection{background:#7c5cff40}:focus-visible{outline-offset:3px;border-radius:8px;outline:3px solid #0071e399}h1,h2,h3,h4{letter-spacing:-.035em;text-wrap:balance;margin:0;font-weight:700;line-height:1.06}.lead{text-wrap:pretty}p{margin:0}.container{width:min(var(--max), 100% - 2 * var(--gutter));margin-inline:auto}.container-wide{width:min(1280px, 100% - 2 * var(--gutter));margin-inline:auto}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.eyebrow{letter-spacing:-.01em;color:var(--purple);align-items:center;gap:8px;font-size:15px;font-weight:600;display:inline-flex}.display{letter-spacing:-.045em;font-size:clamp(44px,8.2vw,96px);font-weight:700;line-height:1.02}.headline{letter-spacing:-.04em;font-size:clamp(34px,5.6vw,64px)}.title{letter-spacing:-.03em;font-size:clamp(26px,3.4vw,40px)}.lead{letter-spacing:-.02em;color:var(--muted);font-size:clamp(19px,2.2vw,24px);font-weight:500;line-height:1.38}.lead strong{color:var(--ink);font-weight:600}.gradient-text{background:var(--brand);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text}.muted{color:var(--muted)}.center{text-align:center}.section{padding-block:clamp(80px,12vw,150px);position:relative}.section-alt{background:var(--bg-alt)}.section-dark{background:var(--dark);color:#f5f5f7}.section-dark .lead{color:#a1a1a6}.section-dark .lead strong{color:#f5f5f7}.section-head{text-align:center;max-width:820px;margin:0 auto clamp(48px,7vw,80px)}.section-head .lead{margin-top:18px}.section-head .eyebrow{margin-bottom:14px}.btn{--bg-btn:var(--blue);letter-spacing:-.01em;color:#fff;background:var(--bg-btn);cursor:pointer;min-height:48px;transition:transform .35s var(--spring), box-shadow .35s var(--ease), background .2s;-webkit-tap-highlight-color:transparent;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:17px;font-weight:600;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 6px 20px #0071e347;text-decoration:none!important}.btn:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 12px 34px #0071e35c}.btn:active{transition-duration:.1s;transform:scale(.97)}.btn:after{content:"";transition:transform .8s var(--ease);background:linear-gradient(105deg,#0000 35%,#ffffff59 50%,#0000 65%);position:absolute;inset:0;transform:translate(-120%)}.btn:hover:after{transform:translate(120%)}.btn-brand{background:var(--brand);box-shadow:0 8px 28px #9445f259}.btn-brand:hover{box-shadow:0 14px 40px #9445f273}.btn-ghost{color:var(--link);box-shadow:none;background:0 0;padding-inline:12px}.btn-ghost:hover{box-shadow:none;transform:none;text-decoration:underline!important}.btn-ghost:after{display:none}.btn-dark{color:#1d1d1f;box-shadow:none;background:#f5f5f7}.btn-small{min-height:34px;padding:6px 16px;font-size:14px}.btn svg{flex:none;width:18px;height:18px}.arrow-link{align-items:center;gap:4px;font-weight:500;display:inline-flex}.arrow-link:after{content:"›";transition:transform .3s var(--spring);font-size:1.3em;line-height:1}.arrow-link:hover:after{transform:translate(4px)}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);transition:transform .5s var(--ease), box-shadow .5s var(--ease);isolation:isolate;padding:clamp(24px,3vw,36px);position:relative;overflow:hidden}.card:hover{transform:translateY(-4px);box-shadow:0 2px 4px #0000000a,0 22px 50px #0000001a}.card.glow:before{content:"";z-index:-1;opacity:0;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%), #7c5cff1f, transparent 60%);transition:opacity .4s;position:absolute;inset:0}.card.glow:hover:before{opacity:1}.section-dark .card{background:var(--dark-card);box-shadow:none;color:#f5f5f7}.section-dark .card .muted{color:#a1a1a6}.section-dark .card.glow:before{background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%), #9445f240, transparent 60%)}.bento{grid-template-columns:repeat(6,1fr);gap:20px;display:grid}.bento>*{grid-column:span 2}.bento .span-3{grid-column:span 3}.bento .span-4{grid-column:span 4}.bento .span-6{grid-column:span 6}@media (width<=900px){.bento{grid-template-columns:repeat(2,1fr)}.bento>*,.bento .span-3,.bento .span-4{grid-column:span 1}.bento .span-6,.bento .span-4{grid-column:span 2}}@media (width<=600px){.bento{grid-template-columns:1fr}.bento>*,.bento .span-3,.bento .span-4,.bento .span-6{grid-column:span 1}}.icon-tile{color:#fff;border-radius:12px;flex:none;place-items:center;width:44px;height:44px;margin-bottom:18px;display:grid;box-shadow:inset 0 1px #ffffff40}.icon-tile svg{width:24px;height:24px}.card h3{letter-spacing:-.025em;margin-bottom:8px;font-size:22px;line-height:1.15}.card p{color:var(--muted);font-size:16px;line-height:1.5}.kbd{min-width:1.9em;height:1.9em;font:600 .8em/1 var(--font);color:var(--ink-2);vertical-align:.1em;background:linear-gradient(#fff,#f2f2f4);border-radius:.45em;justify-content:center;align-items:center;padding:0 .5em;transition:transform .12s,box-shadow .12s;display:inline-flex;box-shadow:0 1px #00000014,0 2px #d6d6da,inset 0 -1px #0000000a}.kbd.pressed,.kbd:active{transform:translateY(2px);box-shadow:0 0 #d6d6da,inset 0 1px 2px #0000001a}.section-dark .kbd{color:#f5f5f7;background:linear-gradient(#3a3a3c,#2c2c2e);box-shadow:0 2px #111,inset 0 1px #ffffff14}.pill{background:var(--brand-soft);color:var(--purple);border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:14px;font-weight:600;display:inline-flex}.js [data-reveal]{opacity:0;transition:opacity 1s var(--ease), transform 1.1s var(--ease);transition-delay:var(--d,0s);transform:translateY(28px)scale(.985)}.js [data-reveal=left]{transform:translate(-36px)}.js [data-reveal=right]{transform:translate(36px)}.js [data-reveal=zoom]{transform:scale(.92)}.js [data-reveal].in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.js [data-reveal]{opacity:1;transform:none}}.table-wrap{border-radius:var(--radius);box-shadow:var(--shadow);background:var(--card);-webkit-overflow-scrolling:touch;overflow-x:auto}table.compare{border-collapse:collapse;width:100%;min-width:560px;font-size:15px}table.compare th,table.compare td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:14px 18px}table.compare thead th{color:var(--muted);text-transform:none;background:var(--card);font-size:13px;font-weight:600;position:sticky;top:0}table.compare thead th.us{color:var(--purple)}table.compare tbody th{color:var(--ink);width:34%;font-weight:500}table.compare td.us{background:#7c5cff0d;font-weight:500}table.compare tr:last-child th,table.compare tr:last-child td{border-bottom:0}.yes,.no,.part{align-items:center;gap:6px;display:inline-flex}.yes:before,.no:before,.part:before{content:"";background-position:50%;background-repeat:no-repeat;background-size:12px;border-radius:50%;flex:none;width:18px;height:18px}.yes:before{background-color:#30d158;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.3 2.3 4.7-5' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.no:before{background-color:#d1d1d6;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3.5 3.5l5 5m0-5l-5 5' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E")}.part:before{background-color:#ff9f0a;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 6h6' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E")}.note{color:var(--faint);margin-top:2px;font-size:13px;font-weight:400;display:block}.faq{max-width:820px;margin-inline:auto}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;letter-spacing:-.02em;padding:24px 40px 24px 0;font-size:clamp(18px,2vw,22px);font-weight:600;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--muted);transition:rotate .4s var(--spring);font-size:28px;font-weight:300;position:absolute;top:50%;right:4px;translate:0 -50%}.faq details[open] summary:after{rotate:45deg}.faq .answer{color:var(--muted);max-width:700px;padding:0 0 26px;font-size:17px}.faq details[open] .answer{animation:fade-down .5s var(--ease)}@keyframes fade-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.prose{max-width:720px;margin-inline:auto}.prose h2{margin:48px 0 14px;font-size:28px}.prose h3{letter-spacing:-.02em;margin:30px 0 10px;font-size:20px}.prose p,.prose li{color:var(--ink-2);font-size:17px;line-height:1.6}.prose p+p{margin-top:14px}.prose ul{padding-left:1.2em}.prose li+li{margin-top:6px}.prose code{font-family:var(--mono);background:var(--bg-alt);border-radius:6px;padding:2px 6px;font-size:.88em}table.compare tbody th,table.compare thead th:first-child{z-index:1;background:var(--card);position:sticky;left:0}table.compare thead th:first-child{z-index:2}@media (width<=700px){table.compare{font-size:14px}table.compare th,table.compare td{min-width:120px;padding:12px}table.compare tbody th{min-width:130px;box-shadow:1px 0 0 var(--line)}}.nav[data-astro-cid-nen7h5rs]{z-index:50;height:var(--nav-h);-webkit-backdrop-filter:saturate(180%)blur(20px);background:#ffffffb8;border-bottom:1px solid #0000;transition:border-color .3s,background .3s;position:sticky;top:0}.nav.scrolled{border-bottom-color:var(--line)}.nav-inner[data-astro-cid-nen7h5rs]{justify-content:space-between;align-items:center;gap:20px;height:100%;display:flex}.brand[data-astro-cid-nen7h5rs]{color:var(--ink);letter-spacing:-.02em;align-items:center;gap:9px;font-size:19px;font-weight:700;text-decoration:none;display:flex}.brand[data-astro-cid-nen7h5rs] img[data-astro-cid-nen7h5rs]{transition:transform .6s var(--spring)}.brand[data-astro-cid-nen7h5rs]:hover img[data-astro-cid-nen7h5rs]{transform:rotate(-10deg)scale(1.08)}.links[data-astro-cid-nen7h5rs]{gap:28px;display:flex}.links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--ink-2);font-size:14px;text-decoration:none;transition:color .2s}.links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{color:var(--ink)}.actions[data-astro-cid-nen7h5rs]{align-items:center;gap:14px;display:flex}.lang[data-astro-cid-nen7h5rs]{color:var(--muted);border-radius:8px;padding:4px 8px;font-size:13px;font-weight:600;text-decoration:none;transition:background .2s,color .2s}.lang[data-astro-cid-nen7h5rs]:hover{background:var(--bg-alt);color:var(--ink)}.burger[data-astro-cid-nen7h5rs]{cursor:pointer;background:0 0;border:0;width:36px;height:36px;display:none;position:relative}.burger[data-astro-cid-nen7h5rs] span[data-astro-cid-nen7h5rs]{background:var(--ink);height:1.5px;transition:transform .35s var(--ease);position:absolute;left:9px;right:9px}.burger[data-astro-cid-nen7h5rs] span[data-astro-cid-nen7h5rs]:first-child{top:14px}.burger[data-astro-cid-nen7h5rs] span[data-astro-cid-nen7h5rs]:last-child{top:21px}.nav.open .burger[data-astro-cid-nen7h5rs] span[data-astro-cid-nen7h5rs]:first-child{transform:translateY(3.5px)rotate(45deg)}.nav.open .burger[data-astro-cid-nen7h5rs] span[data-astro-cid-nen7h5rs]:last-child{transform:translateY(-3.5px)rotate(-45deg)}.sheet[data-astro-cid-nen7h5rs]{padding:8px var(--gutter) 24px;backdrop-filter:blur(20px);background:#fffffff5;flex-direction:column;display:none}.sheet[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--ink);border-bottom:1px solid var(--line);padding:14px 0;font-size:22px;font-weight:600;text-decoration:none}@media (width<=760px){.links[data-astro-cid-nen7h5rs],.lang[data-astro-cid-nen7h5rs]{display:none}.burger[data-astro-cid-nen7h5rs]{display:block}.nav.open .sheet[data-astro-cid-nen7h5rs]{animation:sheet-in .4s var(--ease);display:flex}}@keyframes sheet-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}.footer[data-astro-cid-jo6i4kqk]{background:var(--bg-alt);color:var(--muted);padding:56px 0 32px;font-size:13px}.top[data-astro-cid-jo6i4kqk]{border-bottom:1px solid var(--line);grid-template-columns:1.1fr 2fr;gap:48px;padding-bottom:32px;display:grid}.brand[data-astro-cid-jo6i4kqk]{color:var(--ink);align-items:center;gap:9px;margin-bottom:12px;font-size:18px;font-weight:700;text-decoration:none;display:inline-flex}.about[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{max-width:300px;line-height:1.55}.cols[data-astro-cid-jo6i4kqk]{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.cols[data-astro-cid-jo6i4kqk] h2[data-astro-cid-jo6i4kqk]{color:var(--ink);letter-spacing:-.01em;margin-bottom:10px;font-size:13px;font-weight:600}.cols[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--muted);padding:4px 0;text-decoration:none;transition:color .2s;display:block}.cols[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--ink)}.bottom[data-astro-cid-jo6i4kqk]{padding-top:20px}@media (width<=760px){.top[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr}.cols[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr 1fr}}.skip{z-index:100;background:#fff;border-radius:10px;padding:8px 14px;position:absolute;top:8px;left:-9999px}.skip:focus{left:12px}
