:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--scheme-dark:0;--blend-logo:multiply;--color-paper:var(--lightningcss-light,#f7fbf9)var(--lightningcss-dark,#130915);--color-paper-2:var(--lightningcss-light,#eef3f0)var(--lightningcss-dark,#1c0f1f);--color-paper-3:var(--lightningcss-light,#e5ebe7)var(--lightningcss-dark,#251629);--color-paper-dark:var(--lightningcss-light,#210b27)var(--lightningcss-dark,#2c1332);--color-paper-dark-2:var(--lightningcss-light,#2b1531)var(--lightningcss-dark,#371d3d);--color-ink:var(--lightningcss-light,#211125)var(--lightningcss-dark,#e7ede9);--color-ink-2:var(--lightningcss-light,#403243)var(--lightningcss-dark,#c2bbc4);--color-paper-light:#f7fbf9;--color-ink-on-dark:#eaf0ed;--color-ink-2-on-dark:#bdb3bf;--color-muted:var(--lightningcss-light,#635a65)var(--lightningcss-dark,#988e9a);--color-neutral:var(--lightningcss-light,#7e7880)var(--lightningcss-dark,#7a717c);--color-rule:var(--lightningcss-light,#ccd3cf)var(--lightningcss-dark,#352937);--color-rule-2:var(--lightningcss-light,#dde3df)var(--lightningcss-dark,#281d2b);--color-rule-on-dark:var(--lightningcss-light,#432f48)var(--lightningcss-dark,#4e3a53);--color-field-border-on-dark:#857389;--color-accent:var(--lightningcss-light,#10ae65)var(--lightningcss-dark,#55c483);--color-accent-ink:var(--lightningcss-light,#211125)var(--lightningcss-dark,#190b1c);--color-accent-icon:var(--lightningcss-light,#007840)var(--lightningcss-dark,#5ccb89);--color-accent-soft:var(--lightningcss-light,#d7f4e0)var(--lightningcss-dark,#0f3620);--color-focus:var(--lightningcss-light,#009956)var(--lightningcss-dark,#22c373);--color-error:var(--lightningcss-light,#a80018)var(--lightningcss-dark,#fd736d);--color-error-soft:var(--lightningcss-light,#ffe8e6)var(--lightningcss-dark,#421c19);--color-error-on-dark:#ff9e96;--color-scrim:var(--lightningcss-light,#1e10214d)var(--lightningcss-dark,#04000599);--font-display:var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif;--font-body:var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif;--font-mono:var(--font-geist-mono), ui-monospace, "SFMono-Regular", Menlo, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.25rem;--text-xl:1.5625rem;--text-2xl:1.9531rem;--text-3xl:2.4414rem;--text-4xl:3.0518rem;--text-display-s:clamp(2rem, 3.2vw + .75rem, 3.25rem);--text-display:clamp(2.75rem, 4.6vw + .75rem, 5.25rem);--leading-tight:1.08;--leading-snug:1.25;--leading-body:1.6;--tracking-display:-.03em;--tracking-label:.08em;--measure:65ch;--space-3xs:.125rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--space-4xl:9rem;--page-max:76rem;--page-gutter:clamp(1rem, 4vw, 2.5rem);--icon-sm:16px;--icon-md:20px;--icon-lg:24px;--icon-xl:32px;--icon-stroke:1.75;--icon-stroke-sm:2;--rule-hair:1px;--radius-sm:6px;--radius-md:8px;--shadow-whisper:0 1px 2px var(--lightningcss-light,#1e10210f)var(--lightningcss-dark,#01000180);--shadow-hairline:0 0 0 1px var(--lightningcss-light,#35293714)var(--lightningcss-dark,#e1dce21a);--shadow-nav:0 8px 28px -20px var(--lightningcss-light,#1e102159)var(--lightningcss-dark,#010001e6);--shadow-dropdown:0 16px 40px -24px var(--lightningcss-light,#1e102180)var(--lightningcss-dark,#010001f2);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s;--z-base:1;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-modal:400;--z-toast:500;--z-tooltip:600}@supports (color:lab(0% 0 0)){:root{--color-paper:var(--lightningcss-light,lab(98.328% -1.59833 .63585))var(--lightningcss-dark,lab(3.44556% 5.07212 -4.967));--color-paper-2:var(--lightningcss-light,lab(95.4552% -2.23854 .890446))var(--lightningcss-dark,lab(6.25867% 8.74575 -7.94525));--color-paper-3:var(--lightningcss-light,lab(92.5823% -2.8792 1.14515))var(--lightningcss-dark,lab(10.1041% 10.6977 -9.3715));--color-paper-dark:var(--lightningcss-light,lab(6.38993% 15.8165 -13.661))var(--lightningcss-dark,lab(10.8481% 17.6259 -15.0646));--color-paper-dark-2:var(--lightningcss-light,lab(10.9359% 16.2199 -13.9333))var(--lightningcss-dark,lab(15.5111% 17.526 -15.1223));--color-ink:var(--lightningcss-light,lab(7.70017% 12.086 -10.4834))var(--lightningcss-dark,lab(93.1488% -2.5588 1.01779));--color-ink-2:var(--lightningcss-light,lab(22.9566% 9.27401 -8.29036))var(--lightningcss-dark,lab(76.6025% 3.9348 -3.61501));--color-paper-light:lab(98.328% -1.59833 .63585);--color-ink-on-dark:lab(94.3088% -2.5588 1.01779);--color-ink-2-on-dark:lab(74.2157% 5.25054 -4.81221);--color-muted:var(--lightningcss-light,lab(39.4133% 5.2602 -4.79479))var(--lightningcss-dark,lab(60.295% 5.25334 -4.80703));--color-neutral:var(--lightningcss-light,lab(51.0817% 3.93799 -3.60895))var(--lightningcss-dark,lab(48.6942% 5.25662 -4.80114));--color-rule:var(--lightningcss-light,lab(83.8959% -3.20026 1.27268))var(--lightningcss-dark,lab(18.3863% 7.94621 -7.10971));--color-rule-2:var(--lightningcss-light,lab(89.6688% -2.55898 1.01783))var(--lightningcss-dark,lab(12.5815% 7.96637 -7.08543));--color-rule-on-dark:var(--lightningcss-light,lab(22.7314% 13.3241 -11.759))var(--lightningcss-dark,lab(27.3778% 13.2971 -11.787));--color-field-border-on-dark:lab(50.7382% 10.5546 -9.53505);--color-accent:var(--lightningcss-light,lab(62.622% -51.4213 26.5726))var(--lightningcss-dark,lab(71.6655% -44.5021 22.9274));--color-accent-ink:var(--lightningcss-light,lab(7.70017% 12.086 -10.4834))var(--lightningcss-dark,lab(4.83201% 8.68218 -8.37689));--color-accent-icon:var(--lightningcss-light,lab(43.7897% -45.381 23.5139))var(--lightningcss-dark,lab(73.9875% -44.4592 22.8997));--color-accent-soft:var(--lightningcss-light,lab(93.5794% -12.4075 6.35813))var(--lightningcss-dark,lab(19.5805% -19.113 9.85245));--color-focus:var(--lightningcss-light,lab(56.128% -65.7111 34.2118))var(--lightningcss-dark,lab(69.7139% -54.5603 28.1834));--color-error:var(--lightningcss-light,lab(35.3999% 60.4076 40.7913))var(--lightningcss-dark,lab(65.8493% 53.3364 30.7453));--color-error-soft:var(--lightningcss-light,lab(93.9229% 9.19664 4.96061))var(--lightningcss-dark,lab(15.894% 18.7869 10.7134));--color-error-on-dark:lab(75.4484% 43.6674 24.4888);--color-scrim:var(--lightningcss-light,lab(6.69347% 10.3983 -9.20511/.3))var(--lightningcss-dark,lab(.393257% 1.36948 -1.41172/.6));--shadow-whisper:0 1px 2px var(--lightningcss-light,lab(6.69347% 10.3983 -9.20511/.06))var(--lightningcss-dark,lab(.094677% .36031 -.373819/.5));--shadow-hairline:0 0 0 1px var(--lightningcss-light,lab(18.3863% 7.94621 -7.10971/.08))var(--lightningcss-dark,lab(88.2689% 2.62094 -2.41447/.1));--shadow-nav:0 8px 28px -20px var(--lightningcss-light,lab(6.69347% 10.3983 -9.20511/.35))var(--lightningcss-dark,lab(.094677% .36031 -.373819/.9));--shadow-dropdown:0 16px 40px -24px var(--lightningcss-light,lab(6.69347% 10.3983 -9.20511/.5))var(--lightningcss-dark,lab(.094677% .36031 -.373819/.95))}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--scheme-dark:1;--blend-logo:screen}
*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip}body{background:var(--color-paper);min-height:100dvh;color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);font-variant-numeric:oldstyle-nums;font-weight:calc(400 - 40 * var(--scheme-dark));-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;overflow-x:clip}h1,h2,h3,h4{font-family:var(--font-display);font-style:normal;font-weight:700;line-height:var(--leading-snug);letter-spacing:-.02em;overflow-wrap:anywhere;font-variant-numeric:lining-nums;min-width:0;margin:0}h1{font-size:var(--text-display);line-height:var(--leading-tight);letter-spacing:var(--tracking-display)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-lg)}p{margin:0}a{color:inherit;-webkit-text-decoration-color:var(--color-rule);text-decoration-color:var(--color-rule);text-underline-offset:.18em;transition:text-decoration-color var(--dur-micro) var(--ease-out);text-decoration-thickness:1px}@media (hover:hover){a:hover{-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}}img,svg,video{max-width:100%;height:auto;display:block}button,input,textarea,select{font:inherit;color:inherit}:focus{outline:none}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:inherit}::selection{background:var(--color-accent-soft);color:var(--color-ink)}.container{width:100%;max-width:var(--page-max);padding-inline:var(--page-gutter);margin-inline:auto}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:clip}.tnum{font-variant-numeric:tabular-nums lining-nums}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums lining-nums}.label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-muted)}.muted{color:var(--color-muted)}.lede{font-size:var(--text-md);color:var(--color-ink-2);max-width:52ch;line-height:1.55}.prose{max-width:var(--measure)}.prose p{margin-block:0 var(--space-lg)}.prose h2{font-size:var(--text-xl);margin-block:var(--space-2xl) var(--space-md)}.prose h3{font-size:var(--text-md);margin-block:var(--space-xl) var(--space-sm)}.prose ul,.prose ol{margin-block:0 var(--space-lg);padding-inline-start:1.25em}.prose li+li{margin-block-start:var(--space-2xs)}.prose blockquote{margin:var(--space-xl) 0;border-inline-start:var(--rule-hair) solid var(--color-accent);color:var(--color-ink-2);padding-inline-start:var(--space-lg)}.prose img,.prose figure{margin-block:var(--space-xl)}.prose figure{margin-inline:0}.prose figcaption{font-size:var(--text-sm);color:var(--color-muted);margin-block-start:var(--space-xs)}.prose table{border-collapse:collapse;width:100%;font-size:var(--text-sm);margin-block:var(--space-xl);font-variant-numeric:tabular-nums lining-nums}.prose th,.prose td{text-align:start;padding:var(--space-xs) var(--space-sm);border-bottom:var(--rule-hair) solid var(--color-rule);vertical-align:top}.prose th{color:var(--color-ink-2);font-weight:600}.prose .table-scroll{overflow-x:auto}.prose a{-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}.prose iframe{aspect-ratio:16/9;width:100%;height:auto;margin-block:var(--space-xl);border:0}.btn{--btn-bg:var(--color-ink);--btn-fg:var(--color-paper);justify-content:center;align-items:center;gap:var(--space-xs);min-height:44px;padding:0 var(--space-lg);border:var(--rule-hair) solid var(--btn-bg);border-radius:var(--radius-sm);background:var(--btn-bg);color:var(--btn-fg);font-weight:500;font-size:var(--text-sm);letter-spacing:.005em;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out), transform .1s var(--ease-out);line-height:1;text-decoration:none;display:inline-flex}.btn--outline{--btn-bg:transparent;--btn-fg:var(--color-ink);border-color:var(--color-ink)}.btn--text{--btn-bg:transparent;--btn-fg:var(--color-ink);padding-inline:var(--space-sm);border-color:#0000}.btn--on-dark{--btn-bg:var(--color-ink-on-dark);--btn-fg:var(--color-paper-dark)}@media (hover:hover){.btn:hover:not(:disabled):not([aria-disabled=true]){--btn-bg:var(--color-ink-2)}.btn--outline:hover:not(:disabled):not([aria-disabled=true]),.btn--text:hover:not(:disabled):not([aria-disabled=true]){--btn-bg:var(--color-paper-2);--btn-fg:var(--color-ink)}.btn--on-dark:hover:not(:disabled):not([aria-disabled=true]){--btn-bg:var(--color-paper-light)}}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn[data-state=loading]{--btn-fg:transparent;pointer-events:none;position:relative}.btn[data-state=loading]:after{content:"";border:2px solid var(--color-paper);border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin;position:absolute}.btn--outline[data-state=loading]:after{border-color:var(--color-ink);border-right-color:#0000}.btn[data-state=error]{--btn-bg:var(--color-error);border-color:var(--color-error)}.btn[data-state=success]{--btn-bg:var(--color-accent);--btn-fg:var(--color-accent-ink);border-color:var(--color-accent)}@keyframes spin{to{transform:rotate(360deg)}}.link-arrow{white-space:nowrap;align-items:center;gap:.4em;font-weight:500;text-decoration:none;display:inline-flex}.link-arrow:after{content:"→";transition:transform var(--dur-micro) var(--ease-out)}@media (hover:hover){.link-arrow:hover:after{transform:translate(3px)}}.link-arrow:active{color:var(--color-muted)}[data-js] .reveal{opacity:0;transition:opacity var(--dur-long) var(--ease-out), transform var(--dur-long) var(--ease-out);transition-delay:calc(var(--i,0) * 70ms);transform:translateY(8px)}[data-js] .reveal.is-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.15s!important;transition-delay:0s!important;animation-duration:.15s!important;animation-iteration-count:1!important}.reveal{transform:none}}@media (max-width:40rem){.reveal{opacity:1;transition:none;transform:none}}
