:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-paper:#f6f5f1;--color-ink:#17191c;--color-muted:#73777d;--color-divider:#dfe0dc;--color-accent:#c45b43;--color-surface:#eae9e3;--font-heading:"Newsreader", "Noto Serif SC", Georgia, serif;--font-body:"Inter", "Noto Sans SC", system-ui, sans-serif;--font-mono:"IBM Plex Mono", Consolas, monospace;--text-small:.875rem;--text-body:1.0625rem;--text-lead:1.125rem;--text-hero:clamp(4rem, 6vw, 4.75rem);--text-section:clamp(2.25rem, 3.5vw, 2.75rem);--line-body:1.65;--line-heading:1.15;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius-small:2px;--radius-medium:4px;--border-subtle:1px solid var(--color-divider);--control-min-size:44px;--duration-fast:.16s;--ease-standard:ease-out;--content-width:1160px;--page-gutter:40px;--section-spacing:128px}@media (width<=640px){:root{--page-gutter:20px;--section-spacing:80px;--text-body:1rem;--text-lead:1rem;--text-hero:clamp(2.375rem, 7vw, 2.75rem);--text-section:clamp(1.75rem, 5vw, 2rem)}}:lang(zh){--font-heading:"Noto Serif SC", "Songti SC", SimSun, serif;--font-body:"Noto Sans SC", "Microsoft YaHei", system-ui, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-body);line-height:var(--line-body);-webkit-font-smoothing:antialiased;margin:0}.shell,.container{width:min(var(--content-width), calc(100% - var(--page-gutter) * 2));margin-inline:auto}.container{padding-block:0}.site-header{border-bottom:var(--border-subtle)}.header-top{justify-content:space-between;align-items:center;gap:var(--space-5);padding-block:var(--space-5) var(--space-3);display:flex}.brand{font-family:var(--font-mono);font-size:var(--text-small);overflow-wrap:anywhere;min-width:0;text-decoration:none}.primary-nav{gap:var(--space-2) var(--space-6);padding-bottom:var(--space-3);flex-wrap:wrap;display:flex}.primary-nav a{font-size:var(--text-small);text-decoration:none}.language-switch{gap:var(--space-3);font-size:var(--text-small);flex-shrink:0;display:flex}.language-switch a{min-width:var(--control-min-size);justify-content:center}.primary-nav a[aria-current=location],.mobile-menu a[aria-current=location]{text-decoration:underline;-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);text-decoration-thickness:2px}.primary-nav a:hover,.mobile-menu a:hover{text-decoration:underline}.language-switch a[aria-current=page]{-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);text-decoration-thickness:2px}.mobile-menu{display:none}.site-footer{align-items:center;gap:var(--space-4) var(--space-6);border-top:var(--border-subtle);padding-block:var(--space-5);font-size:var(--text-small);flex-wrap:wrap;display:flex}.site-footer>p{margin:0}.site-footer>a{margin-left:auto}.skip-link{left:var(--page-gutter);padding:var(--space-2);background:var(--color-paper);z-index:10;position:absolute;top:0;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}section,footer{scroll-margin-top:var(--space-5)}.eyebrow,.section-number{font-family:var(--font-mono);font-size:var(--text-small);overflow-wrap:anywhere}h1{margin-block:var(--space-6) var(--space-5);font-family:var(--font-heading);font-size:var(--text-hero);font-weight:400;line-height:var(--line-heading);letter-spacing:-.035em}h2{font-family:var(--font-heading);font-size:var(--text-section);font-weight:400;line-height:var(--line-heading)}h3{font-size:1.25rem;font-weight:500;line-height:1.4}p{max-width:70ch}.intro{font-size:var(--text-lead);max-width:35rem}button,input,textarea,select{font:inherit}button,summary{min-height:var(--control-min-size)}a{min-height:var(--control-min-size);color:inherit;text-underline-offset:5px;transition:text-decoration-color var(--duration-fast) var(--ease-standard);align-items:center;gap:.5em;display:inline-flex}a:hover{-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}:focus-visible{outline:2px solid var(--color-ink);outline-offset:5px}.button-link:focus-visible{outline-offset:4px;outline:3px double var(--color-ink)}.workflow-node summary:hover{text-underline-offset:4px;text-decoration:underline}.workflow-node summary:focus-visible{outline-offset:-3px}.workflow-node[open] summary{font-weight:600}.node-toggle{transition:transform var(--duration-fast) var(--ease-standard)}img,svg{max-width:100%}.hero-section{padding-top:var(--space-7)}.hero-edition{align-items:center;gap:var(--space-3);display:flex}.signal-dot{background:var(--color-accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.hero-grid{gap:var(--space-7);padding-block:var(--space-5) var(--space-8);grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);align-items:center;display:grid}.hero-second-line{font-style:italic}:lang(zh) .hero-second-line{font-style:normal}.hero-actions{gap:var(--space-4) var(--space-6);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.button-link{padding:var(--space-2) var(--space-5);background:var(--color-ink);color:var(--color-paper);border-radius:var(--radius-small);text-decoration:none}.button-link:hover{text-decoration:underline;-webkit-text-decoration-color:var(--color-paper);text-decoration-color:var(--color-paper)}.hero-diagram{padding:var(--space-5);background:var(--color-surface);border-radius:var(--radius-small);margin:0}.hero-diagram figcaption{gap:var(--space-4);font:.75rem var(--font-mono);justify-content:space-between;display:flex}.hero-diagram svg{width:100%;height:auto;display:block}.hero-diagram text{fill:var(--color-ink);font-family:var(--font-mono);font-size:12px}.diagram-guide{fill:none;stroke:var(--color-divider);stroke-dasharray:3 5}.diagram-path{fill:none;stroke:var(--color-ink);stroke-width:1px}.diagram-node{fill:var(--color-paper);stroke:var(--color-divider)}.diagram-node.active{stroke:var(--color-accent);stroke-width:2px}.diagram-dot{fill:var(--color-accent)}.hero-diagram p{margin-bottom:0;font-size:.75rem}.hero-bottom{justify-content:space-between;gap:var(--space-5);padding-block:var(--space-5);border-top:var(--border-subtle);font-size:var(--text-small);align-items:center;display:flex}.hero-bottom p{margin:0}.page-section{padding-block:var(--section-spacing) 0}.section-heading{gap:var(--space-5);border-top:var(--border-subtle);padding-top:var(--space-5);margin-bottom:var(--space-7);align-items:baseline;display:flex}.section-heading h2{margin:0}.section-number{min-width:2rem}.section-intro{max-width:43rem;margin-block:calc(-1 * var(--space-5)) var(--space-7)}.about-grid{gap:var(--space-8);grid-template-columns:1.1fr 1fr;display:grid}.editorial-lead{font-family:var(--font-heading);margin-top:0;font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.25}.about-body{max-width:49ch}dl{margin:0}dt{font-size:var(--text-small);margin-bottom:var(--space-2);font-weight:600}dd{margin:0}.about-details>div{border-bottom:var(--border-subtle);padding-block:var(--space-5)}.about-details>div:first-child{padding-top:0}.about-details>div:last-child{border-bottom:0}.focus-grid{gap:var(--space-6);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.focus-item{border-top:2px solid var(--color-ink);padding-top:var(--space-5)}.focus-item h3{font-family:var(--font-heading);font-size:1.75rem}.focus-item p{font-size:1rem}.keyword-list{margin:var(--space-6) 0 0;gap:var(--space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.keyword-list li{font-family:var(--font-mono);padding:var(--space-1) var(--space-2);border:var(--border-subtle);border-radius:var(--radius-small);font-size:.75rem}.project-feature{gap:var(--space-8);padding:var(--space-7);background:var(--color-surface);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);display:grid}.project-identity h3{font-family:var(--font-heading);margin-block:var(--space-5);font-size:clamp(2.5rem,4vw,3.5rem)}.project-identity h3 a{text-decoration:none}.project-identity h3 a:hover{text-decoration:underline}.project-identity h3 span{font-family:var(--font-body);font-size:1.5rem}.status-label{align-items:center;gap:var(--space-2);font-family:var(--font-mono);border:1px solid var(--color-ink);padding:var(--space-1) var(--space-3);border-radius:var(--radius-small);font-size:.75rem;display:inline-flex}.project-description{margin-top:0;font-size:1.25rem}.project-story dl>div{margin-block:var(--space-5)}.repository-stats{gap:var(--space-4) var(--space-6);flex-wrap:wrap;display:flex}.project-story .repository-stats>div{margin-block:0 var(--space-4)}.github-data-note{font-size:var(--text-small);margin-top:var(--space-5)}.project-links{gap:var(--space-3) var(--space-5);font-size:var(--text-small);flex-wrap:wrap;display:flex}.lab-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-6);display:flex}.lab-heading .section-intro{margin-top:0}.lab-heading .status-label{flex-shrink:0}.workflow{margin:var(--space-5) 0 0;gap:var(--space-3);grid-template-columns:repeat(6,minmax(0,1fr));align-items:start;padding:0;list-style:none;display:grid}.workflow>li{min-width:0;position:relative}.workflow>li:not(:last-child):after{content:"";background:var(--color-ink);width:12px;height:1px;position:absolute;top:40px;right:-12px}.workflow-node{border:var(--border-subtle);background:var(--color-surface)}.workflow-node summary{cursor:pointer;gap:var(--space-2);min-height:128px;padding:var(--space-4);font-size:var(--text-small);grid-template-columns:1fr auto;list-style:none;display:grid}.workflow-node summary::-webkit-details-marker{display:none}.mobile-menu summary::-webkit-details-marker{display:none}.workflow-number{font:.75rem var(--font-mono);grid-column:1/-1}.node-toggle{align-self:start}.workflow-node[open]{border-color:var(--color-accent)}.workflow-node[open] .node-toggle{transform:rotate(45deg)}.node-content{padding:0 var(--space-4) var(--space-4);font-size:var(--text-small);overflow-wrap:anywhere}.node-content p{margin-top:0}.node-content dt{font-size:.75rem}.node-content dl>div+div{margin-top:var(--space-4)}.notes-empty{align-items:center;gap:var(--space-7);border-top:var(--border-subtle);border-bottom:var(--border-subtle);padding-block:var(--space-7);display:flex}.notes-mark{font-family:var(--font-mono);white-space:nowrap;font-size:2rem}.notes-empty h3{margin:0 0 var(--space-2)}.notes-empty p{margin:0;font-size:1rem}.contact-section{padding-bottom:var(--section-spacing)}.contact-grid{gap:var(--space-8);grid-template-columns:1.4fr 1fr;align-items:center;display:grid}.contact-invitation{font-family:var(--font-heading);margin:0;font-size:clamp(2.5rem,6vw,4.5rem);line-height:1.15}.contact-link{border-bottom:1px solid var(--color-ink);padding-block:var(--space-4);justify-content:space-between;font-size:1.5rem;text-decoration:none}.contact-link:hover{border-bottom-color:var(--color-accent)}.container>section:not([id]){padding-block:var(--section-spacing)}@media (width<=1000px){.hero-grid{gap:var(--space-5);grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.hero-section h1{font-size:clamp(2.75rem,6vw,4rem)}.primary-nav{gap:var(--space-2) var(--space-5)}.workflow{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr))}.workflow>li:after{display:none}.about-grid,.project-feature{gap:var(--space-6)}}@media (width<=700px){.header-top{gap:var(--space-3);padding-block:var(--space-4)}.brand{font-size:.75rem}.primary-nav{display:none}.mobile-menu{border-top:var(--border-subtle);display:block}.mobile-menu summary{cursor:pointer;font-size:var(--text-small);justify-content:space-between;align-items:center;list-style:none;display:flex}.mobile-menu[open] summary>span{transform:rotate(45deg)}.mobile-menu nav{gap:var(--space-2) var(--space-4);padding-block:var(--space-3) var(--space-5);grid-template-columns:1fr 1fr;display:grid}.mobile-menu nav a{font-size:var(--text-small);text-decoration:none}.hero-grid,.about-grid,.project-feature,.contact-grid{grid-template-columns:1fr}.hero-grid{padding-bottom:var(--space-7);gap:var(--space-7)}.hero-section h1{font-size:var(--text-hero)}.hero-diagram{width:100%;max-width:400px}.hero-bottom{align-items:flex-start;gap:var(--space-2);flex-direction:column}.hero-edition{font-size:.75rem}.focus-grid{gap:var(--space-7);grid-template-columns:1fr}.focus-item h3{margin-block:var(--space-4)}.keyword-list{margin-top:var(--space-5)}.project-feature{padding:var(--space-5)}.lab-heading{gap:var(--space-5);flex-direction:column-reverse}.lab-heading .section-intro{margin-bottom:var(--space-5)}.workflow{gap:var(--space-5);grid-template-columns:1fr}.workflow>li:not(:last-child):after{width:1px;height:var(--space-5);display:block;top:100%;left:28px;right:auto}.workflow-node summary{grid-template-columns:2rem 1fr auto;align-items:center;min-height:64px}.workflow-number{grid-column:auto}.node-toggle{align-self:center}.node-content{padding-left:var(--space-4)}.notes-empty{gap:var(--space-5);align-items:flex-start}.notes-mark{font-size:1.25rem}.section-heading{gap:var(--space-3);margin-bottom:var(--space-6)}.section-intro{margin-top:0}.site-footer{align-items:flex-start;gap:var(--space-2);flex-direction:column}.site-footer>a{margin-left:0}}.notes-page,.note-page{padding-block:var(--space-8) var(--section-spacing)}.note-page{max-width:780px;margin-inline:auto}.note-page h1,.notes-page h1{overflow-wrap:anywhere;font-size:clamp(2rem,5vw,3.5rem)}.note-header{border-bottom:var(--border-subtle);padding-bottom:var(--space-6);margin-bottom:var(--space-7)}.note-meta{gap:var(--space-2) var(--space-5);font:var(--text-small) var(--font-mono);flex-wrap:wrap;line-height:1.6;display:flex}.note-list{margin-block:var(--space-7);padding:0;list-style:none}.note-list>li{gap:var(--space-6);padding-block:var(--space-6);border-top:var(--border-subtle);grid-template-columns:220px minmax(0,1fr);display:grid}.note-list .note-meta{flex-direction:column;align-items:flex-start}.note-list h3{font-family:var(--font-heading);overflow-wrap:anywhere;margin:0;font-size:1.75rem}.note-list p{margin-block:var(--space-3)}.note-read{font-size:var(--text-small)}.prose{overflow-wrap:anywhere}.prose h2,.prose h3{margin-top:var(--space-7)}.prose a{min-height:0;display:inline}.prose pre{padding:var(--space-5);background:var(--color-surface);font-size:var(--text-small);overflow-x:auto}.prose code{font-family:var(--font-mono)}.prose :not(pre)>code{background:var(--color-surface);padding:2px 4px}.prose blockquote{padding-left:var(--space-5);border-left:2px solid var(--color-accent);margin-inline:0}.prose table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}.prose .table-scroll{margin-block:var(--space-5);overflow-x:auto}.prose .table-scroll table{display:table;overflow:visible}.prose th,.prose td{padding:var(--space-3);border:var(--border-subtle);text-align:left}.prose img{height:auto}.note-references{margin-top:var(--space-8);border-top:var(--border-subtle)}@media (width<=700px){.note-list>li{gap:var(--space-3);grid-template-columns:1fr}.note-list .note-meta{flex-direction:row}}@media (prefers-reduced-motion:reduce){html,*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (forced-colors:active){.button-link,.workflow-node,.status-label{border:1px solid buttontext}:focus-visible{outline:2px solid highlight}.primary-nav a[aria-current],.mobile-menu a[aria-current],.language-switch a[aria-current]{text-decoration-color:linktext}}.github-more{margin-top:var(--space-8)}.note-toc{border-block:var(--border-subtle);padding-block:var(--space-5);margin-bottom:var(--space-7)}.note-toc summary{cursor:pointer;font-weight:600}.note-toc ol{margin-bottom:0;padding:0;list-style:none}.note-toc li{margin-block:var(--space-2);overflow-wrap:anywhere}.note-toc .toc-depth-3{padding-left:1rem}.note-toc :is(.toc-depth-4,.toc-depth-5,.toc-depth-6){padding-left:2rem}.prose :is(h2,h3,h4,h5,h6){scroll-margin-top:2rem}.heading-anchor{font-family:var(--font-mono);margin-left:.25em;font-size:.75em;text-decoration:none}.code-example{margin-block:var(--space-6);border:var(--border-subtle);min-width:0}.code-toolbar{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);font-size:var(--text-small);flex-wrap:wrap;display:flex}.copy-code{cursor:pointer;color:inherit;font:inherit;background:0 0;border:1px solid;margin-left:auto;padding:.3rem .65rem}.copy-status{font-size:var(--text-small)}.code-example pre{border:0;margin:0}.hljs{color:#24292e}.hljs-keyword,.hljs-selector-tag,.hljs-literal{color:#8b283b}.hljs-string,.hljs-regexp,.hljs-addition{color:#245530}.hljs-number,.hljs-symbol,.hljs-attr,.hljs-variable{color:#17517a}.hljs-title,.hljs-built_in,.hljs-type{color:#623d85}.hljs-comment,.hljs-quote{color:#59636b;font-style:italic}.github-more>p{font-size:var(--text-small)}.github-repo-grid{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));padding:0;list-style:none;display:grid}.github-repo-grid>li{padding:var(--space-5);border:var(--border-subtle);overflow-wrap:anywhere;min-width:0}.github-repo-grid h4{margin:0 0 var(--space-3);font-size:1.125rem}.github-repo-grid p{font-size:1rem}.github-repo-grid .repository-stats{flex-wrap:wrap}@media (width<=700px){.github-repo-grid{grid-template-columns:1fr}}
