@font-face{font-family:GeistSans;src:url(/fonts/geist/geist-sans-latin.4971e7c0.woff2) format("woff2");font-display:swap;font-weight:100 900;unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+2070-209f,u+20a0-20cf,u+2100-214f,u+2190-21ff,u+22??,u+23??,u+25a0-25ff,u+2600-27bf,u+feff,u+fffd}@font-face{font-family:GeistSans;src:url(/fonts/geist/geist-sans-ext.414bc873.woff2) format("woff2");font-display:swap;font-weight:100 900;unicode-range:u+0100-0113,u+0116-012b,u+012e-0130,u+0132-0137,u+0139-013e,u+0141-0148,u+014a-014d,u+0150-0151,u+0154-017e,u+018f,u+0192,u+01a0-01a1,u+01af-01b0,u+01cd-01ce,u+01e4-01e9,u+0218-021b,u+0237,u+0259,u+02b9,u+02c7-02c8,u+02d8-02d9,u+02db,u+02dd,u+0300-0303,u+0306-0307,u+0309-030c,u+0312,u+031b,u+0323,u+0326-0328,u+0335-0338,u+039b,u+03a9,u+03bb-03bc,u+03c0,u+03c9,u+0400-045f,u+0462-0463,u+046a-046b,u+0472-0475,u+0490-0493,u+0496-0497,u+049a-049b,u+04a2-04a3,u+04ae-04b3,u+04b6-04b7,u+04ba-04bb,u+04c0,u+04cf,u+04d8-04d9,u+04e2-04e3,u+04e8-04e9,u+04ee-04ef,u+0e3f,u+1e20-1e21,u+1e80-1e85,u+1e9e,u+1ea0-1ef9,u+2153-2155,u+215b-215e,u+2460-2468,u+24ea,u+24ff,u+3003,u+301c,u+a78b-a78c,u+f8ff,u+fb01-fb02}@font-face{font-family:GeistMono;src:url(/fonts/geist/geist-mono-latin.1735a36b.woff2) format("woff2");font-display:swap;font-weight:100 900;unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+2070-209f,u+20a0-20cf,u+2100-214f,u+2190-21ff,u+22??,u+23??,u+25a0-25ff,u+2600-27bf,u+feff,u+fffd}@font-face{font-family:GeistMono;src:url(/fonts/geist/geist-mono-ext.30bec495.woff2) format("woff2");font-display:swap;font-weight:100 900;unicode-range:u+0100-0113,u+0116-012b,u+012e-0130,u+0134-0137,u+0139-013e,u+0141-0148,u+014a-014d,u+0150-0151,u+0154-017e,u+018f,u+0192,u+01a0-01a1,u+01af-01b0,u+01cd-01ce,u+01e4-01e9,u+0218-021b,u+0237,u+0259,u+02b9,u+02c7-02c8,u+02d8-02d9,u+02db,u+02dd,u+0300-0303,u+0306-0307,u+0309-030c,u+0312,u+031b,u+0323,u+0326-0328,u+0335-0338,u+039b,u+03a9,u+03bb-03bc,u+03c0,u+0400-045f,u+0462-0463,u+046a-046b,u+0472-0475,u+0490-0493,u+0496-0497,u+049a-049b,u+04a2-04a3,u+04ae-04b3,u+04b6-04b7,u+04ba-04bb,u+04c0,u+04cf,u+04d8-04d9,u+04e2-04e3,u+04e8-04e9,u+04ee-04ef,u+0e3f,u+1e20-1e21,u+1e80-1e85,u+1e9e,u+1ea0-1ef9,u+2153-2155,u+215b-215e,u+240b-240c,u+2423,u+2460-2468,u+24ea,u+24ff-259f,u+3003,u+301c,u+a78b-a78c,u+f8ff}@font-face{font-family:GeistSans Fallback;src:local("Arial");ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.00%;size-adjust:106.28%}:root{--font-geist-sans:"GeistSans","GeistSans Fallback";--font-geist-mono:"GeistMono",ui-monospace,SFMono-Regular,"Roboto Mono",Menlo,Monaco,"Liberation Mono","DejaVu Sans Mono","Courier New",monospace;color-scheme:light dark;--v2-color-bg:light-dark(#ffffff,#0a0a0a);--v2-color-fg:light-dark(#0a0a0a,#fafafa);--v2-color-fg-muted:light-dark(#6e6e6e,#a3a3a3);--v2-color-border:light-dark(#e5e5e5,#ffffff1a);--v2-color-input:light-dark(#e5e5e5,#ffffff26);--v2-color-ring:light-dark(#8a8a8a,#737373);--v2-color-surface:light-dark(#f5f5f5,#262626);--v2-color-surface-raised:light-dark(#ffffff,#171717);--v2-color-accent:light-dark(#171717,#e5e5e5);--v2-color-accent-fg:light-dark(#fafafa,#171717);--v2-color-danger:light-dark(#c81e1e,#f87171);--v2-font-sans:var(--font-geist-sans,ui-sans-serif),ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--v2-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%;background:var(--v2-color-bg,light-dark(#ffffff,#0a0a0a));touch-action:manipulation}body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}[data-bm-keyboard=open] body{padding-bottom:0}[data-bm-keyboard=open],[data-bm-keyboard=open] body{overscroll-behavior:none}.v2m-code pre{margin:0;min-width:max-content;overflow:visible;padding:1.25rem;background:transparent!important;font-family:var(--v2-font-mono);font-size:.8125rem;line-height:1.5rem}.v2m-code code{counter-reset:v2m-line}.v2m-code .line{display:inline;counter-increment:v2m-line}.v2m-code .line:before{display:inline-block;width:1.75rem;margin-inline-end:1rem;color:var(--v2-color-fg-muted);content:counter(v2m-line);font-variant-numeric:tabular-nums;opacity:.55;text-align:end;user-select:none}@media (min-width:640px){.v2m-code pre{padding:1.5rem}}body{font-family:var(
    --v2-font-sans,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif
  );color:var(--v2-color-fg,light-dark(#18181b,#ededf0));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.v2l-page{flex:1;min-height:0;overflow-y:auto;padding:3.5rem 1.5rem 4rem}.v2l-hero{max-width:44rem;margin-inline:auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.25rem}.v2l-title{margin:0;font-size:clamp(1.875rem,5vw,2.75rem);font-weight:600;letter-spacing:-.02em;line-height:1.15}.v2l-lede{margin:0;max-width:34rem;font-size:1.0625rem;line-height:1.6;color:var(--_fg-muted)}.v2l-cta-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:center}.v2l-cta{display:inline-flex;align-items:center;background:var(--_accent);color:var(--_accent-fg);border-radius:var(--_radius-md);padding:.5625rem 1.125rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:filter .1s ease}.v2l-cta:hover{filter:brightness(1.08)}.v2l-cta-secondary:focus-visible,.v2l-cta:focus-visible{outline:2px solid var(--_accent);outline-offset:2px}.v2l-cta-secondary{display:inline-flex;align-items:center;border:1px solid var(--_border);border-radius:var(--_radius-md);padding:.5rem 1.125rem;font-size:.875rem;color:var(--_fg);text-decoration:none;transition:background-color .1s ease}.v2l-cta-secondary:hover{background:var(--_surface)}.v2l-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:0;margin:.75rem 0 0;border:1px solid var(--_border);border-radius:var(--_radius-md);overflow:hidden}.v2l-stat{display:flex;flex-direction:column;gap:.125rem;padding:.625rem 1.25rem;border-inline-start:1px solid var(--_border)}.v2l-stat:first-child{border-inline-start:none}.v2l-stat dt{font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--_fg-muted)}.v2l-stat dd{margin:0;font-family:var(--_mono);font-size:.875rem}.v2l-providers{display:flex;flex-wrap:wrap;justify-content:center;gap:.375rem;margin:0;padding:0;list-style:none}.v2l-provider-chip{font-family:var(--_mono);font-size:.75rem;color:var(--_fg-muted);border:1px solid var(--_border);border-radius:var(--_radius-sm);padding:.1875rem .5rem}.v2l-registry-note{margin:0;font-size:.8125rem;color:var(--_fg-muted)}.v2l-grid{max-width:56rem;margin:3rem auto 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:1rem}.v2l-card{border:1px solid var(--_border);border-radius:var(--_radius-md);padding:1.25rem}.v2l-card h2{margin:0 0 .5rem;font-size:.9375rem;font-weight:600}.v2l-card p{margin:0;font-size:.8438rem;line-height:1.6;color:var(--_fg-muted)}.bm-loader{overflow:visible}.bm-loader .bm-track{opacity:var(--bm-loader-track,.12)}.bm-loader .bm-ink path{stroke-dasharray:100 200;stroke-dashoffset:100;opacity:0;animation-duration:var(--bm-loader-duration,2.8s);animation-timing-function:cubic-bezier(.45,0,.25,1);animation-iteration-count:infinite;animation-fill-mode:both;animation-play-state:var(--bm-loader-play-state,running)}.bm-loader .bm-b-spine{animation-name:bm-v1-spine}.bm-loader .bm-b-upper{animation-name:bm-v1-b-upper}.bm-loader .bm-b-lower{animation-name:bm-v1-b-lower}.bm-loader .bm-m-upper{animation-name:bm-v1-m-upper}.bm-loader .bm-m-lower{animation-name:bm-v1-m-lower}@keyframes bm-v1-spine{0%{stroke-dashoffset:100;opacity:0}1%{opacity:1}18%,76%{stroke-dashoffset:0;opacity:1}90%,to{stroke-dashoffset:-100;opacity:0}}@keyframes bm-v1-b-upper{0%,6%{stroke-dashoffset:100;opacity:0}7%{opacity:1}30%,78%{stroke-dashoffset:0;opacity:1}92%,to{stroke-dashoffset:-100;opacity:0}}@keyframes bm-v1-b-lower{0%,18%{stroke-dashoffset:100;opacity:0}19%{opacity:1}42%,80%{stroke-dashoffset:0;opacity:1}94%,to{stroke-dashoffset:-100;opacity:0}}@keyframes bm-v1-m-upper{0%,35%{stroke-dashoffset:100;opacity:0}36%{opacity:1}57%,83%{stroke-dashoffset:0;opacity:1}97%,to{stroke-dashoffset:-100;opacity:0}}@keyframes bm-v1-m-lower{0%,46%{stroke-dashoffset:100;opacity:0}47%{opacity:1}68%,86%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:-100;opacity:0}}@media (prefers-reduced-motion:reduce){.bm-loader .bm-ink path{animation:none;stroke-dasharray:none;stroke-dashoffset:0;opacity:1}.bm-loader .bm-track{opacity:0}}.nf-float{animation:nf-float 5s ease-in-out infinite}.nf-beam{animation:nf-beam 5s ease-in-out infinite}@keyframes nf-float{50%{transform:translateY(-5px)}}@keyframes nf-beam{50%{opacity:.6}}@media (prefers-reduced-motion:reduce){.nf-beam,.nf-float{animation:none}}html[data-bro-font=system]{--v2-font-sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"}html[data-bro-zoom="90"]{font-size:90%}html[data-bro-zoom="110"]{font-size:110%}html[data-bro-zoom="120"]{font-size:120%}