.fb[data-astro-cid-265xwz66]{border-top:1px solid var(--line);-webkit-user-select:text;user-select:text;margin:48px 0 8px}.fb[data-astro-cid-265xwz66] summary[data-astro-cid-265xwz66]{cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:16px 0;list-style:none;display:flex}.fb[data-astro-cid-265xwz66] summary[data-astro-cid-265xwz66]::-webkit-details-marker{display:none}.fb[data-astro-cid-265xwz66] summary[data-astro-cid-265xwz66]:before{content:"";width:0;height:0;color:var(--ink-muted,var(--ink));border:5px solid #0000;border-left:8px solid;border-right-width:0;flex:none;align-self:center;transition:transform .15s}.fb[data-astro-cid-265xwz66][open] summary[data-astro-cid-265xwz66]:before{transform:rotate(90deg)}.fb[data-astro-cid-265xwz66] summary[data-astro-cid-265xwz66]:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.fb-t[data-astro-cid-265xwz66]{color:var(--ink);font-size:16px;font-weight:600}.fb-s[data-astro-cid-265xwz66]{color:var(--ink-muted,var(--ink));font-size:14px}.fb-in[data-astro-cid-265xwz66]{padding-bottom:16px}.fb-in[data-astro-cid-265xwz66] p[data-astro-cid-265xwz66]{color:var(--ink-muted,var(--ink));margin:0 0 12px;font-size:14px}.fb-link[data-astro-cid-265xwz66]{color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:9px 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-block}.fb-link[data-astro-cid-265xwz66]:hover{border-color:var(--brand)}@media (prefers-reduced-motion:reduce){.fb[data-astro-cid-265xwz66] summary[data-astro-cid-265xwz66]:before{transition:none}}@font-face{font-family:Relate Sans;font-style:normal;font-weight:100 900;src:url(/fonts/relate-sans.woff2)format("woff2");font-display:swap}@font-face{font-family:Relate Mono;font-style:normal;font-weight:100 900;src:url(/fonts/relate-mono.woff2)format("woff2");font-display:swap}@font-face{font-family:Relate Pixel;font-style:normal;font-weight:500;src:url(/fonts/relate-pixel.woff2)format("woff2");font-display:swap}:root{--font:"Relate Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:"Relate Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--pixel:"Relate Pixel", var(--mono);--ease:cubic-bezier(.2, .7, .2, 1);--cw:1280px;--surface-0:#101013;--surface-1:#101013;--surface-2:#18181c;--surface-3:#212126;--line:#26262b;--line-strong:#3a3a40;--ink:#f1f1f3;--ink-muted:#9b9ba3;--brand:#8fe3e8;--on-brand:#04202a;--brand-soft:#0e2a31;--brand-line:#1f5961;--brand-hover:#d6f7f8;--rel:#9aaaff;--success:#90cb62;--danger:#ff8e6a;--focus:#8fe3e8;--term-bg:#101013;--term-ink:#dcdce0;--term-dim:#80808a;--term-kw:#8fe3e8;--term-str:#ff8e6a;--term-node:#dadfe0;--term-ok:#90cb62;--logo:#fff;--hl:#d6f7f8;--md:#8fe3e8;--sh:#4c99a4;--win:#101013;--win-2:#18181c;--ui-shadow:none;--shadow:0 1px 2px #0006, 0 8px 24px #00000047;color-scheme:dark;--font-sans:var(--font);--font-mono:var(--mono);--bg:var(--surface-0);--bg-alt:var(--surface-2);--bg-inset:var(--surface-3);--fg:var(--ink);--fg-muted:var(--ink-muted);--fg-faint:var(--term-dim);--border:var(--line);--border-strong:var(--line-strong);--accent:var(--brand);--accent-hover:var(--brand-hover);--on-accent:var(--on-brand);--discovery:var(--rel);--highlight:#faff00;--on-highlight:#181414;--bg-code:var(--surface-2);--code-bg:var(--surface-2);--code-fg:var(--term-ink);--code-comment:var(--term-dim);--code-keyword:var(--term-kw);--code-string:var(--term-str);--code-fn:var(--term-node);--code-num:var(--rel);--code-flag:var(--term-str);--terminal-prompt:var(--term-ok);--terminal-cursor:var(--brand);--forest-40:var(--success);--shadow-raised:0 1px 2px #00000080, 0 1px 3px #0000004d;--shadow-overlay:0 4px 16px #00000080}:root[data-theme=light]{--surface-0:#fafafa;--surface-1:#fafafa;--surface-2:#f2f2f2;--surface-3:#e8e8e8;--line:#e4e7e8;--line-strong:#c9ced0;--ink:#0a1114;--ink-muted:#59656a;--brand:#0a6190;--on-brand:#fff;--brand-soft:#e4f1f6;--brand-line:#a8d0e0;--brand-hover:#014063;--rel:#3b4fd0;--success:#145439;--danger:#b02a00;--focus:#0a6190;--term-bg:#fafafa;--term-ink:#1b2225;--term-dim:#5f6a6e;--term-kw:#0a6190;--term-str:#b02a00;--term-node:#3b4fd0;--term-ok:#145439;--logo:#010609;--hl:#4c99a4;--md:#0a6190;--sh:#014063;--win:#fff;--win-2:#fff;--ui-shadow:0 1px 2px #0000000a, 0 12px 24px -16px #00000012;--shadow:0 1px 2px #0a11140f, 0 8px 24px #0a111414;--shadow-raised:0 1px 2px #0a111414, 0 1px 3px #0a11140d;--shadow-overlay:0 4px 16px #0a111424;color-scheme:light}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--surface-0:#fafafa;--surface-1:#fafafa;--surface-2:#f2f2f2;--surface-3:#e8e8e8;--line:#e4e7e8;--line-strong:#c9ced0;--ink:#0a1114;--ink-muted:#59656a;--brand:#0a6190;--on-brand:#fff;--brand-soft:#e4f1f6;--brand-line:#a8d0e0;--brand-hover:#014063;--rel:#3b4fd0;--success:#145439;--danger:#b02a00;--focus:#0a6190;--term-bg:#fafafa;--term-ink:#1b2225;--term-dim:#5f6a6e;--term-kw:#0a6190;--term-str:#b02a00;--term-node:#3b4fd0;--term-ok:#145439;--logo:#010609;--hl:#4c99a4;--md:#0a6190;--sh:#014063;--win:#fff;--win-2:#fff;--ui-shadow:0 1px 2px #0000000a, 0 12px 24px -16px #00000012;--shadow:0 1px 2px #0a11140f, 0 8px 24px #0a111414;--shadow-raised:0 1px 2px #0a111414, 0 1px 3px #0a11140d;--shadow-overlay:0 4px 16px #0a111424;color-scheme:light}}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:17px;line-height:1.5;transition:background-color .15s,color .15s;overflow-x:clip}::selection{background:var(--accent);color:var(--on-accent)}:root{--header-h:64px;--page-w:1232px}.container,.wrap{max-width:var(--page-w);margin:0 auto;padding:0 24px}.edge{--edge:max(0px, calc((100% - var(--page-w)) / 2))}[id]{scroll-margin-top:calc(var(--header-h) + 8px)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:100;background:var(--ink);color:var(--surface-0);padding:8px 14px;font-weight:500;text-decoration:none;position:absolute;top:-60px;left:12px}.skip:focus{top:12px}header.nav{z-index:50;background:color-mix(in srgb, var(--surface-0) 90%, transparent);-webkit-backdrop-filter:blur(14px);transition:box-shadow .2s;position:sticky;top:0}header.nav.scrolled{box-shadow:0 1px 0 var(--line)}.nav-in{height:var(--header-h);max-width:var(--page-w);align-items:center;gap:16px;margin:0 auto;padding:0 24px;display:flex}.lockup{min-height:44px;color:var(--logo);flex:none;align-items:center;text-decoration:none;display:inline-flex}.lockup-mark{width:auto;height:20px;display:block}.nav-links{align-items:center;gap:24px;padding-left:12px;display:flex}.nav-links a{color:var(--ink);align-items:center;padding:6px 0;font-size:15px;font-weight:500;line-height:26px;text-decoration:none;display:inline-flex}.nav-links a:hover,.nav-links a:focus-visible,.nav-links a[aria-current=page]{color:var(--ink);text-decoration:none}.nav-right{height:var(--header-h);align-items:center;gap:24px;margin-left:auto;display:flex}.nav-gh{color:var(--ink);align-items:center;gap:8px;padding:6px 0;font-size:15px;font-weight:500;line-height:1.3;text-decoration:none;display:inline-flex}.nav-gh:hover{color:var(--ink-muted)}.nav-links a.nl-gh{display:none}.nav-cta{background:var(--ink);height:40px;color:var(--surface-0);border-radius:8px;align-items:center;padding:0 16px;font-size:14px;font-weight:500;text-decoration:none;transition:opacity .15s;display:inline-flex}.nav-cta:hover{opacity:.88}.menu-btn{min-width:44px;height:44px;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:none}.menu-btn:hover{color:var(--ink)}.menu-btn i{background:currentColor;width:16px;height:1.5px;margin:3px 0;display:block}.menu-btn[aria-expanded=true] i:first-child{transform:translateY(4.5px)rotate(45deg)}.menu-btn[aria-expanded=true] i:last-child{transform:translateY(-4.5px)rotate(-45deg)}.nav-right .themesw button{width:32px;height:28px}@media (width<=900px){.nav-right{gap:8px}.nav-gh{display:none}.nav-links a.nl-gh,.menu-btn{display:inline-flex}.nav-links{top:var(--header-h);background:var(--surface-0);border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:0;display:none;position:absolute;left:0;right:0}.nav-links.open{display:flex}.nav-links a{border-bottom:1px solid var(--line);height:52px;padding:0 24px}.nav-links a:last-child{border-bottom:0}}@media (width<=560px){.nav-in{gap:4px;padding:0 16px}.nav-right{gap:4px}.nav-right .themesw button{width:28px}.nav-cta{padding:0 12px}}.foot{border-top:1px solid var(--line);margin-top:72px}.fgrid{padding-inline:var(--edge);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.fcell{flex-direction:column;min-width:0;padding:32px 24px 36px;display:flex}.fcell+.fcell{border-left:1px solid var(--line)}.fcell h3{font:500 12px/16px var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);margin:0 0 12px}.fcell a{min-height:36px;color:var(--ink);align-items:center;font-size:15px;line-height:24px;text-decoration:none;display:flex}.fcell a:hover{text-underline-offset:4px;text-decoration:underline 1px}.legal{padding:12px calc(var(--edge) + 24px);border-top:1px solid var(--line);align-items:center;gap:20px;display:flex}.legal-copy{font:400 12px/16px var(--mono);color:var(--ink-muted);margin-right:auto}.legal-copy a{color:inherit;text-underline-offset:3px}.legal-copy a:hover{color:var(--ink)}.social{gap:4px;display:flex}.social a{width:44px;height:44px;color:var(--ink);justify-content:center;align-items:center;transition:background-color .15s;display:inline-flex}.social a:hover{background:var(--surface-2)}.themesw{border:1px solid var(--line);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.themesw button{width:44px;height:36px;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:background-color .15s,color .15s;display:inline-flex}.themesw button:hover{color:var(--ink)}.themesw button[aria-pressed=true]{background:var(--surface-3);color:var(--ink)}@media (width<=900px){.fgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.fcell:nth-child(3){border-left:0;border-top:1px solid var(--line);grid-column:1/-1}}@media (width<=560px){.legal{padding:12px calc(var(--edge) + 16px);flex-wrap:wrap}.legal-copy{flex-basis:100%;order:3;margin:0}}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.foot.has-play{z-index:1;background:var(--surface-0);touch-action:pan-y;-webkit-user-select:none;user-select:none;margin-top:0;position:relative;overflow:hidden}.foot.has-play a{user-select:text}.foot.has-play.over,.foot.has-play.over *{cursor:grab!important}.foot.has-play.grab,.foot.has-play.grab *{cursor:grabbing!important}.play{cursor:default;position:relative;overflow:visible}.play:before{content:"";background:var(--line);z-index:2;pointer-events:none;height:1px;position:absolute;top:0;left:0;right:0}.play canvas{pointer-events:none;width:100%;display:block;position:absolute;left:0;right:0}.fb-wrap{padding:0 calc(var(--edge) + 24px);border-top:1px solid var(--line)}.fb-wrap .fb{border-top:0;margin:0}@media (width<=900px){.fb-wrap{padding:0 calc(var(--edge) + 16px)}}
