@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-ext-wght-normal.DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-wght-normal.BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-vietnamese-wght-normal.6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-ext-wght-normal.DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-normal.BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--bg:#fafafc;--surface:#fff;--surface-2:#f5f6fa;--surface-3:#eef0f5;--ink:#111318;--ink-2:#474b57;--ink-3:#696e7c;--line:#e8e8ef;--line-strong:#d9dae4;--accent:#4447f0;--accent-ink:#3a3dd9;--accent-soft:#eef0ff;--accent-glow:#6366f129;--ok:#16a34a;--warn:#b45309;--danger:#dc2626;--paper:var(--bg);--paper-2:var(--surface-2);--paper-3:var(--surface-3);--rule:var(--line);--rule-strong:var(--line-strong);--signal:var(--accent);--signal-ink:var(--accent-ink);--signal-wash:var(--accent-soft);--beta:var(--warn);--focus:var(--accent);--term-bg:#f6f7fb;--term-bg-2:#eef0f6;--term-fg:#1d2130;--term-dim:#6b7080;--term-ok:#15803d;--term-str:#a14d0a;--term-key:#4447f0;--term-rule:#e3e4ee;--font-sans:"Geist Variable", "Geist", ui-sans-serif, system-ui, -apple-system, "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", sans-serif;--font-mono:"Geist Mono Variable", "Geist Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, "PingFang SC", monospace;--text-2xs:.75rem;--text-xs:.8125rem;--text-sm:.9375rem;--text-base:clamp(1.0625rem, 1.03rem + .15vw, 1.125rem);--text-lg:clamp(1.125rem, 1.07rem + .3vw, 1.25rem);--text-xl:clamp(1.25rem, 1.1rem + .7vw, 1.5rem);--text-2xl:clamp(1.625rem, 1.3rem + 1.5vw, 2.25rem);--text-3xl:clamp(2rem, 1.4rem + 2.6vw, 3rem);--text-hero:clamp(2.375rem, 1.3rem + 4.6vw, 4rem);--text-figure:clamp(1.75rem, 1.4rem + 1.4vw, 2.25rem);--leading-tight:1.08;--leading-snug:1.25;--leading-body:1.65;--tracking-tight:-.035em;--tracking-label:0;--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--s-8:4.5rem;--space-section:clamp(4rem, 2.5rem + 6vw, 7.5rem);--gutter:clamp(1rem, .5rem + 2.4vw, 2rem);--wide:76rem;--measure:68ch;--radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-pane:12px;--radius-chip:8px;--radius-pill:999px;--shadow-sm:0 1px 2px #1113180a, 0 1px 1px #11131808;--shadow-md:0 1px 2px #1113180a, 0 6px 16px -6px #1e22461f;--shadow-lg:0 2px 4px #11131808, 0 24px 48px -16px #282c6e2e;--shadow-pane:none;--duration-fast:.14s;--duration-normal:.26s;--ease-out-expo:cubic-bezier(.16, 1, .3, 1)}:root[data-theme=dark]{color-scheme:dark;--bg:#0e0f14;--surface:#15161d;--surface-2:#1a1c24;--surface-3:#22242e;--ink:#f1f2f6;--ink-2:#c3c6d1;--ink-3:#9a9eac;--line:#262833;--line-strong:#333644;--accent:#8b8dff;--accent-ink:#a5a7ff;--accent-soft:#1d1f3d;--accent-glow:#6366f138;--ok:#4ade80;--warn:#fbbf24;--term-bg:#12131a;--term-bg-2:#181a22;--term-fg:#e6e8ef;--term-dim:#9a9eac;--term-ok:#4ade80;--term-str:#fbbf24;--term-key:#a5a7ff;--term-rule:#262833;--shadow-md:0 1px 2px #0000004d, 0 8px 20px -8px #00000080;--shadow-lg:0 2px 4px #0000004d, 0 24px 48px -16px #0009}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:5rem}body{background:var(--bg);min-height:100vh;color:var(--ink);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-body);font-feature-settings:"ss01", "cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:lang(zh) body,body:lang(zh){line-height:1.75}img,svg,video{max-width:100%;height:auto;display:block}input,button,textarea,select{font:inherit;color:inherit}h1,h2,h3,h4{font-weight:650;line-height:var(--leading-snug);letter-spacing:-.02em;text-wrap:balance;overflow-wrap:break-word}:lang(zh) :is(h1,h2,h3,h4,.stat__value,.bill__job,.job__title){word-break:keep-all;line-break:strict;overflow-wrap:anywhere}p,li,dd,td{overflow-wrap:break-word;text-wrap:pretty}a{color:var(--accent-ink);transition:color var(--duration-fast) ease;text-decoration:none}a:hover{color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::selection{background:var(--accent-soft);color:var(--ink)}code,kbd,pre,samp{font-family:var(--font-mono);font-size:.88em}:not(pre)>code{background:var(--surface-2);border:1px solid var(--line);color:var(--ink);overflow-wrap:anywhere;border-radius:6px;padding:.1em .38em;font-size:.85em}pre{max-width:100%;padding:var(--s-4) var(--s-5);background:var(--term-bg);color:var(--term-fg);border:1px solid var(--term-rule);border-radius:var(--radius);font-size:var(--text-xs);tab-size:2;line-height:1.7;position:relative;overflow-x:auto}pre code{font-size:inherit;background:0 0;border:0;padding:0}.wrap{width:min(100% - 2 * var(--gutter), var(--wide));margin-inline:auto}.measure{max-width:var(--measure)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip-link{left:var(--gutter);z-index:50;padding:var(--s-2) var(--s-4);background:var(--ink);color:var(--bg);border-radius:var(--radius-pill);position:absolute;top:-10rem}.skip-link:focus{top:var(--s-2)}.label{font-size:var(--text-xs);color:var(--ink-3);font-weight:500}.mono{font-family:var(--font-mono)}.num{font-variant-numeric:tabular-nums}.chip{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill);font-size:var(--text-2xs);white-space:nowrap;color:var(--ink-2);align-items:center;gap:.3rem;padding:.1rem .55rem;line-height:1.6;display:inline-flex}.chip--beta{color:var(--warn);background:#fff7ed;border-color:#fde3c4}.chip--stable{color:var(--ok);background:#f0fdf4;border-color:#c9eed6}[data-theme=dark] .chip--beta{background:#2a1d0b;border-color:#4a3412}[data-theme=dark] .chip--stable{background:#0d2416;border-color:#164a2a}.section{padding-top:var(--space-section)}.section-head{justify-items:center;gap:var(--s-3);text-align:center;margin-bottom:var(--s-7);display:grid}.section-head .kicker{font-size:var(--text-sm);color:var(--accent-ink);font-weight:550}.section-head h2{font-size:var(--text-3xl);letter-spacing:var(--tracking-tight);max-width:22ch;line-height:1.12}.section-head p{color:var(--ink-2);max-width:58ch;font-size:var(--text-lg)}.page-head{padding-block:var(--s-6) var(--s-7)}.page-head h1{font-size:var(--text-3xl);letter-spacing:var(--tracking-tight);max-width:24ch;line-height:1.1}.page-head .label{margin-bottom:var(--s-2)}.page-head .lede{margin-top:var(--s-4);font-size:var(--text-lg);color:var(--ink-2);max-width:60ch}.card-surface{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.table-scroll{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);max-width:100%;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.data-table th{text-align:left;font-size:var(--text-2xs);color:var(--ink-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line);background:var(--surface-2);font-weight:550}.data-table td{padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line);vertical-align:top}.data-table tr:last-child td{border-bottom:0}.data-table td.num,.data-table th.num{text-align:right;white-space:nowrap}.data-table code{white-space:nowrap}@media (width<=40rem){.data-table.stack thead{display:none}.data-table.stack tr{gap:var(--s-1);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line);display:grid}.data-table.stack tr:last-child{border-bottom:0}.data-table.stack td{border:0;padding:0;display:block}.data-table.stack td.num{text-align:left}.data-table.stack td[data-label]:not([data-label=""]):before{content:attr(data-label) " · ";font-size:var(--text-2xs);color:var(--ink-3)}.data-table.stack code{white-space:normal}}.prose{max-width:var(--measure)}.prose>*+*{margin-top:var(--s-4)}.prose h2{margin-top:var(--s-7);font-size:var(--text-xl)}.prose h3{margin-top:var(--s-6);font-size:var(--text-lg)}.prose ul,.prose ol{padding-left:1.25rem}.prose li+li{margin-top:var(--s-2)}.prose li::marker{color:var(--ink-3)}.prose a{text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--accent) 35%, transparent);text-underline-offset:.2em}.prose blockquote{padding:var(--s-3) var(--s-4);border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--ink-2)}.prose pre{margin-block:var(--s-5)}.prose table{border-collapse:collapse;width:100%;font-size:var(--text-sm);display:block;overflow-x:auto}.prose th{text-align:left;font-size:var(--text-2xs);color:var(--ink-3);border-bottom:1px solid var(--line-strong);padding:var(--s-2) var(--s-3) var(--s-2) 0;font-weight:550}.prose td{border-bottom:1px solid var(--line);padding:var(--s-2) var(--s-3) var(--s-2) 0;vertical-align:top}.prose strong{font-weight:650}.btn{justify-content:center;align-items:center;gap:var(--s-2);background:var(--surface);min-height:2.75rem;color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform var(--duration-fast) ease, box-shadow var(--duration-fast) ease, background-color var(--duration-fast) ease;padding:.6rem 1.25rem;font-weight:550;line-height:1.2;display:inline-flex}.btn:hover{color:var(--ink);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.btn--primary,.btn--signal{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn--primary:hover,.btn--signal:hover{color:var(--bg);background:#23262f}[data-theme=dark] .btn--primary:hover,[data-theme=dark] .btn--signal:hover{background:#fff}.btn .arrow{transition:transform var(--duration-normal) var(--ease-out-expo)}.btn:hover .arrow{transform:translate(2px)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
