@font-face{font-family:Manrope;src:url(/fonts/manrope/manrope-latin-wght-normal.woff2)format("woff2");font-weight:400 700;font-style:normal;font-display:swap;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}@font-face{font-family:Manrope;src:url(/fonts/manrope/manrope-latin-ext-wght-normal.woff2)format("woff2");font-weight:400 700;font-style:normal;font-display:swap;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:IBM Plex Mono;src:url(/fonts/ibm-plex-mono/ibm-plex-mono-latin-400-normal.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap;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}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-400-normal.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap;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:IBM Plex Mono;src:url(/fonts/ibm-plex-mono/ibm-plex-mono-latin-500-normal.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap;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}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-500-normal.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap;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:IBM Plex Mono;src:url(/fonts/ibm-plex-mono/ibm-plex-mono-latin-600-normal.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap;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}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-600-normal.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap;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}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-serif:"Noto Serif SC", "Source Han Serif SC", "Noto Serif JP", "Songti SC", "SimSun", Georgia, serif;--font-sans:"Manrope", "Noto Sans SC", "Source Han Sans SC", "Noto Sans JP", "PingFang SC", "Hiragino Sans GB", "Hiragino Kaku Gothic ProN", "Microsoft YaHei UI", "Microsoft YaHei", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "Cascadia Mono", "Source Code Pro", monospace;--text-sm:.875rem;--lh-sm:1.25rem;--text-base:1rem;--lh-base:1.5rem;--text-lg:1.125rem;--lh-lg:1.75rem;--text-2xl:1.875rem;--lh-2xl:2.25rem;--text-hero:clamp(1.75rem, 1rem + 3.2vw, 3.75rem);--lh-prose-zh:1.8;--lh-prose-en:1.65;--measure-prose-zh:42em;--measure-prose:65ch;--measure-heading:680px;--container-max:1240px;--sp-0:0px;--sp-2:2px;--sp-4:4px;--sp-8:8px;--sp-12:12px;--sp-16:16px;--sp-24:24px;--sp-32:32px;--sp-40:40px;--sp-48:48px;--sp-64:64px;--sp-80:80px;--sp-96:96px;--hairline:.5px;--r-outer:6px;--r-inner:2px;--z-base:1;--z-sticky:20;--z-header:30;--z-popover:40;--z-drawer:50;--ease-out:cubic-bezier(.22, 1, .36, 1);--motion-scene:.22s;--motion-fast:.22s var(--ease-out);--motion-base:.32s var(--ease-out);--motion-slow:.48s var(--ease-out);--density-page-py:var(--sp-32);--density-section-gap:var(--sp-48);--density-panel-pad:var(--sp-24);--density-row-py:var(--sp-16);--density-header-py:var(--sp-12);--appbar-min-h:40px;--sand-1-l:#fdfdfc;--sand-2-l:#f9f9f8;--sand-3-l:#f1f0ef;--sand-4-l:#e9e8e6;--sand-5-l:#e2e1de;--sand-6-l:#dad9d6;--sand-7-l:#cfceca;--sand-8-l:#bcbbb5;--sand-9-l:#8d8d86;--sand-10-l:#82827c;--sand-11-l:#63635e;--sand-12-l:#21201c;--sand-1-d:#111110;--sand-2-d:#191918;--sand-3-d:#222221;--sand-4-d:#2a2a28;--sand-5-d:#31312e;--sand-6-d:#3b3a37;--sand-7-d:#494844;--sand-8-d:#62605b;--sand-9-d:#6f6d66;--sand-10-d:#7c7b74;--sand-11-d:#b5b3ad;--sand-12-d:#eeeeec;--umber-9-l:#7c4316;--umber-10-l:#633410;--umber-soft-l:#f5ece3;--umber-ink-l:#fdfdfc;--tungsten-9-d:#dfa55d;--tungsten-10-d:#eab879;--tungsten-soft-d:#281f15;--tungsten-ink-d:#14110e;--act-1-l:#754f12;--act-1-bg-l:#f6efe0;--act-1-bd-l:#d9c498;--act-2-l:#1c546e;--act-2-bg-l:#e6eff4;--act-2-bd-l:#b4cfde;--act-3-l:#1c614f;--act-3-bg-l:#e5f1ed;--act-3-bd-l:#b0d2c8;--act-1-d:#dfb66c;--act-1-bg-d:#251f14;--act-1-bd-d:#574525;--act-2-d:#7ec0df;--act-2-bg-d:#152229;--act-2-bd-d:#2b4a5b;--act-3-d:#6fc4ad;--act-3-bg-d:#142520;--act-3-bd-d:#284d42;--danger-l:#942b23;--danger-soft-l:#f6ebe9;--danger-border-l:#dfc2be;--danger-d:#e5857b;--danger-soft-d:#291a19;--danger-border-d:#5c3532;--mark-bg-l:#f2e3b6;--mark-bg-d:#3a3118;--bg-canvas:var(--sand-1-l);--bg-subtle:var(--sand-2-l);--bg-surface:var(--sand-3-l);--bg-hover:var(--sand-4-l);--bg-active:var(--sand-5-l);--border-subtle:var(--sand-6-l);--border-strong:var(--sand-7-l);--border-focus:var(--sand-8-l);--text-muted:var(--sand-11-l);--text-primary:var(--sand-12-l);--accent:var(--umber-9-l);--accent-hover:var(--umber-10-l);--accent-soft:var(--umber-soft-l);--accent-ink:var(--umber-ink-l);--act-1:var(--act-1-l);--act-1-bg:var(--act-1-bg-l);--act-1-border:var(--act-1-bd-l);--act-2:var(--act-2-l);--act-2-bg:var(--act-2-bg-l);--act-2-border:var(--act-2-bd-l);--act-3:var(--act-3-l);--act-3-bg:var(--act-3-bg-l);--act-3-border:var(--act-3-bd-l);--stage-plan:var(--act-1);--stage-plan-bg:var(--act-1-bg);--stage-plan-border:var(--act-1-border);--stage-plot:var(--act-2);--stage-plot-bg:var(--act-2-bg);--stage-plot-border:var(--act-2-border);--stage-write:var(--act-3);--stage-write-bg:var(--act-3-bg);--stage-write-border:var(--act-3-border);--danger:var(--danger-l);--danger-soft:var(--danger-soft-l);--danger-border:var(--danger-border-l);--mark-bg:var(--mark-bg-l)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root:has(>head>meta[name=color-scheme][content=dark]),:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root:has(>head>meta[name=color-scheme][content=light]),:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not(:has(>head>meta[name=color-scheme][content=light])):not([data-theme=light]){--bg-canvas:var(--sand-1-d);--bg-subtle:var(--sand-2-d);--bg-surface:var(--sand-3-d);--bg-hover:var(--sand-4-d);--bg-active:var(--sand-5-d);--border-subtle:var(--sand-6-d);--border-strong:var(--sand-7-d);--border-focus:var(--sand-8-d);--text-muted:var(--sand-11-d);--text-primary:var(--sand-12-d);--accent:var(--tungsten-9-d);--accent-hover:var(--tungsten-10-d);--accent-soft:var(--tungsten-soft-d);--accent-ink:var(--tungsten-ink-d);--act-1:var(--act-1-d);--act-1-bg:var(--act-1-bg-d);--act-1-border:var(--act-1-bd-d);--act-2:var(--act-2-d);--act-2-bg:var(--act-2-bg-d);--act-2-border:var(--act-2-bd-d);--act-3:var(--act-3-d);--act-3-bg:var(--act-3-bg-d);--act-3-border:var(--act-3-bd-d);--danger:var(--danger-d);--danger-soft:var(--danger-soft-d);--danger-border:var(--danger-border-d);--mark-bg:var(--mark-bg-d)}}:root:has(>head>meta[name=color-scheme][content=dark]),:root[data-theme=dark]{--bg-canvas:var(--sand-1-d);--bg-subtle:var(--sand-2-d);--bg-surface:var(--sand-3-d);--bg-hover:var(--sand-4-d);--bg-active:var(--sand-5-d);--border-subtle:var(--sand-6-d);--border-strong:var(--sand-7-d);--border-focus:var(--sand-8-d);--text-muted:var(--sand-11-d);--text-primary:var(--sand-12-d);--accent:var(--tungsten-9-d);--accent-hover:var(--tungsten-10-d);--accent-soft:var(--tungsten-soft-d);--accent-ink:var(--tungsten-ink-d);--act-1:var(--act-1-d);--act-1-bg:var(--act-1-bg-d);--act-1-border:var(--act-1-bd-d);--act-2:var(--act-2-d);--act-2-bg:var(--act-2-bg-d);--act-2-border:var(--act-2-bd-d);--act-3:var(--act-3-d);--act-3-bg:var(--act-3-bg-d);--act-3-border:var(--act-3-bd-d);--danger:var(--danger-d);--danger-soft:var(--danger-soft-d);--danger-border:var(--danger-border-d);--mark-bg:var(--mark-bg-d)}@supports (color:light-dark(white, black)){:root{--bg-canvas:light-dark(var(--sand-1-l),var(--sand-1-d));--bg-subtle:light-dark(var(--sand-2-l),var(--sand-2-d));--bg-surface:light-dark(var(--sand-3-l),var(--sand-3-d));--bg-hover:light-dark(var(--sand-4-l),var(--sand-4-d));--bg-active:light-dark(var(--sand-5-l),var(--sand-5-d));--border-subtle:light-dark(var(--sand-6-l),var(--sand-6-d));--border-strong:light-dark(var(--sand-7-l),var(--sand-7-d));--border-focus:light-dark(var(--sand-8-l),var(--sand-8-d));--text-muted:light-dark(var(--sand-11-l),var(--sand-11-d));--text-primary:light-dark(var(--sand-12-l),var(--sand-12-d));--accent:light-dark(var(--umber-9-l),var(--tungsten-9-d));--accent-hover:light-dark(var(--umber-10-l),var(--tungsten-10-d));--accent-soft:light-dark(var(--umber-soft-l),var(--tungsten-soft-d));--accent-ink:light-dark(var(--umber-ink-l),var(--tungsten-ink-d));--act-1:light-dark(var(--act-1-l),var(--act-1-d));--act-1-bg:light-dark(var(--act-1-bg-l),var(--act-1-bg-d));--act-1-border:light-dark(var(--act-1-bd-l),var(--act-1-bd-d));--act-2:light-dark(var(--act-2-l),var(--act-2-d));--act-2-bg:light-dark(var(--act-2-bg-l),var(--act-2-bg-d));--act-2-border:light-dark(var(--act-2-bd-l),var(--act-2-bd-d));--act-3:light-dark(var(--act-3-l),var(--act-3-d));--act-3-bg:light-dark(var(--act-3-bg-l),var(--act-3-bg-d));--act-3-border:light-dark(var(--act-3-bd-l),var(--act-3-bd-d));--danger:light-dark(var(--danger-l),var(--danger-d));--danger-soft:light-dark(var(--danger-soft-l),var(--danger-soft-d));--danger-border:light-dark(var(--danger-border-l),var(--danger-border-d));--mark-bg:light-dark(var(--mark-bg-l),var(--mark-bg-d))}}[data-density=compact]{--density-page-py:var(--sp-16);--density-section-gap:var(--sp-24);--density-panel-pad:var(--sp-12);--density-row-py:var(--sp-8);--density-header-py:var(--sp-8)}@media (forced-colors:active){:root{--bg-canvas:Canvas;--bg-subtle:Canvas;--bg-surface:Canvas;--border-subtle:CanvasText;--border-strong:CanvasText;--border-focus:Highlight;--text-muted:GrayText;--text-primary:CanvasText;--accent:Highlight;--accent-ink:HighlightText;--act-1:CanvasText;--act-1-bg:Canvas;--act-1-border:CanvasText;--act-2:CanvasText;--act-2-bg:Canvas;--act-2-border:CanvasText;--act-3:CanvasText;--act-3-bg:Canvas;--act-3-border:CanvasText;--danger:LinkText;--danger-border:CanvasText}}@media (prefers-reduced-motion:reduce){:root{--motion-scene:0s;--motion-fast:.15s linear;--motion-base:0s linear;--motion-slow:0s linear}}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}::view-transition-old(root){animation-duration:var(--motion-scene);animation-timing-function:var(--ease-out)}::view-transition-new(root){animation-duration:var(--motion-scene);animation-timing-function:var(--ease-out)}::view-transition-group(site-chrome-top){animation-duration:var(--motion-scene);animation-timing-function:var(--ease-out)}::view-transition-old(site-chrome-top){animation-duration:var(--motion-scene);animation-timing-function:var(--ease-out)}::view-transition-new(site-chrome-top){animation-duration:var(--motion-scene);animation-timing-function:var(--ease-out)}::view-transition-group(site-chrome-bottom){animation-duration:var(--motion-scene);animation-timing-function:var(--ease-out)}::view-transition-old(site-chrome-bottom){animation-duration:var(--motion-scene);animation-timing-function:var(--ease-out)}::view-transition-new(site-chrome-bottom){animation-duration:var(--motion-scene);animation-timing-function:var(--ease-out)}}html{accent-color:var(--accent);scrollbar-width:auto;scrollbar-color:var(--border-focus) var(--bg-subtle);font-variant-numeric:tabular-nums}@supports not (scrollbar-color:auto){::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-thumb{background:var(--border-focus)}::-webkit-scrollbar-track{background:var(--bg-subtle)}}::selection{background-color:var(--accent-soft);color:var(--text-primary)}*,:before,:after{box-sizing:border-box}body{margin:var(--sp-0);background-color:var(--bg-canvas);min-block-size:100dvh;color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--lh-prose-en);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;flex-direction:column;font-style:normal;font-weight:400;display:flex}:root:lang(zh-CN) body{line-height:var(--lh-prose-zh)}img{block-size:auto;max-inline-size:100%;display:block}.visually-hidden:where(:not(:focus-within,:active)){clip-path:inset(50%)!important;block-size:1px!important;inline-size:1px!important;margin:var(--sp-0)!important;padding:var(--sp-0)!important;border:var(--sp-0)!important;white-space:nowrap!important;position:absolute!important;overflow:hidden!important}.skip-link:is(:focus,:focus-visible,:active){z-index:var(--z-drawer);padding:var(--sp-8) var(--sp-12);background-color:var(--accent);color:var(--accent-ink);border-radius:var(--r-inner);font-size:var(--text-sm);line-height:var(--lh-sm);font-weight:600;text-decoration:none;position:fixed;inset-block-start:var(--sp-12);inset-inline-start:var(--sp-12)}:where(a:any-link,button,summary,[tabindex="0"]):focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3{color:var(--text-primary);font-family:var(--font-serif);text-wrap:balance;margin-block-start:var(--sp-0);margin-block-end:var(--sp-12);font-style:normal;font-weight:600}h1{max-inline-size:var(--measure-heading);font-size:var(--text-2xl);line-height:var(--lh-2xl);letter-spacing:-.02em}h1[tabindex="-1"]:focus{outline:none}h2{max-inline-size:var(--measure-heading);font-size:var(--text-lg);line-height:var(--lh-lg)}h3{max-inline-size:var(--measure-heading);font-size:var(--text-base);line-height:var(--lh-base)}p,li,dd,blockquote{text-wrap:pretty}p{margin-block-start:var(--sp-0);margin-block-end:var(--sp-16)}strong{color:var(--text-primary);font-weight:600}em{font-style:normal;font-weight:500}code,.coord,.eyebrow-mono{font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--lh-sm);font-variant-numeric:tabular-nums;font-weight:500}code{padding:var(--sp-2) var(--sp-4);background-color:var(--bg-subtle);border:var(--hairline) solid var(--border-subtle);border-radius:var(--r-inner)}.coord-chip{padding:var(--sp-0) var(--sp-4);background-color:var(--bg-subtle);border:var(--hairline) solid var(--border-strong);border-radius:var(--r-inner);text-decoration:none;display:inline-block}.coord-chip:hover{background-color:var(--bg-hover)}a{color:var(--accent);text-decoration:underline;text-decoration-thickness:var(--hairline);text-underline-offset:4px;transition:color var(--motion-fast), background-color var(--motion-fast), border-color var(--motion-fast)}a:hover{color:var(--accent-hover)}.shell-container{inline-size:100%;max-inline-size:var(--container-max);padding-inline:var(--sp-24);margin-inline:auto}@media (width<=600px){.shell-container{padding-inline:var(--sp-16)}}.site-main{padding-block:var(--sp-24) var(--sp-48);flex:1}.page-stack{gap:var(--density-section-gap);display:grid}.prose-measure{max-inline-size:var(--measure-prose)}:root:lang(zh-CN) .prose-measure{max-inline-size:var(--measure-prose-zh)}.site-header{z-index:var(--z-header);background-color:var(--bg-canvas);border-block-end:var(--hairline) solid var(--border-subtle);view-transition-name:site-chrome-top;position:sticky;inset-block-start:var(--sp-0)}.header-inner{justify-content:space-between;align-items:safe center;gap:var(--sp-16);padding-block:var(--density-header-py);display:flex}.header-inner>*{white-space:nowrap;flex-shrink:0}.site-brand{color:var(--text-primary);font-family:var(--font-serif);font-size:var(--text-lg);line-height:var(--lh-lg);font-weight:600;text-decoration:none}.site-brand:hover{color:var(--accent)}.header-right{align-items:safe center;gap:var(--sp-12);display:flex}.site-nav{align-items:safe center;display:flex}.menu-button{anchor-name:--menu-button;min-block-size:var(--sp-32);padding:var(--sp-4) var(--sp-12);background-color:var(--bg-subtle);color:var(--text-primary);border:var(--hairline) solid var(--border-strong);border-radius:var(--r-inner);font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--lh-sm);cursor:pointer;transition:background-color var(--motion-fast), transform var(--motion-fast);justify-content:center;align-items:center;font-weight:600;display:inline-flex}.menu-button:hover{background-color:var(--bg-hover)}@media (prefers-reduced-motion:no-preference){.menu-button:active{transform:scale(.98)}}.site-menu{inset:auto;inset-block-start:var(--sp-64);inline-size:min(80dvw,280px);max-inline-size:calc(100dvw - var(--sp-32));block-size:fit-content;max-block-size:calc(100dvh - var(--sp-96));margin:var(--sp-0);padding:var(--sp-8);background-color:var(--bg-canvas);border:var(--hairline) solid var(--border-strong);border-radius:var(--r-outer);overscroll-behavior:contain;z-index:var(--z-popover);margin-block-start:var(--sp-8);list-style:none;position:fixed;inset-block-start:anchor(--menu-button bottom);inset-inline-end:var(--sp-24);overflow:auto}.site-header:not(.is-wide) .site-menu:not(:is(:popover-open,.\:popover-open)){display:none}.site-header:not(.is-wide) .site-menu:is(:popover-open,.\:popover-open){gap:var(--sp-4);display:grid}.site-menu a{min-block-size:var(--sp-32);padding:var(--sp-4) var(--sp-12);color:var(--text-muted);border-radius:var(--r-inner);font-size:var(--text-sm);line-height:var(--lh-sm);align-items:center;font-weight:500;text-decoration:none;display:flex}.site-menu a:hover{background-color:var(--bg-hover);color:var(--text-primary)}.site-menu a[aria-current=page]{background-color:var(--bg-surface);color:var(--text-primary);font-weight:600}.site-header:not(.is-wide) .theme-group-inline{display:none}.menu-theme-item{justify-content:space-between;align-items:center;gap:var(--sp-12);padding:var(--sp-8) var(--sp-12) var(--sp-4);border-block-start:var(--hairline) solid var(--border-subtle);margin-block-start:var(--sp-4);display:flex}.menu-theme-label{font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--text-muted)}.site-header.is-wide .menu-button,.site-header.is-wide .menu-theme-item{display:none}.site-header.is-wide .site-menu{align-items:center;gap:var(--sp-4);block-size:auto;max-block-size:none;inline-size:auto;max-inline-size:none;margin:var(--sp-0);padding:var(--sp-0);border:var(--sp-0);border-radius:var(--sp-0);background:0 0;display:flex;position:static;overflow:visible}.site-header.is-wide .site-menu::backdrop{display:none}.site-header.is-measuring *,.site-header.is-measuring :before,.site-header.is-measuring :after{transition:none!important}.header-controls{align-items:center;gap:var(--sp-8);display:flex}.seg-group{align-items:center;gap:var(--sp-2);padding:var(--sp-4);background-color:var(--bg-subtle);border:var(--hairline) solid var(--border-subtle);border-radius:var(--r-outer);display:inline-flex}.seg-item{min-block-size:var(--sp-24);padding:var(--sp-2) var(--sp-8);color:var(--text-muted);border:var(--sp-0);border-radius:var(--r-inner);font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--lh-sm);cursor:pointer;transition:background-color var(--motion-fast), color var(--motion-fast), transform var(--motion-fast);background:0 0;justify-content:center;align-items:center;font-weight:500;text-decoration:none;display:inline-flex}.seg-item:hover{color:var(--text-primary);background-color:var(--bg-hover)}@media (prefers-reduced-motion:no-preference){.seg-item:active{transform:scale(.98)}}.seg-item[aria-current=true],.seg-item[aria-pressed=true]{background-color:var(--bg-surface);color:var(--text-primary);font-weight:600}@media (width<=480px){.shell-container.header-inner{gap:var(--sp-8);padding-inline:var(--sp-16)}.header-right{gap:var(--sp-8)}.site-brand{font-size:var(--text-base);line-height:var(--lh-base)}:lang(en) h1{line-height:1.3}}@media (width<=380px){.site-header:not(.is-wide) .header-inner{flex-wrap:wrap}}@media (pointer:coarse){.menu-button,.btn-primary,.btn-secondary{min-block-size:var(--sp-40)}.seg-item{min-block-size:var(--sp-32)}.social-icon-list.is-compact .social-icon-btn{inline-size:var(--sp-40);block-size:var(--sp-40)}}@media (forced-colors:active){.site-menu a[aria-current=page],.seg-item[aria-current=true],.seg-item[aria-pressed=true]{outline:1px solid canvastext;text-decoration:underline}}.breadcrumb{margin-block-end:var(--sp-24)}.breadcrumb>ol{align-items:center;gap:var(--sp-8);margin:var(--sp-0);padding:var(--sp-0);font-size:var(--text-sm);line-height:var(--lh-sm);flex-wrap:wrap;list-style:none;display:flex}.breadcrumb>ol>li{align-items:center;gap:var(--sp-8);display:inline-flex}.breadcrumb>ol>li+li:before{content:"/";content:"/" / "";font-family:var(--font-mono);color:var(--border-focus)}.breadcrumb>ol>li>a{color:var(--text-muted);text-decoration:underline;text-decoration-thickness:var(--hairline);text-underline-offset:4px}.breadcrumb>ol>li>a:hover{color:var(--text-primary)}.breadcrumb>ol>li>a[aria-current=page]{color:var(--text-primary);font-weight:600;text-decoration:none}@media (forced-colors:active){.breadcrumb>ol>li>a[aria-current=page]{text-decoration:underline}}.btn-primary,.btn-secondary{justify-content:center;align-items:center;gap:var(--sp-8);min-block-size:var(--sp-32);padding:var(--sp-8) var(--sp-12);border-radius:var(--r-inner);font-family:var(--font-sans);cursor:pointer;white-space:nowrap;transition:background-color var(--motion-fast), color var(--motion-fast), border-color var(--motion-fast), transform var(--motion-fast);text-decoration:none;display:inline-flex}.btn-primary{background-color:var(--accent);color:var(--accent-ink);border:var(--hairline) solid var(--accent);font-size:var(--text-base);line-height:var(--lh-base);font-weight:600}.btn-primary:hover{background-color:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-ink)}.btn-secondary{background-color:var(--bg-subtle);color:var(--text-primary);border:var(--hairline) solid var(--border-strong);font-size:var(--text-sm);line-height:var(--lh-sm);font-weight:600}.btn-secondary:hover{background-color:var(--bg-hover);color:var(--text-primary)}@media (prefers-reduced-motion:no-preference){.btn-primary:active,.btn-secondary:active{transform:scale(.98)}}:is(.btn-primary,.btn-secondary,.menu-button,.seg-item,.social-icon-btn):is(:disabled,[aria-disabled=true]){opacity:.5;cursor:not-allowed;pointer-events:none}.act-tag,.stage-badge,.status-badge{align-items:center;gap:var(--sp-4);padding:var(--sp-2) var(--sp-8);border-radius:var(--r-inner);font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--lh-sm);white-space:nowrap;font-weight:500;display:inline-flex}.act-tag,.stage-badge{background-color:var(--bg-subtle);color:var(--text-primary);border:var(--hairline) solid var(--border-strong)}.act-tag[data-act="1"]{background-color:var(--act-1-bg);color:var(--act-1);border-color:var(--act-1-border)}.act-tag[data-act="2"]{background-color:var(--act-2-bg);color:var(--act-2);border-color:var(--act-2-border)}.act-tag[data-act="3"]{background-color:var(--act-3-bg);color:var(--act-3);border-color:var(--act-3-border)}.act-pips{align-items:center;gap:var(--sp-4);display:inline-flex}.act-pip{inline-size:var(--sp-8);block-size:var(--sp-8);border-radius:var(--sp-0);flex-shrink:0;display:inline-block}.act-pip.p1{background-color:var(--act-1)}.act-pip.p2{background-color:var(--act-2)}.act-pip.p3{background-color:var(--act-3)}.status-badge{background-color:var(--accent-soft);color:var(--text-primary);border:var(--hairline) solid var(--accent)}.pipeline-strip{border:var(--hairline) solid var(--border-strong);border-radius:var(--r-outer);background-color:var(--bg-subtle);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:clip}.pipeline-step{gap:var(--sp-4);padding:var(--sp-12) var(--sp-16);color:var(--text-muted);display:grid}.pipeline-step+.pipeline-step{border-inline-start:var(--hairline) solid var(--border-subtle)}.pipeline-step[data-act="1"][data-active=true]{background-color:var(--act-1-bg);color:var(--text-primary)}.pipeline-step[data-act="2"][data-active=true]{background-color:var(--act-2-bg);color:var(--text-primary)}.pipeline-step[data-act="3"][data-active=true]{background-color:var(--act-3-bg);color:var(--text-primary)}.pipeline-step-name{align-items:center;gap:var(--sp-8);font-size:var(--text-sm);line-height:var(--lh-sm);font-variant-numeric:tabular-nums;font-weight:600;display:inline-flex}.pipeline-step[data-act="1"][data-active=true] .pipeline-step-name{color:var(--act-1)}.pipeline-step[data-act="2"][data-active=true] .pipeline-step-name{color:var(--act-2)}.pipeline-step[data-act="3"][data-active=true] .pipeline-step-name{color:var(--act-3)}.pipeline-step-desc{font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--text-muted)}.pipeline-step[data-active=true] .pipeline-step-desc{color:var(--text-primary)}@media (forced-colors:active){.pipeline-step[data-active=true] .pipeline-step-name{text-decoration:underline}}@media (width<=720px){.pipeline-strip{grid-template-columns:1fr}.pipeline-step+.pipeline-step{border-inline-start:var(--sp-0);border-block-start:var(--hairline) solid var(--border-subtle)}}@keyframes whisperDriftRight{0%{transform:translate3d(calc(-1 * var(--sp-32)), var(--sp-0), 0)}to{transform:translate3d(var(--sp-32), var(--sp-0), 0)}}@keyframes whisperDriftLeft{0%{transform:translate3d(var(--sp-32), var(--sp-0), 0)}to{transform:translate3d(calc(-1 * var(--sp-32)), var(--sp-0), 0)}}.quote-stage{padding-block:var(--sp-64);padding-inline:var(--sp-24);border-block-start:var(--hairline) solid var(--border-strong);border-block-end:var(--hairline) solid var(--border-strong);margin-block-end:var(--sp-32);position:relative;overflow:clip}@media (width<=640px){.quote-stage{padding-block:var(--sp-48);padding-inline:var(--sp-12)}}.quote-stage-ambient{inset:var(--sp-0);pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;overflow:clip}.quote-whisper{white-space:nowrap;font-family:var(--font-serif);font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--text-primary);opacity:.08;font-weight:400;position:absolute}@media (prefers-color-scheme:dark){:root:not(:has(>head>meta[name=color-scheme][content=light])):not([data-theme=light]) .quote-whisper{opacity:.095}}:root:has(>head>meta[name=color-scheme][content=dark]) .quote-whisper,:root[data-theme=dark] .quote-whisper{opacity:.095}.amb-lane-1{inset-block-start:6%;inset-inline-start:4%}.amb-lane-2{inset-block-start:13%;inset-inline-end:5%}.amb-lane-3{inset-block-start:20%;inset-inline-start:16%}.amb-lane-4{opacity:.055;inset-block-start:46%;inset-inline-start:2%}.amb-lane-5{opacity:.055;inset-block-start:54%;inset-inline-end:2%}.amb-lane-6{inset-block-start:84%;inset-inline-end:4%}.amb-lane-7{inset-block-start:91%;inset-inline-start:4%}@media (width<=640px){.amb-lane-2,.amb-lane-3,.amb-lane-4,.amb-lane-5,.amb-lane-6{display:none}}@media (prefers-reduced-motion:no-preference){.amb-lane-1{animation:28s ease-in-out -4s infinite alternate whisperDriftRight}.amb-lane-2{animation:24s ease-in-out -11s infinite alternate whisperDriftLeft}.amb-lane-3{animation:32s ease-in-out -7s infinite alternate whisperDriftLeft}.amb-lane-4{animation:26s ease-in-out -15s infinite alternate whisperDriftRight}.amb-lane-5{animation:30s ease-in-out -19s infinite alternate whisperDriftLeft}.amb-lane-6{animation:29s ease-in-out -6s infinite alternate whisperDriftRight}.amb-lane-7{animation:34s ease-in-out -13s infinite alternate whisperDriftLeft}}@media (forced-colors:active){.quote-stage-ambient{display:none}}.quote-stage-foreground{z-index:var(--z-base);text-align:center;place-items:center;display:grid;position:relative}.quote-stage-sizer,.quote-stage-active{grid-area:1/1;place-items:center;inline-size:100%;display:grid}.quote-stage-sizer-item,.quote-stage-active{justify-items:center;gap:var(--sp-16);inline-size:100%;display:grid}.quote-stage-sizer-item{grid-area:1/1}.quote-stage-sizer{visibility:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}.quote-stage-active{opacity:1;transform:translateY(var(--sp-0));transition:opacity var(--motion-slow), transform var(--motion-slow)}.quote-stage-active.is-leaving{opacity:0;transform:translateY(calc(-1 * var(--sp-4)));transition:opacity .42s var(--ease-out), transform .42s var(--ease-out)}.quote-stage-active.is-entering{opacity:0;transform:translateY(var(--sp-8));transition:none}.quote-stage-heading{margin:var(--sp-0);max-inline-size:min(100%,19em);font-family:var(--font-serif);font-size:var(--text-hero);letter-spacing:-.015em;color:var(--text-primary);text-wrap:balance;font-weight:600;line-height:1.28}:root:lang(en) .quote-stage-heading{letter-spacing:-.025em;max-inline-size:min(100%,38ch);line-height:1.18}.quote-stage-author{margin:var(--sp-0);padding-inline:var(--sp-12);background-color:var(--bg-canvas);border-radius:var(--r-inner);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--lh-base);color:var(--text-muted);font-weight:500}.home-layout{align-items:start;gap:var(--sp-40);grid-template-columns:minmax(0,1fr) 264px;display:grid}.home-main{min-inline-size:0}.home-sidebar{position:sticky;inset-block-start:var(--sp-80)}@media (width<=1024px){.home-layout{gap:var(--sp-32);grid-template-columns:1fr}.home-sidebar{position:static}}.author-card{text-align:center;justify-items:center;gap:var(--sp-12);padding:var(--sp-24);background-color:var(--bg-subtle);border:var(--hairline) solid var(--border-strong);border-radius:var(--r-outer);display:grid}.author-avatar{inline-size:var(--sp-80);block-size:var(--sp-80);object-fit:cover;object-position:center 15%;border:var(--hairline) solid var(--border-subtle);background-color:var(--bg-surface);border-radius:50%}.author-name{margin:var(--sp-0);font-family:var(--font-serif);font-size:var(--text-lg);line-height:var(--lh-lg);color:var(--text-primary);font-weight:600}.author-bio{margin:var(--sp-0);font-size:var(--text-sm);line-height:var(--lh-base);color:var(--text-muted);word-break:keep-all;max-inline-size:24ch}.author-role-token{display:inline-block}.social-icon-list{justify-content:center;align-items:center;gap:var(--sp-8);margin:var(--sp-4) var(--sp-0) var(--sp-0);padding:var(--sp-0);flex-wrap:wrap;list-style:none;display:flex}.social-icon-list.is-compact{margin:var(--sp-0)}.social-icon-btn{inline-size:var(--sp-40);block-size:var(--sp-40);background-color:var(--bg-canvas);color:var(--text-muted);border:var(--hairline) solid var(--border-strong);border-radius:var(--r-inner);transition:background-color var(--motion-fast), color var(--motion-fast), border-color var(--motion-fast), transform var(--motion-fast);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.social-icon-list.is-compact .social-icon-btn{inline-size:var(--sp-32);block-size:var(--sp-32)}.social-icon-btn svg{flex-shrink:0;block-size:18px;inline-size:18px}.social-icon-list.is-compact .social-icon-btn svg{inline-size:var(--sp-16);block-size:var(--sp-16)}.social-icon-btn:hover{background-color:var(--bg-hover);color:var(--accent);border-color:var(--border-focus)}@media (prefers-reduced-motion:no-preference){.social-icon-btn:active{transform:scale(.98)}}.ledger{border-block-start:var(--hairline) solid var(--border-strong);margin:var(--sp-0);padding:var(--sp-0);list-style:none}.ledger-row{align-items:start;gap:var(--sp-24);padding-block:var(--sp-24);border-block-end:var(--hairline) solid var(--border-subtle);grid-template-columns:176px minmax(0,1fr) 192px;display:grid}:lang(en) .ledger-row{grid-template-columns:176px minmax(0,1fr) 224px}.ledger-coord :is(.act-tag,.stage-badge,.status-badge){white-space:normal}.ledger-coord{justify-items:start;gap:var(--sp-8);display:grid}.ledger-index{font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--text-muted);font-variant-numeric:tabular-nums;font-weight:600}.ledger-body{gap:var(--sp-8);max-inline-size:var(--measure-prose-zh);display:grid}.ledger-body h2,.ledger-body h3{margin-block-end:var(--sp-0)}.ledger-body p{color:var(--text-muted);margin-block-end:var(--sp-0)}.ledger-actions{gap:var(--sp-8);grid-template-columns:1fr;align-self:start;display:grid}.ledger-actions>a{white-space:normal;text-align:center;inline-size:100%}@media (width<=900px){.ledger-row,:lang(en) .ledger-row{gap:var(--sp-16);grid-template-columns:1fr}.ledger-coord{align-items:center;gap:var(--sp-12);flex-wrap:wrap;display:flex}.ledger-actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;display:flex}.ledger-actions>a{inline-size:auto}}.section-block{gap:var(--sp-24);display:grid}.section-head{justify-content:space-between;align-items:baseline;gap:var(--sp-12);flex-wrap:wrap;display:flex}.section-head h2{margin-block-end:var(--sp-0)}.section-sub{color:var(--text-muted);font-size:var(--text-sm);line-height:var(--lh-sm);margin-block-end:var(--sp-0)}.page-intro{gap:var(--sp-16);border-block-end:var(--hairline) solid var(--border-subtle);padding-block-end:var(--sp-24);display:grid}.page-intro h1{margin-block-end:var(--sp-0)}.page-lead{max-inline-size:var(--measure-prose-zh);color:var(--text-muted);margin-block-end:var(--sp-0)}.action-bar{align-items:center;gap:var(--sp-12);flex-wrap:wrap;display:flex}.guide-grid{align-items:start;gap:var(--sp-40);grid-template-columns:minmax(0,1fr) 280px;display:grid}.spec-panel{gap:var(--sp-16);padding:var(--sp-24);background-color:var(--bg-subtle);border:var(--hairline) solid var(--border-strong);border-radius:var(--r-outer);display:grid;position:sticky;inset-block-start:var(--sp-80)}.spec-list{gap:var(--sp-16);margin:var(--sp-0);display:grid}.spec-item{gap:var(--sp-4);display:grid}.spec-item+.spec-item{border-block-start:var(--hairline) solid var(--border-subtle);padding-block-start:var(--sp-16)}.spec-item dt{font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--text-primary);font-weight:600}.spec-item dd{margin:var(--sp-0);font-size:var(--text-sm);line-height:var(--lh-base);color:var(--text-muted)}.guide-main{gap:var(--sp-32);min-inline-size:0;display:grid}.guide-section{gap:var(--sp-16);display:grid}.guide-section+.guide-section{border-block-start:var(--hairline) solid var(--border-subtle);padding-block-start:var(--sp-32)}.guide-section h2{margin-block-end:var(--sp-0)}.guide-list{gap:var(--sp-12);margin:var(--sp-0);max-inline-size:var(--measure-prose-zh);padding-inline-start:var(--sp-24);display:grid}.guide-list li{padding-inline-start:var(--sp-4)}@media (width<=900px){.guide-grid{gap:var(--sp-24);grid-template-columns:1fr}.spec-panel{position:static}}.tool-shot{margin:var(--sp-0);border:var(--hairline) solid var(--border-strong);border-radius:var(--r-outer);background-color:var(--bg-subtle);overflow:clip}.tool-shot img{aspect-ratio:1024/640;background-color:var(--bg-surface);block-size:auto;inline-size:100%}.tool-shot figcaption{padding:var(--sp-12) var(--sp-16);border-block-start:var(--hairline) solid var(--border-subtle);font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--text-muted)}.method-layout{align-items:start;gap:var(--sp-40);grid-template-columns:minmax(0,1fr) 240px;display:grid}.method-toc{gap:var(--sp-12);padding:var(--sp-16);background-color:var(--bg-subtle);border:var(--hairline) solid var(--border-subtle);border-radius:var(--r-outer);display:grid;position:sticky;inset-block-start:var(--sp-80)}.method-toc-title{margin:var(--sp-0);font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--text-primary);font-weight:600}.method-toc ol{gap:var(--sp-8);margin:var(--sp-0);padding:var(--sp-0);font-size:var(--text-sm);line-height:var(--lh-sm);list-style:none;display:grid}.method-toc a{color:var(--text-muted);text-decoration:none}.method-toc a:hover{color:var(--accent);text-decoration:underline}.method-toc a[aria-current=page]{color:var(--text-primary);font-weight:600}.method-article{gap:var(--sp-32);max-inline-size:var(--measure-prose-zh);display:grid}.method-article section{gap:var(--sp-16);border-block-start:var(--hairline) solid var(--border-subtle);padding-block-start:var(--sp-32);scroll-margin-block-start:var(--sp-80);display:grid}.method-article section:first-child{border-block-start:var(--sp-0);padding-block-start:var(--sp-0)}.method-article section:focus{outline:none}.method-article h2{margin-block-end:var(--sp-0)}.method-article ol,.method-article ul{gap:var(--sp-12);margin:var(--sp-0);padding-inline-start:var(--sp-24);display:grid}.method-article ol.verbatim-steps{padding-inline-start:var(--sp-0);list-style:none}.method-note{padding:var(--sp-16) var(--sp-24);background-color:var(--bg-subtle);border:var(--hairline) solid var(--border-strong);border-radius:var(--r-outer)}.method-note p:last-child{margin-block-end:var(--sp-0)}.method-crosslinks{align-items:center;gap:var(--sp-12);font-size:var(--text-sm);line-height:var(--lh-sm);flex-wrap:wrap;padding-block-start:var(--sp-8);display:flex}@media (width<=900px){.method-layout{gap:var(--sp-24);grid-template-columns:1fr}.method-toc{position:static}}.table-wrapper{border:var(--hairline) solid var(--border-strong);border-radius:var(--r-outer);background-color:var(--bg-canvas);max-inline-size:100%;overflow:auto;container-type:inline-size}.data-table{border-collapse:separate;border-spacing:0;inline-size:100%;font-size:var(--text-sm);line-height:var(--lh-base)}.data-table caption{padding:var(--sp-12) var(--sp-16);background-color:var(--bg-subtle);border-block-end:var(--hairline) solid var(--border-subtle);color:var(--text-primary);text-align:start;font-weight:600}.data-table thead{z-index:var(--z-base);position:sticky;inset-block-start:var(--sp-0)}.data-table th,.data-table td{padding:var(--sp-12) var(--sp-16);text-align:start;vertical-align:top}.data-table thead th{background-color:var(--bg-subtle);border-block-end:var(--hairline) solid var(--border-subtle);color:var(--text-primary);font-weight:600}.data-table tbody tr+tr>th,.data-table tbody tr+tr>td{border-block-start:var(--hairline) solid var(--border-subtle)}.data-table tbody th{background-color:var(--bg-canvas);color:var(--text-primary);white-space:nowrap;font-weight:600;position:sticky;inset-inline-start:var(--sp-0)}.data-table td+td,.data-table th+td,.data-table th+th{border-inline-start:var(--hairline) solid var(--border-subtle)}@container (width<560px){.data-table,.data-table thead,.data-table tbody,.data-table tr,.data-table th,.data-table td{display:block}.data-table thead{display:none}.data-table tbody tr+tr{border-block-start:var(--hairline) solid var(--border-strong)}.data-table tbody tr+tr>th,.data-table tbody tr+tr>td{border-block-start:var(--sp-0)}.data-table td+td,.data-table th+td{border-inline-start:var(--sp-0);border-block-start:var(--hairline) solid var(--border-subtle)}.data-table tbody th{z-index:var(--z-base);background-color:var(--bg-subtle);white-space:normal;position:sticky;inset-block-start:var(--sp-0)}.data-table[data-stacked=true] td:nth-child(2):before{content:var(--col-2) "：";color:var(--text-primary);font-weight:600}.data-table[data-stacked=true] td:nth-child(3):before{content:var(--col-3) "：";color:var(--text-primary);font-weight:600}}.archive-panel{gap:var(--sp-16);max-inline-size:var(--measure-prose-zh);padding:var(--sp-24);background-color:var(--bg-subtle);border:var(--hairline) solid var(--border-strong);border-radius:var(--r-outer);display:grid}.archive-panel p:last-child{margin-block-end:var(--sp-0)}.stage-direction-heading{font-family:var(--font-serif);color:var(--text-muted);margin-block-end:var(--sp-0)}:lang(zh) .stage-direction-heading,:lang(zh) .stage-direction-h1{text-indent:-.42em}.next-step-bar{justify-content:space-between;align-items:center;gap:var(--sp-16);padding:var(--sp-24);background-color:var(--bg-subtle);border:var(--hairline) solid var(--border-strong);border-radius:var(--r-outer);flex-wrap:wrap;display:flex}.next-step-copy{gap:var(--sp-4);display:grid}.next-step-label{font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--text-muted);font-weight:600}.next-step-title{font-family:var(--font-serif);font-size:var(--text-lg);line-height:var(--lh-lg);color:var(--text-primary);font-weight:600}.site-footer{border-block-start:var(--hairline) solid var(--border-subtle);background-color:var(--bg-subtle);padding-block:var(--sp-32);view-transition-name:site-chrome-bottom}.footer-inner{justify-content:space-between;align-items:center;gap:var(--sp-16);font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--text-muted);flex-wrap:wrap;display:flex}.footer-left{align-items:center;gap:var(--sp-16);flex-wrap:wrap;display:flex}.footer-links{align-items:center;gap:var(--sp-16);margin:var(--sp-0);padding:var(--sp-0);flex-wrap:wrap;list-style:none;display:flex}.footer-links a{color:var(--text-muted)}.footer-links a:hover{color:var(--text-primary)}
