:root{--space-1:2px;--space-2:4px;--space-3:6px;--space-4:8px;--space-5:10px;--space-6:12px;--space-7:14px;--space-8:16px;--space-9:18px;--space-10:20px;--space-12:24px;--space-14:28px;--space-16:32px;--space-18:36px;--space-20:40px;--space-24:48px;--space-28:56px;--space-32:64px;--space-36:72px;--space-40:80px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--radius-xl:12px;--radius-2xl:18px;--radius-3xl:20px;--radius-full:999px;--radius-round:50%;--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, monospace;--text-2xs:10px;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-md:14px;--text-lg:15px;--text-xl:17px;--text-2xl:20px;--text-3xl:24px;--text-4xl:30px;--text-callout:16px;--text-welcome:54px;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--leading-tight:1.05;--leading-snug:1.35;--leading-normal:1.47;--duration-fast:.12s;--duration-base:.18s;--duration-slow:.26s;--duration-theme:.42s;--duration-settle:.7s;--duration-spin:.7s;--duration-loop:1.2s;--ease-standard:ease;--ease-in-out:ease-in-out;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.2, .8, .25, 1.1);--icon-size-lg:18px;--icon-size:16px;--icon-size-sm:14px;--icon-size-xs:12px;--control-height:30px;--row-height:34px;--z-below:-1;--z-raised:1;--z-sticky:5;--z-overlay:10;--z-popover:100;--dawn-charcoal:#1d1d1f;--dawn-paper:#fdfcfa;--dawn-red:#ef4444;--grain-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--grain-size:220px}:root,.surface-web{color-scheme:light;--charcoal:var(--dawn-charcoal);--link:var(--charcoal);--light-gray:#f5f5f7;--hairline:#e5e5ea;--gray-text:#707075;--muted-on-dark:#86868b;--reading-text:#3a3a3c;--check-green:#1d7a55;--night:#000;--night-panel:#141416;--night-hairline:#ffffff1a;--night-control:#ffffff24;--code-accent:#30d158;--code-accent-2:#64d2ff;--code-glow:#30d1588c;--code-pink:#ff7ab2;--code-coral:#ff8170;--code-yellow:#d9c97c;--code-teal:#67b7a4;--code-purple:#b281eb;--notice-paper:#fdf3e2;--notice-text:#5f4b2a;--grain:.4;--text:var(--charcoal);--text-dim:var(--gray-text);--text-faint:var(--gray-text);--accent:var(--charcoal);--accent-mark:var(--accent);--accent-press:color-mix(in oklab, var(--accent) 86%, #000);--danger-mark:color-mix(in oklab, var(--dawn-red) 45%, var(--charcoal));--on-accent:#fff;--line:var(--hairline);--panel:var(--light-gray);--panel-raised:#fff;--panel-border:#0000001a;--hover:#0000000d;--press:#00000014;--field:#0000000d;--field-hover:#00000014;--field-press:#0000001f;--wrap:1080px;--gutter:22px;--narrow:calc(880px + var(--gutter) * 2);--space-section:120px;--space-intro:var(--space-40);--text-hero:clamp(52px, 8.5vw, 88px);--text-display:clamp(44px, 7vw, 72px);--text-h2-lg:clamp(44px, 6vw, 64px);--text-h2:clamp(34px, 5vw, 48px);--text-h3:clamp(28px, 3.3vw, 34px);--text-lede:clamp(19px, 2.4vw, 22px);--text-wordmark:25px;--leading-heading:1.15;--radius-panel:28px;--radius-card:22px}@media (width<=760px){:root{--space-section:80px;--space-intro:var(--space-28)}}*,:before,:after{box-sizing:border-box}html{scroll-padding-top:64px}body{min-height:100dvh;color:var(--charcoal);font-family:var(--font-sans);font-size:var(--text-xl);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:#fff;flex-direction:column;margin:0;display:flex}main{flex:1;overflow-x:clip}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}:focus-visible{outline:2px solid var(--accent-mark);outline-offset:2px}h1,h2,h3{font-weight:var(--weight-bold);font-optical-sizing:auto;letter-spacing:-.02em;text-wrap:balance}p{text-wrap:pretty}.wrap{max-width:calc(var(--wrap) + var(--gutter) * 2);padding:0 var(--gutter);margin:0 auto}.wordmark{white-space:nowrap;align-items:baseline;gap:.3em;display:inline-flex}.wordmark img{width:auto;height:1cap}.link,.text-links a:not(.button){color:var(--link)}.text-links a:not(.button){font-weight:var(--weight-medium)}.link:hover,.text-links a:not(.button):hover,a:hover .link{text-decoration:underline}.page-title{margin:0 0 var(--space-8);font-size:var(--text-display);line-height:var(--leading-tight)}.section-title{margin:0 0 var(--space-8);font-size:var(--text-h2);line-height:var(--leading-tight);text-align:center}.section-title.lg{font-size:var(--text-h2-lg)}.page-lede,.section-lede{margin:0 auto var(--space-20);font-size:var(--text-lede);line-height:var(--leading-normal);color:var(--gray-text)}.section-lede{text-align:center}.page-lede:last-child,.section-lede:last-child{margin-bottom:0}.card{border-radius:var(--radius-card);background:var(--light-gray);padding:var(--space-12) var(--space-14)}.card>:where(h2,h3),.card-title{margin:0 0 var(--space-4);font-size:var(--text-3xl);line-height:var(--leading-heading)}.card>:where(p){font-size:var(--text-callout);color:var(--gray-text);margin:0}.button.pill.md{padding:var(--space-4) var(--space-8);font-size:var(--text-md)}.button:active:not(:disabled),.button:hover:active:not(:disabled){background:var(--field-press)}.button.primary:active:not(:disabled),.button.primary:hover:active:not(:disabled){background:var(--accent-press)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.grain{isolation:isolate;position:relative}.grain:before{content:"";z-index:var(--z-below);border-radius:inherit;background-image:var(--grain-image);background-size:var(--grain-size);opacity:calc(var(--grain) * .24);mix-blend-mode:multiply;filter:contrast(.6)brightness(1.45);pointer-events:none;position:absolute;inset:0}.grain.dark:before{mix-blend-mode:screen;filter:contrast(.6)brightness(.55)}:root{--mesh-w:100%;--mesh-top:calc(var(--mesh-w) * 1.3) 60% at calc(var(--mesh-w) * .35) -10%;--mesh-peek:calc(var(--mesh-w) * .7) 26% at var(--mesh-w) -4%;--mesh-bottom:calc(var(--mesh-w) * 1.5) 55% at calc(var(--mesh-w) * .2) 110%}.mesh{background:radial-gradient(var(--mesh-peek), color-mix(in oklab, var(--glow-3) 90%, transparent), transparent 80%), radial-gradient(var(--mesh-top), color-mix(in oklab, var(--glow-2) 95%, transparent) 22%, transparent 85%), radial-gradient(var(--mesh-bottom), color-mix(in oklab, var(--glow-3) 92%, transparent) 18%, transparent 85%), var(--base)}:root.translucent .mesh{--cover:calc(1 - var(--clarity));background:radial-gradient(var(--mesh-peek), color-mix(in oklab, var(--glow-3) calc(90% * var(--cover)), transparent), transparent 80%), radial-gradient(var(--mesh-top), color-mix(in oklab, var(--glow-2) calc(95% * var(--cover)), transparent) 22%, transparent 85%), radial-gradient(var(--mesh-bottom), color-mix(in oklab, var(--glow-3) calc(92% * var(--cover)), transparent) 18%, transparent 85%), linear-gradient(color-mix(in oklab, var(--base) calc(100% * var(--cover)), transparent) 0 0), linear-gradient(var(--glass-veil,transparent) 0 0)}.mesh-live{background:var(--base);position:relative;overflow:hidden;container-type:size}.mesh-live>.mesh-canvas,.mesh-orbs>.mesh-canvas{width:100%;height:100%;position:absolute;inset:0}.mesh-live>i{width:var(--size);height:var(--size);border-radius:var(--radius-round);background:radial-gradient(closest-side, var(--color), transparent);animation:var(--drift) var(--time) var(--ease-in-out) infinite alternate;will-change:transform;position:absolute;translate:-50% -50%}.mesh-live>.m1{--size:95cqmax;--color:var(--glow-1);--drift:mesh-one;--time:13s;top:20%;left:18%}.mesh-live>.m2{--size:80cqmax;--color:var(--glow-2);--drift:mesh-two;--time:17s;top:16%;left:84%}.mesh-live>.m3{--size:90cqmax;--color:var(--glow-3);--drift:mesh-three;--time:19s;top:92%;left:80%}.mesh-live>.m4{--size:60cqmax;--color:oklch(from var(--glow-1) calc(l + .08) c h);--drift:mesh-four;--time:11s;top:84%;left:28%}.mesh-live>.m5{--size:52cqmax;--color:oklch(from var(--glow-3) calc(l + .08) c h);--drift:mesh-five;--time:15s;top:40%;left:62%}@keyframes mesh-one{to{transform:translate(26cqw,16cqh)scale(1.15)}}@keyframes mesh-two{to{transform:translate(-24cqw,22cqh)scale(.85)}}@keyframes mesh-three{to{transform:translate(-20cqw,-26cqh)scale(1.2)}}@keyframes mesh-four{to{transform:translate(30cqw,-22cqh)scale(1.3)}}@keyframes mesh-five{to{transform:translate(-18cqw,16cqh)scale(1.25)}}.button{justify-content:center;align-items:center;gap:var(--space-4);height:var(--control-height);padding:0 var(--space-6);border-radius:var(--radius-md);color:var(--text);white-space:nowrap;background:var(--field);transition:background var(--duration-fast), color var(--duration-fast);border:1px solid #0000;flex-shrink:0;text-decoration:none;display:inline-flex}.button:hover:not(:disabled){background:var(--field-hover)}.button.primary{color:var(--on-accent);background:var(--accent);border-color:#0000}.button.primary:hover:not(:disabled){background:color-mix(in oklab, var(--accent) 88%, #fff)}.button.danger{background:color-mix(in oklab, var(--dawn-red) 30%, var(--field))}.button.danger:hover:not(:disabled){color:#fff;background:var(--dawn-red)}.button:active:not(:disabled){background:linear-gradient(var(--press), var(--press)), var(--field-hover)}.button.primary:active:not(:disabled){background:linear-gradient(var(--press), var(--press)), var(--accent)}.button.danger:active:not(:disabled){background:linear-gradient(var(--press), var(--press)), var(--dawn-red)}.button:disabled{opacity:.45}.button span[data-icon]{width:var(--icon-size);height:var(--icon-size)}.button.sm:not(.pill){gap:var(--space-2);height:var(--space-12);padding:0 var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-medium)}.button.sm:not(.pill) span[data-icon]{width:var(--icon-size-sm);height:var(--icon-size-sm)}.button.pill{border-radius:var(--radius-full);border:0;height:auto}.button.pill.lg{padding:var(--space-6) var(--space-12);font-size:var(--text-xl)}.button.pill.sm{padding:var(--space-3) var(--space-6);font-size:var(--text-sm)}.badge{padding:1px var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap;flex-shrink:0;align-items:center;display:inline-flex}.badge.accent{color:var(--on-accent);background:var(--accent)}.not-secure{border-radius:var(--radius-sm);color:#fff;background:var(--dawn-red);border:0;flex-shrink:0;place-items:center;width:20px;height:20px;padding:0;display:grid}.not-secure>svg,.not-secure>[data-icon]{width:var(--icon-size-xs);height:var(--icon-size-xs)}.window img{filter:drop-shadow(0 0 .5px #00000052)drop-shadow(0 2px 4px #00000012)drop-shadow(0 16px 36px #0000001c);width:100%}.dark .window img{filter:drop-shadow(0 0 .5px #ffffff4d)drop-shadow(0 2px 4px #00000047)drop-shadow(0 18px 40px #00000061)}:root[data-released] [data-when=none],:root:not([data-released]) [data-when=ready]{display:none!important}nav[data-astro-cid-wpvy4v7s]{z-index:var(--z-sticky);backdrop-filter:saturate(180%)blur(20px);background:#ffffffc7;border-bottom:1px solid #00000014;position:sticky;top:0}.wrap[data-astro-cid-wpvy4v7s]{justify-content:space-between;align-items:center;height:52px;display:flex}.name[data-astro-cid-wpvy4v7s]{font-weight:var(--weight-bold);font-size:var(--text-wordmark);letter-spacing:-.02em}footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--hairline);font-size:var(--text-sm);color:var(--gray-text)}.wrap[data-astro-cid-jo6i4kqk]{justify-content:space-between;align-items:center;gap:var(--space-8);padding-top:var(--space-10);padding-bottom:var(--space-10);display:flex}.mark[data-astro-cid-jo6i4kqk] img{opacity:.45}.links[data-astro-cid-jo6i4kqk]{gap:var(--space-3) var(--space-10);white-space:nowrap;flex-wrap:wrap;display:flex}@media (width<=560px){.wrap[data-astro-cid-jo6i4kqk]{align-items:flex-start;gap:var(--space-6);flex-direction:column}.links[data-astro-cid-jo6i4kqk]{gap:var(--space-3) var(--space-8)}}.links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--charcoal)}.skip[data-astro-cid-hkbrpulz]:focus{top:var(--space-4);left:var(--space-4);z-index:var(--z-overlay);clip-path:none;width:auto;height:auto;padding:var(--space-4) var(--space-7);border-radius:var(--radius-md);background:var(--charcoal);color:var(--on-accent);position:fixed}
