@font-face{font-family:PingFang SF;src:url(/fonts/pingfang-latin.woff2?v=b6f63e813d3f) format("woff2");font-weight:300 800;font-display:swap;unicode-range:U+0000-058F,U+1D00-1EFF,U+2000-2BFF}@font-face{font-family:PingFang SF;src:url(/fonts/pingfang-intl.woff2?v=b6f63e813d3f) format("woff2");font-weight:300 800;font-display:swap;unicode-range:U+0590-08FF,U+0E00-0EFF,U+1000-109F,U+1100-11FF,U+1780-17FF,U+A960-A97F,U+AC00-D7FF,U+FB1D-FDFF,U+FE70-FEFF}@font-face{font-family:PingFang SF;src:url(/fonts/pingfang-cjk.woff2?v=b6f63e813d3f) format("woff2");font-weight:300 800;font-display:swap;unicode-range:U+2E80-9FFF,U+F900-FAFF,U+FE10-FE1F,U+FE30-FE4F,U+FF00-FFEF}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono.woff2?v=1) format("woff2");font-weight:400;font-display:swap}:root{--font: "PingFang SF", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Source Han Sans SC", "Microsoft YaHei", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans", sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, "PingFang SF", monospace;--ink: #0b0b0c;--ink-2: #131314;--ink-3: #1c1c1e;--paper: #eeece6;--paper-2: #e5e2da;--paper-3: #d9d5cb;--sun: #ff5b1f;--sun-ink: #e2470d;--ease: cubic-bezier(.2, .8, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-io: cubic-bezier(.7, 0, .2, 1);--beat: 484ms;--m: clamp(20px, 4.2vw, 72px);--g: clamp(12px, 1.6vw, 24px);--nav-h: 56px;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--hair: 1px;--wrap: 1680px;--ok: #3fb76a;--warn: #d9a21b;--bad: #e5484d;--up: #ff6b5e}:root,[data-theme=dark],.s-ink{color-scheme:dark;--bg: var(--ink);--bg-2: var(--ink-2);--bg-3: var(--ink-3);--fg: #ecebe6;--fg-2: rgba(236, 235, 230, .62);--fg-3: rgba(236, 235, 230, .4);--line: rgba(236, 235, 230, .12);--line-2: rgba(236, 235, 230, .22);--card: rgba(236, 235, 230, .035);--card-2: rgba(236, 235, 230, .07);--accent: var(--sun);--accent-2: var(--sun);--shadow: 0 40px 80px -40px rgba(0, 0, 0, .8), 0 0 0 1px rgba(236, 235, 230, .08);--logo-filter: none;--glass: rgba(19, 19, 20, .86)}[data-theme=light],.s-paper{color-scheme:light;--bg: var(--paper);--bg-2: var(--paper-2);--bg-3: var(--paper-3);--fg: #111110;--fg-2: rgba(17, 17, 16, .64);--fg-3: rgba(17, 17, 16, .44);--line: rgba(17, 17, 16, .13);--line-2: rgba(17, 17, 16, .24);--card: rgba(17, 17, 16, .03);--card-2: rgba(17, 17, 16, .06);--accent: var(--sun-ink);--accent-2: var(--sun-ink);--shadow: 0 40px 80px -48px rgba(40, 30, 10, .35), 0 0 0 1px rgba(17, 17, 16, .08);--logo-filter: invert(1) brightness(.1);--glass: rgba(238, 236, 230, .9)}[data-theme] .s-ink{color-scheme:dark;--bg: var(--ink);--bg-2: var(--ink-2);--bg-3: var(--ink-3);--fg: #ecebe6;--fg-2: rgba(236,235,230,.62);--fg-3: rgba(236,235,230,.4);--line: rgba(236,235,230,.12);--line-2: rgba(236,235,230,.22);--card: rgba(236,235,230,.035);--card-2: rgba(236,235,230,.07);--accent: var(--sun);--logo-filter: none}[data-theme] .s-paper{color-scheme:light;--bg: var(--paper);--bg-2: var(--paper-2);--bg-3: var(--paper-3);--fg: #111110;--fg-2: rgba(17,17,16,.64);--fg-3: rgba(17,17,16,.44);--line: rgba(17,17,16,.13);--line-2: rgba(17,17,16,.24);--card: rgba(17,17,16,.03);--card-2: rgba(17,17,16,.06);--accent: var(--sun-ink);--logo-filter: invert(1) brightness(.1)}.s-ink,.s-paper,.s-base{background:var(--bg);color:var(--fg)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--nav-h) + 16px);background:var(--bg)}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"kern";overflow-x:clip}img,svg,video,canvas,iframe{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}code,kbd,pre{font-family:var(--mono)}h1,h2,h3,h4,p,figure,dl,dd{margin:0}ul,ol{margin:0;padding:0;list-style:none}::selection{background:var(--sun);color:#0b0b0c}:focus-visible{outline:1.5px solid var(--accent);outline-offset:3px;border-radius:2px}.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip{position:fixed;left:16px;top:-60px;z-index:100;background:var(--fg);color:var(--bg);padding:10px 16px;transition:top .2s;font-size:14px}.skip:focus{top:12px}html[data-lang=en] .lang-zh,html:not([data-lang=en]) .lang-en{display:none!important}.mono,.note{font-family:var(--mono);font-size:11.5px;line-height:1.5;letter-spacing:.02em;font-feature-settings:"zero" 0}.caps{text-transform:uppercase;letter-spacing:.08em}.muted{color:var(--fg-2)}.faint{color:var(--fg-3)}.num{font-variant-numeric:tabular-nums}.tl{position:relative;display:inline-flex;align-items:baseline;gap:.45em;color:var(--fg);background:linear-gradient(currentColor,currentColor) 0 100% / 100% 1px no-repeat;padding-bottom:3px;transition:background-size .5s var(--ease-out),color .2s}.tl:hover{background-size:0 1px;background-position:100% 100%}.tl .arr{display:inline-block;transition:transform .45s var(--ease-out)}.tl:hover .arr{transform:translate(3px)}.tl.down:hover .arr{transform:translateY(3px)}.nav.s-ink,.nav.s-paper{background:transparent}.nav{position:fixed;inset:0 0 auto;z-index:50;height:var(--nav-h);color:var(--fg);transition:transform .6s var(--ease-out),background-color .3s,color .3s}.nav:after{content:"";position:absolute;left:var(--m);right:var(--m);bottom:0;height:1px;background:var(--line);transform:scaleX(0);transform-origin:0 0;transition:transform .8s var(--ease-out)}.nav.is-scrolled{background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.nav.is-scrolled:after{transform:none}.nav.is-hidden{transform:translateY(-100%)}.nav-inner{height:100%;padding-inline:var(--m);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;max-width:var(--wrap);margin-inline:auto}.nav-logo{justify-self:start;display:flex;align-items:center}.nav-logo img{height:22px;width:auto;filter:var(--logo-filter)}.nav-index{display:flex;gap:2px;font-family:var(--mono);font-size:11.5px;letter-spacing:.02em}.nav-index a{display:inline-flex;gap:8px;padding:6px 10px;color:var(--fg-3);transition:color .25s}.nav-index a i{font-style:normal;color:var(--fg-3);transition:color .25s}.nav-index a:hover,.nav-index a[aria-current]{color:var(--fg)}.nav-index a[aria-current] i{color:var(--accent)}.nav-tools{justify-self:end;display:flex;align-items:center;gap:2px;font-size:13px}.nav-tools>a,.nav-tools>button{height:32px;padding:0 10px;display:inline-flex;align-items:center;gap:6px;color:var(--fg-2);transition:color .2s}.nav-tools>a:hover,.nav-tools>button:hover{color:var(--fg)}.nav-tools .gh b{font-weight:500;font-family:var(--mono);font-size:11.5px;font-variant-numeric:tabular-nums}.nav-tools .nav-dl{color:var(--fg)}.nav-tools .nav-dl:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:2px}.icon-btn{width:32px;justify-content:center;padding:0!important}.icon-btn .lang-zh,.icon-btn .lang-en{font-family:var(--mono);font-size:11.5px}[data-theme=dark] .i-moon,[data-theme=light] .i-sun{display:none}@media(max-width:1040px){.nav-index{display:none}.nav-inner{grid-template-columns:1fr auto}}@media(max-width:560px){.nav-tools .gh,.nav-tools .nav-docs{display:none}}.footer{position:relative;z-index:2;background:var(--bg);color:var(--fg);padding:0 var(--m) 32px}.footer-inner{max-width:var(--wrap);margin-inline:auto;border-top:1px solid var(--line);padding-top:28px;display:grid;grid-template-columns:repeat(12,1fr);gap:var(--g);font-size:13px}.footer h4{font-family:var(--mono);font-size:11px;font-weight:400;color:var(--fg-3);margin-bottom:12px;letter-spacing:.02em}.footer a{display:block;color:var(--fg-2);padding:3px 0;transition:color .2s}.footer a:hover{color:var(--fg)}.footer .f-brand{grid-column:1 / span 4}.footer .f-brand img{height:20px;width:auto;filter:var(--logo-filter);margin-bottom:14px}.footer .f-brand p{color:var(--fg-3);max-width:30em}.footer .f-col{grid-column:span 2}.footer .f-col:nth-of-type(2){grid-column:7 / span 2}.footer-legal{max-width:var(--wrap);margin:48px auto 0;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-family:var(--mono);font-size:11px;color:var(--fg-3)}.f-font{flex-basis:100%;line-height:1.7}.f-font a,.doc-foot .f-font a{display:inline;padding:0;color:inherit;text-decoration:underline;text-underline-offset:2px}.doc-foot .f-font{margin-top:28px;font-family:var(--mono);font-size:11px;line-height:1.7;color:var(--fg-3)}@media(max-width:860px){.footer .f-brand{grid-column:1 / -1}.footer .f-col,.footer .f-col:nth-of-type(2){grid-column:span 4}}@media(max-width:520px){.footer .f-col,.footer .f-col:nth-of-type(2){grid-column:span 6}}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,12px);opacity:0;background:var(--fg);color:var(--bg);padding:8px 14px;font-family:var(--mono);font-size:12px;z-index:90;transition:opacity .25s,transform .4s var(--ease-out);pointer-events:none}.toast.show{opacity:1;transform:translate(-50%)}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
