@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-ext-wght-normal.DjL33-gN.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-wght-normal.BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-vietnamese-wght-normal.6IgcOCM7.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-ext-wght-normal.DC-KSUi6.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-normal.BgDaEnEv.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}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-ext-wght-normal.X_5orZeX.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-wght-normal.DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-symbols2-wght-normal.CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-vietnamese-wght-normal.DadHysG0.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-ext-wght-normal.Bwz-egvJ.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-wght-normal.XN7g48iV.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{color-scheme:light;--navy:#17274d;--blue:#284282;--blue-sky:#5378d2;--blue-haze:#7491d9;--turq:#3bffdd;--turq-200:#9dfbeb;--teal:#288082;--near-black:#0e0f13;--off-white:#f5f5f7;--white:#fff;--amber:#f0ad4e;--red:#ff5650;--tint-carolina:#e5edff;--grad-direct:linear-gradient(135deg, #5378d2, #7491d9);--grad-direct-dark:linear-gradient(135deg, #5378d261, #0e0f1300 62%);--bg:var(--white);--bg-2:var(--off-white);--bg-3:#ecedf1;--tint:var(--tint-carolina);--ink:var(--navy);--text:var(--navy);--text-2:#17274dc2;--muted:#17274da8;--line:#e1e3e8;--line-strong:#c8ccd5;--primary:var(--blue);--accent:var(--blue-sky);--accent-soft:#5378d21f;--turq-soft:#3bffdd2e;--success:var(--teal);--success-soft:#2880821f;--warn:#9a6418;--warn-soft:#f0ad4e33;--danger:#d93a35;--btn-bg:var(--navy);--btn-fg:var(--white);--btn-hover:var(--blue);--header-glass:#ffffffeb;--on-dark:var(--off-white);--on-dark-2:#f5f5f7b8;--on-dark-3:#f5f5f799;--on-dark-line:#f5f5f724;--on-dark-fill:#f5f5f714;--font:"Geist Variable", "Geist", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"Geist Mono Variable", "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--wave:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -4 300 32' preserveAspectRatio='none'%3E%3Cpath d='M3 14 C 28 4, 48 4, 72 13 S 120 22, 146 12 S 196 3, 222 12 S 272 21, 297 10' fill='none' stroke='%233BFFDD' stroke-width='10' stroke-linecap='round'/%3E%3C/svg%3E");--select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2317274D' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--max:1280px;--gutter:clamp(16px, 4vw, 40px);--radius-xs:6px;--radius-sm:8px;--radius:12px;--radius-lg:24px;--shadow:0 1px 2px #0e0f130a, 0 8px 24px #0e0f130f;--shadow-lg:0 1px 2px #0e0f130f, 0 24px 48px #0e0f131f;--ease:cubic-bezier(.2, .7, .2, 1);--header-h:72px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}html,body{overflow-x:clip}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.5}img,svg,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4,p,ul,ol,figure,dl,dd{margin:0}ul,ol{padding:0;list-style:none}[hidden]{display:none!important}::selection{background:var(--turq);color:var(--near-black)}:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:2px}h1,h2,h3,.h4{letter-spacing:-.025em;text-wrap:balance;color:var(--ink);font-weight:500;line-height:1.05}h1{letter-spacing:-.04em;font-size:clamp(2.6rem,6.6vw,4.5rem);line-height:1}h2{font-size:clamp(2rem,4vw,2.75rem)}h3{letter-spacing:-.02em;font-size:clamp(1.25rem,2vw,1.5rem);line-height:1.2}.h4{letter-spacing:-.015em;font-size:1.125rem;line-height:1.3}.lead{letter-spacing:-.01em;color:var(--text-2);text-wrap:pretty;font-size:clamp(1.1rem,1.5vw,1.25rem);line-height:1.45}.muted{color:var(--muted)}.small{font-size:.875rem}.mono{font-family:var(--mono);letter-spacing:0}.eyebrow{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;font-size:.75rem;font-weight:500;display:inline-flex}.eyebrow:before{content:"";background:var(--turq);width:8px;height:8px;box-shadow:0 0 0 1px var(--line);border-radius:50%}.hl{background-image:var(--wave);-webkit-box-decoration-break:clone;box-decoration-break:clone;background-position:0 100%;background-repeat:no-repeat;background-size:100% .28em;padding-bottom:.06em}.js .hl.draw{transition:background-position 1s var(--ease) .2s;background-position:-24em 100%}.js .hl.draw.in{background-position:0 100%}.container{width:min(var(--max), 100% - 2 * var(--gutter));margin-inline:auto}.narrow{width:min(820px, 100% - 2 * var(--gutter));margin-inline:auto}.section{padding-block:clamp(4rem,8vw,7.5rem)}.section--tight{padding-block:clamp(2.5rem,5vw,4rem)}.section--tint{background:var(--bg-2)}.section-head{max-width:720px;margin-bottom:clamp(2rem,4vw,3rem)}.section-head.center{text-align:center;margin-inline:auto}.section-head.center .eyebrow{justify-content:center}.section-head h2{margin-top:1rem}.section-head .lead{margin-top:1.25rem}.section-head.row{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1.5rem;max-width:none;display:flex}.section-head.row>div{max-width:720px}.grid{gap:1.25rem;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}.grid-3{grid-template-columns:repeat(auto-fill,minmax(min(100%,max(280px,33.3333% - .833333rem)),1fr))}.grid-4{grid-template-columns:repeat(auto-fill,minmax(min(100%,max(240px,25% - .9375rem)),1fr))}.btn{border-radius:var(--radius-sm);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;min-height:44px;padding:0 1.25rem;font-size:.95rem;font-weight:500;line-height:1;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.btn-primary,.btn-navy{background:var(--btn-bg);color:var(--btn-fg)}.btn-primary:hover,.btn-navy:hover{background:var(--btn-hover)}.btn-outline{border-color:var(--line-strong);color:var(--ink);background:var(--bg)}.btn-outline:hover{border-color:var(--ink)}.btn-ghost{color:var(--text-2)}.btn-ghost:hover{color:var(--ink)}.btn-white{background:var(--off-white);color:var(--near-black)}.btn-white:hover{background:var(--white)}.btn-lg{min-height:52px;padding:0 1.6rem;font-size:1rem}.btn-block{width:100%}.link{color:var(--primary);align-items:center;gap:.35rem;font-weight:500;display:inline-flex}.link:hover{color:var(--ink)}.link :is(svg){transition:transform .2s var(--ease)}.link:hover :is(svg){transform:translate(2px)}.chip{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);min-height:36px;color:var(--text-2);white-space:nowrap;align-items:center;gap:.4rem;padding:0 .85rem;font-size:.875rem;font-weight:500;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.chip:hover{color:var(--ink);border-color:var(--line-strong)}.chip.is-active,.chip[aria-pressed=true]{background:var(--bg-3);border-color:var(--bg-3);color:var(--ink)}.badge{border-radius:var(--radius-xs);letter-spacing:.02em;background:var(--accent-soft);color:var(--primary);align-items:center;gap:.3rem;padding:.2rem .55rem;font-size:.72rem;font-weight:500;display:inline-flex}.badge--turq{background:var(--turq-soft);color:var(--ink)}.badge--navy{background:var(--near-black);color:var(--turq)}.card{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.25rem,2.5vw,1.75rem)}.card--hover{transition:box-shadow .2s var(--ease), border-color .2s}.card--hover:hover{box-shadow:var(--shadow);border-color:var(--line-strong)}.icon-tile{border-radius:var(--radius);background:var(--bg-2);width:48px;height:48px;color:var(--accent);flex:none;place-items:center;display:grid}.icon-tile--grad{background:var(--grad-direct);color:var(--white)}.checks{gap:.55rem;display:grid}.checks li{align-items:flex-start;gap:.6rem;display:flex}.checks li svg{color:var(--success);flex:none;margin-top:.2em}.checks li.off{color:var(--muted)}.checks li.off svg{color:var(--line-strong)}.aurora,.aurora--navy{isolation:isolate;background:var(--grad-direct-dark), var(--near-black);color:var(--on-dark);position:relative;overflow:hidden}.aurora :is(h1,h2,h3),.aurora--navy :is(h1,h2,h3){color:var(--on-dark)}.aurora .lead,.aurora--navy .lead{color:var(--on-dark-2)}.aurora .eyebrow,.aurora--navy .eyebrow{color:var(--on-dark-3)}.aurora .eyebrow:before,.aurora--navy .eyebrow:before{box-shadow:none}.aurora--soft{background:var(--tint);color:var(--ink)}.panel{border-radius:var(--radius-lg)}.js .reveal{opacity:0;transition:opacity .6s var(--ease), transform .6s var(--ease);transform:translateY(14px)}.js .reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transition:none;transform:none}.js .hl.draw{background-position:0 100%;transition:none}}.table-wrap,.pkg{position:relative}.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}.logo[data-astro-cid-f7espo7c]{max-width:100%;height:auto;display:block}.site-header[data-astro-cid-nen7h5rs]{z-index:50;background:var(--header-glass);backdrop-filter:saturate(180%)blur(12px);border-top:4px solid var(--turq);border-bottom:1px solid var(--line);position:sticky;top:0}.bar[data-astro-cid-nen7h5rs]{height:var(--header-h);align-items:center;gap:1.75rem;display:flex}.brand[data-astro-cid-nen7h5rs]{flex:none;align-items:center;display:flex}.primary[data-astro-cid-nen7h5rs]{align-items:center;gap:clamp(14px,1.8vw,26px);display:flex}.nav-link[data-astro-cid-nen7h5rs]{color:var(--text-2);align-items:center;gap:.2rem;padding:.5rem 0;font-size:.9rem;font-weight:500;transition:color .2s;display:inline-flex;position:relative}.nav-link[data-astro-cid-nen7h5rs]:after{content:"";background:var(--wave) center / 100% 100% no-repeat;clip-path:inset(0 100% 0 0);height:8px;transition:clip-path .5s var(--ease);position:absolute;bottom:-2px;left:-3%;right:-3%}.nav-link[data-astro-cid-nen7h5rs]:hover,.nav-link[data-astro-cid-nen7h5rs].active{color:var(--ink)}.nav-link[data-astro-cid-nen7h5rs]:hover:after,.nav-link[data-astro-cid-nen7h5rs].active:after{clip-path:inset(0)}.has-menu[data-astro-cid-nen7h5rs]{position:relative}.mega[data-astro-cid-nen7h5rs]{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);width:min(760px,90vw);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;margin-top:.6rem;padding:1rem;transition:opacity .15s,transform .15s,visibility .15s;position:absolute;top:100%;left:-1.25rem;transform:translateY(6px)}.has-menu[data-astro-cid-nen7h5rs]:hover .mega[data-astro-cid-nen7h5rs],.has-menu[data-astro-cid-nen7h5rs]:focus-within .mega[data-astro-cid-nen7h5rs]{opacity:1;visibility:visible;transform:none}.has-menu[data-astro-cid-nen7h5rs]:before{content:"";height:.8rem;position:absolute;top:100%;left:0;right:0}.mega-grid[data-astro-cid-nen7h5rs]{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.25rem;display:grid}.mega-item[data-astro-cid-nen7h5rs]{border-radius:var(--radius-sm);gap:.8rem;padding:.7rem;line-height:1.35;display:flex}.mega-item[data-astro-cid-nen7h5rs]:hover{background:var(--bg-2)}.mega-item[data-astro-cid-nen7h5rs] strong[data-astro-cid-nen7h5rs]{font-size:.92rem;font-weight:500;display:block}.mega-item[data-astro-cid-nen7h5rs] .icon-tile[data-astro-cid-nen7h5rs]{border-radius:var(--radius-sm);width:40px;height:40px}.mega-all[data-astro-cid-nen7h5rs]{margin:.75rem .7rem .25rem;font-size:.9rem}.search[data-astro-cid-nen7h5rs]{border:1px solid var(--line-strong);border-radius:var(--radius-sm);max-width:320px;height:40px;color:var(--muted);flex:1;align-items:center;gap:.5rem;margin-left:auto;padding:0 .85rem;transition:border-color .15s,box-shadow .15s;display:flex}.search[data-astro-cid-nen7h5rs]:focus-within{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal)}.search[data-astro-cid-nen7h5rs] input[data-astro-cid-nen7h5rs]{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:.9rem}.actions[data-astro-cid-nen7h5rs]{flex:none;align-items:center;gap:.35rem;display:flex}.actions[data-astro-cid-nen7h5rs] .btn[data-astro-cid-nen7h5rs]{min-height:40px;padding:0 1rem;font-size:.9rem}.mobile[data-astro-cid-nen7h5rs]{margin-left:auto;display:none}.mobile[data-astro-cid-nen7h5rs] summary[data-astro-cid-nen7h5rs]{cursor:pointer;border-radius:var(--radius-sm);padding:.5rem;list-style:none}.mobile[data-astro-cid-nen7h5rs] summary[data-astro-cid-nen7h5rs]::-webkit-details-marker{display:none}.mobile[data-astro-cid-nen7h5rs]:not([open]) .sheet[data-astro-cid-nen7h5rs]{display:none}.sheet[data-astro-cid-nen7h5rs]{left:0;right:0;top:var(--header-h);max-height:calc(100dvh - var(--header-h));background:var(--bg);border-bottom:1px solid var(--line);padding:1rem var(--gutter) 1.5rem;box-shadow:var(--shadow-lg);gap:.15rem;display:grid;position:absolute;overflow:auto}.search--full[data-astro-cid-nen7h5rs]{max-width:none;margin:0 0 .75rem}.sheet-link[data-astro-cid-nen7h5rs]{letter-spacing:-.01em;border-bottom:1px solid var(--line);padding:.75rem 0;font-size:1.15rem;font-weight:500}.sheet-link[data-astro-cid-nen7h5rs].sub{color:var(--text-2);padding-left:.75rem;font-size:1rem}.sheet-label[data-astro-cid-nen7h5rs]{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-top:1rem;font-size:.75rem;font-weight:500}.sheet-actions[data-astro-cid-nen7h5rs]{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.6rem;margin-top:1.25rem;display:grid}@media (width<=1180px){.bar[data-astro-cid-nen7h5rs]>.search[data-astro-cid-nen7h5rs]{display:none}.actions[data-astro-cid-nen7h5rs]{margin-left:auto}}@media (width<=920px){.primary[data-astro-cid-nen7h5rs],.actions[data-astro-cid-nen7h5rs]{display:none}.mobile[data-astro-cid-nen7h5rs]{display:block}.brand[data-astro-cid-nen7h5rs] .logo{width:auto;height:28px}}@media (prefers-reduced-motion:reduce){.nav-link[data-astro-cid-nen7h5rs]:after{transition:none}}.site-footer[data-astro-cid-jo6i4kqk]{padding:0 0 var(--gutter)}.inner[data-astro-cid-jo6i4kqk]{border-top:4px solid var(--turq);padding:clamp(2rem,5vw,4rem)}.top[data-astro-cid-jo6i4kqk]{grid-template-columns:minmax(0,1fr) minmax(0,2.2fr);gap:3rem;display:grid}.about[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{color:var(--on-dark-2);max-width:34ch;margin-top:1.25rem}.about[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--turq)}.cols[data-astro-cid-jo6i4kqk]{grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem;display:grid}h2[data-astro-cid-jo6i4kqk]{letter-spacing:.04em;text-transform:uppercase;color:var(--on-dark-3);margin-bottom:1rem;font-size:.75rem;font-weight:500}ul[data-astro-cid-jo6i4kqk]{gap:.6rem;display:grid}.cols[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--on-dark);font-size:.92rem}.cols[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover,.bottom[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--turq)}.bottom[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--on-dark-line);color:var(--on-dark-3);flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.5rem;font-size:.875rem;display:flex}.bottom[data-astro-cid-jo6i4kqk] ul[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;gap:1.25rem;display:flex}@media (width<=960px){.top[data-astro-cid-jo6i4kqk]{grid-template-columns:minmax(0,1fr)}.cols[data-astro-cid-jo6i4kqk]{grid-template-columns:repeat(2,minmax(0,1fr))}}.skip[data-astro-cid-hkbrpulz]{z-index:100;background:var(--btn-bg);color:var(--btn-fg);border-radius:var(--radius-sm);padding:10px 16px;font-weight:500;position:absolute;top:-60px;left:16px}.skip[data-astro-cid-hkbrpulz]:focus{top:12px}
