.prose{--highlight-bg:#f3e7b7;--highlight-ink:#514319;--annotation-note:#526b81;--annotation-tip:#53765d;--annotation-important:var(--accent-ink);--annotation-warning:#916b28;--annotation-caution:#a0524c;--diff-add:#3f805c;--diff-del:#a35550;--mermaid-node-fill:color-mix(in srgb, var(--accent-soft) 78%, var(--bg));--mermaid-node-stroke:color-mix(in srgb, var(--accent) 42%, var(--rule-strong));--mermaid-node-text:var(--text);--mermaid-edge:color-mix(in srgb, var(--accent) 35%, var(--muted));--mermaid-cluster:var(--bg-sunken);--mermaid-label-bg:var(--bg);min-width:0;color:var(--text);overflow-wrap:break-word;text-wrap:pretty;font-size:17px;line-height:1.95;position:relative}:root[data-theme=dark] .prose{--highlight-bg:#494127;--highlight-ink:#eee0a9;--annotation-note:#92acc3;--annotation-tip:#93b39a;--annotation-warning:#d1af70;--annotation-caution:#d7948e;--diff-add:#89b99c;--diff-del:#d48e87}.prose>:first-child{margin-top:0}.prose p{margin:1.3em 0}.prose h2,.prose h3,.prose h4{color:var(--text);font-family:var(--font-serif);scroll-margin-top:calc(var(--header-height) + 24px);text-wrap:balance}.prose h2{border-top:1px solid var(--rule);letter-spacing:-.01em;margin:2.6em 0 .9em;padding-top:.9em;font-size:27px;font-weight:600;line-height:1.45}.prose h3{margin:2em 0 .7em;font-size:21px;font-weight:600;line-height:1.55}.prose h4{font-family:var(--font-sans);margin:1.6em 0 .6em;font-size:17px;font-weight:600}.prose mark{background:var(--highlight-bg);color:var(--highlight-ink);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:2px;padding:.06em .16em}.prose u{text-underline-offset:.2em;text-decoration-skip-ink:none;text-decoration-thickness:1px}.prose del,.prose s{color:var(--muted);text-decoration-color:var(--faint);text-decoration-thickness:1px}.prose ins{color:var(--diff-add);text-underline-offset:.23em;text-decoration-thickness:1px}.prose code,.prose pre,.prose .expressive-code{font-variant-ligatures:none}.prose :not(pre)>code{color:color-mix(in srgb, var(--accent-ink) 72%, var(--text));font-family:var(--font-mono);overflow-wrap:anywhere;background:0 0;border:0;padding:0;font-size:.88em}.prose kbd{border:1px solid var(--rule);background:color-mix(in srgb, var(--surface) 55%, transparent);min-width:1.6em;color:var(--muted);font-family:var(--font-mono);text-align:center;vertical-align:.05em;border-radius:4px;padding:.1em .38em;font-size:.78em;font-weight:450;line-height:1.35;display:inline-block}.prose ul,.prose ol{margin:1.3em 0;padding-left:1.55em}.prose ul{list-style:outside}.prose ul ul{list-style:circle}.prose ul ul ul{list-style:square}.prose ol{list-style:decimal}.prose ol ol{list-style:lower-alpha}.prose ol ol ol{list-style:lower-roman}.prose li{margin:.45em 0;padding-left:.15em}.prose li::marker{color:var(--muted);font-variant-numeric:tabular-nums}.prose li>p,.prose li>ul,.prose li>ol{margin:.5em 0}.prose .contains-task-list,.prose .task-list-item{padding-left:0;list-style:none}.prose .task-list-item input[type=checkbox]{border:1px solid var(--rule-strong);appearance:none;vertical-align:-.12em;background:0 0;border-radius:3px;place-content:center;width:1em;height:1em;margin:0 .6em 0 0;display:inline-grid}.prose .task-list-item input[type=checkbox]:checked{border-color:var(--muted);background:var(--muted)}.prose .task-list-item input[type=checkbox]:checked:after{content:"";border:solid var(--bg);border-width:0 1.5px 1.5px 0;width:.28em;height:.52em;transform:rotate(45deg)translate(-.02em,-.05em)}.prose blockquote{border:0;border-left:2px solid var(--rule-strong);color:var(--muted);margin:1.8em 0;padding:.05em 0 .05em 1.1em}.prose blockquote>:first-child{margin-top:0}.prose blockquote>:last-child{margin-bottom:0}.prose .callout{--callout-accent:var(--annotation-note);border-left-color:color-mix(in srgb, var(--callout-accent) 58%, var(--rule));color:var(--text)}.prose .callout-title{color:var(--callout-accent);align-items:center;gap:7px;margin:0 0 .35em;font-size:13px;font-weight:600;line-height:1.6;display:flex}.prose .callout>.callout-title+*{margin-top:0}.prose .callout--tip{--callout-accent:var(--annotation-tip)}.prose .callout--important{--callout-accent:var(--annotation-important)}.prose .callout--warning{--callout-accent:var(--annotation-warning)}.prose .callout--caution{--callout-accent:var(--annotation-caution)}.prose hr{background:var(--rule);border:0;width:100%;height:1px;margin:2.8em 0}.prose .table-scroll{overscroll-behavior-inline:contain;scrollbar-width:thin;margin:1.9em 0;overflow-x:auto}.prose table{border-block:1px solid var(--rule-strong);border-collapse:collapse;width:100%;font-size:.88em;line-height:1.75}.prose th,.prose td{border-bottom:1px solid var(--rule);vertical-align:top;padding:11px 14px}.prose th{background:color-mix(in srgb, var(--surface) 45%, transparent);color:var(--muted);text-align:left;font-weight:600}.prose tr:last-child td{border-bottom:0}.prose td>p{margin:0}.prose tbody tr:hover{background:color-mix(in srgb, var(--surface) 35%, transparent)}.prose .katex{overflow-wrap:normal;font-size:1.055em}.prose .katex-display{text-align:center;max-width:100%;margin:1.85em 0;padding:0;overflow:visible}.prose .katex-display>.katex{white-space:nowrap;text-align:left;zoom:var(--math-zoom,1);max-width:none;padding:0;display:inline-block}.prose .katex-display .tag{color:var(--muted);font-size:.86em}.prose .math-numbered>.katex{display:block}.prose .math-numbered>.katex>.katex-html{grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:1.25em;display:grid}.prose .math-body{zoom:var(--math-zoom,1);justify-self:center;width:max-content}.prose .math-numbered>.katex>.katex-html>.tag{text-align:right;position:static}.prose .math-inline{vertical-align:baseline;max-width:100%;display:inline-block;overflow:visible}.prose .math-inline>.katex{zoom:var(--math-zoom,1);display:inline-block}.prose .math-inline.math-inline-block{text-align:center;width:100%;margin:.95em auto;display:block}.prose .expressive-code{margin:1.9em 0}.prose .expressive-code figure{margin:0}.prose .expressive-code .header .title{font-family:var(--font-mono);letter-spacing:0;font-size:12px;font-weight:450}.prose .expressive-code .copy button{border-radius:4px}.prose .expressive-code .ec-line.mark{box-shadow:inset 2px 0 0 var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent)!important}.prose .expressive-code .ec-line.ins{box-shadow:inset 2px 0 0 var(--diff-add);background:color-mix(in srgb, var(--diff-add) 9%, transparent)!important}.prose .expressive-code .ec-line.del{box-shadow:inset 2px 0 0 var(--diff-del);background:color-mix(in srgb, var(--diff-del) 9%, transparent)!important}.prose .expressive-code .ec-line.del .code{text-decoration:line-through;text-decoration-color:var(--diff-del);text-decoration-thickness:1px}.prose .expressive-code .diff-word{border-radius:2px}.prose .expressive-code .diff-word--ins{background:color-mix(in srgb, var(--diff-add) 22%, transparent)}.prose .expressive-code .diff-word--del{background:color-mix(in srgb, var(--diff-del) 20%, transparent)}.prose .article-image{margin:2em 0}.prose .article-image img{background:#fff;border-radius:8px;width:100%;height:auto;display:block}.prose figcaption{color:var(--muted);text-align:center;margin-top:10px;font-size:13px;line-height:1.7}.prose .image-trigger{cursor:zoom-in;background:0 0;border:0;border-radius:8px;width:100%;padding:0;display:block;overflow:hidden}.prose .image-trigger img{transition:transform .42s var(--ease-out)}.prose .image-trigger:hover img{transform:scale(1.012)}.prose .mermaid-figure{border-block:1px solid var(--rule);margin:2em 0}.prose .mermaid-title{color:var(--muted);text-align:left;margin:0;padding-top:12px;font-size:12px;line-height:1.6}.prose .mermaid-canvas{overscroll-behavior-inline:contain;scrollbar-width:thin;place-items:center;min-height:100px;padding:24px 12px;display:grid;overflow-x:auto}.prose .mermaid-canvas svg{width:auto;max-width:100%;height:auto;margin:0 auto;display:block;font-family:var(--font-sans)!important}.prose .mermaid-canvas .node :is(rect,polygon,circle,ellipse){fill:var(--mermaid-node-fill)!important;stroke:var(--mermaid-node-stroke)!important;stroke-width:1.1px!important;filter:none!important}.prose .mermaid-canvas .node{filter:none!important}.prose .mermaid-canvas .node rect{rx:5px;ry:5px}.prose .mermaid-canvas :is(.nodeLabel,.label,.node text){color:var(--mermaid-node-text)!important;fill:var(--mermaid-node-text)!important}.prose .mermaid-canvas :is(.edgePath path,.flowchart-link){stroke-linecap:round;stroke-linejoin:round;stroke:var(--mermaid-edge)!important;stroke-width:1.25px!important}.prose .mermaid-canvas marker path{fill:var(--mermaid-edge)!important;stroke:var(--mermaid-edge)!important}.prose .mermaid-canvas .cluster rect{fill:var(--mermaid-cluster)!important;stroke:var(--rule-strong)!important;stroke-width:1px!important}.prose .mermaid-canvas :is(.edgeLabel,.edgeLabel rect,.edgeLabel p){background:var(--mermaid-label-bg)!important;fill:var(--mermaid-label-bg)!important;color:var(--text)!important}.prose .mermaid-source{color:var(--muted);font-family:var(--font-mono);white-space:pre;margin:0;padding:16px 0;font-size:12px;line-height:1.7;overflow-x:auto}.js .prose .mermaid-source{display:none}.prose .mermaid-figure.has-error .mermaid-source{display:block}:root:not(.js) .prose .mermaid-canvas{display:none}.prose .mermaid-figure.is-rendering:not(.is-rendered) .mermaid-canvas:before{content:"正在绘制图表…";color:var(--muted);font-size:13px}.prose .mermaid-error{color:var(--annotation-caution);margin:0;padding:12px 0;font-size:13px}.prose .render-block{margin:2em 0}.prose .render-canvas>svg{max-width:100%;height:auto;margin-inline:auto;display:block}.prose .render-canvas>iframe{background:0 0;border:0;width:100%;display:block}.prose .render-block.is-rendering .render-canvas:empty:before{content:"正在绘制图示…";color:var(--muted);font-size:13px}.prose .render-error{color:var(--annotation-caution);margin:0;font-size:13px}.prose sup{line-height:0}.prose sup a{padding:0 .15em;font-size:.8em;text-decoration:none}.prose sup a:hover{text-decoration:underline}.prose .footnotes{border-top:1px solid var(--rule);color:var(--muted);margin-top:48px;padding-top:16px;font-size:14px;line-height:1.8}.prose .footnotes h2{border-top:0;margin-top:.4em;padding-top:0;font-size:18px}.prose .footnotes ol{padding-left:1.4em}.prose .footnotes li:target{background:var(--accent-soft)}.prose .footnote-backref{vertical-align:-.18em;justify-content:center;align-items:center;min-width:1.5em;min-height:1.5em;padding:0 .2em;text-decoration:none;display:inline-flex}.footnote-popover{z-index:60;border:1px solid var(--rule);background:var(--bg-raised);width:min(360px,100vw - 24px);color:var(--muted);box-shadow:var(--shadow);pointer-events:none;opacity:0;border-radius:8px;padding:12px 16px;font-size:13px;line-height:1.75;transition:opacity .15s,transform .15s;position:fixed;transform:translateY(4px)}.footnote-popover.is-visible{pointer-events:auto;opacity:1;transform:translateY(0)}.footnote-popover-label{color:var(--text);margin-bottom:6px;font-size:12px;font-weight:600}.footnote-popover-content :is(p,ol,ul,li){margin:0;padding:0;list-style:none}.prose details{border:1px solid var(--rule);border-radius:6px;margin:1.8em 0}.prose summary{cursor:pointer;align-items:center;gap:10px;padding:12px 16px;font-size:.9em;font-weight:500;list-style:none;display:flex}.prose summary::-webkit-details-marker{display:none}.prose summary:before{content:"";border-right:1px solid var(--muted);border-bottom:1px solid var(--muted);width:6px;height:6px;transition:transform var(--dur-fast) ease;flex-shrink:0;transform:rotate(-45deg)}.prose details[open] summary:before{transform:rotate(45deg)}.prose summary:hover{color:var(--accent-ink)}.prose details>:not(summary){margin-left:16px;margin-right:16px}.prose details>:last-child:not(summary){margin-bottom:16px}@media (width<=640px){.prose{font-size:16px;line-height:1.85}.prose h2{margin-top:2.2em;font-size:23px}.prose h3{font-size:19px}.prose .katex{font-size:1.04em}.prose .katex-display{margin:1.55em 0}.prose .math-inline.math-inline-block{margin:.8em auto}.prose th,.prose td{padding:9px 12px}.prose blockquote{padding-left:.9em}.prose .mermaid-canvas{padding:20px 0}}@media print{.prose{font-size:11pt;line-height:1.7}.prose h2{break-after:avoid}.prose .table-scroll,.prose .katex-display{overflow:visible}.prose .katex-display,.prose .mermaid-figure,.prose .render-block{break-inside:avoid}.prose .katex-display>.katex,.prose .math-body,.prose .math-inline>.katex{zoom:1!important}.prose .expressive-code .copy,.prose .mermaid-title,.footnote-popover{display:none}.prose .mermaid-source{display:none!important}}
