@charset "UTF-8";:root{--main-top-padding:35px;--body-background:#f5f5fa;--accent-color:#34495e;--accent-color-darker:#2c3e50;--accent-color-text:#fff;--body-text-color:#707070;--tag-border-radius:4px;--section-separation:40px}@media(min-width:1280px){:root{--main-top-padding:50px}}:root[data-scheme=dark]{--body-background:#303030;--accent-color:#ecf0f1;--accent-color-darker:#bdc3c7;--accent-color-text:#000;--body-text-color:rgba(255, 255, 255, 0.7)}:root{--sys-font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "Droid Sans", "Helvetica Neue";--base-font-family:"Lato", var(--sys-font-family), sans-serif;--code-font-family:Menlo, Monaco, Consolas, "Courier New", monospace}:root{--card-background:#fff;--card-background-selected:#eaeaea;--card-text-color-main:#000;--card-text-color-secondary:#747474;--card-text-color-tertiary:#767676;--card-separator-color:rgba(218, 218, 218, 0.5);--card-border-radius:10px;--card-padding:20px;--small-card-padding:25px 20px}@media(min-width:768px){:root{--card-padding:25px}}@media(min-width:1280px){:root{--card-padding:30px}}@media(min-width:768px){:root{--small-card-padding:25px}}:root[data-scheme=dark]{--card-background:#424242;--card-background-selected:rgba(255, 255, 255, 0.16);--card-text-color-main:rgba(255, 255, 255, 0.9);--card-text-color-secondary:rgba(255, 255, 255, 0.7);--card-text-color-tertiary:rgba(255, 255, 255, 0.5);--card-separator-color:rgba(255, 255, 255, 0.12)}:root{--article-font-family:var(--base-font-family);--article-font-size:1.6rem;--article-line-height:1.85}@media(min-width:768px){:root{--article-font-size:1.7rem}}:root{--blockquote-border-size:4px;--blockquote-background-color:rgb(248 248 248);--heading-border-size:4px;--alert-note-color:#4da3ff;--alert-note-background:rgba(77, 163, 255, 0.08);--alert-tip-color:#3fb950;--alert-tip-background:rgba(63, 185, 80, 0.08);--alert-important-color:#8457d9;--alert-important-background:rgba(130, 80, 223, 0.08);--alert-warning-color:#d29922;--alert-warning-background:rgba(210, 153, 34, 0.1);--alert-caution-color:#f85149;--alert-caution-background:rgba(248, 81, 73, 0.1);--link-background-color:189, 195, 199;--link-background-opacity:0.5;--link-background-opacity-hover:0.7;--code-background-color:rgba(0, 0, 0, 0.12);--code-text-color:#808080;--table-border-color:#dadada;--tr-even-background-color:#efefee;--kbd-border-color:#dadada}:root[data-scheme=dark]{--code-background-color:#272822;--code-text-color:rgba(255, 255, 255, 0.9);--table-border-color:#717171;--tr-even-background-color:#545454;--blockquote-background-color:rgb(75 75 75)}:root{--shadow-l1-y:4px;--shadow-l1-blur:8px;--shadow-l2-y:10px;--shadow-l2-blur:20px;--shadow-l1:0px var(--shadow-l1-y) var(--shadow-l1-blur) rgba(0, 0, 0, 0.04), 0px 0px 2px rgba(0, 0, 0, 0.06), 0px 0px 1px rgba(0, 0, 0, 0.04);--shadow-l2:0px var(--shadow-l2-y) var(--shadow-l2-blur) rgba(0, 0, 0, 0.04), 0px 2px 6px rgba(0, 0, 0, 0.04), 0px 0px 1px rgba(0, 0, 0, 0.04)}[data-scheme=light]{--pre-text-color:#272822;--pre-background-color:#fafafa}[data-scheme=light] .chroma{color:#272822;background-color:#fafafa}[data-scheme=light] .chroma .err{color:#960050}[data-scheme=light] .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}[data-scheme=light] .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0;width:100%;display:block}[data-scheme=light] .chroma .lntable>tbody{display:block;width:100%}[data-scheme=light] .chroma .lntable>tbody>tr{display:flex;width:100%}[data-scheme=light] .chroma .lntable>tbody>tr>td:last-child{overflow-x:auto}[data-scheme=light] .chroma .hl{display:block;width:100%;background-color:#ffc}[data-scheme=light] .chroma .lnt{margin-right:0;user-select:none;padding:0 .4em;color:#7f7f7f;display:block}[data-scheme=light] span.line{margin-left:.4em}[data-scheme=light] .chroma .ln{margin-right:.4em;padding:0 .4em;color:#7f7f7f}[data-scheme=light] .chroma .k{color:#00a8c8}[data-scheme=light] .chroma .kc{color:#00a8c8}[data-scheme=light] .chroma .kd{color:#00a8c8}[data-scheme=light] .chroma .kn{color:#f92672}[data-scheme=light] .chroma .kp{color:#00a8c8}[data-scheme=light] .chroma .kr{color:#00a8c8}[data-scheme=light] .chroma .kt{color:#00a8c8}[data-scheme=light] .chroma .n{color:#111}[data-scheme=light] .chroma .na{color:#75af00}[data-scheme=light] .chroma .nb{color:#111}[data-scheme=light] .chroma .bp{color:#111}[data-scheme=light] .chroma .nc{color:#75af00}[data-scheme=light] .chroma .no{color:#00a8c8}[data-scheme=light] .chroma .nd{color:#75af00}[data-scheme=light] .chroma .ni{color:#111}[data-scheme=light] .chroma .ne{color:#75af00}[data-scheme=light] .chroma .nf{color:#75af00}[data-scheme=light] .chroma .fm{color:#111}[data-scheme=light] .chroma .nl{color:#111}[data-scheme=light] .chroma .nn{color:#111}[data-scheme=light] .chroma .nx{color:#75af00}[data-scheme=light] .chroma .py{color:#111}[data-scheme=light] .chroma .nt{color:#f92672}[data-scheme=light] .chroma .nv{color:#111}[data-scheme=light] .chroma .vc{color:#111}[data-scheme=light] .chroma .vg{color:#111}[data-scheme=light] .chroma .vi{color:#111}[data-scheme=light] .chroma .vm{color:#111}[data-scheme=light] .chroma .l{color:#ae81ff}[data-scheme=light] .chroma .ld{color:#d88200}[data-scheme=light] .chroma .s{color:#d88200}[data-scheme=light] .chroma .sa{color:#d88200}[data-scheme=light] .chroma .sb{color:#d88200}[data-scheme=light] .chroma .sc{color:#d88200}[data-scheme=light] .chroma .dl{color:#d88200}[data-scheme=light] .chroma .sd{color:#d88200}[data-scheme=light] .chroma .s2{color:#d88200}[data-scheme=light] .chroma .se{color:#ae81ff}[data-scheme=light] .chroma .sh{color:#d88200}[data-scheme=light] .chroma .si{color:#d88200}[data-scheme=light] .chroma .sx{color:#d88200}[data-scheme=light] .chroma .sr{color:#d88200}[data-scheme=light] .chroma .s1{color:#d88200}[data-scheme=light] .chroma .ss{color:#d88200}[data-scheme=light] .chroma .m{color:#ae81ff}[data-scheme=light] .chroma .mb{color:#ae81ff}[data-scheme=light] .chroma .mf{color:#ae81ff}[data-scheme=light] .chroma .mh{color:#ae81ff}[data-scheme=light] .chroma .mi{color:#ae81ff}[data-scheme=light] .chroma .il{color:#ae81ff}[data-scheme=light] .chroma .mo{color:#ae81ff}[data-scheme=light] .chroma .o{color:#f92672}[data-scheme=light] .chroma .ow{color:#f92672}[data-scheme=light] .chroma .p{color:#111}[data-scheme=light] .chroma .c{color:#75715e}[data-scheme=light] .chroma .ch{color:#75715e}[data-scheme=light] .chroma .cm{color:#75715e}[data-scheme=light] .chroma .c1{color:#75715e}[data-scheme=light] .chroma .cs{color:#75715e}[data-scheme=light] .chroma .cp{color:#75715e}[data-scheme=light] .chroma .cpf{color:#75715e}[data-scheme=light] .chroma .gd{color:#f92672}[data-scheme=light] .chroma .ge{font-style:italic}[data-scheme=light] .chroma .gi{color:#75af00}[data-scheme=light] .chroma .gs{font-weight:700}[data-scheme=light] .chroma .gu{color:#75715e}[data-scheme=dark]{--pre-text-color:#f8f8f2;--pre-background-color:#272822}[data-scheme=dark] .chroma{color:#f8f8f2;background-color:#272822}[data-scheme=dark] .chroma .err{color:#bb0064}[data-scheme=dark] .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}[data-scheme=dark] .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0;width:100%;display:block}[data-scheme=dark] .chroma .lntable>tbody{display:block;width:100%}[data-scheme=dark] .chroma .lntable>tbody>tr{display:flex;width:100%}[data-scheme=dark] .chroma .lntable>tbody>tr>td:last-child{overflow-x:auto}[data-scheme=dark] .chroma .hl{display:block;width:100%;background-color:#ffc}[data-scheme=dark] .chroma .lnt{margin-right:0;user-select:none;padding:0 .4em;color:#7f7f7f;display:block}[data-scheme=dark] span.line{margin-left:.4em}[data-scheme=dark] .chroma .ln{margin-right:.4em;padding:0 .4em;color:#7f7f7f}[data-scheme=dark] .chroma .k{color:#66d9ef}[data-scheme=dark] .chroma .kc{color:#66d9ef}[data-scheme=dark] .chroma .kd{color:#66d9ef}[data-scheme=dark] .chroma .kn{color:#f92672}[data-scheme=dark] .chroma .kp{color:#66d9ef}[data-scheme=dark] .chroma .kr{color:#66d9ef}[data-scheme=dark] .chroma .kt{color:#66d9ef}[data-scheme=dark] .chroma .n{color:#f8f8f2}[data-scheme=dark] .chroma .na{color:#a6e22e}[data-scheme=dark] .chroma .nb{color:#f8f8f2}[data-scheme=dark] .chroma .bp{color:#f8f8f2}[data-scheme=dark] .chroma .nc{color:#a6e22e}[data-scheme=dark] .chroma .no{color:#66d9ef}[data-scheme=dark] .chroma .nd{color:#a6e22e}[data-scheme=dark] .chroma .ni{color:#f8f8f2}[data-scheme=dark] .chroma .ne{color:#a6e22e}[data-scheme=dark] .chroma .nf{color:#a6e22e}[data-scheme=dark] .chroma .fm{color:#f8f8f2}[data-scheme=dark] .chroma .nl{color:#f8f8f2}[data-scheme=dark] .chroma .nn{color:#f8f8f2}[data-scheme=dark] .chroma .nx{color:#a6e22e}[data-scheme=dark] .chroma .py{color:#f8f8f2}[data-scheme=dark] .chroma .nt{color:#f92672}[data-scheme=dark] .chroma .nv{color:#f8f8f2}[data-scheme=dark] .chroma .vc{color:#f8f8f2}[data-scheme=dark] .chroma .vg{color:#f8f8f2}[data-scheme=dark] .chroma .vi{color:#f8f8f2}[data-scheme=dark] .chroma .vm{color:#f8f8f2}[data-scheme=dark] .chroma .l{color:#ae81ff}[data-scheme=dark] .chroma .ld{color:#e6db74}[data-scheme=dark] .chroma .s{color:#e6db74}[data-scheme=dark] .chroma .sa{color:#e6db74}[data-scheme=dark] .chroma .sb{color:#e6db74}[data-scheme=dark] .chroma .sc{color:#e6db74}[data-scheme=dark] .chroma .dl{color:#e6db74}[data-scheme=dark] .chroma .sd{color:#e6db74}[data-scheme=dark] .chroma .s2{color:#e6db74}[data-scheme=dark] .chroma .se{color:#ae81ff}[data-scheme=dark] .chroma .sh{color:#e6db74}[data-scheme=dark] .chroma .si{color:#e6db74}[data-scheme=dark] .chroma .sx{color:#e6db74}[data-scheme=dark] .chroma .sr{color:#e6db74}[data-scheme=dark] .chroma .s1{color:#e6db74}[data-scheme=dark] .chroma .ss{color:#e6db74}[data-scheme=dark] .chroma .m{color:#ae81ff}[data-scheme=dark] .chroma .mb{color:#ae81ff}[data-scheme=dark] .chroma .mf{color:#ae81ff}[data-scheme=dark] .chroma .mh{color:#ae81ff}[data-scheme=dark] .chroma .mi{color:#ae81ff}[data-scheme=dark] .chroma .il{color:#ae81ff}[data-scheme=dark] .chroma .mo{color:#ae81ff}[data-scheme=dark] .chroma .o{color:#f92672}[data-scheme=dark] .chroma .ow{color:#f92672}[data-scheme=dark] .chroma .p{color:#f8f8f2}[data-scheme=dark] .chroma .c{color:#75715e}[data-scheme=dark] .chroma .ch{color:#75715e}[data-scheme=dark] .chroma .cm{color:#75715e}[data-scheme=dark] .chroma .c1{color:#75715e}[data-scheme=dark] .chroma .cs{color:#75715e}[data-scheme=dark] .chroma .cp{color:#75715e}[data-scheme=dark] .chroma .cpf{color:#75715e}[data-scheme=dark] .chroma .gd{color:#f92672}[data-scheme=dark] .chroma .ge{font-style:italic}[data-scheme=dark] .chroma .gi{color:#a6e22e}[data-scheme=dark] .chroma .gs{font-weight:700}[data-scheme=dark] .chroma .gu{color:#75715e}:root{--menu-icon-separation:40px;--container-padding:15px;--widget-separation:var(--section-separation);--spacing-xs:5px;--spacing-sm:10px;--spacing-md:15px;--spacing-lg:20px;--spacing-xl:25px;--spacing-2xl:30px;--spacing-3xl:40px;--article-image-height:150px;--mermaid-toolbar-btn-bg:rgba(255, 255, 255, 0.95);--mermaid-toolbar-btn-text:#333;--mermaid-modal-bg:rgba(0, 0, 0, 0.95);--mermaid-modal-content-bg:#fff;--mermaid-modal-btn-bg:#fff;--mermaid-modal-btn-hover:#ddd;--article-compact-image-size:50px;--widget-icon-size:32px;--article-tile-width:250px;--article-tile-height:150px;--article-tile-overlay-bg:rgba(0, 0, 0, 0.25);--article-tile-text-color:#fff}@media(min-width:768px){:root{--container-padding:20px}}@media(min-width:768px){:root{--article-image-height:200px}}@media(min-width:1280px){:root{--article-image-height:250px}}:root[data-scheme=dark]{--mermaid-toolbar-btn-bg:rgba(0, 0, 0, 0.85);--mermaid-toolbar-btn-text:#eee;--mermaid-modal-content-bg:#1e1e1e;--mermaid-modal-btn-bg:#333;--mermaid-modal-btn-hover:#444}@media(min-width:768px){:root{--article-compact-image-size:60px}}:root[data-scheme=dark]{--article-tile-overlay-bg:rgba(0, 0, 0, 0.45)}.container{margin-left:auto;margin-right:auto}.container .left-sidebar{order:-3;width:100%;max-width:var(--left-sidebar-max-width)}.container .right-sidebar{order:-1;width:100%;max-width:var(--right-sidebar-max-width)}@media(min-width:1024px){.container .right-sidebar{display:flex}}@media(min-width:768px){.container.extended{max-width:1024px;--left-sidebar-max-width:25%;--right-sidebar-max-width:30%}}@media(min-width:1024px){.container.extended{max-width:1280px;--left-sidebar-max-width:20%;--right-sidebar-max-width:30%}}@media(min-width:1280px){.container.extended{max-width:1536px;--left-sidebar-max-width:15%;--right-sidebar-max-width:25%}}@media(min-width:768px){.container.compact{--left-sidebar-max-width:25%;max-width:768px}}@media(min-width:1024px){.container.compact{max-width:1024px;--left-sidebar-max-width:20%}}@media(min-width:1280px){.container.compact{max-width:1280px}}.flex{display:flex;flex-direction:row}.flex.on-phone--column{flex-direction:column}@media(min-width:768px){.flex.on-phone--column{flex-direction:row}}.flex .full-width{width:100%}main.main{order:-2;min-width:0;max-width:100%;flex-grow:1;display:flex;flex-direction:column;gap:var(--section-separation)}@media(min-width:768px){main.main{padding-top:var(--main-top-padding)}}.main-container{min-height:100vh;align-items:flex-start;padding:0 var(--container-padding);gap:var(--section-separation);padding-top:var(--main-top-padding)}@media(min-width:768px){.main-container{padding-top:0}}/*!normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css*/html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:initial}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}/*!* Hamburgers
* @description Tasty CSS-animated hamburgers
* @author Jonathan Suh @jonsuh
* @site https://jonsuh.com/hamburgers
* @link https://github.com/jonsuh/hamburgers*/.hamburger{padding-top:var(--spacing-sm);display:inline-block;cursor:pointer;transition-property:opacity,filter;transition-duration:.15s;transition-timing-function:linear;font:inherit;color:inherit;text-transform:none;background-color:initial;border:0;margin:0;overflow:visible}.hamburger:hover{opacity:.7}.hamburger-box{width:30px;height:24px;display:inline-block;position:relative}.hamburger-inner{display:block;top:50%;margin-top:-2px}.hamburger-inner,.hamburger-inner::before,.hamburger-inner::after{width:30px;height:2px;background-color:var(--card-text-color-main);border-radius:4px;position:absolute;transition-property:transform;transition-duration:.15s;transition-timing-function:ease}.hamburger-inner::before,.hamburger-inner::after{content:"";display:block}.hamburger-inner::before{top:-10px}.hamburger-inner::after{bottom:-10px}.hamburger--spin .hamburger-inner{transition-duration:.22s;transition-timing-function:cubic-bezier(.55,.055,.675,.19)}.hamburger--spin .hamburger-inner::before{transition:top .1s .25s ease-in,opacity .1s ease-in}.hamburger--spin .hamburger-inner::after{transition:bottom .1s .25s ease-in,transform .22s cubic-bezier(.55,.055,.675,.19)}.hamburger--spin.is-active .hamburger-inner{transform:rotate(225deg);transition-delay:.12s;transition-timing-function:cubic-bezier(.215,.61,.355,1)}.hamburger--spin.is-active .hamburger-inner::before{top:0;opacity:0;transition:top .1s ease-out,opacity .1s .12s ease-out}.hamburger--spin.is-active .hamburger-inner::after{bottom:0;transform:rotate(-90deg);transition:bottom .1s ease-out,transform .22s .12s cubic-bezier(.215,.61,.355,1)}#toggle-menu{background:0 0;border:none;position:absolute;right:0;top:0;z-index:2;cursor:pointer;outline:none}[dir=rtl] #toggle-menu{left:0;right:auto}@media(min-width:768px){#toggle-menu{display:none}}#toggle-menu.is-active .hamburger-inner,#toggle-menu.is-active .hamburger-inner::before,#toggle-menu.is-active .hamburger-inner::after{background-color:var(--accent-color)}#main-menu{list-style:none;overflow-y:auto;flex-grow:1;font-size:1.4rem;background-color:var(--card-background);box-shadow:var(--shadow-l1);display:none;margin:0 calc(var(--container-padding) * -1);padding:var(--spacing-2xl)}@media(min-width:1280px){#main-menu{padding:15px 0}}#main-menu,#main-menu .menu-bottom-section ol{flex-direction:column;gap:var(--spacing-2xl)}@media(min-width:1280px){#main-menu,#main-menu .menu-bottom-section ol{gap:var(--spacing-xl)}}#main-menu.show{display:flex}@media(min-width:768px){#main-menu{align-items:flex-end;display:flex;background-color:initial;padding:0;box-shadow:none;margin:0}}#main-menu li{position:relative;vertical-align:middle;padding:0}@media(min-width:768px){#main-menu li{width:100%}}#main-menu li svg{stroke:currentColor;stroke-width:1.33;width:20px;height:20px}#main-menu li a{height:100%;display:inline-flex;align-items:center;color:var(--body-text-color);gap:var(--menu-icon-separation)}#main-menu li span{flex:1}#main-menu li.current a{color:var(--accent-color);font-weight:700}#main-menu li.menu-bottom-section{margin-top:auto}#main-menu li.menu-bottom-section ol{display:flex;padding-left:0}.menu-social{list-style:none;padding:0;margin:0;display:flex;flex-direction:row;gap:var(--spacing-sm)}.menu-social svg{width:24px;height:24px;stroke:var(--body-text-color);stroke-width:1.33}.article-list{display:flex;flex-direction:column;gap:var(--section-separation)}.article-list article{display:flex;flex-direction:column;background-color:var(--card-background);box-shadow:var(--shadow-l1);border-radius:var(--card-border-radius);overflow:hidden;transition:box-shadow .3s ease}.article-list article:hover{box-shadow:var(--shadow-l2)}.article-list article .article-image img{width:100%;height:var(--article-image-height);object-fit:cover}.article-details{display:flex;flex-direction:column;justify-content:center;padding:var(--card-padding);gap:var(--spacing-md)}.article-title{font-family:var(--article-font-family);font-weight:600;margin:0;color:var(--card-text-color-main);font-size:2.2rem}@media(min-width:1280px){.article-title{font-size:2.4rem}}.article-title a{color:var(--card-text-color-main)}.article-title a:hover{opacity:.8}.article-subtitle{font-weight:400;color:var(--card-text-color-secondary);line-height:1.5;margin:0;font-size:1.75rem}@media(min-width:1280px){.article-subtitle{font-size:2rem}}.article-title-wrapper{display:flex;flex-direction:column;gap:8px}.article-meta{display:flex;flex-direction:column;gap:var(--spacing-lg);font-size:1.4rem}.article-meta svg{vertical-align:middle;width:20px;height:20px;stroke-width:1.33;flex-shrink:0}.article-meta,.article-meta time,.article-meta a,.article-meta span{font-size:1.4rem;color:var(--card-text-color-tertiary)}.article-meta>.inline-meta{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-md)}.article-category,.article-tags{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.article-category a,.article-tags a{color:var(--accent-color-text);background-color:var(--accent-color);padding:8px 16px;border-radius:var(--tag-border-radius);display:inline-block;font-size:1.4rem;transition:background-color .5s ease}.article-category a:hover,.article-tags a:hover{color:var(--accent-color-text);background-color:var(--accent-color-darker)}.article-list--compact{background-color:var(--card-background);box-shadow:var(--shadow-l1);border-radius:var(--card-border-radius);--image-size:var(--article-compact-image-size)}.article-list--compact article>a{display:flex;align-items:center;padding:var(--small-card-padding);gap:var(--spacing-md)}.article-list--compact article:not(:last-of-type){border-bottom:1.5px solid var(--card-separator-color)}.article-list--compact article .article-details{flex-grow:1;padding:0;min-height:var(--image-size);gap:var(--spacing-sm)}.article-list--compact article .article-title{margin:0;font-size:1.6rem}@media(min-width:768px){.article-list--compact article .article-title{font-size:1.8rem}}.article-list--compact article .article-image img{width:var(--image-size);height:var(--image-size);object-fit:cover}.article-list--compact article .article-preview{font-size:1.4rem;color:var(--card-text-color-tertiary);line-height:1.5}.article-list--tile article{position:relative;width:var(--article-tile-width);height:var(--article-tile-height);background-color:var(--card-background);box-shadow:var(--shadow-l1);border-radius:var(--card-border-radius);overflow:hidden;transition:box-shadow .3s ease}.article-list--tile article:hover{box-shadow:var(--shadow-l2)}.article-list--tile article.has-image .article-details{background-color:var(--article-tile-overlay-bg)}.article-list--tile article.has-image .article-title{color:var(--article-tile-text-color)}.article-list--tile article .article-image{position:absolute;top:0;left:0;width:100%;height:100%}.article-list--tile article .article-image img{width:100%;height:100%;object-fit:cover}.article-list--tile article .article-details{border-radius:var(--card-border-radius);position:relative;height:100%;width:100%;display:flex;flex-direction:column;justify-content:flex-end;z-index:2;padding:15px}@media(min-width:640px){.article-list--tile article .article-details{padding:20px}}.article-list--tile article .article-title{font-size:2rem;font-weight:500;color:var(--card-text-color-main)}@media(min-width:640px){.article-list--tile article .article-title{font-size:2.2rem}}.mermaid:not([data-processed]){background:var(--card-background);min-height:150px;border-radius:8px;position:relative;overflow:hidden;font-size:0!important;line-height:0;color:transparent}.mermaid:not([data-processed])::after{visibility:visible;content:"";position:absolute;top:50%;left:50%;width:28px;height:28px;margin:-14px 0 0 -14px;border:3px solid var(--card-background);border-top-color:var(--accent-color,#3273dc);border-radius:50%;animation:mermaid-spinner .8s linear infinite}@keyframes mermaid-spinner{to{transform:rotate(360deg)}}.mermaid-wrapper{position:relative;margin:1rem 0}.mermaid-wrapper .mermaid{display:flex;justify-content:center}.mermaid-wrapper .mermaid svg{display:block;max-width:100%;height:auto}.mermaid-toolbar{position:absolute;top:.75rem;right:.75rem;display:flex;gap:.5rem;z-index:10}.mermaid-toolbar button{padding:.5rem 1rem;background:var(--mermaid-toolbar-btn-bg);border:2px solid var(--mermaid-toolbar-btn-text);border-radius:6px;cursor:pointer;font-size:1rem;font-weight:600;color:var(--mermaid-toolbar-btn-text);box-shadow:0 2px 8px rgba(0,0,0,.3);transition:all .2s}.mermaid-toolbar button:hover{background:var(--mermaid-toolbar-btn-text);color:var(--card-background);transform:scale(1.05)}.mermaid-modal{display:none;position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--mermaid-modal-bg);z-index:9999}.mermaid-modal.active{display:flex;flex-direction:column}.mermaid-modal-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:rgba(255,255,255,.1)}.mermaid-modal-controls{display:flex;gap:.5rem}.mermaid-modal-controls button,.mermaid-modal-close{padding:.5rem 1rem;background:var(--mermaid-modal-btn-bg);border:none;border-radius:4px;cursor:pointer;font-size:.9rem;color:var(--card-text-color-main)}.mermaid-modal-controls button:hover,.mermaid-modal-close:hover{background:var(--mermaid-modal-btn-hover)}.mermaid-modal-body{flex:1;overflow:hidden;position:relative}.mermaid-modal-content{position:absolute;top:1rem;left:1rem;right:1rem;bottom:1rem;border-radius:8px;overflow:hidden;background:var(--mermaid-modal-content-bg)}.mermaid-panzoom-container{display:inline-block;transform-origin:0 0;visibility:hidden}.mermaid-panzoom-container.ready{visibility:visible}.mermaid-panzoom-container svg{display:block}.mermaid-offscreen{position:absolute;left:-9999px;visibility:hidden;width:800px}.widget{display:flex;flex-direction:column}.widget .widget-icon svg{width:var(--widget-icon-size);height:var(--widget-icon-size);stroke-width:1.6;color:var(--body-text-color)}.tagCloud .tagCloud-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.tagCloud .tagCloud-tags a{background-color:var(--card-background);box-shadow:var(--shadow-l1);border-radius:var(--card-border-radius);border-radius:var(--tag-border-radius);padding:8px 20px;color:var(--card-text-color-main);font-size:1.4rem;transition:box-shadow .3s ease}.tagCloud .tagCloud-tags a:hover{box-shadow:var(--shadow-l2)}.widget.archives .widget-archive--list{background-color:var(--card-background);box-shadow:var(--shadow-l1);border-radius:var(--card-border-radius)}.widget.archives .archives-year:not(:last-of-type){border-bottom:1.5px solid var(--card-separator-color)}.widget.archives .archives-year a{font-size:1.4rem;padding:18px 25px;display:flex}.widget.archives .archives-year a span.year{flex:1;color:var(--card-text-color-main);font-weight:700}.widget.archives .archives-year a span.count{color:var(--card-text-color-tertiary)}footer.site-footer{padding:var(--spacing-lg)0 var(--section-separation);font-size:1.4rem;line-height:1.75}footer.site-footer:before{content:"";display:block;height:3px;width:50px;background:var(--body-text-color);margin-bottom:var(--spacing-lg)}footer.site-footer .copyright{color:var(--accent-color);font-weight:700;margin-bottom:var(--spacing-xs)}footer.site-footer .powerby{color:var(--body-text-color);font-weight:400;font-size:1.2rem}footer.site-footer .powerby a{color:var(--body-text-color)}.pagination{margin:24px 0 32px}.pagination .pagination-container{display:flex;align-items:center;justify-content:center;gap:8px;background-color:var(--card-background);box-shadow:var(--shadow-l1);border-radius:var(--card-border-radius);padding:12px;flex-wrap:wrap}.pagination .page-link{min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border-radius:8px;font-size:14px;font-weight:500;color:var(--card-text-color-secondary);text-decoration:none;transition:all .2s ease}.pagination .page-link:hover:not(.current):not(.dots){color:var(--accent-color);background-color:initial}.pagination .page-link.current{font-weight:700;color:var(--accent-color);background-color:initial;cursor:default}.pagination .page-link.dots{cursor:default;color:var(--card-text-color-tertiary);pointer-events:none}.pagination .page-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;height:40px;border-radius:8px;font-size:14px;font-weight:500;color:var(--card-text-color-main);text-decoration:none;transition:all .2s ease}.pagination .page-btn .btn-text{display:none}@media(min-width:768px){.pagination .page-btn .btn-text{display:inline}}.pagination .page-btn:hover:not(.disabled){color:var(--accent-color)}.pagination .page-btn:hover:not(.disabled).page-prev{transform:translateX(-3px)}.pagination .page-btn:hover:not(.disabled).page-next{transform:translateX(3px)}.pagination .page-btn.disabled{opacity:.4;cursor:not-allowed;color:var(--card-text-color-tertiary)}.pagination .pagination-pages{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.pagination .pagination-jump{display:flex;align-items:center;gap:8px;margin-left:8px;padding-left:12px;border-left:1px solid var(--card-separator-color)}.pagination .pagination-jump .jump-text{font-size:14px;color:var(--card-text-color-secondary);display:none}@media(min-width:768px){.pagination .pagination-jump .jump-text{display:inline}}.pagination .pagination-jump .jump-input{width:50px;height:36px;padding:0 8px;border:1px solid var(--card-separator-color);border-radius:6px;background-color:var(--card-background);color:var(--card-text-color-main);font-size:14px;text-align:center;transition:all .2s ease}.pagination .pagination-jump .jump-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(0,0,0,5%)}.pagination .pagination-jump .jump-input::placeholder{color:var(--card-text-color-tertiary)}.pagination .pagination-jump .jump-input::-webkit-inner-spin-button,.pagination .pagination-jump .jump-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.pagination .pagination-jump .jump-input[type=number]{-moz-appearance:textfield}@media(min-width:768px){.pagination .pagination-container{padding:12px}}@media(max-width:767px){.pagination{margin:20px 0 24px}.pagination .pagination-container{padding:8px;gap:4px}.pagination .page-link{min-width:36px;height:36px;font-size:13px}.pagination .page-btn{padding:8px 12px;height:36px}.pagination .pagination-jump{margin-left:4px;padding-left:8px}.pagination .pagination-jump .jump-input{width:45px;height:32px;font-size:16px}}@media(min-width:768px){.sidebar.sticky{position:sticky}}.left-sidebar{display:flex;flex-direction:column;flex-shrink:0;align-self:stretch;margin-bottom:calc(-1 * var(--sidebar-element-separation));max-width:none;width:100%;position:relative;--sidebar-avatar-size:100px;--sidebar-element-separation:var(--spacing-lg);--emoji-size:40px;--emoji-font-size:20px}@media(min-width:768px){.left-sidebar{gap:var(--sidebar-element-separation)}}@media(min-width:768px){.left-sidebar{margin-bottom:0}}.left-sidebar>:not(:last-child){margin-bottom:var(--sidebar-element-separation)}@media(min-width:768px){.left-sidebar>:not(:last-child){margin-bottom:0}}@media(min-width:768px){.left-sidebar{width:auto;padding-top:var(--main-top-padding);padding-bottom:var(--main-top-padding);max-height:100vh}}@media(min-width:1536px){.left-sidebar{--sidebar-avatar-size:120px;--sidebar-element-separation:var(--spacing-xl);--emoji-size:40px}}.left-sidebar.sticky{top:0}.left-sidebar.compact{--sidebar-avatar-size:80px;--emoji-size:30px;--emoji-font-size:15px}@media(min-width:1024px){.left-sidebar.compact header{flex-direction:row}}.left-sidebar.compact header .site-meta{gap:var(--spacing-xs)}.left-sidebar.compact header .site-name{font-size:1.4rem}@media(min-width:1536px){.left-sidebar.compact header .site-name{font-size:1.75rem}}.left-sidebar.compact header .site-description{font-size:1.4rem}.right-sidebar{width:100%;display:none;flex-direction:column;gap:var(--widget-separation)}.right-sidebar.sticky{top:0}@media(min-width:1024px){.right-sidebar{padding-top:var(--main-top-padding);padding-bottom:var(--main-top-padding)}}.sidebar header{z-index:1;transition:box-shadow .5s ease;display:flex;flex-direction:column;gap:var(--sidebar-element-separation)}@media(min-width:768px){.sidebar header{padding:0}}.sidebar header .site-avatar{position:relative;margin:0;width:var(--sidebar-avatar-size);height:var(--sidebar-avatar-size);flex-shrink:0}.sidebar header .site-avatar .site-logo{width:100%;height:100%;border-radius:100%;box-shadow:var(--shadow-l1)}.sidebar header .site-avatar .emoji{position:absolute;width:var(--emoji-size);height:var(--emoji-size);line-height:var(--emoji-size);border-radius:100%;bottom:0;right:0;text-align:center;font-size:var(--emoji-font-size);background-color:var(--card-background);box-shadow:var(--shadow-l2)}.sidebar header .site-meta{display:flex;flex-direction:column;gap:var(--spacing-sm);justify-content:center}.sidebar header .site-name{color:var(--accent-color);margin:0;font-size:1.6rem}@media(min-width:1536px){.sidebar header .site-name{font-size:1.8rem}}.sidebar header .site-description{color:var(--body-text-color);font-weight:400;margin:0;font-size:1.4rem}@media(min-width:1536px){.sidebar header .site-description{font-size:1.6rem}}[data-scheme=dark] #dark-mode-toggle{color:var(--accent-color);font-weight:700}[data-scheme=dark] #dark-mode-toggle .icon-tabler-toggle-left{display:none}[data-scheme=dark] #dark-mode-toggle .icon-tabler-toggle-right{display:unset}#dark-mode-toggle{margin-top:auto;color:var(--body-text-color);display:flex;align-items:center;cursor:pointer;gap:var(--menu-icon-separation)}#dark-mode-toggle .icon-tabler-toggle-right{display:none}#i18n-switch{color:var(--body-text-color);display:inline-flex;align-content:center;gap:var(--menu-icon-separation)}#i18n-switch select{border:0;background:0 0!important;color:var(--body-text-color);padding:0!important;cursor:pointer;font-family:inherit;font-size:inherit;appearance:none;-webkit-appearance:none;-moz-appearance:none}#i18n-switch select::-ms-expand{display:none}#i18n-switch select option{color:var(--card-text-color-main);background-color:var(--card-background)}html{font-size:62.5%;overflow-y:scroll;scrollbar-gutter:stable}*{box-sizing:border-box}body{background:var(--body-background);margin:0;font-family:var(--base-font-family);font-size:1.6rem;text-autospace:ideograph-alpha ideograph-numeric punctuation insert;text-spacing-trim:trim-start allow-end;-ms-text-autospace:ideograph-alpha;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.article-page.hide-sidebar-sm .left-sidebar{display:none}@media(min-width:768px){.article-page.hide-sidebar-sm .left-sidebar{display:inherit}}.article-page .main-article{background:var(--card-background);border-radius:var(--card-border-radius);box-shadow:var(--shadow-l1);overflow:hidden}.article-page .main-article .article-header .article-image img{height:auto;width:100%;max-height:50vh;object-fit:cover}.article-page .main-article .article-header .article-details{padding:var(--card-padding);padding-bottom:0}.article-page .main-article .article-content{margin:var(--card-padding)0;color:var(--card-text-color-main)}.article-page .main-article .article-content .footnotes{font-family:var(--base-font-family)}.article-page .main-article .article-content img{max-width:100%;height:auto}.article-page .main-article .article-footer{margin:var(--card-padding);gap:var(--spacing-2xl)}.toc-nav{overflow-x:auto;max-height:75vh}.toc-nav ol,.toc-nav ul{margin:0;padding:0}.toc-nav ol{list-style-type:none;counter-reset:item}.toc-nav ol li a:first-of-type::before{counter-increment:item;content:counters(item,".")". ";font-weight:700;margin-right:5px}.toc-nav>ul{padding:0 1em}.toc-nav li{margin:var(--spacing-md)0 var(--spacing-md)var(--spacing-lg);padding:var(--spacing-xs)}.toc-nav li>ol,.toc-nav li>ul{margin-top:var(--spacing-sm);padding-left:var(--spacing-sm);margin-bottom:calc(var(--spacing-xs) * -1)}.toc-nav li>ol>li:last-child,.toc-nav li>ul>li:last-child{margin-bottom:0}.toc-nav li.active-class>a{border-left:var(--heading-border-size)solid var(--accent-color);font-weight:700}.toc-nav ul li.active-class>a{display:block}.toc-nav>ul>li.active-class>a{margin-left:calc(-25px - 1em);padding-left:calc(25px + 1em - var(--heading-border-size))}.toc-nav>ol>li.active-class>a{margin-left:calc(-9px - 1em);padding-left:calc(9px + 1em - var(--heading-border-size));display:block}.toc-nav>ul>li>ul>li.active-class>a{margin-left:calc(-60px - 1em);padding-left:calc(60px + 1em - var(--heading-border-size))}.toc-nav>ol>li>ol>li.active-class>a{margin-left:calc(-44px - 1em);padding-left:calc(44px + 1em - var(--heading-border-size));display:block}.toc-nav>ul>li>ul>li>ul>li.active-class>a{margin-left:calc(-95px - 1em);padding-left:calc(95px + 1em - var(--heading-border-size))}.toc-nav>ol>li>ol>li>ol>li.active-class>a{margin-left:calc(-79px - 1em);padding-left:calc(79px + 1em - var(--heading-border-size));display:block}.toc-nav>ul>li>ul>li>ul>li>ul>li.active-class>a{margin-left:calc(-130px - 1em);padding-left:calc(130px + 1em - var(--heading-border-size))}.toc-nav>ol>li>ol>li>ol>li>ol>li.active-class>a{margin-left:calc(-114px - 1em);padding-left:calc(114px + 1em - var(--heading-border-size));display:block}.toc-nav>ul>li>ul>li>ul>li>ul>li>ul>li.active-class>a{margin-left:calc(-165px - 1em);padding-left:calc(165px + 1em - var(--heading-border-size))}.toc-nav>ol>li>ol>li>ol>li>ol>li>ol>li.active-class>a{margin-left:calc(-149px - 1em);padding-left:calc(149px + 1em - var(--heading-border-size));display:block}.widget--toc,.article-toc{display:flex;flex-direction:column;color:var(--card-text-color-main)}.widget--toc{background-color:var(--card-background);border-radius:var(--card-border-radius);box-shadow:var(--shadow-l1);overflow:hidden}.article-toc{padding:0 var(--card-padding);margin-top:var(--spacing-lg)}@media(min-width:1024px){.article-toc{display:none}}.article-toc details{background-color:var(--card-background);border-radius:var(--card-border-radius);box-shadow:var(--shadow-l2)}.article-toc details[open] .article-toc-title svg{transform:rotate(90deg)}.article-toc details summary{list-style:none;padding:var(--spacing-md)var(--spacing-lg);cursor:pointer}.article-toc details summary::-webkit-details-marker{display:none}.article-toc details summary .article-toc-title{display:flex;align-items:center;gap:var(--spacing-sm);text-transform:uppercase;font-size:1.4rem;font-weight:700;color:var(--card-text-color-tertiary)}.article-toc details summary .article-toc-title svg{width:20px;height:20px;stroke-width:1.33;transition:transform .3s ease}.article-content{font-family:var(--article-font-family);font-size:var(--article-font-size);padding:0 var(--card-padding);line-height:var(--article-line-height)}.article-content>p{margin:1.5em 0}.article-content h1,.article-content h2,.article-content h3,.article-content h4,.article-content h5,.article-content h6{margin-inline-start:calc((var(--card-padding)) * -1);padding-inline-start:calc(var(--card-padding) - var(--heading-border-size));border-inline-start:var(--heading-border-size)solid var(--accent-color);position:relative}.article-content h1 a.header-anchor,.article-content h2 a.header-anchor,.article-content h3 a.header-anchor,.article-content h4 a.header-anchor,.article-content h5 a.header-anchor,.article-content h6 a.header-anchor{transition:opacity .3s ease;opacity:0;position:absolute;left:0;width:var(--card-padding);text-align:center;color:var(--accent-color)}.article-content h1 a.header-anchor:before,.article-content h2 a.header-anchor:before,.article-content h3 a.header-anchor:before,.article-content h4 a.header-anchor:before,.article-content h5 a.header-anchor:before,.article-content h6 a.header-anchor:before{content:"#"}.article-content h1:hover a.header-anchor,.article-content h1:focus a.header-anchor,.article-content h2:hover a.header-anchor,.article-content h2:focus a.header-anchor,.article-content h3:hover a.header-anchor,.article-content h3:focus a.header-anchor,.article-content h4:hover a.header-anchor,.article-content h4:focus a.header-anchor,.article-content h5:hover a.header-anchor,.article-content h5:focus a.header-anchor,.article-content h6:hover a.header-anchor,.article-content h6:focus a.header-anchor{opacity:1}.article-content figure{text-align:center}.article-content figure figcaption{font-size:1.4rem;color:var(--card-text-color-secondary)}.article-content blockquote{position:relative;margin:1.5em 0;border-inline-start:var(--blockquote-border-size)solid var(--card-separator-color);padding:var(--spacing-md)calc(var(--card-padding) - var(--blockquote-border-size));background-color:var(--blockquote-background-color)}.article-content blockquote .cite{display:block;text-align:right;font-size:.75em}.article-content blockquote .cite a{text-decoration:underline}.article-content blockquote.alert .alert-header{display:flex;align-items:center;gap:.5em;font-weight:700}.article-content blockquote.alert .alert-body>:last-child{margin-bottom:0}.article-content blockquote.alert.alert-note{border-color:var(--alert-note-color);background-color:var(--alert-note-background)}.article-content blockquote.alert.alert-note .alert-title{color:var(--alert-note-color)}.article-content blockquote.alert.alert-tip{border-color:var(--alert-tip-color);background-color:var(--alert-tip-background)}.article-content blockquote.alert.alert-tip .alert-title{color:var(--alert-tip-color)}.article-content blockquote.alert.alert-important{border-color:var(--alert-important-color);background-color:var(--alert-important-background)}.article-content blockquote.alert.alert-important .alert-title{color:var(--alert-important-color)}.article-content blockquote.alert.alert-warning{border-color:var(--alert-warning-color);background-color:var(--alert-warning-background)}.article-content blockquote.alert.alert-warning .alert-title{color:var(--alert-warning-color)}.article-content blockquote.alert.alert-caution{border-color:var(--alert-caution-color);background-color:var(--alert-caution-background)}.article-content blockquote.alert.alert-caution .alert-title{color:var(--alert-caution-color)}.article-content hr{width:100px;margin:40px auto;background:var(--card-text-color-tertiary);height:2px;border:0;opacity:.55}.article-content code{color:var(--code-text-color);background-color:var(--code-background-color);padding:2px 4px;border-radius:var(--tag-border-radius);font-family:var(--code-font-family)}.article-content a,.article-content code{word-break:break-word}.article-content .gallery{position:relative;display:flex;flex-direction:row;justify-content:center;margin:1.5em 0;gap:var(--spacing-sm)}.article-content .gallery figure{margin:0}.article-content pre{overflow-x:auto;display:block;background-color:var(--pre-background-color);color:var(--pre-text-color);font-family:var(--code-font-family);line-height:1.428571429;word-break:break-all;padding:var(--card-padding)}[dir=rtl] .article-content pre{direction:ltr}.article-content pre code{color:unset;border:none;background:0 0;padding:0}.article-content .highlight{background-color:var(--pre-background-color);padding:var(--card-padding);position:relative}.article-content .highlight pre{background-color:initial}.article-content .highlight:hover .copyCodeButton{opacity:1}[dir=rtl] .article-content .highlight{direction:ltr}.article-content .highlight pre{padding:0;margin:0;width:auto}.article-content .copyCodeButton{position:absolute;top:calc(var(--card-padding));right:calc(var(--card-padding));background:var(--card-background);border:none;box-shadow:var(--shadow-l2);border-radius:var(--tag-border-radius);padding:8px 16px;color:var(--card-text-color-main);cursor:pointer;font-size:14px;opacity:0;transition:opacity .3s ease}.article-content .table-wrapper{padding:0 var(--card-padding);overflow-x:auto;display:block}.article-content table{width:100%;border-collapse:collapse;border-spacing:0;margin-bottom:1.5em;font-size:.96em}.article-content th,.article-content td{text-align:left;padding:4px 8px 4px 10px;border:1px solid var(--table-border-color)}.article-content td{vertical-align:top}.article-content tr:nth-child(even){background-color:var(--tr-even-background-color)}.article-content .twitter-tweet{color:var(--card-text-color-main)}.article-content .video-wrapper{position:relative;width:100%;height:0;padding-bottom:56.25%;overflow:hidden}.article-content .video-wrapper>iframe,.article-content .video-wrapper>video{position:absolute;width:100%;height:100%;left:0;top:0;border:0}.article-content .gitlab-embed-snippets{margin:0!important}.article-content .gitlab-embed-snippets .file-holder.snippet-file-content{margin-block-end:0!important;margin-block-start:0!important;margin-left:calc((var(--card-padding)) * -1)!important;margin-right:calc((var(--card-padding)) * -1)!important;padding:0 var(--card-padding)!important}.article-content blockquote,.article-content figure,.article-content .highlight,.article-content pre,.article-content .gallery,.article-content .video-wrapper,.article-content .table-wrapper,.article-content .s_video_simple{margin-left:calc((var(--card-padding)) * -1);margin-right:calc((var(--card-padding)) * -1);width:calc(100% + var(--card-padding) * 2)}.article-content .katex-display>.katex{overflow-x:auto;overflow-y:hidden}.article-content kbd{border:1px solid var(--kbd-border-color);font-weight:700;font-size:.9em;line-height:1;padding:2px 4px;border-radius:4px;display:inline-block}.section-card{background-color:var(--card-background);box-shadow:var(--shadow-l1);border-radius:var(--card-border-radius);padding:var(--small-card-padding);display:flex;align-items:center;gap:var(--spacing-lg);--separation:15px}.section-card .section-term{font-size:2.2rem;margin:0;color:var(--card-text-color-main)}.section-card .section-description{font-weight:400;color:var(--card-text-color-secondary);font-size:1.6rem;margin:0}.section-card .section-details{flex-grow:1;display:flex;flex-direction:column;gap:8px}.section-card .section-image img{width:60px;height:60px;object-fit:cover}.section-card .section-count{color:var(--card-text-color-tertiary);font-size:1.4rem;margin:0;font-weight:700;text-transform:uppercase}@property --left-edge-fade-size{syntax: "<length>";
  inherits: false;
  initial-value: 0px; }@property --right-edge-fade-size{syntax: "<length>";
  inherits: false;
  initial-value: 64px; }.subsection-list{--shadow-overlap-x:calc(var(--shadow-l2-blur) + 4px);--shadow-overlap-y:calc(var(--shadow-l2-blur) + var(--shadow-l2-y) + 4px);--edge-fade-size:64px;--left-edge-fade-size:0px;--right-edge-fade-size:var(--edge-fade-size);overflow-x:auto;--overlap-x:min(var(--shadow-overlap-x), var(--container-padding));margin-left:calc(var(--overlap-x) * -1);margin-right:calc(var(--overlap-x) * -1);margin-bottom:calc(var(--shadow-overlap-y) * -1);--subsection-mask-image:linear-gradient(
        to right,
        transparent 0%,
        rgb(0 0 0 / 0.06) calc(var(--left-edge-fade-size) * 0.12),
        rgb(0 0 0 / 0.2) calc(var(--left-edge-fade-size) * 0.3),
        rgb(0 0 0 / 0.45) calc(var(--left-edge-fade-size) * 0.52),
        rgb(0 0 0 / 0.72) calc(var(--left-edge-fade-size) * 0.76),
        black var(--left-edge-fade-size),
        black calc(100% - var(--right-edge-fade-size)),
        rgb(0 0 0 / 0.72) calc(100% - (var(--right-edge-fade-size) * 0.76)),
        rgb(0 0 0 / 0.45) calc(100% - (var(--right-edge-fade-size) * 0.52)),
        rgb(0 0 0 / 0.2) calc(100% - (var(--right-edge-fade-size) * 0.3)),
        rgb(0 0 0 / 0.06) calc(100% - (var(--right-edge-fade-size) * 0.12)),
        transparent 100%
    );-webkit-mask-image:var(--subsection-mask-image);mask-image:var(--subsection-mask-image)}[dir=rtl] .subsection-list{margin-left:calc(var(--overlap-x) * -1);margin-right:calc(var(--overlap-x) * -1)}.subsection-list .article-list--tile{display:flex;padding:var(--spacing-xs)var(--overlap-x)var(--shadow-overlap-y);width:max-content;gap:var(--spacing-lg)}[dir=rtl] .subsection-list .article-list--tile{padding:var(--spacing-xs)var(--overlap-x)var(--shadow-overlap-y)}.subsection-list .article-list--tile article{flex-shrink:0}.subsection-list .article-list--tile article .article-title{margin:0;font-size:1.8rem}.subsection-list .article-list--tile article .article-details{padding:var(--spacing-lg)}@supports(animation-timeline:scroll(self inline)){.subsection-list{animation:subsection-left-fade linear both,subsection-right-fade linear both;animation-timeline:scroll(self inline);animation-range:1px 24px,0% 100%;animation-timing-function:ease-out,linear}}@keyframes subsection-left-fade{from{--left-edge-fade-size:0px}to{--left-edge-fade-size:var(--edge-fade-size)}}@keyframes subsection-right-fade{0%,92%{--right-edge-fade-size:var(--edge-fade-size)}100%{--right-edge-fade-size:0px}}.not-found-card{background-color:var(--card-background);box-shadow:var(--shadow-l1);border-radius:var(--card-border-radius);padding:var(--card-padding)}.search-form{position:relative;--button-size:80px}.search-form.widget{--button-size:60px}.search-form.widget label{font-size:1.3rem;top:var(--spacing-sm)}.search-form.widget input{font-size:1.5rem;padding:var(--spacing-2xl)var(--spacing-lg)var(--spacing-md)}.search-form p{position:relative;margin:0}.search-form label{position:absolute;top:var(--spacing-md);inset-inline-start:var(--spacing-lg);font-size:1.4rem;color:var(--card-text-color-tertiary)}.search-form input{padding:40px 20px 20px;background-color:var(--card-background);box-shadow:var(--shadow-l1);border-radius:var(--card-border-radius);color:var(--card-text-color-main);width:100%;border:0;-webkit-appearance:none;appearance:none;transition:box-shadow .3s ease;font-size:1.8rem}.search-form input:focus{outline:0;box-shadow:var(--shadow-l2)}.search-form button{position:absolute;inset-inline-end:0;top:0;height:100%;width:var(--button-size);cursor:pointer;background-color:initial;border:0;padding:0 10px}.search-form button:focus{outline:0}.search-form button:focus svg{stroke-width:2;color:var(--accent-color)}.search-form button svg{color:var(--card-text-color-secondary);stroke-width:1.33;transition:all .3s ease;width:20px;height:20px}.search-result.hidden{display:none}.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:9999;padding:var(--container-padding);pointer-events:none}.cookie-banner[aria-hidden=true]{display:none}.cookie-banner__content{max-width:900px;margin:0 auto;background:var(--card-background);border-radius:var(--card-border-radius);box-shadow:var(--shadow-l2);padding:var(--card-padding);display:flex;flex-direction:column;gap:var(--spacing-md);pointer-events:auto}@media(min-width:768px){.cookie-banner__content{flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--spacing-lg)}}.cookie-banner__text{flex:1;min-width:200px}.cookie-banner__text strong{display:block;color:var(--card-text-color-main);font-size:1.6rem;margin-bottom:var(--spacing-xs)}.cookie-banner__text p{color:var(--card-text-color-secondary);font-size:1.4rem;line-height:1.6;margin:0}.cookie-banner__actions{display:flex;gap:var(--spacing-sm);flex-shrink:0}.cookie-banner__settings-link{width:auto;align-self:flex-start;background:0 0;border:none;color:var(--accent-color);font-size:1.3rem;cursor:pointer;padding:5px}.cookie-banner__settings-link:hover{text-decoration:underline}@media(min-width:768px){.cookie-banner__settings-link{margin-left:auto;align-self:center}}.cookie-btn{padding:10px 20px;border-radius:var(--tag-border-radius);font-size:1.4rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.cookie-btn--primary{background:var(--accent-color);color:var(--accent-color-text)}.cookie-btn--primary:hover{background:var(--accent-color-darker)}.cookie-btn--secondary{background:0 0;color:var(--card-text-color-main);border:1.5px solid var(--card-separator-color)}.cookie-btn--secondary:hover{background:var(--card-background-selected)}.cookie-settings{padding-top:20px;border-top:1.5px solid var(--card-separator-color)}.cookie-settings[aria-hidden=true]{display:none}.cookie-settings h3{color:var(--card-text-color-main);font-size:1.6rem;margin:0 0 var(--spacing-md)}.cookie-settings__actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-lg)}.cookie-category{padding:var(--spacing-md)0;border-bottom:1px solid var(--card-separator-color)}.cookie-category:last-of-type{border-bottom:none}.cookie-category label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer}.cookie-category label input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-color);cursor:pointer}.cookie-category label input[type=checkbox]:disabled{opacity:.6;cursor:not-allowed}.cookie-category label strong{color:var(--card-text-color-main);font-size:1.5rem}.cookie-category p{color:var(--card-text-color-secondary);font-size:1.3rem;margin:8px 0 0 28px;line-height:1.5}.cookie-settings-link{display:inline-block;color:var(--body-text-color);font-size:1.2rem;cursor:pointer;background:0 0;border:none;padding:0}.cookie-settings-link:hover{color:var(--accent-color);text-decoration:underline}.consent-placeholder{background-color:var(--card-background);box-shadow:var(--shadow-l1);border-radius:var(--card-border-radius);padding:var(--card-padding);text-align:center;color:var(--card-text-color-secondary);font-size:1.4rem}.consent-placeholder p{margin:0 0 var(--spacing-md)}a{text-decoration:none;color:var(--accent-color)}a:hover{color:var(--accent-color-darker)}a.link{box-shadow:0 -2px rgba(var(--link-background-color),var(--link-background-opacity))inset;transition:all .3s ease}a.link:hover{box-shadow:0 calc(-1rem * var(--article-line-height))rgba(var(--link-background-color),var(--link-background-opacity-hover))inset}.section-title{text-transform:uppercase;margin-top:0;margin-bottom:var(--spacing-sm);display:block;font-size:1.6rem;font-weight:700;color:var(--body-text-color)}.section-title a{color:var(--body-text-color)}@font-face{font-family:maple mono;src:url(/fonts/maple-mono/MapleMono-Regular.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:maple mono;src:url(/fonts/maple-mono/MapleMono-Italic.woff2)format("woff2");font-style:italic;font-weight:400;font-display:swap}@font-face{font-family:maple mono;src:url(/fonts/maple-mono/MapleMono-Bold.woff2)format("woff2");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:maple mono;src:url(/fonts/maple-mono/MapleMono-BoldItalic.woff2)format("woff2");font-style:italic;font-weight:700;font-display:swap}:root{--sys-font-family:-apple-system, BlinkMacSystemFont, "SF Pro Text",
        "Segoe UI", Roboto, "Helvetica Neue", Arial;--zh-font-family:"PingFang SC", "Noto Sans SC", "Hiragino Sans GB",
        "Microsoft YaHei";--base-font-family:var(--sys-font-family), var(--zh-font-family),
        "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;--code-font-family:"Maple Mono", "SF Mono", ui-monospace, Menlo, Monaco,
        Consolas, var(--zh-font-family), monospace;--main-top-padding:40px;--card-border-radius:20px;--tag-border-radius:8px;--section-separation:48px;--article-font-size:18px;--article-line-height:1.7;--body-background:#FBFBFD;--card-background:#FFFFFF;--body-text-color:#1D1D1F;--card-text-color-main:#1D1D1F;--card-text-color-secondary:#6E6E73;--accent-color:#356890;--accent-color-darker:#1D5178;--accent-color-text:#FFFFFF;--shadow-l1:0 1px 3px rgba(0,0,0,0.05), 0 5px 15px rgba(0,0,0,0.02);--shadow-l2:0 12px 30px rgba(0,0,0,0.08);--table-border-color:#ced4da;--table-line-color:rgba(0, 0, 0, 0.1);--table-header-line-color:rgba(0, 0, 0, 0.2);--code-background-color:rgba(25, 25, 28, 0.05);--code-text-color:#5C1616;--pre-background-color:#FFFFFF;--pre-text-color:#24292F;--article-tile-overlay-bg:rgba(0, 0, 0, 0.25);--notice-note-background:#F5F5F7;--notice-info-backgroud:#F0F7FF;--notice-warning-backgroud:#FFF9F0;--notice-tip-backgroud:#F2FBF5;--notice-note-border-color:#D2D2D7;--notice-info-border-color:#005BB5;--notice-warning-border-color:#FF9F0A;--notice-tip-border-color:#30D158;--notice-note-color:#1D1D1F;--notice-info-color:#004490;--notice-warning-color:#B25E09;--notice-tip-color:#166E29;--notice-code-background:#F5F5F7;--alert-note-color:var(--accent-color);--alert-tip-color:#2D7048;--alert-important-color:#674A9E;--alert-warning-color:#835A0B;--alert-caution-color:#A63B3B;--alert-tint:6%;--alert-note-background:color-mix(in srgb, var(--alert-note-color) var(--alert-tint), transparent);--alert-tip-background:color-mix(in srgb, var(--alert-tip-color) var(--alert-tint), transparent);--alert-important-background:color-mix(in srgb, var(--alert-important-color) var(--alert-tint), transparent);--alert-warning-background:color-mix(in srgb, var(--alert-warning-color) var(--alert-tint), transparent);--alert-caution-background:color-mix(in srgb, var(--alert-caution-color) var(--alert-tint), transparent)}:root[data-scheme=dark]{--body-background:#000000;--card-background:#1C1C1E;--body-text-color:#F5F5F7;--card-text-color-main:#F5F5F7;--card-text-color-secondary:#98989D;--blockquote-background-color:#1C1C1E;--accent-color:#8FBDE5;--accent-color-darker:#77ABD7;--accent-color-text:#000000;--shadow-l1:0 1px 3px rgba(0,0,0,0.3);--shadow-l2:0 12px 30px rgba(0,0,0,0.4);--table-border-color:#717171;--table-line-color:rgba(255, 255, 255, 0.1);--table-header-line-color:rgba(255, 255, 255, 0.24);--code-background-color:#C2C0B615;--code-text-color:#E6B3B3;--pre-background-color:#161B22;--pre-text-color:#E6EDF3;--article-tile-overlay-bg:rgba(0, 0, 0, 0.25);--notice-note-background:#2C2C2E;--notice-info-backgroud:#102A44;--notice-warning-backgroud:#332B00;--notice-tip-backgroud:#0C2B15;--notice-note-border-color:#48484A;--notice-info-border-color:#89C4FF;--notice-warning-border-color:#FF9F0A;--notice-tip-border-color:#30D158;--notice-note-color:#F5F5F7;--notice-info-color:#89C4FF;--notice-warning-color:#FFD60A;--notice-tip-color:#30D158;--notice-code-background:#2C2C2E;--alert-tip-color:#86C79E;--alert-important-color:#BBA6E6;--alert-warning-color:#DDB466;--alert-caution-color:#EE9A9A;--alert-tint:10%}body{font-size:1.4rem}@media(min-width:2560px){:root{--article-font-size:20px;--article-line-height:1.75}}:root{--tw-prose-body:#1D1D1F;--tw-prose-headings:#111827}:root[data-scheme=dark]{--tw-prose-body:#F5F5F7;--tw-prose-headings:#fff}a.card-github{font-family:var(--base-font-family)!important;display:block;background:0 0;border:1px solid var(--table-line-color);position:relative;margin:.5rem 0;padding:1.1rem 1.5rem;color:var(--tw-prose-body);border-radius:12px;text-decoration-thickness:0;text-decoration-line:none}a.card-github:hover{border-color:color-mix(in srgb,var(--accent-color) 50%,transparent)}a.card-github:hover .gc-titlebar{color:var(--accent-color)}a.card-github:hover .gc-stars,a.card-github:hover .gc-forks,a.card-github:hover .gc-license,a.card-github:hover .gc-description{color:var(--tw-prose-headings)}a.card-github:hover .gc-stars:before,a.card-github:hover .gc-forks:before,a.card-github:hover .gc-license:before,a.card-github:hover .gc-description:before{background-color:var(--tw-prose-headings)}a.card-github:active{scale:.98}a.card-github .gc-titlebar{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;color:var(--tw-prose-headings);font-size:16px;font-weight:500}a.card-github .gc-titlebar .gc-titlebar-left{display:flex;flex-flow:row nowrap;gap:.5rem}a.card-github .gc-titlebar .gc-repo{font-weight:700}a.card-github .gc-titlebar .gc-owner{font-weight:300;position:relative;display:flex;flex-flow:row nowrap;gap:.5rem;align-items:center}a.card-github .gc-titlebar .gc-avatar{display:block;overflow:hidden;width:24px;height:24px;margin-top:-1.6px;background-color:var(--table-line-color);background-size:cover;border-radius:50%}a.card-github .gc-description{margin-bottom:11.2px;font-size:14px;font-weight:300;line-height:22px;color:var(--tw-prose-body)}a.card-github .gc-infobar{display:flex;flex-flow:row nowrap;gap:1.5rem;color:var(--tw-prose-body);width:fit-content}a.card-github .gc-language{display:none}a.card-github .gc-stars,a.card-github .gc-forks,a.card-github .gc-license,a.card-github .github-logo{font-weight:500;font-size:12px;opacity:.9}a.card-github .gc-stars:before,a.card-github .gc-forks:before,a.card-github .gc-license:before,a.card-github .github-logo:before{content:' ';display:inline-block;height:1.3em;width:1.3em;margin-right:.4rem;vertical-align:-.24em;font-size:inherit;background-color:var(--tw-prose-body);overflow:visible;mask-size:contain;mask-position:center;mask-repeat:no-repeat;transition-property:background-color,background;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}a.card-github .gc-stars:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='16' viewBox='0 0 16 16' version='1.1' width='16'%3E%3Cpath d='M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z'%3E%3C/path%3E%3C/svg%3E")}a.card-github .gc-license:before{margin-right:.5rem;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='16' viewBox='0 0 16 16' version='1.1' width='16'%3E%3Cpath d='M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z'%3E%3C/path%3E%3C/svg%3E")}a.card-github .gc-forks:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='16' viewBox='0 0 16 16' version='1.1' width='16'%3E%3Cpath d='M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z'%3E%3C/path%3E%3C/svg%3E")}a.card-github .github-logo{font-size:18px}a.card-github .github-logo:before{background-color:var(--tw-prose-headings);margin-right:0;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='31' height='32' viewBox='0 0 496 512'%3E%3Cpath fill='%23a1f7cb' d='M165.9 397.4c0 2-2.3 3.6-5.2 3.6c-3.3.3-5.6-1.3-5.6-3.6c0-2 2.3-3.6 5.2-3.6c3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9c2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9c.3 2 2.9 3.3 5.9 2.6c2.9-.7 4.9-2.6 4.6-4.6c-.3-1.9-3-3.2-5.9-2.9M244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2c12.8 2.3 17.3-5.6 17.3-12.1c0-6.2-.3-40.4-.3-61.4c0 0-70 15-84.7-29.8c0 0-11.4-29.1-27.8-36.6c0 0-22.9-15.7 1.6-15.4c0 0 24.9 2 38.6 25.8c21.9 38.6 58.6 27.5 72.9 20.9c2.3-16 8.8-27.1 16-33.7c-55.9-6.2-112.3-14.3-112.3-110.5c0-27.5 7.6-41.3 23.6-58.9c-2.6-6.5-11.1-33.3 2.6-67.9c20.9-6.5 69 27 69 27c20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27c13.7 34.7 5.2 61.4 2.6 67.9c16 17.7 25.8 31.5 25.8 58.9c0 96.5-58.9 104.2-114.8 110.5c9.2 7.9 17 22.9 17 46.4c0 33.7-.3 75.4-.3 83.6c0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252C496 113.3 383.5 8 244.8 8M97.2 352.9c-1.3 1-1 3.3.7 5.2c1.6 1.6 3.9 2.3 5.2 1c1.3-1 1-3.3-.7-5.2c-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9c1.6 1 3.6.7 4.3-.7c.7-1.3-.3-2.9-2.3-3.9c-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2c2.3 2.3 5.2 2.6 6.5 1c1.3-1.3.7-4.3-1.3-6.2c-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9c1.6 2.3 4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2c-1.4-2.3-4-3.3-5.6-2'/%3E%3C/svg%3E")}a.card-github.fetch-waiting{pointer-events:none;opacity:.7;transition:opacity .15s ease-in-out}a.card-github.fetch-waiting .gc-description,a.card-github.fetch-waiting .gc-infobar{background-color:var(--tw-prose-body);color:transparent;opacity:.5;border-radius:.5rem;animation:pulsate 2s infinite linear;user-select:none}a.card-github.fetch-waiting .gc-description:before,a.card-github.fetch-waiting .gc-infobar:before{background-color:initial}a.card-github.fetch-waiting .gc-avatar{display:none}a.card-github.fetch-waiting .gc-repo{margin-left:-.1rem}a.card-github.fetch-error .gc-description,a.card-github.fetch-error .gc-infobar{display:none}@keyframes pulsate{0%{opacity:.15}50%{opacity:.25}100%{opacity:.15}}.card-github,.gc-description,.gc-titlebar,.gc-stars,.gc-forks,.gc-license,.gc-avatar,github-logo{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.article-content .alert{border-radius:12px;border-left-width:4px;box-shadow:none;margin-left:0;margin-right:0;width:auto;padding:12px 16px}.article-content h1{line-height:1.2}.site-avatar img{width:5rem;transition:transform 1s ease-out}.site-avatar img:hover{transform:rotateZ(360deg)}code,pre,kbd,samp{font-variant-ligatures:none}code{word-break:break-all}a{overflow-wrap:break-word}::selection{color:inherit;background:rgba(53,104,144,.12)}[data-scheme=dark] ::selection{color:inherit;background:rgba(143,189,229,.22)}.article-list{gap:32px}.article-list article .article-image img{width:100%;height:150px;object-fit:cover;object-position:center 30%}@media(min-width:768px){.article-list article.has-image .article-header{display:flex;flex-direction:row-reverse;min-height:220px}.article-list article .article-image{position:relative;flex:0 0 36%}.article-list article .article-image img{position:absolute;inset:0;height:100%}.article-list article .article-details{flex:1;min-width:0}}@media(min-width:2560px){.article-list article.has-image .article-header{min-height:300px}}.article-list article .article-subtitle{font-size:1.5rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(min-width:1280px){.article-list article .article-subtitle{font-size:1.6rem}}.article-list article{position:relative}.article-list article .article-title a::after{content:"";position:absolute;inset:0}.article-list article .article-category a{position:relative;z-index:1}.article-page .main-article .article-header .article-image img{aspect-ratio:5/2;max-height:none;object-position:center 30%}.article-page .main-article .article-subtitle{font-size:1.7rem}@media(min-width:1280px){.article-page .main-article .article-subtitle{font-size:1.8rem}}.article-category a{padding:0;background:0 0;color:var(--accent-color);font-size:1.3rem;font-weight:600;letter-spacing:.04em}.article-category a:hover{background:0 0;color:var(--accent-color-darker)}.article-details .article-meta>.inline-meta{gap:8px 20px}.article-details .article-meta>.inline-meta>div{display:inline-flex;align-items:center;gap:6px}.article-details .article-meta>.inline-meta svg{width:18px;height:18px}.container{margin-left:auto;margin-right:auto}.container .left-sidebar{order:-3;max-width:var(--left-sidebar-max-width)}@media(min-width:768px){.container .left-sidebar{width:auto}}.container .right-sidebar{order:-1;max-width:var(--right-sidebar-max-width)}@media(min-width:1024px){.container .right-sidebar{display:flex}}@media(min-width:768px){.container.extended{max-width:1024px;--left-sidebar-max-width:25%;--right-sidebar-max-width:22% !important}}@media(min-width:1024px){.container.extended{max-width:1280px;--left-sidebar-max-width:20%;--right-sidebar-max-width:30%}}@media(min-width:1280px){.container.extended{max-width:1453px;--left-sidebar-max-width:15%;--right-sidebar-max-width:25%}}@media(min-width:2560px){.container.extended{max-width:2e3px;--left-sidebar-max-width:15%;--right-sidebar-max-width:20%}}@media(min-width:768px){.container.compact{--left-sidebar-max-width:25%;max-width:768px}}@media(min-width:1024px){.container.compact{max-width:1024px;--left-sidebar-max-width:20%}}@media(min-width:1280px){.container.compact{max-width:1280px}}@media(min-width:2560px){.container.compact{max-width:1920px}}.article-content table:not(.lntable){width:100%;margin-bottom:0;color:var(--card-text-color-main);font-size:1.5rem;line-height:1.6;font-variant-numeric:tabular-nums;border-collapse:separate;border-spacing:0;border:1px solid var(--table-line-color);border-radius:12px}.article-content table:not(.lntable) th,.article-content table:not(.lntable) td{padding:8px 12px;text-align:left;vertical-align:top;border:0}@media(min-width:768px){.article-content table:not(.lntable) th,.article-content table:not(.lntable) td{padding:10px 16px}}.article-content table:not(.lntable) thead th{color:var(--card-text-color-secondary);font-size:1.4rem;font-weight:600;border-bottom:1px solid var(--table-header-line-color)}.article-content table:not(.lntable) tbody tr{background:0 0}.article-content table:not(.lntable) tbody tr+tr td{border-top:1px solid var(--table-line-color)}.article-content table:not(.lntable) code{padding:0;background:0 0;word-break:normal;overflow-wrap:break-word}@media(min-width:1024px){.article-list--compact{display:grid;grid-template-columns:1fr 1fr;background:0 0;box-shadow:none;gap:20px}.article-list--compact article{background:var(--card-background);border:none;box-shadow:var(--shadow-l1);border-radius:var(--card-border-radius);transition:transform .3s ease,box-shadow .3s ease}.article-list--compact article:hover{transform:translateY(-2px);box-shadow:var(--shadow-l2)}}.main-container{min-height:100vh;align-items:flex-start;padding:0 15px;gap:var(--section-separation);padding-top:var(--main-top-padding)}@media(min-width:768px){.main-container{padding:0 37px}}.article-list--compact article .article-image img{width:var(--article-compact-image-size);height:var(--article-compact-image-size);object-fit:cover;border-radius:17%}@supports not (scrollbar-width:auto){::-webkit-scrollbar{width:6px;height:6px;background-color:initial}::-webkit-scrollbar-track{background-color:initial}::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.15);border-radius:3px}::-webkit-scrollbar-thumb:hover{background-color:rgba(0,0,0,.3)}#main-menu::-webkit-scrollbar{width:4px}#main-menu::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.1);border-radius:2px}}@supports(scrollbar-width:auto){*{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.15)transparent}#main-menu{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.1)transparent}}@media(min-width:1024px){.article-list--compact.links{display:grid;grid-template-columns:1fr 1fr 1fr;background:0 0;box-shadow:none;gap:1rem}.article-list--compact.links article{background:var(--card-background);border:none;box-shadow:var(--shadow-l2);margin-bottom:8px;border-radius:var(--card-border-radius)}.article-list--compact.links article:nth-child(odd){margin-right:8px}}.article-page .main-article .article-content img{max-width:100%!important;height:auto!important;border-radius:12px}[data-scheme=light] .chroma{color:#383a42;background-color:#fff}[data-scheme=light] .chroma .err{color:#e45649}[data-scheme=light] .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}[data-scheme=light] .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0;width:100%;display:block}[data-scheme=light] .chroma .lntable>tbody{display:block;width:100%}[data-scheme=light] .chroma .lntable>tbody>tr{display:flex;width:100%}[data-scheme=light] .chroma .lntable>tbody>tr>td:last-child{overflow-x:auto}[data-scheme=light] .chroma .hl{display:block;width:100%;background-color:#e5e5e6}[data-scheme=light] .chroma .lnt{margin-right:.4em;padding:0 .4em;color:#7f7f7f;display:block}[data-scheme=light] .chroma .ln{margin-right:.4em;padding:0 .4em;color:#383a42}[data-scheme=light] .chroma .k{color:#a626a4}[data-scheme=light] .chroma .kc{color:#986801}[data-scheme=light] .chroma .kd{color:#a626a4}[data-scheme=light] .chroma .kn{color:#a626a4}[data-scheme=light] .chroma .kp{color:#a626a4}[data-scheme=light] .chroma .kr{color:#a626a4}[data-scheme=light] .chroma .kt{color:#a626a4}[data-scheme=light] .chroma .n{color:#e45649}[data-scheme=light] .chroma .na{color:#986801}[data-scheme=light] .chroma .nb{color:#a626a4}[data-scheme=light] .chroma .bp{color:#a626a4}[data-scheme=light] .chroma .nc{color:#c18401}[data-scheme=light] .chroma .no{color:#986801}[data-scheme=light] .chroma .nd{color:#a626a4}[data-scheme=light] .chroma .ni{color:#c18401}[data-scheme=light] .chroma .ne{color:#a626a4}[data-scheme=light] .chroma .nf{color:#a626a4}[data-scheme=light] .chroma .fm{color:#a626a4}[data-scheme=light] .chroma .nl{color:#a626a4}[data-scheme=light] .chroma .nn{color:#c18401}[data-scheme=light] .chroma .nx{color:#383a42}[data-scheme=light] .chroma .py{color:#e45649}[data-scheme=light] .chroma .nt{color:#e45649}[data-scheme=light] .chroma .nv{color:#e45649}[data-scheme=light] .chroma .vc{color:#e45649}[data-scheme=light] .chroma .vg{color:#e45649}[data-scheme=light] .chroma .vi{color:#e45649}[data-scheme=light] .chroma .vm{color:#e45649}[data-scheme=light] .chroma .l{color:#383a42}[data-scheme=light] .chroma .ld{color:#383a42}[data-scheme=light] .chroma .s{color:#50a14f}[data-scheme=light] .chroma .sa{color:#50a14f}[data-scheme=light] .chroma .sb{color:#50a14f}[data-scheme=light] .chroma .sc{color:#50a14f}[data-scheme=light] .chroma .dl{color:#50a14f}[data-scheme=light] .chroma .sd{color:#50a14f}[data-scheme=light] .chroma .s2{color:#50a14f}[data-scheme=light] .chroma .se{color:#50a14f}[data-scheme=light] .chroma .sh{color:#50a14f}[data-scheme=light] .chroma .si{color:#50a14f}[data-scheme=light] .chroma .sx{color:#50a14f}[data-scheme=light] .chroma .sr{color:#50a14f}[data-scheme=light] .chroma .s1{color:#50a14f}[data-scheme=light] .chroma .ss{color:#50a14f}[data-scheme=light] .chroma .m{color:#986801}[data-scheme=light] .chroma .mb{color:#986801}[data-scheme=light] .chroma .mf{color:#986801}[data-scheme=light] .chroma .mh{color:#986801}[data-scheme=light] .chroma .mi{color:#986801}[data-scheme=light] .chroma .il{color:#986801}[data-scheme=light] .chroma .mo{color:#986801}[data-scheme=light] .chroma .o{color:#383a42}[data-scheme=light] .chroma .ow{color:#383a42}[data-scheme=light] .chroma .p{color:#e45649}[data-scheme=light] .chroma .c{color:#a0a1a7;font-style:italic}[data-scheme=light] .chroma .ch{color:#a0a1a7;font-style:italic}[data-scheme=light] .chroma .cm{color:#a0a1a7;font-style:italic}[data-scheme=light] .chroma .c1{color:#a0a1a7;font-style:italic}[data-scheme=light] .chroma .cs{color:#a0a1a7;font-style:italic}[data-scheme=light] .chroma .cp{color:#a626a4}[data-scheme=light] .chroma .cpf{color:#50a14f}[data-scheme=light] .chroma .gd{color:#a0a1a7}[data-scheme=light] .chroma .ge{font-style:italic}[data-scheme=light] .chroma .gr{color:#e45649}[data-scheme=light] .chroma .gh{color:#383a42}[data-scheme=light] .chroma .gi{color:#383a42}[data-scheme=light] .chroma .go{color:#383a42}[data-scheme=light] .chroma .gp{color:#383a42}[data-scheme=light] .chroma .gs{font-weight:700}[data-scheme=light] .chroma .gu{color:#383a42}[data-scheme=light] .chroma .gt{color:#383a42}[data-scheme=light] .chroma .w{color:#383a42}[data-scheme=light] .chroma .n,[data-scheme=light] .chroma .p{color:#383a42}[data-scheme=light] .chroma .nf,[data-scheme=light] .chroma .fm,[data-scheme=light] .chroma .nd{color:#4078f2}[data-scheme=light] .chroma .nb,[data-scheme=light] .chroma .bp,[data-scheme=light] .chroma .se,[data-scheme=light] .chroma .si,[data-scheme=light] .chroma .sr{color:#0184bc}[data-scheme=light] .chroma .ne{color:#c18401}[data-scheme=light] .chroma .ow{color:#a626a4}[data-scheme=light] .chroma .gd{color:#e45649}[data-scheme=light] .chroma .gi{color:#50a14f}[data-scheme=light] .chroma .lnt{color:#9d9d9f}[data-scheme=dark] .chroma{color:#e6edf3;background-color:#161b22}[data-scheme=dark] .chroma .err{color:#ff7b72}[data-scheme=dark] .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}[data-scheme=dark] .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0;width:100%;display:block}[data-scheme=dark] .chroma .lntable>tbody{display:block;width:100%}[data-scheme=dark] .chroma .lntable>tbody>tr{display:flex;width:100%}[data-scheme=dark] .chroma .lntable>tbody>tr>td:last-child{overflow-x:auto}[data-scheme=dark] .chroma .hl{display:block;width:100%;background-color:#264f78}[data-scheme=dark] .chroma .lnt{margin-right:.4em;padding:0 .4em;color:#7f7f7f;display:block}[data-scheme=dark] .chroma .ln{margin-right:.4em;padding:0 .4em;color:#e6edf3}[data-scheme=dark] .chroma .k{color:#ff7b72}[data-scheme=dark] .chroma .kc{color:#79c0ff}[data-scheme=dark] .chroma .kd{color:#ff7b72}[data-scheme=dark] .chroma .kn{color:#ff7b72}[data-scheme=dark] .chroma .kp{color:#ff7b72}[data-scheme=dark] .chroma .kr{color:#ff7b72}[data-scheme=dark] .chroma .kt{color:#ff7b72}[data-scheme=dark] .chroma .n{color:#ffa657}[data-scheme=dark] .chroma .na{color:#7ee787}[data-scheme=dark] .chroma .nb{color:#ff7b72}[data-scheme=dark] .chroma .bp{color:#ff7b72}[data-scheme=dark] .chroma .nc{color:#ffa657}[data-scheme=dark] .chroma .no{color:#79c0ff}[data-scheme=dark] .chroma .nd{color:#ff7b72}[data-scheme=dark] .chroma .ni{color:#d2a8ff}[data-scheme=dark] .chroma .ne{color:#ff7b72}[data-scheme=dark] .chroma .nf{color:#ff7b72}[data-scheme=dark] .chroma .fm{color:#ff7b72}[data-scheme=dark] .chroma .nl{color:#ff7b72}[data-scheme=dark] .chroma .nn{color:#d2a8ff}[data-scheme=dark] .chroma .nx{color:#e6edf3}[data-scheme=dark] .chroma .py{color:#ffa657}[data-scheme=dark] .chroma .nt{color:#7ee787}[data-scheme=dark] .chroma .nv{color:#ffa657}[data-scheme=dark] .chroma .vc{color:#ffa657}[data-scheme=dark] .chroma .vg{color:#ffa657}[data-scheme=dark] .chroma .vi{color:#ffa657}[data-scheme=dark] .chroma .vm{color:#ffa657}[data-scheme=dark] .chroma .l{color:#e6edf3}[data-scheme=dark] .chroma .ld{color:#e6edf3}[data-scheme=dark] .chroma .s{color:#a5d6ff}[data-scheme=dark] .chroma .sa{color:#a5d6ff}[data-scheme=dark] .chroma .sb{color:#a5d6ff}[data-scheme=dark] .chroma .sc{color:#a5d6ff}[data-scheme=dark] .chroma .dl{color:#a5d6ff}[data-scheme=dark] .chroma .sd{color:#a5d6ff}[data-scheme=dark] .chroma .s2{color:#a5d6ff}[data-scheme=dark] .chroma .se{color:#a5d6ff}[data-scheme=dark] .chroma .sh{color:#a5d6ff}[data-scheme=dark] .chroma .si{color:#a5d6ff}[data-scheme=dark] .chroma .sx{color:#a5d6ff}[data-scheme=dark] .chroma .sr{color:#a5d6ff}[data-scheme=dark] .chroma .s1{color:#a5d6ff}[data-scheme=dark] .chroma .ss{color:#a5d6ff}[data-scheme=dark] .chroma .m{color:#79c0ff}[data-scheme=dark] .chroma .mb{color:#79c0ff}[data-scheme=dark] .chroma .mf{color:#79c0ff}[data-scheme=dark] .chroma .mh{color:#79c0ff}[data-scheme=dark] .chroma .mi{color:#79c0ff}[data-scheme=dark] .chroma .il{color:#79c0ff}[data-scheme=dark] .chroma .mo{color:#79c0ff}[data-scheme=dark] .chroma .o{color:#e6edf3}[data-scheme=dark] .chroma .ow{color:#e6edf3}[data-scheme=dark] .chroma .p{color:#7ee787}[data-scheme=dark] .chroma .c{color:#8b949e;font-style:italic}[data-scheme=dark] .chroma .ch{color:#8b949e;font-style:italic}[data-scheme=dark] .chroma .cm{color:#8b949e;font-style:italic}[data-scheme=dark] .chroma .c1{color:#8b949e;font-style:italic}[data-scheme=dark] .chroma .cs{color:#8b949e;font-style:italic}[data-scheme=dark] .chroma .cp{color:#ff7b72}[data-scheme=dark] .chroma .cpf{color:#a5d6ff}[data-scheme=dark] .chroma .gd{color:#8b949e}[data-scheme=dark] .chroma .ge{font-style:italic}[data-scheme=dark] .chroma .gr{color:#ff7b72}[data-scheme=dark] .chroma .gh{color:#e6edf3}[data-scheme=dark] .chroma .gi{color:#e6edf3}[data-scheme=dark] .chroma .go{color:#e6edf3}[data-scheme=dark] .chroma .gp{color:#e6edf3}[data-scheme=dark] .chroma .gs{font-weight:700}[data-scheme=dark] .chroma .gu{color:#e6edf3}[data-scheme=dark] .chroma .gt{color:#e6edf3}[data-scheme=dark] .chroma .w{color:#e6edf3}.article-content .highlight{max-width:100%!important;width:100%;position:relative;border-radius:12px;margin-left:0!important;margin-right:0;margin-top:1.5em;margin-bottom:1.5em;padding:0;background-color:var(--pre-background-color);border:1px solid var(--code-block-border);overflow:hidden}[data-scheme=dark] .article-content .highlight{border-color:var(--code-block-border)}[dir=rtl] .article-content .highlight{direction:ltr}.article-content .highlight pre{background-color:initial!important;margin:0;padding:1rem 1.25rem 1.25rem;width:auto;font-size:13.5px;line-height:1.7;overflow-x:auto}.article-content .highlight pre::-webkit-scrollbar{height:5px}.article-content .highlight pre::-webkit-scrollbar-thumb{background:var(--code-scrollbar);border-radius:3px}.article-content .highlight pre::-webkit-scrollbar-track{background:0 0}.article-content .highlight .chroma{background-color:initial!important}.article-content .highlight[data-lang]:before{content:attr(data-lang);display:block;height:34px;line-height:34px;padding:0 14px;font-family:var(--code-font-family);font-size:12px;color:var(--card-text-color-secondary);background-color:var(--code-header-bg);border-bottom:1px solid var(--code-block-border)}.article-content .highlight:not(:has(.lnt:nth-child(4))) .lntd:first-child{display:none}.article-content .copyCodeButton{top:4px;right:8px;z-index:2;padding:4px 10px;font-size:12px;box-shadow:none;border:1px solid var(--code-block-border)}.external-link-icon{white-space:nowrap;margin-left:.2em}.article-content .tcplayer{position:absolute;inset:0;width:100%;height:100%;border:0}:root{--code-block-border:#e2e8f0;--code-header-bg:#f8fafc;--code-scrollbar:rgba(0,0,0,0.12)}:root[data-scheme=dark]{--code-block-border:#30363d;--code-header-bg:#1c2128;--code-scrollbar:rgba(255,255,255,0.12)}@media(min-width:2560px){.article-content .highlight pre{font-size:15px;line-height:1.75;padding:1.25rem 1.5rem 1.5rem}}.article-content .video-wrapper{width:100%;margin:auto;border-radius:12px}:root{--tabs-background-color:var(--card-background);--tabs-border-color:#e1e8ed;--tabs-border-shadow-color:rgba(227, 227, 227, 0.5);--tab-button-color:#657786;--tab-button-active-color:var(--accent-color)}:root[data-scheme=dark]{--tabs-background-color:var(--card-background);--tabs-border-color:var(--table-border-color);--tabs-border-shadow-color:#2d2d2d;--tab-button-color:#AAAAAA}.tabs-container{border:1px solid var(--tabs-border-color);border-radius:8px;padding:20px;background:var(--tabs-background-color);box-shadow:0 0 0 1px var(--tabs-border-shadow-color);display:flex;flex-direction:column}.tabs-container .tabs-list{list-style:none;display:flex;padding:0;margin:0;border-bottom:1px solid var(--tabs-border-color)}.tabs-container .tabs-list .tab .tab-button{padding:10px 20px;cursor:pointer;border:none;background:0 0;color:var(--tab-button-color);font-weight:700;transition:color .2s,background .2s}.tabs-container .tabs-list .tab .tab-button.active{color:var(--tab-button-active-color);border-bottom:2px solid var(--tab-button-active-color)}.tabs-container .tabs-list .tab .tab-button:hover{color:var(--tab-button-active-color)}.tabs-container .tab-content{display:none;padding:10px}.tabs-container .tab-content.active{display:block}.widget:has(>.widget-icon){display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;--widget-icon-size:20px}.widget:has(>.widget-icon)>.widget-icon{display:flex}.widget:has(>.widget-icon)>.widget-title{margin:0}.widget:has(>.widget-icon)>:not(.widget-icon):not(.widget-title){grid-column:1/-1;margin-top:var(--spacing-md)}.search-form input{padding:18px 20px;font-size:1.5rem}.template-search .search-form input{padding:22px 24px;font-size:1.7rem}.tagCloud .tagCloud-tags a,.article-tags a{border-radius:12px;background:var(--card-background);border:1px solid rgba(0,0,0,5%);box-shadow:var(--shadow-l1);color:var(--card-text-color-main);padding:8px 20px}.article-tags a:hover{background:var(--card-background);color:var(--accent-color)}[data-scheme=dark] .tagCloud .tagCloud-tags a,[data-scheme=dark] .article-tags a{background:rgba(28,28,30,.8);border:1px solid rgba(255,255,255,.1)}.widget--toc{background:var(--card-background);border:1px solid rgba(0,0,0,5%)}[data-scheme=dark] .widget--toc{background:var(--card-background);border:1px solid rgba(255,255,255,.1)}.toc-nav ul{list-style:none}.toc-nav li{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-sm);margin-left:12px}.toc-nav li a{color:var(--card-text-color-main)!important;font-weight:400;line-height:1.5;transition:color .2s ease}.toc-nav li a:hover{color:var(--accent-color)!important}.toc-nav li.active-class>a{border-left:none!important;margin-left:0!important;padding-left:0!important;color:var(--accent-color)!important;font-weight:700}.article-toc details{box-shadow:none;border:1px solid var(--table-line-color);border-radius:12px}.article-list article{transition:transform .3s ease,box-shadow .3s ease}.article-list article:hover{transform:translateY(-2px);box-shadow:var(--shadow-l2)}.article-list article .article-image{overflow:hidden}.article-list article .article-image img{transition:transform .4s ease}.article-list article .article-image:hover img{transform:scale(1.03)}a.link{box-shadow:none;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;text-decoration-color:color-mix(in srgb,var(--accent-color) 35%,transparent);transition:text-decoration-color .2s ease,color .2s ease}a.link:hover{box-shadow:none;text-decoration-color:initial}button:not(.search-button):not([class*=search]),.btn:not([class*=search]){transition:transform .15s ease,opacity .15s ease}button:not(.search-button):not([class*=search]):active,.btn:not([class*=search]):active{transform:scale(.97);opacity:.9}.article-content img{opacity:0;animation:fadeIn .5s ease forwards}.article-content img{cursor:pointer}@keyframes fadeIn{to{opacity:1}}.sidebar,.left-sidebar,.right-sidebar{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-weight:450;letter-spacing:.01em}.subsection-list{margin:0;overflow:visible;mask-image:none;-webkit-mask-image:none;animation:none}.subsection-list .article-list--tile{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);width:auto;padding:0}@media(min-width:768px){.subsection-list .article-list--tile{grid-template-columns:repeat(3,1fr);gap:20px}}.subsection-list .article-list--tile article{width:100%;height:auto;aspect-ratio:5/3;margin:0}.subsection-list .article-list--tile .article-title{font-size:1.5rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(min-width:768px){.subsection-list .article-list--tile .article-title{font-size:1.6rem}}@media(min-width:1280px){.template-archives .subsection-list .article-list--tile{grid-template-columns:repeat(4,1fr)}}.sidebar header .site-name{font-size:1.4rem}@media(min-width:1536px){.sidebar header .site-name{font-size:1.8rem}}@media(min-width:2560px){.sidebar,.left-sidebar,.right-sidebar{font-size:16px;font-weight:500}.widget-title{font-size:18px;font-weight:600}}.tagCloud .tagCloud-tags a,.article-tags a{transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}.tagCloud .tagCloud-tags a:hover,.article-tags a:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.1);color:var(--accent-color)}.tagCloud .tagCloud-count{color:var(--card-text-color-tertiary)}[data-scheme=dark] .tagCloud .tagCloud-tags a:hover,[data-scheme=dark] .article-tags a:hover{box-shadow:0 2px 8px rgba(0,0,0,.3)}:focus-visible,#toggle-menu:focus-visible,.search-form input:focus-visible,.search-form button:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}#main-content:focus{outline:none}input[type=search],input[type=text],.search-input{transition:box-shadow .2s ease}.skip-link{position:absolute;top:-100px;left:16px;z-index:100;padding:8px 16px;border-radius:8px;background:var(--card-background);color:var(--accent-color);box-shadow:var(--shadow-l2)}.skip-link:focus{top:16px}.dark-mode-button{display:flex;align-items:center;gap:var(--menu-icon-separation);width:100%;padding:0;border:0;background:0 0;color:inherit;font:inherit;text-align:start;cursor:pointer}.main-container{animation:pageIn .4s ease}@keyframes pageIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.highlight{position:relative}.highlight .copyCodeButton{opacity:0;transition:opacity .2s ease}.highlight:hover .copyCodeButton,.highlight:focus-within .copyCodeButton{opacity:1}@media(hover:none){.highlight .copyCodeButton{opacity:1}}@media(prefers-reduced-motion:reduce){.main-container,.article-content img{animation:none!important}.site-avatar img,.article-list article{transition:none!important}}@media(min-width:768px){.left-sidebar{padding-left:5px;padding-right:5px;--sidebar-element-separation:15px;--sidebar-avatar-size:80px}}@media(min-width:1024px){.left-sidebar{padding-left:8px;padding-right:8px}}@media(min-width:1280px){.left-sidebar{padding-left:10px;padding-right:10px;--sidebar-element-separation:20px;--sidebar-avatar-size:100px}}@media(min-width:1536px){.left-sidebar{padding-left:15px;padding-right:15px;--sidebar-element-separation:25px;--sidebar-avatar-size:120px}}@media(min-width:768px){.left-sidebar header,.left-sidebar .menu-social{padding-left:8px}}@media(min-width:1280px){.left-sidebar header,.left-sidebar .menu-social{padding-left:12px}}#main-menu{scrollbar-width:none;-ms-overflow-style:none}#main-menu::-webkit-scrollbar{display:none;width:0;height:0}@media(min-width:768px){#main-menu{align-items:stretch!important;gap:2px!important}}@media(min-width:1280px){#main-menu{gap:4px!important}}#main-menu li a span{white-space:nowrap}#main-menu>li:not(.menu-bottom-section)>a{display:flex;padding:8px 12px;border-radius:8px;transition:background-color .2s ease}@media(min-width:1280px){#main-menu>li:not(.menu-bottom-section)>a{padding:10px 12px}}#main-menu>li:not(.menu-bottom-section)>a:hover{background-color:rgba(0,0,0,5%)}#main-menu .menu-bottom-section{margin-top:auto;padding-top:8px}@media(min-width:1280px){#main-menu .menu-bottom-section{padding-top:10px}}#main-menu .menu-bottom-section ol{padding:0!important;gap:2px!important}@media(min-width:1280px){#main-menu .menu-bottom-section ol{gap:4px!important}}#i18n-switch,#dark-mode-toggle{padding:8px 12px!important;border-radius:8px;transition:background-color .2s ease}@media(min-width:1280px){#i18n-switch,#dark-mode-toggle{padding:10px 12px!important}}#i18n-switch:hover,#dark-mode-toggle:hover{background-color:rgba(0,0,0,5%)}[data-scheme=dark] #main-menu>li:not(.menu-bottom-section)>a:hover,[data-scheme=dark] #i18n-switch:hover,[data-scheme=dark] #dark-mode-toggle:hover{background-color:rgba(255,255,255,8%)}footer.site-footer{line-height:2.2;color:var(--card-text-color-secondary)}footer.site-footer:before{height:1px;width:80px;background:linear-gradient(90deg,transparent,var(--card-text-color-secondary),transparent);opacity:.5;margin-bottom:20px}footer.site-footer .copyright,footer.site-footer .running-time,footer.site-footer .powerby{color:var(--card-text-color-secondary);margin-bottom:0;font-weight:400}footer.site-footer .copyright,footer.site-footer .running-time{display:flex;flex-wrap:wrap}footer.site-footer .footer-item{white-space:nowrap}footer.site-footer .footer-item+.footer-item::before{content:"·";margin:0 .3em}footer.site-footer .powerby{font-size:1.4rem;border:none!important}footer.site-footer .powerby:before{display:none!important}footer.site-footer .powerby a{color:var(--card-text-color-secondary)!important}footer.site-footer .powerby a:hover{color:var(--accent-color)!important}.article-content .footnote-ref::before{content:"["}.article-content .footnote-ref::after{content:"]"}.article-content .footnotes .footnote-backref~.footnote-backref{display:none}.article-list--tile article.has-image .article-details{background:linear-gradient(to top,rgba(0,0,0,.75),rgba(0,0,0,.25) 60%,transparent)}.article-list--tile article.has-image .article-title{text-shadow:0 1px 3px rgba(0,0,0,.5)}.random-posts .random-posts-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.random-posts .random-posts-header .section-title{margin:0}.random-posts .random-posts-shuffle{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid rgba(0,0,0,8%);border-radius:999px;background:var(--card-background);color:var(--card-text-color-secondary);font-size:1.4rem;cursor:pointer;transition:color .2s ease}.random-posts .random-posts-shuffle[hidden]{display:none}.random-posts .random-posts-shuffle svg{width:16px;height:16px;transition:transform .4s ease}.random-posts .random-posts-shuffle:hover{color:var(--accent-color)}.random-posts .random-posts-shuffle:hover svg{transform:rotate(180deg)}.random-posts .random-posts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}@media(min-width:768px){.random-posts .random-posts-grid{gap:20px}}@media(min-width:1024px){.random-posts .random-posts-grid{grid-template-columns:repeat(3,1fr)}}.random-posts .random-posts-grid article{width:100%;height:auto;aspect-ratio:5/3}.random-posts .random-posts-grid .article-title{font-size:1.5rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(min-width:768px){.random-posts .random-posts-grid .article-title{font-size:1.6rem}}.random-posts .random-posts-item[hidden]{display:none}[data-scheme=dark] .random-posts .random-posts-shuffle{border-color:rgba(255,255,255,.1)}@media(max-width:767.98px){.left-sidebar{--sidebar-avatar-size:56px;--emoji-size:24px;--emoji-font-size:12px}.left-sidebar header{flex-direction:row;align-items:center;gap:var(--spacing-md);padding-right:50px}}.article-content blockquote:not(.alert){background:0 0;border-inline-start-color:color-mix(in srgb,var(--accent-color) 45%,transparent)}.article-content blockquote:not(.alert)>:first-child{margin-top:0}.article-content blockquote:not(.alert)>p:last-of-type{margin-bottom:0}[data-scheme=dark] .article-content img{filter:brightness(.85)}body{--docsearch-primary-color:var(--accent-color);--docsearch-highlight-color:var(--accent-color);--docsearch-text-color:var(--card-text-color-main);--docsearch-muted-color:var(--card-text-color-secondary);--docsearch-icon-color:var(--card-text-color-secondary);--docsearch-modal-container-background:rgba(0, 0, 0, 0.4);--docsearch-modal-background:var(--body-background);--docsearch-modal-shadow:var(--shadow-l2);--docsearch-searchbox-background:var(--card-background);--docsearch-searchbox-focus-background:var(--card-background);--docsearch-searchbox-shadow:inset 0 0 0 1px var(--accent-color);--docsearch-hit-background:var(--card-background);--docsearch-hit-color:var(--card-text-color-main);--docsearch-hit-active-color:var(--accent-color-text);--docsearch-hit-shadow:0 0 0 1px var(--table-line-color);--docsearch-footer-background:var(--card-background);--docsearch-footer-shadow:0 -1px 0 0 var(--table-line-color);--docsearch-key-gradient:linear-gradient(var(--card-background), var(--card-background));--docsearch-key-shadow:inset 0 0 0 1px var(--table-line-color)}[data-scheme=dark] .docsearch-modal-footer-logo-light{display:none}[data-scheme=dark] .docsearch-modal-footer-logo-dark{display:unset}.article-content h2,.article-content h3,.article-content h4,.article-content h5,.article-content h6{line-height:1.4}.article-content h2{font-size:1.5em;margin-top:2em;margin-bottom:.75em}.article-content h3{font-size:1.25em;margin-top:1.8em;margin-bottom:.6em}.article-content h4{font-size:1.1em;margin-top:1.6em;margin-bottom:.5em}.article-content h5,.article-content h6{font-size:1em;margin-top:1.5em;margin-bottom:.5em}.article-content h6{color:var(--card-text-color-secondary)}.article-content h3,.article-content h4,.article-content h5,.article-content h6{border-inline-start-color:transparent}.article-content :is(h2,h3,h4,h5,h6)+*{margin-top:0}.article-content .footnotes{font-size:.85em}.article-content .footnotes li p{margin:.25em 0}.article-content figure{margin-left:0;margin-right:0;width:100%}.article-content figure figcaption h4{margin:.5em 0 .25em;padding:0;border:0;font-size:1em}.article-content details{margin:1.5em 0;padding:0 16px;border:1px solid var(--table-line-color);border-radius:12px}.article-content details summary{display:flex;align-items:center;gap:10px;padding:10px 0;font-weight:600;cursor:pointer;list-style:none}.article-content details summary::-webkit-details-marker{display:none}.article-content details summary::before{content:"";flex-shrink:0;width:.45em;height:.45em;border-right:2px solid var(--accent-color);border-bottom:2px solid var(--accent-color);transform:rotate(-45deg);transition:transform .2s ease}.article-content details[open]{padding-bottom:12px}.article-content details[open] summary::before{transform:rotate(45deg)}@media(max-width:767.98px){.article-content .highlight{margin-left:calc(var(--card-padding) * -1)!important;margin-right:calc(var(--card-padding) * -1);width:calc(100% + var(--card-padding) * 2);max-width:none!important;border-radius:0;border-left:0;border-right:0}.article-content .highlight .lntd:first-child pre{padding-right:0}.article-content .highlight .lntd:last-child pre{padding-left:8px}}@media(min-width:1024px){.article-page .container .right-sidebar{display:none}}@media(min-width:1280px){.article-page .container .right-sidebar{display:flex}}@media(min-width:1024px){.article-page .article-toc{display:flex}}@media(min-width:1280px){.article-page .article-toc{display:none}}@media(min-width:768px) and (max-width:1023.98px){.container.extended,.container.compact{--left-sidebar-max-width:22%}.main-container{gap:24px}}@media(max-width:767.98px){.article-content table:not(.lntable) th,.article-content table:not(.lntable) td{min-width:6em}footer.site-footer .running-time{flex-direction:column}footer.site-footer .running-time .footer-item+.footer-item::before{content:none}.article-page .main-article .article-subtitle{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}#main-menu,#main-menu .menu-bottom-section ol{gap:0}#main-menu>li:not(.menu-bottom-section)>a,#main-menu #i18n-switch,#main-menu #dark-mode-toggle{display:flex;align-items:center;min-height:44px}#main-menu .menu-bottom-section{margin-top:8px;padding-top:8px;border-top:1px solid var(--table-line-color)}#i18n-switch select{flex:1;min-height:32px;font-size:16px}}.article-list--compact .article-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}