body[a="dark"]{--bg-color-secondary: #1a1a1a;--border-color: #444;--code-background: #0d1117;--code-text: #e6edf3;--text-color-secondary: #ccc;background-color:#000;color:#fff}body[a="dark"] a{color:#79a8ff}body[a="dark"] a:visited{color:#f78fe7}body[a="dark"] details{border:thin solid #fff}body[a="dark"] details summary{color:#fff}body[a="dark"] details[open] summary{border-bottom:1px solid #fff}body[a="dark"] *:target{background:#2f3849;color:#fff}body[a="dark"] table,body[a="dark"] th,body[a="dark"] td{border:thin solid #fff}body[a="dark"] .toc{border:thin solid #fff;padding:1rem}body[a="dark"] figcaption{color:#ccc}body[a="dark"] blockquote{background-color:var(--bg-color-secondary);border-left:4px solid var(--border-color);color:var(--text-color-secondary);font-style:normal}body[a="dark"] blockquote::before,body[a="dark"] blockquote::after{content:none}body[a="dark"] .highlight,body[a="dark"] .chroma,body[a="dark"] .bg{background-color:var(--code-background);color:var(--code-text)}body[a="dark"] .chroma .err{color:#f0f6fc;background-color:#8e1519}body[a="dark"] .chroma .hl{background-color:#6e7681}body[a="dark"] .chroma .k,body[a="dark"] .chroma .kc,body[a="dark"] .chroma .kd,body[a="dark"] .chroma .kn,body[a="dark"] .chroma .kp,body[a="dark"] .chroma .kr,body[a="dark"] .chroma .kt{color:#ff7b72}body[a="dark"] .chroma .na,body[a="dark"] .chroma .nc,body[a="dark"] .chroma .nn,body[a="dark"] .chroma .nx,body[a="dark"] .chroma .p,body[a="dark"] .chroma .ge,body[a="dark"] .chroma .go{color:#e6edf3}body[a="dark"] .chroma .nb,body[a="dark"] .chroma .ni,body[a="dark"] .chroma .nf{color:#d2a8ff}body[a="dark"] .chroma .bp,body[a="dark"] .chroma .c,body[a="dark"] .chroma .ch,body[a="dark"] .chroma .cm,body[a="dark"] .chroma .c1,body[a="dark"] .chroma .cs,body[a="dark"] .chroma .cp,body[a="dark"] .chroma .cpf{color:#8b949e}body[a="dark"] .chroma .no,body[a="dark"] .chroma .nd,body[a="dark"] .chroma .nt,body[a="dark"] .chroma .m,body[a="dark"] .chroma .mb,body[a="dark"] .chroma .mf,body[a="dark"] .chroma .mh,body[a="dark"] .chroma .mi,body[a="dark"] .chroma .il,body[a="dark"] .chroma .mo,body[a="dark"] .chroma .o,body[a="dark"] .chroma .ow{color:#79c0ff}body[a="dark"] .chroma .nv,body[a="dark"] .chroma .vc,body[a="dark"] .chroma .vg,body[a="dark"] .chroma .vi,body[a="dark"] .chroma .vm{color:#ffa657}body[a="dark"] .chroma .nl{color:#ffa657}body[a="dark"] .chroma .s,body[a="dark"] .chroma .sa,body[a="dark"] .chroma .sb,body[a="dark"] .chroma .sc,body[a="dark"] .chroma .dl,body[a="dark"] .chroma .sd,body[a="dark"] .chroma .s2,body[a="dark"] .chroma .se,body[a="dark"] .chroma .sh,body[a="dark"] .chroma .si,body[a="dark"] .chroma .sx,body[a="dark"] .chroma .sr,body[a="dark"] .chroma .s1,body[a="dark"] .chroma .ss{color:#a5d6ff}body[a="dark"] .chroma .gd{color:#ffdcd7;background-color:#67060c}body[a="dark"] .chroma .gi{color:#aff5b4;background-color:#033a16}body[a="dark"] .chroma .w{color:#6e7681}body[a="light"]{--bg-color-secondary: #f5f5f5;--border-color: #ccc;--code-background: #ffffff;--code-text: #24292f;--text-color-secondary: #555;background-color:#fff;color:#000}body[a="light"] a{color:#3548cf}body[a="light"] a:visited{color:#8f0075}body[a="light"] details{border:thin solid #000}body[a="light"] details summary{color:#000}body[a="light"] details[open] summary{border-bottom:1px solid #000}body[a="light"] *:target{background:#dae5ec;color:#000}body[a="light"] table,body[a="light"] th,body[a="light"] td{border:thin solid #000}body[a="light"] .toc{border:thin solid #000;padding:1rem}body[a="light"] figcaption{color:#595959}body[a="light"] blockquote{background-color:var(--bg-color-secondary);border-left:4px solid var(--border-color);color:var(--text-color-secondary);font-style:normal}body[a="light"] blockquote::before,body[a="light"] blockquote::after{content:none}@media (prefers-color-scheme: dark){body[a="auto"]{--bg-color-secondary: #1a1a1a;--border-color: #444;--code-background: #0d1117;--code-text: #e6edf3;--text-color-secondary: #ccc;background-color:#000;color:#fff}body[a="auto"] a{color:#79a8ff}body[a="auto"] a:visited{color:#f78fe7}body[a="auto"] details{border:thin solid #fff}body[a="auto"] details summary{color:#fff}body[a="auto"] details[open] summary{border-bottom:1px solid #fff}body[a="auto"] *:target{background:#2f3849;color:#fff}body[a="auto"] table,body[a="auto"] th,body[a="auto"] td{border:thin solid #fff}body[a="auto"] .toc{border:thin solid #fff;padding:1rem}body[a="auto"] figcaption{color:#ccc}body[a="auto"] blockquote{background-color:var(--bg-color-secondary);border-left:4px solid var(--border-color);color:var(--text-color-secondary);font-style:normal}body[a="auto"] blockquote::before,body[a="auto"] blockquote::after{content:none}body[a="auto"] .highlight,body[a="auto"] .chroma,body[a="auto"] .bg{background-color:var(--code-background);color:var(--code-text)}body[a="auto"] .chroma .err{color:#f0f6fc;background-color:#8e1519}body[a="auto"] .chroma .hl{background-color:#6e7681}body[a="auto"] .chroma .k,body[a="auto"] .chroma .kc,body[a="auto"] .chroma .kd,body[a="auto"] .chroma .kn,body[a="auto"] .chroma .kp,body[a="auto"] .chroma .kr,body[a="auto"] .chroma .kt{color:#ff7b72}body[a="auto"] .chroma .na,body[a="auto"] .chroma .nc,body[a="auto"] .chroma .nn,body[a="auto"] .chroma .nx,body[a="auto"] .chroma .p,body[a="auto"] .chroma .ge,body[a="auto"] .chroma .go{color:#e6edf3}body[a="auto"] .chroma .nb,body[a="auto"] .chroma .ni,body[a="auto"] .chroma .nf{color:#d2a8ff}body[a="auto"] .chroma .bp,body[a="auto"] .chroma .c,body[a="auto"] .chroma .ch,body[a="auto"] .chroma .cm,body[a="auto"] .chroma .c1,body[a="auto"] .chroma .cs,body[a="auto"] .chroma .cp,body[a="auto"] .chroma .cpf{color:#8b949e}body[a="auto"] .chroma .no,body[a="auto"] .chroma .nd,body[a="auto"] .chroma .nt,body[a="auto"] .chroma .m,body[a="auto"] .chroma .mb,body[a="auto"] .chroma .mf,body[a="auto"] .chroma .mh,body[a="auto"] .chroma .mi,body[a="auto"] .chroma .il,body[a="auto"] .chroma .mo,body[a="auto"] .chroma .o,body[a="auto"] .chroma .ow{color:#79c0ff}body[a="auto"] .chroma .nv,body[a="auto"] .chroma .vc,body[a="auto"] .chroma .vg,body[a="auto"] .chroma .vi,body[a="auto"] .chroma .vm{color:#ffa657}body[a="auto"] .chroma .nl{color:#ffa657}body[a="auto"] .chroma .s,body[a="auto"] .chroma .sa,body[a="auto"] .chroma .sb,body[a="auto"] .chroma .sc,body[a="auto"] .chroma .dl,body[a="auto"] .chroma .sd,body[a="auto"] .chroma .s2,body[a="auto"] .chroma .se,body[a="auto"] .chroma .sh,body[a="auto"] .chroma .si,body[a="auto"] .chroma .sx,body[a="auto"] .chroma .sr,body[a="auto"] .chroma .s1,body[a="auto"] .chroma .ss{color:#a5d6ff}body[a="auto"] .chroma .gd{color:#ffdcd7;background-color:#67060c}body[a="auto"] .chroma .gi{color:#aff5b4;background-color:#033a16}body[a="auto"] .chroma .w{color:#6e7681}}@media (prefers-color-scheme: light){body[a="auto"]{--bg-color-secondary: #f5f5f5;--border-color: #ccc;--code-background: #ffffff;--code-text: #24292f;--text-color-secondary: #555;background-color:#fff;color:#000}body[a="auto"] a{color:#3548cf}body[a="auto"] a:visited{color:#8f0075}body[a="auto"] details{border:thin solid #000}body[a="auto"] details summary{color:#000}body[a="auto"] details[open] summary{border-bottom:1px solid #000}body[a="auto"] *:target{background:#dae5ec;color:#000}body[a="auto"] table,body[a="auto"] th,body[a="auto"] td{border:thin solid #000}body[a="auto"] .toc{border:thin solid #000;padding:1rem}body[a="auto"] figcaption{color:#595959}body[a="auto"] blockquote{background-color:var(--bg-color-secondary);border-left:4px solid var(--border-color);color:var(--text-color-secondary);font-style:normal}body[a="auto"] blockquote::before,body[a="auto"] blockquote::after{content:none}}html{height:100%;scroll-behavior:smooth}body{font-family:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;font-size:16px;line-height:1.4;margin:0;min-height:100%;overflow-wrap:break-word}h1,h2,h3,h4,h5,h6{scroll-margin-top:1.5rem}h2,h3,h4,h5,h6{margin-top:1.5rem}h4,h5,h6{font-size:1em}p{margin:1rem 0}ul{padding-left:1em}ol{padding-left:1.5em}li{margin:0.4rem 0}a{text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible,[tabindex="0"]:focus-visible{outline:2px solid currentColor;outline-offset:3px}hr{text-align:center;border:0;margin:2rem 0}hr:before{content:'/////'}hr:after{content:attr(data-content) "/////"}pre{font-family:"SFMono-Regular", "Cascadia Code", "Hack Nerd Font Mono", "Consolas", monospace;font-size:0.875rem;color:inherit;background:none;border:none;padding:1rem;margin:0;overflow-x:auto;white-space:pre}table{width:100%}table,th,td{border-collapse:collapse;padding:0.4rem}code{font-family:"SFMono-Regular", "Cascadia Code", "Hack Nerd Font Mono", "Consolas", monospace;font-size:0.875rem;color:inherit;background:none;border:none;padding:0;white-space:pre;text-size-adjust:100%;-ms-text-size-adjust:100%;-moz-text-size-adjust:100%;-webkit-text-size-adjust:100%}.katex-display{max-width:100%;overflow-x:auto;overflow-y:hidden;padding:0.25rem 0}p>code,li>code,dd>code,dt>code{background-color:var(--bg-color-secondary);padding:0.2em 0.4em;border-radius:3px;font-size:0.9em}.highlight{border:1px solid var(--border-color);border-radius:4px;background-color:var(--code-background);color:var(--code-text);margin:1.5rem 0;overflow:hidden}.code-toolbar{align-items:center;border-bottom:1px solid var(--border-color);color:var(--text-color-secondary);display:flex;font-family:"SFMono-Regular", "Cascadia Code", "Consolas", monospace;font-size:0.75rem;justify-content:space-between;min-height:2.25rem;padding:0 0.75rem}.code-copy,.toc-toggle,.image-lightbox-close{background:transparent;border:0;color:inherit;cursor:pointer;font:inherit}.code-copy{min-height:2rem;padding:0 0.35rem}.code-copy:hover{text-decoration:underline}blockquote{margin:1.5rem 0;padding:0.5rem 1rem}blockquote p{margin:0.5rem 0}img{max-width:100%;display:block;margin:0 auto}.zoomable-image{cursor:zoom-in}.image-lightbox{background:var(--bg-color-secondary);border:1px solid var(--border-color);color:inherit;max-height:94vh;max-width:94vw;padding:2.75rem 1rem 1rem}.image-lightbox::backdrop{background:rgba(0,0,0,0.78)}.image-lightbox img{max-height:80vh;max-width:90vw}.image-lightbox-close{font-size:1.5rem;line-height:1;min-height:2.5rem;min-width:2.5rem;position:absolute;right:0.5rem;top:0.25rem}.image-lightbox-caption{color:var(--text-color-secondary);margin:0.75rem 0 0;text-align:center}figcaption{text-align:center;opacity:0.5}.content-figure{margin:1.75rem 0}.content-figure figcaption{color:var(--text-color-secondary);font-size:0.875rem;margin-top:0.65rem;opacity:1}details{padding:1rem}details summary{text-decoration:none}details[open] summary{margin-bottom:0.5em;padding-bottom:0.5em}.post-meta{display:flex;justify-content:space-between;align-items:center;color:var(--text-color-secondary);font-size:0.9rem}.post-meta a{display:inline-flex;min-height:2.75rem;min-width:2.75rem;align-items:center}.post-dates{display:flex;flex-wrap:wrap;gap:0.35rem 1rem;justify-content:flex-end;margin:0}.post-dates span{white-space:nowrap}.w{max-width:640px;margin:0 auto;padding:4rem 2rem}.toc{padding:1rem}.w{max-width:640px}.page-container{max-width:1200px;margin:0 auto;padding:0 2rem}.post-layout{display:flex;flex-direction:row;gap:2rem;align-items:flex-start;justify-content:center}.post-content{flex:1;max-width:78ch;min-width:0;line-height:1.65}.post-content a{text-decoration:underline;text-decoration-thickness:0.08em;text-underline-offset:0.18em}.post-content a:hover{text-decoration-thickness:0.14em}.post-content a:has(>img){text-decoration:none}.post-title{border-bottom:2px solid var(--border-color);font-size:clamp(1.8rem, 4vw, 2.35rem);letter-spacing:-0.025em;line-height:1.2;margin:0.5rem 0 2.75rem;padding-bottom:1rem}.post-title:has(+.post-tags){margin-bottom:1rem}.post-tags{margin-bottom:2.5rem}.post-tags ul{display:flex;flex-wrap:wrap;gap:0.5rem;list-style:none;margin:0;padding:0}.post-tags li{margin:0}.post-tags a{background:var(--bg-color-secondary);border:1px solid var(--border-color);border-radius:999px;display:inline-block;font-size:0.8rem;padding:0.2rem 0.65rem;text-decoration:none}.post-tags a:hover{text-decoration:underline}.post-content>h1:not(.post-title){border-bottom:1px solid var(--border-color);font-size:1.5rem;line-height:1.35;margin:3rem 0 1rem;padding-bottom:0.35rem}.post-content>h2{font-size:1.3rem;line-height:1.4;margin:2.5rem 0 0.9rem}.post-content>h3{font-size:1.15rem;line-height:1.45;margin:2rem 0 0.75rem}.post-content>h4,.post-content>h5,.post-content>h6{font-size:1rem;line-height:1.5;margin:1.75rem 0 0.65rem}.heading-anchor{font-size:0.75em;font-weight:400;opacity:0;padding:0 0.2em;text-decoration:none !important;transition:opacity 120ms ease}.post-content h1:hover>.heading-anchor,.post-content h2:hover>.heading-anchor,.post-content h3:hover>.heading-anchor,.post-content h4:hover>.heading-anchor,.post-content h5:hover>.heading-anchor,.post-content h6:hover>.heading-anchor,.heading-anchor:focus-visible{opacity:1}.post-content>p{margin:1.1rem 0}.post-toc{flex:0 0 250px;width:250px;position:sticky;top:2rem;align-self:flex-start;max-height:calc(100vh - 4rem);overflow-y:auto}.post-toc.with-border{border-left:1px solid var(--border-color);padding-left:1.5rem}.toc-toggle{align-items:center;display:flex;font-weight:bold;justify-content:space-between;min-height:2.75rem;padding:0 0.65rem;text-align:left;width:100%}.toc-toggle-icon{font-size:1.2rem}.post-toc #TableOfContents>ul{list-style:none;padding-left:0;margin:0}.post-toc #TableOfContents ul{list-style:none;padding-left:1em}.post-toc #TableOfContents a{display:block;padding:0.45em 0.65rem;text-decoration:none;color:var(--text-color-secondary);border-left:2px solid transparent}.post-toc #TableOfContents a:hover,.post-toc #TableOfContents a.is-active{color:inherit;background-color:var(--bg-color-secondary)}.post-toc #TableOfContents a.is-active{border-left-color:currentColor;font-weight:600}.table-scroll{max-width:100%;overflow-x:auto;margin:1.5rem 0}.table-scroll table{margin:0;min-width:100%;width:max-content}.post-pagination{border-top:1px solid var(--border-color);display:grid;gap:1rem;grid-template-columns:repeat(2, minmax(0, 1fr));margin-top:3.5rem;padding-top:1.5rem}.post-pagination a{border:1px solid var(--border-color);border-radius:4px;display:flex;flex-direction:column;min-width:0;padding:0.85rem 1rem;text-decoration:none}.post-pagination a:hover{background:var(--bg-color-secondary);text-decoration:none}.post-pagination span{color:var(--text-color-secondary);font-size:0.8rem;margin-bottom:0.25rem}.post-pagination strong{overflow-wrap:anywhere}.post-pagination-next{grid-column:2;text-align:right}.search-page h1{margin-bottom:2rem}.search-form label{display:block;font-weight:600;margin-bottom:0.5rem}.search-controls{display:flex;gap:0.5rem}.search-controls input,.search-controls button{background:transparent;border:1px solid var(--border-color);border-radius:4px;color:inherit;font:inherit;min-height:2.75rem}.search-controls input{flex:1;min-width:0;padding:0.55rem 0.75rem}.search-controls button{cursor:pointer;padding:0.55rem 1rem}.search-controls button:hover{background:var(--bg-color-secondary)}.search-status,.search-result-meta{color:var(--text-color-secondary)}.search-status{min-height:1.5em}.search-results{list-style:none;margin:2rem 0 0;padding:0}.search-results>li{border-top:1px solid var(--border-color);margin:0;padding:1.25rem 0}.search-result h2{font-size:1.15rem;margin:0}.search-result-meta{font-size:0.8rem;margin:0.35rem 0}.search-result-summary{margin:0.5rem 0 0}@media (max-width: 1024px){.post-layout{flex-direction:column-reverse}.post-toc{position:static;max-height:none;width:100%;margin-bottom:2rem;border-left:none;padding-left:0}.post-toc.with-border{border-top:1px solid var(--border-color);padding-top:1.5rem}}@media (max-width: 768px){.page-container{padding:0 1rem}.post-title{margin-bottom:2rem;padding-bottom:0.75rem}.post-content>h1:not(.post-title){margin-top:2.5rem}.post-meta{align-items:flex-start}.post-dates{flex-direction:column;text-align:right}.post-pagination{grid-template-columns:1fr}.post-pagination-next{grid-column:1}.search-controls{align-items:stretch;flex-direction:column}}@media (hover: none){.heading-anchor{opacity:0.65}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
