:root{--global-font-size:clamp(.875rem, calc(.8125rem + .078125vw), .9375rem);--font-color:#454b50;--text-highlight-color:#292f34;--toc-link-color:#646c73;--clean-surface:#f3f4f5;--clean-border:#e5e7e9;--clean-accent:#526b7a;--clean-code:#345e80;--clean-keyword:#70449a;--clean-string:#33704d;--clean-number:#915a2b;--clean-comment:#737b83;--card-box-shadow:0 1px 5px rgba(25, 32, 38, .04);--card-hover-box-shadow:0 2px 8px rgba(25, 32, 38, .07);--hl-color:#424b54;--hl-bg:#f6f7f8;--hltools-bg:#eef0f2;--hltools-color:#646c73;--hlnumber-bg:#f6f7f8;--hlnumber-color:#818890;--hlscrollbar-bg:#c4c9ce;--hlexpand-bg:#eef0f2}[data-theme=dark]{--font-color:#c5c9cd;--text-highlight-color:#e3e6e8;--toc-link-color:#a9b0b6;--clean-surface:#282d32;--clean-border:#353b41;--clean-accent:#a7bdca;--clean-code:#9ecbf0;--clean-keyword:#c4a0e8;--clean-string:#99cba9;--clean-number:#dfb382;--clean-comment:#949da6;--card-box-shadow:none;--card-hover-box-shadow:none;--hl-color:#d2d8de;--hl-bg:#1c2024;--hltools-bg:#24292e;--hltools-color:#a9b0b6;--hlnumber-bg:#1c2024;--hlnumber-color:#949da6;--hlscrollbar-bg:#515a63;--hlexpand-bg:#24292e}#nav .nav-page-title .site-name{font-weight:400}#article-container :not(pre)>code{color:var(--clean-code);background:var(--clean-surface);font-weight:400;padding:.15em .4em;border-radius:4px;font-size:.92em}#article-container code,#article-container pre{font-weight:400;letter-spacing:normal;font-variant-ligatures:none;tab-size:4}#article-container figure.highlight,#article-container>pre{font-size:calc(var(--global-font-size) * .92);line-height:1.7}#article-container figure.highlight pre,#article-container pre>code{font-size:inherit;line-height:inherit}#aside-content #card-toc .toc-content .toc-link.active,#aside-content #card-toc .toc-content .toc-link:hover{color:var(--text-highlight-color);background:var(--clean-surface)}#aside-content #card-toc .toc-content .toc-link.active{box-shadow:none;font-weight:600}#aside-content #card-toc .toc-content>*>.toc-item>.toc-child{border-left:none}#article-container{--global-font-size:clamp(.9375rem, calc(.8125rem + .15625vw), 1.0625rem);font-size:var(--global-font-size)}#article-container h1{font-size:1.6em}#article-container h2{font-size:1.3em}#article-container h3{font-size:1.15em}#article-container h4{font-size:1.05em}#article-container h5,#article-container h6{font-size:1em}@media (min-width:901px){.layout{max-width:clamp(1200px,84vw,1680px)}.layout>div:first-child:not(.nc){padding:clamp(36px,2.6vw,60px) clamp(28px,2.4vw,56px)}.layout.hide-aside{max-width:clamp(1000px,70vw,1360px)}}@media (max-width:768px){#article-container{line-height:1.9}}#article-container a{color:var(--clean-accent);text-decoration:underline;text-decoration-color:var(--clean-border);text-underline-offset:.2em}#article-container a:hover{text-decoration-color:currentColor}#article-container blockquote{color:var(--toc-link-color);background:var(--clean-surface);border-left:3px solid var(--clean-border)}#article-container table td,#article-container table th{border-color:var(--clean-border)}#article-container table th,#article-container table tr:hover{background:var(--clean-surface)}#article-container figure.highlight{border:1px solid var(--clean-border);border-radius:6px;box-shadow:none}#article-container .highlight-tools .code-lang{font-weight:400;font-size:.85em;text-transform:lowercase}.hljs{color:var(--hl-color);background:var(--hl-bg)}.hljs-doctag,.hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type{color:var(--clean-keyword)}.hljs-attr,.hljs-attribute,.hljs-name,.hljs-section,.hljs-selector-class,.hljs-selector-tag,.hljs-title{color:var(--clean-accent)}.hljs-quote,.hljs-regexp,.hljs-string{color:var(--clean-string)}.hljs-built_in,.hljs-bullet,.hljs-literal,.hljs-number,.hljs-symbol{color:var(--clean-number)}.hljs-code,.hljs-comment,.hljs-formula{color:var(--clean-comment)}.hljs-emphasis{font-style:italic}.hljs-section,.hljs-strong{font-weight:600}.hljs-addition{color:var(--clean-string);background:rgba(100,150,110,.12)}.hljs-deletion{color:#b76a6a;background:rgba(180,90,90,.12)}:focus-visible{outline:2px solid var(--clean-accent);outline-offset:3px}::selection{color:var(--text-highlight-color);background:var(--clean-border)}@media (prefers-reduced-motion:no-preference){html.theme-switching,html.theme-switching *,html.theme-switching ::after,html.theme-switching ::before{transition:background-color .35s ease,color .35s ease,border-color .35s ease,box-shadow .35s ease,fill .35s ease,stroke .35s ease,filter .35s ease!important}}@media (min-width:901px){.layout{justify-content:center}.layout>div:first-child{transition:width .4s cubic-bezier(.22, 1, .36, 1)}html.hide-aside .layout>div:first-child{width:calc(74% + 26% * .6)}.layout>#aside-content{display:block;flex-shrink:0;min-width:0;opacity:1;visibility:visible;transition:width .4s cubic-bezier(.22, 1, .36, 1),padding .4s cubic-bezier(.22, 1, .36, 1),opacity .18s ease .12s,visibility 0s}html.hide-aside .layout>#aside-content{display:block;width:0;height:0;padding-left:0;padding-right:0;opacity:0;visibility:hidden;pointer-events:none;overflow:hidden;transition:width .4s cubic-bezier(.22, 1, .36, 1),padding .4s cubic-bezier(.22, 1, .36, 1),opacity .12s ease,visibility 0s .4s}}@media (prefers-reduced-motion:reduce){.layout>#aside-content,.layout>div:first-child,html.hide-aside .layout>#aside-content{transition:none}}#article-container .mermaid-wrap .mermaid-lock-btn,#article-container .mermaid-wrap .mermaid-open-btn{width:32px;height:32px;border:1px solid var(--clean-border);border-radius:6px;background:var(--card-bg);color:var(--toc-link-color);box-shadow:none;transition:background .15s ease,color .15s ease,border-color .15s ease}#article-container .mermaid-wrap .mermaid-lock-btn{right:46px}#article-container .mermaid-wrap .mermaid-lock-btn.unlocked{color:var(--clean-code);background:var(--clean-surface);border-color:var(--clean-accent)}#article-container .mermaid-wrap .mermaid-lock-btn i,#article-container .mermaid-wrap .mermaid-open-btn i{font-size:14px}#article-container .mermaid-wrap .mermaid-lock-btn:hover,#article-container .mermaid-wrap .mermaid-open-btn:hover{color:var(--text-highlight-color);background:var(--clean-surface);border-color:var(--clean-accent);transform:none}#article-container .mermaid-wrap .mermaid-lock-btn:focus-visible,#article-container .mermaid-wrap .mermaid-open-btn:focus-visible{outline:2px solid var(--clean-accent);outline-offset:2px;transform:none}@media (pointer:coarse){#article-container .mermaid-wrap .mermaid-lock-btn,#article-container .mermaid-wrap .mermaid-open-btn{width:44px;height:44px}#article-container .mermaid-wrap .mermaid-lock-btn{right:58px}}