:root{--color-blue-500: #2f7cf6;--color-blue-600: #1f66d6;--color-blue-700: #1857bc;--color-neutral-0: #fff;--color-neutral-50: #eef1f5;--color-neutral-100: #e6eaf0;--color-neutral-200: rgba(29, 29, 31, .08);--color-neutral-300: rgba(29, 29, 31, .14);--color-neutral-400: rgba(29, 29, 31, .64);--color-neutral-500: rgba(29, 29, 31, .66);--color-neutral-700: #48484a;--color-neutral-900: #1d1d1f;--color-red-600: #a43127;--color-green-600: #287842;--color-amber-500: #98651b;--color-clear: transparent;--color-white-sheet: rgba(255, 255, 255, .74);--color-white-panel: rgba(255, 255, 255, .9);--color-blue-wash: rgba(47, 124, 246, .12);--color-blue-tint: rgba(47, 124, 246, .1);--color-blue-selection: rgba(47, 124, 246, .16);--color-blue-hover: rgba(47, 124, 246, .06);--color-blue-pressed: rgba(47, 124, 246, .11);--color-ink-hairline: rgba(29, 29, 31, .09);--color-ink-hover: rgba(29, 29, 31, .05);--font-display: -apple-system, "SF Pro Display", "PingFang SC", "Segoe UI", "Helvetica Neue", sans-serif;--font-body: -apple-system, "SF Pro Text", "PingFang SC", "Segoe UI", "Helvetica Neue", sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-9: 36px;--space-10: 40px;--space-12: 48px;--space-14: 56px;--space-16: 64px;--space-19: 76px;--space-20: 80px;--space-24: 96px;--space-26: 104px;--space-32: 128px;--radius-sm: 6px;--radius-control: 10px;--radius-md: 16px;--radius-lg: 22px;--radius-cta: 14px;--radius-full: 9999px;--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-in: ease-in;--ease-in-out: ease-in-out;--spring-panel: linear(0, .043, .138, .242, .369, .491, .602, .698, .778, .843, .888, .928, .958, .979, .993, 1.002, 1.007, 1.01, 1.012, 1.011, 1.01, 1.009, 1.008, 1.006, 1);--spring-sel: linear(0, .022, .087, .153, .226, .303, .404, .477, .545, .628, .683, .732, .776, .825, .857, .883, .913, .931, .946, .962, .972, .979, .985, .991, 1);--spring-chip: linear(0, .033, .123, .22, .344, .446, .559, .643, .729, .789, .848, .887, .924, .947, .965, .981, .99, .997, 1.001, 1.004, 1.006, 1.006, 1.006, 1.006, 1);--dur-press: 60ms;--dur-fast: .12s;--dur-base: .15s;--dur-selection: .16s;--dur-chip: .24s;--dur-slow: .42s;--rule-hairline: 1px;--rule-thin: 1.5px;--shadow-panel: 0 1px 2px rgba(20, 35, 60, .08), 0 24px 60px rgba(20, 35, 60, .14);--shadow-action: 0 8px 20px rgba(47, 124, 246, .2);--shadow-action-hover: 0 10px 24px rgba(47, 124, 246, .26);--content-max: 800px;--content-max-narrow: 720px;--nav-max: 1080px;--color-paper: var(--color-neutral-50);--color-paper-2: var(--color-white-sheet);--color-paper-3: var(--color-ink-hover);--color-ink: var(--color-neutral-900);--color-ink-2: var(--color-neutral-500);--color-muted: var(--color-neutral-400);--color-rule: var(--color-neutral-300);--color-rule-2: var(--color-ink-hairline);--color-border: var(--color-neutral-200);--color-accent: var(--color-blue-600);--color-accent-hover: var(--color-blue-700);--color-accent-ink: var(--color-neutral-0);--color-accent-tint-bg: var(--color-blue-tint);--color-accent-tint-border: var(--color-blue-selection);--color-highlight: var(--color-blue-500);--color-focus: var(--color-blue-600);--color-destructive: var(--color-red-600);--color-success: var(--color-green-600);--color-warn: var(--color-amber-500);--font-heading: var(--font-display);--font-text: var(--font-body);--font-ui: var(--font-body);--font-code: var(--font-mono);--space-xs: var(--space-1);--space-sm: var(--space-2);--space-md: var(--space-4);--space-lg: var(--space-6);--space-xl: var(--space-8);--space-2xl: var(--space-12);--space-3xl: var(--space-16);--space-4xl: var(--space-24);--space-section: var(--space-26);--text-xs: 12px;--text-sm: 13px;--text-base: 14px;--text-lg: 15px;--text-xl: 18px;--text-button-large: 20px;--text-2xl: 21px;--text-3xl: 28px;--text-4xl: 34px;--text-display: 46px;--text-display-s: 38px;--leading-tight: 1.16;--leading-snug: 1.3;--leading-normal: 1.55;--leading-relaxed: 1.7;--tracking-tight: -.01em;--tracking-tighter: -.035em;--tracking-normal: 0;--tracking-wide: .025em;--content-width: var(--content-max);--content-padding: var(--space-4);--canvas-background: radial-gradient(900px 600px at 82% -8%, var(--color-blue-wash), var(--color-clear) 60%), linear-gradient(var(--color-neutral-50), var(--color-neutral-100) 900px, var(--color-neutral-50) 1500px);--button-bg: var(--color-accent);--button-bg-hover: var(--color-accent-hover);--button-fg: var(--color-accent-ink);--button-border: var(--color-clear);--button-radius: var(--radius-control);--button-padding-x: var(--space-5);--button-padding-y: var(--space-3);--button-font-size: var(--text-base);--button-font-weight: 500;--button-secondary-bg: var(--color-blue-tint);--button-secondary-bg-hover: var(--color-blue-selection);--button-secondary-fg: var(--color-accent);--button-secondary-border: var(--color-clear);--focus-ring-color: var(--color-focus);--focus-ring-width: 2px;--focus-ring-offset: 2px;--card-bg: var(--color-white-sheet);--card-border: var(--color-border);--card-radius: var(--radius-md);--card-padding: var(--space-6);--card-shadow-rest: none;--card-shadow-hover: none;--code-bg: var(--color-clear);--code-header-bg: var(--color-ink-hover);--code-border: var(--color-border);--code-line-number-color: var(--color-muted);--code-text-color: var(--color-ink-2);--code-accent-color: var(--color-accent);--footer-statement-color: var(--color-ink);--footer-statement-accent: var(--color-ink);--footer-meta-color: var(--color-muted);--footer-border: var(--color-rule-2);--media-surface: var(--color-white-panel);--media-radius: var(--radius-lg);--media-shadow: var(--shadow-panel)}@media(max-width:640px){:root{--space-section: var(--space-19);--text-display: 30px;--text-display-s: 30px;--text-3xl: 24px;--text-2xl: 18px;--media-radius: 18px;--card-padding: var(--space-5)}}*,*:before,*:after{box-sizing:border-box}html{overflow-x:clip;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;padding:0;overflow-x:clip;font-family:var(--font-text);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-ink);background-color:var(--color-paper);overflow-wrap:anywhere;min-width:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--color-ink);margin:0}h1,h2,h3,h4,h5,h6{font-style:normal}h1{font-size:var(--text-display);letter-spacing:var(--tracking-tighter);font-weight:700}h2{font-size:var(--text-3xl);font-weight:600}h3{font-size:var(--text-xl);font-weight:600}p{margin:0;line-height:var(--leading-relaxed)}a{color:var(--color-accent);text-decoration:none;transition:color var(--dur-fast) var(--ease-out)}a:hover{color:var(--color-accent-hover)}:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}details:focus-visible,summary:focus-visible{outline-offset:-2px}.container{width:100%;max-width:var(--content-width);margin-inline:auto;padding-inline:var(--content-padding)}.section{padding-block:var(--space-3xl)}.section+.section{padding-block:var(--space-3xl)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mono{font-family:var(--font-code);font-feature-settings:"tnum" 1}html{scroll-padding-top:var(--space-6)}body{min-height:100vh;background:var(--canvas-background);background-repeat:no-repeat;background-color:var(--color-paper);font-variant-numeric:tabular-nums;text-autospace:normal}h1{font-weight:600}h2{line-height:var(--leading-snug)}button,input,summary{font-family:var(--font-ui)}img,video{max-width:100%}::selection{background:var(--color-blue-selection)}.container{width:min(var(--content-width),calc(100% - var(--space-8)));padding-inline:0}.section,.section+.section{padding-block:0;margin-top:var(--space-section)}.reveal,.reveal-up,.reveal--slide-left,.reveal--slide-right,.reveal--clip-up,.reveal.is-visible,.reveal-up.is-visible{opacity:1;transform:none;clip-path:none;transition:none}.sr-only:focus-visible{position:fixed;z-index:200;top:var(--space-2);left:var(--space-2);width:auto;height:auto;clip:auto;padding:var(--space-3) var(--space-4);background:var(--color-neutral-0);color:var(--color-ink)}:is(a,button)[aria-disabled=true],button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}@media(max-width:640px){.nav__link,.nav__cta,.nav__brand,.footer__link{min-height:44px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.nav[data-astro-cid-3ef6ksr2]{width:min(100%,var(--nav-max));margin-inline:auto}.nav__inner[data-astro-cid-3ef6ksr2]{min-height:64px;padding-inline:var(--space-7);display:flex;align-items:center;gap:var(--space-3)}.nav__brand[data-astro-cid-3ef6ksr2]{display:inline-flex;align-items:center;gap:var(--space-2);margin-right:auto;color:var(--color-ink);font-size:var(--text-base);font-weight:600;white-space:nowrap}.nav__brand-mark[data-astro-cid-3ef6ksr2]{display:block;width:26px;height:26px;flex-shrink:0;object-fit:contain}.nav__links[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:var(--space-1);list-style:none;margin:0;padding:0}.nav__link[data-astro-cid-3ef6ksr2]{display:inline-flex;align-items:center;min-height:32px;padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--color-ink-2);font-size:var(--text-sm);white-space:nowrap;transition:background var(--dur-base),color var(--dur-base)}.nav__link[data-astro-cid-3ef6ksr2]:hover{color:var(--color-ink);background:var(--color-ink-hover)}.nav__link[data-astro-cid-3ef6ksr2][aria-current=page]{background:var(--color-blue-tint);color:var(--color-accent)}.nav__link[data-astro-cid-3ef6ksr2]:active{background:var(--color-blue-selection)}.nav__cta[data-astro-cid-3ef6ksr2]{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);min-height:30px;padding:0 var(--space-3);background:var(--color-ink);color:var(--color-accent-ink);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;white-space:nowrap;transition:transform var(--dur-fast),background var(--dur-base)}.nav__cta[data-astro-cid-3ef6ksr2]:hover{background:var(--color-neutral-700);color:var(--color-accent-ink)}.nav__cta[data-astro-cid-3ef6ksr2]:active{transform:scale(.97);transition-duration:var(--dur-press)}@media(max-width:640px){.nav__inner[data-astro-cid-3ef6ksr2]{padding-inline:var(--space-4);gap:var(--space-2)}.nav__links[data-astro-cid-3ef6ksr2] li[data-astro-cid-3ef6ksr2]:first-child,.nav__links[data-astro-cid-3ef6ksr2] li[data-astro-cid-3ef6ksr2]:nth-child(2),.nav__links[data-astro-cid-3ef6ksr2] li[data-astro-cid-3ef6ksr2]:last-child{display:none}.nav__link[data-astro-cid-3ef6ksr2]{padding-inline:var(--space-2)}}.footer[data-astro-cid-sz7xmlte]{width:min(var(--content-width),calc(100% - var(--space-8)));margin:var(--space-24) auto 0;padding:var(--space-6) 0 var(--space-14);border-top:var(--rule-hairline) solid var(--footer-border)}.footer__inner[data-astro-cid-sz7xmlte]{width:100%}.footer__statement[data-astro-cid-sz7xmlte]{font:600 var(--text-xl)/var(--leading-snug) var(--font-heading);color:var(--color-ink);margin-bottom:var(--space-7)}.footer__statement-accent[data-astro-cid-sz7xmlte],.footer__statement-period[data-astro-cid-sz7xmlte]{color:inherit;font-style:normal}.footer__meta[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4)}.footer__brand[data-astro-cid-sz7xmlte]{display:flex;align-items:center;gap:var(--space-2);color:var(--color-ink);font-size:var(--text-sm);font-weight:600}.footer__brand-mark[data-astro-cid-sz7xmlte]{display:block;width:28px;height:28px;flex-shrink:0;object-fit:contain}.footer__version[data-astro-cid-sz7xmlte]{font-size:var(--text-xs);color:var(--color-muted);font-weight:400}.footer__links[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}.footer__link[data-astro-cid-sz7xmlte]{display:inline-flex;align-items:center;font-size:var(--text-xs);color:var(--color-ink-2);white-space:nowrap}.footer__link[data-astro-cid-sz7xmlte]:hover,.footer__link[data-astro-cid-sz7xmlte]:active{color:var(--color-accent)}.footer__copyright[data-astro-cid-sz7xmlte]{width:100%;font-size:var(--text-xs);color:var(--color-muted)}@media(max-width:640px){.footer__meta[data-astro-cid-sz7xmlte]{align-items:flex-start;flex-direction:column;gap:var(--space-2)}.footer__links[data-astro-cid-sz7xmlte]{gap:0 var(--space-4)}}
