:root{--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
    "Segoe UI", "Helvetica Neue", Arial, "Noto Sans", sans-serif,
    "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco,
    Consolas, "Liberation Mono", "Courier New", monospace;--font-mega:"Space Grotesk", sans-serif;--color-blue-300:oklch(75.18% 0.1293 255.59);--color-blue-400:oklch(66.87% 0.1757 260.55);--color-slime-500:oklch(78.21% 0.2025 152.73);--color-slime-600:oklch(69.9% 0.1802 152.94);--color-site-bg:oklch(19.3% 0.0324 264);--color-site-surface:oklch(27.5% 0.035 261);--color-site-fg:oklch(93% 0.02 264);--color-site-heading:oklch(100% 0 none);--color-site-muted:oklch(63.89% 0.028 270.95);--color-site-accent:var(--color-blue-400);--color-site-accent-hover:var(--color-blue-300);--color-site-on-accent:oklch(20.02% 0 none);--color-site-code-bg:oklch(100% 0 0 / 6%);--color-site-border:oklch(100% 0 0 / 10%);--color-site-border-strong:oklch(100% 0 0 / 18%);--sidebar-width:17rem;--nav-height:3.25rem;--wide-max-width:86rem;--measure:48rem;color-scheme:dark light}@media(prefers-color-scheme:light){:root{--color-site-bg:#f4f6f9;--color-site-surface:#f0f3fa;--color-site-fg:#2b3757;--color-site-heading:#1a2035;--color-site-muted:#5a6b8a;--color-site-accent:#1a5fd0;--color-site-accent-hover:#0b47ab;--color-site-on-accent:#ffffff;--color-site-code-bg:rgba(26, 32, 53, 0.06);--color-site-border:rgba(0, 0, 0, 0.10);--color-site-border-strong:rgba(0, 0, 0, 0.16)}}/*!modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize*/*,::before,::after{box-sizing:border-box}html{font-family:system-ui,segoe ui,Roboto,Helvetica,Arial,sans-serif,apple color emoji,segoe ui emoji;line-height:1.15;-webkit-text-size-adjust:100%;tab-size:4}body{margin:0}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,liberation mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:initial}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}body{background-color:var(--color-site-bg);font-family:var(--font-sans);font-size:1rem;line-height:1.5;color:var(--color-site-fg)}a{color:var(--color-site-accent);text-decoration:none}a:hover{color:var(--color-site-accent-hover);text-decoration:underline}.navbar{position:sticky;top:0;z-index:40;height:var(--nav-height);background-color:var(--color-site-bg)}.navbar--on-surface{background-color:var(--color-site-surface)}.navbar-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:100%;padding-inline:1.5rem}.navbar-logo{display:flex;align-items:center;gap:.625rem;color:var(--color-site-heading);text-decoration:none}.navbar-logo:hover{color:var(--color-site-muted);text-decoration:none}.navbar-logo-icon{height:1.3rem;width:auto;flex-shrink:0;display:flex;align-items:center}.navbar-logo-icon>svg{height:100%;width:auto}.navbar-logo-text{font-weight:700;font-size:.95rem;margin-top:1px}.navbar-links{display:flex;align-items:center;gap:1.25rem}.navbar-link{font-size:.875rem;font-weight:500;color:var(--color-site-fg);text-decoration:none}.navbar-link--icon{display:flex;align-items:center;color:var(--color-site-muted)}.navbar-icon{height:1.25rem;width:auto}@media(hover:hover){.navbar-link:hover{color:var(--color-site-heading)}}@media(width < 52rem){.navbar-inner{padding-inline:1rem}.navbar-links{gap:.875rem}.navbar-link{font-size:.85rem}}@media(width < 26rem){.navbar-logo-text{display:none}}.page-home{min-height:100vh;display:flex;flex-direction:column}.site-main{flex-grow:1;display:flex;flex-direction:column;justify-content:center}.hero-inner{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center;max-width:var(--wide-max-width);margin-inline:auto;padding-inline:1.5rem;padding-block:2.5rem}@media(width >= 56rem){.hero-inner{grid-template-columns:1fr 1.2fr;gap:4rem;padding-block:5rem}}.hero-title{font-family:var(--font-mega);font-weight:900;font-size:2.8rem;line-height:1.1;color:var(--color-site-heading);margin:0 0 1.25rem}@media(width >= 56rem){.hero-title{font-size:3.6rem}}.hero-desc{font-size:1rem;line-height:1.625;color:var(--color-site-muted);margin:0 0 1.5rem}.hero-install-wrap{position:relative;margin-bottom:.75rem}.hero-ref-link{margin:.75rem 0 1rem;font-size:.875rem;font-weight:500}.hero-ref-link a{color:var(--color-site-heading);text-decoration:none}@media(hover:hover){.hero-ref-link a:hover{text-decoration:underline}}.hero-fine{font-size:.82rem;color:var(--color-site-muted);margin:0 0 1.5rem}.hero-fine a{color:var(--color-site-heading)}.hero-tip{margin:0 0 1rem;font-size:.875rem;border:1px solid var(--color-site-border-strong);border-radius:.5rem;background-color:var(--color-site-surface);padding:1rem}.hero-tip-title{margin:0 0 .625rem;font-family:var(--font-sans);font-size:.9375rem;font-weight:600;color:var(--color-site-heading)}.hero-tip-title:not(:first-child){margin-top:1rem}.hero-tip-row{display:flex;flex-wrap:wrap;align-items:center;column-gap:.75rem;row-gap:.375rem}.hero-tip-or{color:var(--color-site-muted)}.hero-tip-bar{display:flex;width:fit-content;align-items:center;border:1px solid var(--color-site-border-strong);border-radius:.5rem;background-color:var(--color-site-surface);padding-block:.5rem}.hero-tip-bar .copy-btn{margin-right:.25rem}.hero-tip-steps{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.hero-tip-bar[hidden]{display:none}#install-step1,#install-step2{white-space:pre-wrap}@media(width < 56rem){.hero-screenshot{display:none}}.hero-screenshot img{width:100%;height:auto}.site-footer{background-color:var(--color-site-bg)}.site-footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;column-gap:1.5rem;max-width:var(--wide-max-width);margin-inline:auto;padding-inline:1.5rem;padding-block:1.75rem}.site-footer-legal{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem;font-size:.85rem;color:var(--color-site-fg)}.footer-link{color:var(--color-site-fg);text-decoration:none}@media(hover:hover){.footer-link:hover{color:var(--color-site-heading)}}.site-footer-social{display:flex;align-items:center;gap:1rem}.social-link{display:inline-flex;color:var(--color-site-fg);text-decoration:none}@media(hover:hover){.social-link:hover{color:var(--color-site-heading)}}.social-icon{width:1.25rem;height:1.25rem;fill:currentcolor}.page-reference{background-color:var(--color-site-surface)}.layout{display:grid;grid-template-columns:1fr;align-items:start}@media(width >= 52rem){.layout{grid-template-columns:var(--sidebar-width)1fr}}.sidebar{background-color:var(--color-site-surface)}@media(width >= 52rem){.sidebar{position:sticky;top:var(--nav-height);height:calc(100vh - var(--nav-height));overflow-y:auto;padding-top:0;padding-bottom:1.5rem;padding-left:1.5rem;padding-right:1rem;scrollbar-width:thin;scrollbar-color:var(--color-site-border-strong)transparent}}.content-area{min-width:0}@media(width >= 52rem){.content-area{background:var(--color-site-bg);border-radius:.75rem;margin:0 .75rem .75rem}}.ref-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;max-width:var(--measure);margin-inline:auto;padding-inline:2rem;padding-top:1rem;padding-bottom:2.5rem;border-top:1px solid var(--color-site-border);font-family:var(--font-mono);font-size:.75rem;color:var(--color-site-muted)}.btn{display:inline-block;border-radius:9999px;border:1px solid var(--color-site-border-strong);background-color:var(--color-site-surface);padding-inline:1.25rem;padding-block:.625rem;font-family:var(--font-sans);font-size:.875rem;font-weight:600;color:var(--color-site-heading);text-decoration:none}@media(hover:hover){.btn:hover{border-color:var(--color-site-accent)}}.btn-primary{border-color:var(--color-slime-500);background-color:var(--color-slime-500);color:var(--color-site-on-accent)}@media(hover:hover){.btn-primary:hover{border-color:var(--color-slime-600);background-color:var(--color-slime-600)}}.install-bar{display:flex;width:100%;align-items:center;overflow:hidden;border-radius:.5rem;border:1px solid var(--color-site-border-strong);background-color:var(--color-site-surface)}.install-bar :focus-visible{outline:2px solid var(--color-site-accent);outline-offset:-2px}.install-dropdown-btn{display:flex;flex:1;cursor:pointer;align-items:center;justify-content:space-between;gap:.5rem;border-radius:.375rem;padding-inline:1rem;padding-block:.75rem;font-family:var(--font-sans);font-size:.875rem;font-weight:500;line-height:1.2;white-space:nowrap;color:var(--color-site-heading);background:0 0;border:none}@media(hover:hover){.install-dropdown-btn:hover{background-color:var(--color-site-code-bg)}}.install-dropdown-chevron{height:1rem;width:1rem;color:var(--color-site-muted);transition:transform .15s ease}.install-dropdown-btn[aria-expanded=true] .install-dropdown-chevron{transform:rotate(180deg)}.install-cmd-wrap{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;padding-inline:1rem;font-family:var(--font-mono);font-size:.875rem;white-space:nowrap;color:var(--color-site-fg)}.install-prompt{color:var(--color-site-muted);user-select:none}.copy-btn{flex-shrink:0;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:.375rem;color:var(--color-site-muted);background:0 0;border:none;padding:.25rem;line-height:0}.install-bar .copy-btn{margin-right:.25rem}@media(hover:hover){.copy-btn:hover{background-color:var(--color-site-code-bg);color:var(--color-site-heading)}}.install-menu{position:absolute;z-index:50;margin-top:.25rem;list-style:none;overflow:hidden;border-radius:.5rem;border:1px solid var(--color-site-border-strong);background-color:var(--color-site-surface);padding:.25rem;min-width:16rem;box-shadow:0 8px 24px rgb(0 0 0/24%)}.install-menu[hidden]{display:none}.install-menu li[role=option]{cursor:pointer;border-radius:.5rem;padding-inline:.75rem;padding-block:.5rem;font-size:.875rem;color:var(--color-site-fg)}@media(hover:hover){.install-menu li[role=option]:hover{background-color:var(--color-site-code-bg);color:var(--color-site-heading)}}.install-menu li[aria-selected=true]{font-weight:500;color:var(--color-site-heading)}.install-menu .picker-divider{margin-block:.25rem;border-top:1px solid var(--color-site-border)}.toc ul{padding-left:0;margin:0;list-style:none}.toc a{display:block;overflow:hidden;border-radius:.25rem;padding-inline:.5rem;padding-block:.25rem;font-family:var(--font-mono);font-size:.875rem;text-overflow:ellipsis;white-space:nowrap;color:var(--color-site-fg);text-decoration:none}@media(hover:hover){.toc a:hover{background-color:var(--color-site-code-bg);color:var(--color-site-heading)}}.toc a[data-depth="1"]{margin-top:1.25rem;font-weight:700;color:var(--color-site-heading)}.toc>ul>li:first-child>a[data-depth="1"]{margin-top:0}.toc a[data-depth="2"]{padding-left:1.25rem;font-weight:600}.toc a[data-depth="3"]{padding-left:2.25rem;font-weight:400}.toc a[data-depth="4"]{padding-left:3rem;font-size:.75rem;color:var(--color-site-muted)}@media(hover:hover){.toc a[data-depth="4"]:hover{color:var(--color-site-heading)}}.toc :target{color:var(--color-site-accent)}.content{max-width:var(--measure);margin-inline:auto;padding-inline:2rem;padding-top:2.5rem;padding-bottom:1rem}.content h1,.content h2,.content h3,.content h4,.content h5,.content h6{scroll-margin-top:calc(var(--nav-height) + 1rem);font-family:var(--font-mono);line-height:1.25;font-weight:600;color:var(--color-site-heading)}.content h1{margin-top:4rem;margin-bottom:1.25rem;font-size:1.7rem}.content h2{margin-top:3.75rem;margin-bottom:.625rem;border-top:1px solid var(--color-site-border-strong);padding-top:1rem;font-size:1.35rem}.content h3{margin-top:1.875rem;margin-bottom:.375rem;font-size:1.2rem}.content h4{margin-top:1.5rem;margin-bottom:.375rem;font-size:1.1rem;color:var(--color-site-muted)}.content h5{margin-top:1.25rem;margin-bottom:.375rem;font-size:1.05rem;color:var(--color-site-muted)}.content h6{margin-top:1rem;margin-bottom:.375rem;font-size:1rem;color:var(--color-site-muted)}.content :is(h1,h2,h3,h4,h5,h6) .heading-anchor{color:inherit;text-decoration:none}.heading-anchor-icon{margin-left:.4em;color:var(--color-site-accent);opacity:0;transition:opacity .12s ease-in-out}.content :is(h1,h2,h3,h4,h5,h6):hover .heading-anchor-icon,.heading-anchor:focus-visible .heading-anchor-icon{opacity:.6}.content :is(h1,h2,h3,h4,h5,h6):target .heading-anchor-icon{opacity:1}.content>:first-child{margin-top:0;padding-top:0}.content p{margin-top:.5rem;margin-bottom:1rem}.content code,.content kbd,.content pre{font-family:var(--font-mono);font-size:.86em}.content code{border-radius:.25rem;background-color:var(--color-site-code-bg);padding-inline:.375rem;padding-block:.125rem}.content h1 code,.content h2 code,.content h3 code,.content h4 code,.content h5 code,.content h6 code{background-color:initial;padding:0;font-size:inherit}.content table{margin-top:.75rem;margin-bottom:1.5rem;width:100%;border-collapse:collapse;font-size:.875rem}.content th,.content td{border-bottom:1px solid var(--color-site-border);padding-inline:.625rem;padding-block:.375rem;text-align:left;vertical-align:top}.content th{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.025em;color:var(--color-site-muted);text-transform:uppercase}.content td:first-child{font-family:var(--font-mono);white-space:nowrap}.highlight{--cb-bg:oklch(27.2% 0.0388 261.01);--cb-fg:oklch(93% 0.02 264);--cb-border:oklch(49.23% 0.0643 259.7);--cb-muted:oklch(63.89% 0.028 270.95);background:var(--cb-bg);border:1px solid var(--cb-border);margin-top:1rem;margin-bottom:1.5rem;overflow-x:auto;border-radius:.75rem;padding-inline:1rem;padding-block:.875rem}.highlight pre{background-color:initial}.highlight code{background-color:initial;font-size:.82rem;line-height:1.5;color:var(--cb-fg)}.highlight .c,.highlight .c1,.highlight .cm{color:var(--cb-muted);font-style:italic}.nav-toggle,.nav-toggle-btn,.nav-backdrop{display:none}@media(width < 52rem){.content-area{padding-top:3.5rem}.content{padding-top:1.5rem}.nav-toggle-btn{position:fixed;top:.75rem;left:.75rem;z-index:30;display:flex;height:2.75rem;width:2.75rem;cursor:pointer;align-items:center;justify-content:center;border-radius:.5rem;border:1px solid var(--color-site-border-strong);background-color:var(--color-site-surface);box-shadow:0 1px 4px rgb(0 0 0/.2)}.nav-toggle-bars{position:relative}.nav-toggle-bars,.nav-toggle-bars::before,.nav-toggle-bars::after{content:"";display:block;height:.125rem;width:1.25rem;background-color:var(--color-site-heading);transition:transform .2s ease,background .2s ease}.nav-toggle-bars::before{position:absolute;top:-.375rem;left:0}.nav-toggle-bars::after{position:absolute;top:.375rem;left:0}.nav-toggle{position:fixed;top:.75rem;left:.75rem;z-index:31;display:block;height:2.75rem;width:2.75rem;cursor:pointer;opacity:0}.sidebar{position:fixed;top:0;bottom:0;left:0;z-index:25;height:100vh;overflow-y:auto;border-right:1px solid var(--color-site-border);padding-top:4rem;padding-bottom:1.5rem;padding-left:1.5rem;padding-right:1rem;width:min(20rem,85vw);transform:translateX(-100%);transition:transform .25s ease}.nav-backdrop{pointer-events:none;position:fixed;inset:0;z-index:20;display:block;opacity:0;background:rgb(0 0 0/.5);transition:opacity .25s ease}.nav-toggle:checked~.layout .sidebar{transform:translateX(0)}.nav-toggle:checked~.nav-backdrop{pointer-events:auto;opacity:1}.nav-toggle:checked~.nav-toggle-btn .nav-toggle-bars{background-color:initial}.nav-toggle:checked~.nav-toggle-btn .nav-toggle-bars::before{transform:translateY(6px)rotate(45deg)}.nav-toggle:checked~.nav-toggle-btn .nav-toggle-bars::after{transform:translateY(-6px)rotate(-45deg)}.nav-toggle:focus-visible~.nav-toggle-btn{outline:2px solid var(--color-site-accent);outline-offset:2px}.has-site-nav .nav-toggle-btn,.has-site-nav .nav-toggle{top:calc(var(--nav-height) + .6rem)}}