@charset "UTF-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/*! GitHub Dark theme for HLJS | GitHub & @Hirse | MIT License | github.com/highlightjs/highlight.js */
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:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;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}.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url(IBMPlexSans-Text.woff2?v=3.004)format("woff2"),url(IBMPlexSans-Text.woff?v=3.004)format("woff")}@font-face{font-family:"IBM Plex Sans";font-style:italic;font-weight:400;font-display:swap;src:url(IBMPlexSans-TextItalic.woff2?v=3.004)format("woff2"),url(IBMPlexSans-TextItalic.woff?v=3.004)format("woff")}@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url(IBMPlexSans-SemiBold.woff2?v=3.004)format("woff2"),url(IBMPlexSans-SemiBold.woff?v=3.004)format("woff")}@font-face{font-family:"IBM Plex Sans";font-style:italic;font-weight:600;font-display:swap;src:url(IBMPlexSans-SemiBoldItalic.woff2?v=3.004)format("woff2"),url(IBMPlexSans-SemiBoldItalic.woff?v=3.004)format("woff")}@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:700;font-display:swap;src:url(IBMPlexSans-Bold.woff2?v=3.004)format("woff2"),url(IBMPlexSans-Bold.woff?v=3.004)format("woff")}@font-face{font-family:"IBM Plex Sans";font-style:italic;font-weight:700;font-display:swap;src:url(IBMPlexSans-BoldItalic.woff2?v=3.004)format("woff2"),url(IBMPlexSans-BoldItalic.woff?v=3.004)format("woff")}@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(IBMPlexMono-Regular.woff2?v=2.3)format("woff2"),url(IBMPlexMono-Regular.woff?v=2.3)format("woff")}@font-face{font-family:"IBM Plex Mono";font-style:italic;font-weight:400;font-display:swap;src:url(IBMPlexMono-Italic.woff2?v=2.3)format("woff2"),url(IBMPlexMono-Italic.woff?v=2.3)format("woff")}@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:700;font-display:swap;src:url(IBMPlexMono-Bold.woff2?v=2.3)format("woff2"),url(IBMPlexMono-Bold.woff?v=2.3)format("woff")}@font-face{font-family:"IBM Plex Mono";font-style:italic;font-weight:700;font-display:swap;src:url(IBMPlexMono-BoldItalic.woff2?v=2.3)format("woff2"),url(IBMPlexMono-BoldItalic.woff?v=2.3)format("woff")}@font-face{font-family:"CN Punct";font-style:normal;font-weight:400;src:local("PingFang SC"),local("PingFangSC-Regular"),local("Hiragino Sans GB"),local("HiraginoSansGB-W3"),local("Heiti SC"),local("Microsoft YaHei UI"),local("Microsoft YaHei"),local("Noto Sans SC"),local("Noto Sans CJK SC"),local("NSimSun"),local("SimSun");unicode-range:U+002F,U+2014,U+00B7}@font-face{font-family:"CN Punct";font-style:normal;font-weight:600;src:local("PingFang SC"),local("PingFangSC-Semibold"),local("Hiragino Sans GB"),local("HiraginoSansGB-W6"),local("Heiti SC"),local("Microsoft YaHei UI"),local("Microsoft YaHei"),local("Noto Sans SC"),local("Noto Sans CJK SC"),local("NSimSun"),local("SimSun");unicode-range:U+002F,U+2014,U+00B7}html{height:100%;scroll-behavior:smooth;scroll-padding-top:25vh}body{width:100%;height:100%;background-color:#fff;color:#110920;font-family:"IBM Plex Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;font-size:18px;line-height:28px;font-weight:400;-webkit-font-feature-settings:"pnum","kern","liga";font-feature-settings:"pnum","kern","liga";text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}header,section,h1,h2,h3,h4,h5,h6,p,blockquote,ol,ul,li,figure,img,figcaption{margin:0}h1,h2{font-weight:700}h3,h4,h5,h6,b,strong{font-weight:600}ol,ul{list-style:none;padding:0}pre{margin:0}address{font-style:normal}hr{border:0;margin:0}a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}a:focus{outline:0}::-moz-selection{background-color:#6013f9;background-color:color(display-p3 .343 .1002 .9378);color:#fff}::selection{background-color:#6013f9;background-color:color(display-p3 .343 .1002 .9378);color:#fff}.grid-main{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));-webkit-column-gap:18px;-moz-column-gap:18px;column-gap:18px;padding:0 72px}@media (max-width:720px){.grid-main{display:block;grid:none!important;padding:0}}@media (min-width:721px) and (max-width:1200px){.grid-main{padding:0 36px}}.aside-caption{font-size:14px;letter-spacing:.025em;text-transform:uppercase}.aside-copyright,.aside-credit{align-self:start;position:-webkit-sticky;position:sticky;top:-112px;padding-top:126px;font-weight:600}.aside-copyright::before,.aside-credit::before{content:"";position:absolute;top:0;bottom:0;left:-18px;width:1px;height:unset;background-size:100% 1px;background-image:linear-gradient(to right,#110920 0,#110920 51%,transparent 51%)}.aside-copyright-info,.aside-credit-info{margin-right:18px;padding:4px 0;font-size:14px;line-height:20px}@media (min-width:721px) and (max-width:1200px){.aside-copyright-info,.aside-credit-info{margin-right:0}}.aside-copyright-info a,.aside-credit-info a{-webkit-text-decoration:underline transparent;text-decoration:underline transparent;text-decoration-thickness:1px;text-underline-offset:.125em;transition:-webkit-text-decoration-color .15s ease-out;transition:text-decoration-color .15s ease-out;transition:text-decoration-color .15s ease-out,-webkit-text-decoration-color .15s ease-out}.ua-Safari .aside-copyright-info a,.ua-Safari .aside-credit-info a{transition:none}.ua-Pointer .aside-copyright-info a:hover,.ua-Pointer .aside-credit-info a:hover,.aside-copyright-info a:active,.aside-credit-info a:active{-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}@media (max-width:720px){.aside-copyright,.aside-credit{position:static;padding:48px 24px 0}.aside-copyright::before,.aside-credit::before{content:none}.aside-copyright-info,.aside-credit-info{margin-right:0;padding:0;line-height:24px}}.aside-link{align-self:start;position:-webkit-sticky;position:sticky;top:98px;margin-right:18px;font-size:14px}@media (min-width:721px) and (max-width:1200px){.aside-link{margin-right:0}}.aside-link::before{content:"";position:absolute;top:0;bottom:0;left:-18px;background-color:inherit;width:1px;height:unset;background-size:100% 1px;background-image:linear-gradient(to right,#110920 0,#110920 51%,transparent 51%)}.aside-link-item{padding:4px 0;line-height:20px}.aside-link-item a{-webkit-text-decoration:underline transparent;text-decoration:underline transparent;text-decoration-thickness:1px;text-underline-offset:.125em;transition:-webkit-text-decoration-color .15s ease-out;transition:text-decoration-color .15s ease-out;transition:text-decoration-color .15s ease-out,-webkit-text-decoration-color .15s ease-out}.ua-Safari .aside-link-item a{transition:none}.ua-Pointer .aside-link-item a:hover,.aside-link-item a:active{-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}@media (max-width:720px){.aside-link{position:static;padding:0 24px 48px}.aside-link::before{content:none}.aside-link-list{display:flex;margin-right:0;padding:0}.aside-link-item{padding:0;line-height:24px}.aside-link-item:not(:first-child)::before{content:"·";margin:0 .25em;color:rgba(17,9,32,.57)}}.aside-category{align-self:start;position:-webkit-sticky;position:sticky;top:-112px;padding-top:126px;font-size:14px}.aside-category::before{content:"";position:absolute;top:0;bottom:0;left:-18px;background-color:inherit;width:1px;height:unset;background-size:100% 1px;background-image:linear-gradient(to right,#110920 0,#110920 51%,transparent 51%)}.aside-category-list{padding-top:32px}.aside-category-item{line-height:20px}.aside-category-item+.aside-category-item{margin-top:8px}.aside-category-item--active{font-weight:600}.aside-category-item--inactive{color:rgba(17,9,32,.57)}.aside-category-item--all{margin-top:28px!important;-webkit-user-select:none;-moz-user-select:none;user-select:none}.aside-category-item a{-webkit-text-decoration:underline transparent;text-decoration:underline transparent;text-decoration-thickness:1px;text-underline-offset:.125em;transition:-webkit-text-decoration-color .15s ease-out;transition:text-decoration-color .15s ease-out;transition:text-decoration-color .15s ease-out,-webkit-text-decoration-color .15s ease-out}.ua-Safari .aside-category-item a{transition:none}.ua-Pointer .aside-category-item a:hover,.aside-category-item a:active{-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}@media (max-width:720px){.aside-category{position:fixed;z-index:400;top:0;right:0;padding-top:12px;padding-right:24px;text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none}.aside-category::before{content:none}.aside-category .aside-caption{font-weight:400;line-height:24px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .25s ease-out}.ua-Pointer .aside-category .aside-caption:hover,.aside-category .aside-caption:active{color:rgba(17,9,32,.57)}.aside-category-list{position:fixed;z-index:-100;top:42px;bottom:0;left:100vw;right:-100vw;overflow-y:auto;padding:18px 24px 96px;background-color:rgba(255,255,255,.8);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.aside-category-list.is-active{-webkit-transform:translate3d(-100vw,0,0);transform:translate3d(-100vw,0,0)}.aside-category-item{line-height:36px}.aside-category-item+.aside-category-item{margin-top:0}.aside-category-item--all{margin-top:24px!important}}@media (min-width:721px){.aside-brand.brand,.aside-brand{position:-webkit-sticky;position:sticky;top:-56px;padding-top:70px;margin-right:18px}.aside-brand.brand .brand-main,.aside-brand .brand-main{top:0;padding:4px 0;font-size:14px;line-height:28px;line-height:20px;letter-spacing:.05em}.aside-brand.brand .brand-sub,.aside-brand .brand-sub{margin-left:.0125em;letter-spacing:.025em}}@media (min-width:721px) and (max-width:1200px){.aside-brand.brand,.aside-brand{margin-right:0}}.aside-share{align-self:start;position:-webkit-sticky;position:sticky;top:98px;margin-right:18px;font-size:14px;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media (min-width:721px) and (max-width:1200px){.aside-share{margin-right:0}}.aside-share::before{content:"";position:absolute;top:0;bottom:0;left:-18px;background-color:inherit;width:1px;height:unset;background-size:100% 1px;background-image:linear-gradient(to right,#110920 0,#110920 51%,transparent 51%)}.aside-share-item{line-height:28px}.aside-share-item a{-webkit-text-decoration:underline transparent;text-decoration:underline transparent;text-decoration-thickness:1px;text-underline-offset:.125em;transition:-webkit-text-decoration-color .15s ease-out;transition:text-decoration-color .15s ease-out;transition:text-decoration-color .15s ease-out,-webkit-text-decoration-color .15s ease-out}.ua-Safari .aside-share-item a{transition:none}.ua-Pointer .aside-share-item a:hover,.aside-share-item a:active{-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.aside-share-copylink{position:relative;display:inline-block}.aside-share-copylink span{opacity:1;transition:opacity .15s ease-out}.aside-share-copylink::after{content:attr(data-labelsuccess);position:absolute;z-index:-100;top:0;left:0;opacity:0;display:inline-block;color:rgba(17,9,32,.57);white-space:nowrap;speak:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;transition:opacity .15s ease-out}.aside-share-copylink.is-success{cursor:default}.aside-share-copylink.is-success span{opacity:0}.aside-share-copylink.is-success::after{opacity:1}@media (max-width:720px){.aside-share{position:fixed;z-index:500!important;top:0;right:0;padding-top:12px;padding-right:24px;margin-right:0;text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none}.aside-share::before{content:none}.aside-share .aside-caption{font-weight:400;line-height:24px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .25s ease-out}.ua-Pointer .aside-share .aside-caption:hover,.aside-share .aside-caption:active{color:rgba(17,9,32,.57)}.aside-share-list{position:fixed;z-index:-100;top:42px;bottom:0;left:100vw;right:-100vw;overflow-y:auto;padding:18px 24px 96px;background-color:rgba(255,255,255,.8);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.aside-share-list.is-active{-webkit-transform:translate3d(-100vw,0,0);transform:translate3d(-100vw,0,0)}.aside-share-item{line-height:36px}.aside-share-copylink::after{left:unset;right:0}}.brand{position:relative;padding-top:112px}.brand::before{content:"";position:absolute;top:0;bottom:0;left:-18px;width:1px;height:unset;background-size:100% 1px;background-image:linear-gradient(to right,#110920 0,#110920 51%,transparent 51%)}.brand-main{position:relative;top:.125em;font-size:32px;line-height:42px;font-weight:700;letter-spacing:.075em;text-transform:uppercase}.brand-sub{margin-left:.025em;font-weight:400;letter-spacing:.05em}@media (max-width:720px){.brand{position:fixed;z-index:400;top:0;left:0;right:0;padding:12px 0 6px 24px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.brand-main{top:0;font-size:14px;line-height:24px;letter-spacing:.05em}.brand-sub{margin-left:.0125em;letter-spacing:.025em}}.toc{align-self:start;position:relative;padding:112px 0 168px}.toc::before{content:"";position:absolute;top:0;bottom:168px;left:-18px;width:1px;height:unset;background-size:100% 1px;background-image:linear-gradient(to right,#110920 0,#110920 51%,transparent 51%)}.toc-item+.toc-item{margin-top:28px}.toc-metadata{display:flex;flex-wrap:wrap;padding:4px 0;color:rgba(17,9,32,.57);font-size:14px;line-height:20px}.toc-date::after{content:"·";margin:0 .25em}.toc-title{font-size:22px;font-weight:400}.toc-title a{-webkit-text-decoration:underline transparent;text-decoration:underline transparent;text-decoration-thickness:1px;text-underline-offset:.125em;transition:-webkit-text-decoration-color .15s ease-out;transition:text-decoration-color .15s ease-out;transition:text-decoration-color .15s ease-out,-webkit-text-decoration-color .15s ease-out}.ua-Safari .toc-title a{transition:none}.ua-Pointer .toc-title a:hover,.toc-title a:active{-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}@media (max-width:720px){.toc{padding:84px 24px 144px;line-height:24px}.toc::before{content:none}.toc-item+.toc-item{margin-top:24px}.toc-metadata{padding:2px 0}.toc-title{font-size:18px}}header.typography{font-size:18px;line-height:28px}header.typography h1{padding:56px 0 84px;line-height:56px;font-size:48px}section.typography{font-size:18px;line-height:28px}section.typography h1{margin-top:112px;margin-bottom:84px;line-height:56px;font-size:48px}section.typography h2{margin-top:70px;line-height:42px;font-size:32px}section.typography h3{margin-top:28px;line-height:28px;font-size:22px}section.typography h4,section.typography h5,section.typography h6{margin-top:28px;line-height:28px;font-size:18px}section.typography h5,section.typography h6{font-style:italic}section.typography h6{font-weight:400}section.typography p{margin-top:28px}section.typography ol,section.typography ul{margin-top:28px}section.typography ol li+li,section.typography ul li+li{margin-top:14px}section.typography ul ul,section.typography ul ol,section.typography ol ul,section.typography ol ol{margin-top:14px}section.typography ol>li,section.typography ul>li{position:relative;padding-left:27px}section.typography ol>li::before,section.typography ul>li::before{position:absolute;top:0;left:0;width:18px}section.typography ol{counter-reset:count}section.typography ol>li{counter-increment:count}section.typography ol>li::before{content:counter(count)".";text-align:right}section.typography ol[start="2"]{counter-reset:count 1}section.typography ol[start="3"]{counter-reset:count 2}section.typography ol[start="4"]{counter-reset:count 3}section.typography ol[start="5"]{counter-reset:count 4}section.typography ol[start="6"]{counter-reset:count 5}section.typography ol[start="7"]{counter-reset:count 6}section.typography ol[start="8"]{counter-reset:count 7}section.typography ol[start="9"]{counter-reset:count 8}section.typography ul>li::before{content:"•";text-align:center}section.typography blockquote{position:relative;padding-left:27px}section.typography blockquote::before{content:"";position:absolute;top:0;bottom:0;left:4px;width:1px;height:unset;background-size:100% 1px;background-image:linear-gradient(to right,#110920 0,#110920 51%,transparent 51%)}section.typography a{-webkit-text-decoration:underline currentColor;text-decoration:underline currentColor;text-decoration-thickness:1px;text-underline-offset:.125em;transition:-webkit-text-decoration-color .15s ease-out;transition:text-decoration-color .15s ease-out;transition:text-decoration-color .15s ease-out,-webkit-text-decoration-color .15s ease-out}.ua-Safari section.typography a{transition:none}.ua-Pointer section.typography a:hover,section.typography a:active{-webkit-text-decoration-color:transparent;text-decoration-color:transparent}section.typography figure{width:calc(100% + 18px*2);margin-left:-18px;margin-top:28px}section.typography figcaption{margin:14px 36px 0;font-size:14px;line-height:21px;text-align:center;color:rgba(17,9,32,.57)}section.typography figure img{display:block;width:100%;margin-top:28px}section.typography figure img+img{margin-top:14px}section.typography p img{max-width:100%}section.typography pre,section.typography code{font-family:"IBM Plex Mono",ui-monospace,SF Mono,Menlo,Consolas,Liberation Mono,monospace,monospace;-webkit-hyphens:manual;hyphens:manual}section.typography :not(pre)>code{background-color:rgba(17,9,32,.1);border-radius:4px;padding:.125em .5em;font-size:87.5%;vertical-align:3.125%}section.typography pre{width:calc(100% + 18px*2);margin-left:-18px;margin-top:28px}section.typography pre>code{display:block;overflow-x:auto;background-color:rgba(17,9,32,.1);border-radius:4px;padding:1em 18px;font-size:75%;line-height:1.5}section.typography hr{margin:70px 0;width:unset;height:1px;background-size:100% 1px;background-image:linear-gradient(to bottom,#110920 0,#110920 51%,transparent 51%)}section.typography>:first-child{margin-top:0}section.typography>:first-child>:first-child{margin-top:0}section.typography .footnotes p{margin-top:unset}section.typography .footnote-ref{font-style:normal}section.typography .footnote-ref a{-webkit-text-decoration:underline transparent;text-decoration:underline transparent;text-decoration-thickness:1px;text-underline-offset:.25em;transition:-webkit-text-decoration-color .15s ease-out;transition:text-decoration-color .15s ease-out;transition:text-decoration-color .15s ease-out,-webkit-text-decoration-color .15s ease-out}.ua-Safari section.typography .footnote-ref a{transition:none}.ua-Pointer section.typography .footnote-ref a:hover,section.typography .footnote-ref a:active{-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}section.typography .footnote-ref a:focus::before{content:"";position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:48px;height:48px;border-radius:100%;background:radial-gradient(rgba(96,19,249,.35)0,rgba(96,19,249,0) 70%);opacity:0;-webkit-animation:7s cubic-bezier(.25,.46,.45,.94) .5s 1 forwards fn-highlight;animation:7s cubic-bezier(.25,.46,.45,.94) .5s 1 forwards fn-highlight}@-webkit-keyframes fn-highlight{0%{opacity:0}20%{opacity:1}to{opacity:0}}@keyframes fn-highlight{0%{opacity:0}20%{opacity:1}to{opacity:0}}section.typography .footnote-item{outline:0}section.typography .footnote-item::before{content:"["counter(count)"]"}section.typography .footnote-backref{font-family:"IBM Plex Sans","Segoe UI","Helvetica Neue",Arial,sans-serif;-webkit-text-decoration:underline transparent;text-decoration:underline transparent;text-decoration-thickness:1px;text-underline-offset:.125em;transition:-webkit-text-decoration-color .15s ease-out;transition:text-decoration-color .15s ease-out;transition:text-decoration-color .15s ease-out,-webkit-text-decoration-color .15s ease-out}.ua-Safari section.typography .footnote-backref{transition:none}.ua-Pointer section.typography .footnote-backref:hover,section.typography .footnote-backref:active{-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}@media (min-width:1601px){header.typography{font-size:21px;line-height:32px}header.typography h1{padding:64px 0 96px;line-height:64px;font-size:56px}section.typography{font-size:21px;line-height:32px}section.typography h1{margin-top:128px;margin-bottom:96px;line-height:64px;font-size:56px}section.typography h2{margin-top:80px;line-height:48px;font-size:36px}section.typography h3{margin-top:32px;line-height:32px;font-size:26px}section.typography h4,section.typography h5,section.typography h6{margin-top:32px;line-height:32px;font-size:21px}section.typography p{margin-top:32px}section.typography ol,section.typography ul{margin-top:32px}section.typography ol li+li,section.typography ul li+li{margin-top:16px}section.typography ul ul,section.typography ul ol,section.typography ol ul,section.typography ol ol{margin-top:16px}section.typography ol>li,section.typography ul>li{padding-left:31.5px}section.typography ol>li::before,section.typography ul>li::before{width:21px}section.typography blockquote{padding-left:31.5px}section.typography figure{width:calc(100% + 21px*2);margin-left:-21px;margin-top:32px}section.typography figcaption{margin:16px 42px 0;font-size:14px;line-height:21px}section.typography figure img{margin-top:32px}section.typography figure img+img{margin-top:16px}section.typography pre{width:calc(100% + 21px*2);margin-left:-21px;margin-top:32px}section.typography pre>code{padding:1em 21px}section.typography hr{margin:80px 0}}@media (max-width:1200px){header.typography h1{padding:48px 0 72px;line-height:48px;font-size:40px}section.typography{font-size:16px;line-height:24px}section.typography h1{margin-top:96px;margin-bottom:72px;line-height:48px;font-size:40px}section.typography h2{margin-top:60px;line-height:36px;font-size:28px}section.typography h3{margin-top:24px;line-height:24px;font-size:20px}section.typography h4,section.typography h5,section.typography h6{margin-top:24px;line-height:24px;font-size:16px}section.typography p{margin-top:24px}section.typography ol,section.typography ul{margin-top:24px}section.typography ol li+li,section.typography ul li+li{margin-top:12px}section.typography ul ul,section.typography ul ol,section.typography ol ul,section.typography ol ol{margin-top:12px}section.typography ol>li,section.typography ul>li{padding-left:24px}section.typography ol>li::before,section.typography ul>li::before{width:16px}section.typography blockquote{padding-left:24px}section.typography figure{width:calc(100% + 16px*2);margin-left:-16px;margin-top:24px}section.typography figcaption{margin:12px 32px 0;font-size:14px;line-height:21px}section.typography figure img{margin-top:24px}section.typography figure img+img{margin-top:12px}section.typography pre{width:calc(100% + 16px*2);margin-left:-16px;margin-top:24px}section.typography pre>code{padding:1em 16px}section.typography hr{margin:60px 0}section.typography p,section.typography li,section.typography figcaption,section.typography blockquote{-webkit-hyphens:auto;hyphens:auto}}@media (max-width:720px){section.typography blockquote{padding-left:0}section.typography blockquote::before{left:-12px}section.typography figure{width:calc(100% + 24px*2);margin-left:-24px}section.typography pre{width:calc(100% + 24px*2);margin-left:-24px}section.typography pre code{padding-left:24px;padding-right:24px;border-radius:0}}.typography--en{font-family:"IBM Plex Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif}.typography--en blockquote{font-style:italic}.typography--en blockquote em,.typography--en blockquote cite,.typography--en blockquote i{font-style:normal}.typography--zh{font-family:"CN Punct","IBM Plex Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei UI","Microsoft YaHei","Noto Sans SC","Noto Sans CJK SC",sans-serif}.typography--zh p,.typography--zh li,.typography--zh figcaption{-webkit-hyphens:auto;hyphens:auto}.cat main{grid-template-rows:minmax(154px,auto) auto;row-gap:0;padding-bottom:56px}@media (max-width:720px){.cat main{padding-bottom:0}.cat main::before{content:"";position:fixed;z-index:400;top:0;left:0;right:0;height:42px;background-color:rgba(255,255,255,.8);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.cat main::after{content:"";position:fixed;z-index:500;top:42px;left:24px;right:0;width:unset;height:1px;background-size:100% 1px;background-image:linear-gradient(to bottom,#110920 0,#110920 51%,transparent 51%)}}.cat-credit{grid-column:1/4;grid-row:1/2}@media (min-width:721px) and (max-width:1200px){.cat-credit{grid-column:1/3}}.cat-link{grid-column:1/4;grid-row:2/3;margin-top:112px}@media (min-width:721px) and (max-width:1200px){.cat-link{grid-column:1/3}}@media (max-width:720px){.cat main{display:flex;flex-direction:column;min-height:100vh}.cat-credit{position:relative;top:unset;width:100%;box-sizing:border-box;margin-top:auto}.cat-credit::before{content:"";position:absolute;z-index:500;top:36px;left:24px;right:0;width:unset;height:1px;background-size:100% 1px;background-image:linear-gradient(to bottom,#110920 0,#110920 51%,transparent 51%)}.cat-link{margin-top:0}}.cat-brand{grid-column:4/10;grid-row:1/2}@media (min-width:721px) and (max-width:1200px){.cat-brand{grid-column:3/11;margin:0 36px}}@media (max-width:360px){.cat-brand .brand-sub{display:none}}.cat-toc{grid-column:4/10;grid-row:2/3}@media (min-width:721px) and (max-width:1200px){.cat-toc{grid-column:3/11;margin:0 36px}}.cat-category{grid-column:11/13;grid-row:1/3}@media (max-width:720px){.cat-category .cat-category-heading{display:none}.cat-category .aside-caption::before{content:attr(data-active);letter-spacing:0;text-transform:none}}.index main{grid-template-rows:minmax(154px,auto) auto;row-gap:0;padding-bottom:56px}@media (max-width:720px){.index main{padding-bottom:0}.index main::before{content:"";position:fixed;z-index:400;top:0;left:0;right:0;height:42px;background-color:rgba(255,255,255,.8);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.index main::after{content:"";position:fixed;z-index:500;top:42px;left:24px;right:0;width:unset;height:1px;background-size:100% 1px;background-image:linear-gradient(to bottom,#110920 0,#110920 51%,transparent 51%)}}.index-credit{grid-column:1/4;grid-row:1/2}@media (min-width:721px) and (max-width:1200px){.index-credit{grid-column:1/3}}.index-link{grid-column:1/4;grid-row:2/3;margin-top:112px}@media (min-width:721px) and (max-width:1200px){.index-link{grid-column:1/3}}@media (max-width:720px){.index main{display:flex;flex-direction:column;min-height:100vh}.index-credit{position:relative;top:unset;width:100%;box-sizing:border-box;margin-top:auto}.index-credit::before{content:"";position:absolute;z-index:500;top:36px;left:24px;right:0;width:unset;height:1px;background-size:100% 1px;background-image:linear-gradient(to bottom,#110920 0,#110920 51%,transparent 51%)}.index-link{margin-top:0}}.index-brand{grid-column:4/10;grid-row:1/2}@media (min-width:721px) and (max-width:1200px){.index-brand{grid-column:3/11;margin:0 36px}}.index-toc{grid-column:4/10;grid-row:2/3}@media (min-width:721px) and (max-width:1200px){.index-toc{grid-column:3/11;margin:0 36px}}.index-category{grid-column:11/13;grid-row:1/3}.post-article{grid-template-rows:auto auto 112px auto;row-gap:0;padding-bottom:56px}@media (max-width:720px){.post-article{padding-bottom:0}.post-article::before{content:"";position:fixed;z-index:400;top:0;left:0;right:0;height:42px;background-color:rgba(255,255,255,.8);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.post-article::after{content:"";position:fixed;z-index:500;top:42px;left:24px;right:0;width:unset;height:1px;background-size:100% 1px;background-image:linear-gradient(to bottom,#110920 0,#110920 51%,transparent 51%)}}.post-brand{grid-column:1/4;grid-row:1/2}@media (min-width:721px) and (max-width:1200px){.post-brand{grid-column:1/3}}.post-share{grid-column:1/4;grid-row:3/4;z-index:100;background-color:#fff}@media (max-width:720px){.post-share{background-color:unset}}@media (min-width:721px) and (max-width:1200px){.post-share{grid-column:1/3}}.post-credit{display:none}.post-link{grid-column:1/4;grid-row:4/5;position:-webkit-sticky;position:sticky;top:266px;z-index:100;margin-top:56px;background:#fff}@media (max-width:720px){.post-link{background-color:unset}}@media (min-width:721px) and (max-width:1200px){.post-link{grid-column:1/3}}@media (max-width:720px){.post-credit{position:relative;top:unset;display:block;width:100%;box-sizing:border-box;margin-top:144px}.post-credit::before{content:"";position:absolute;z-index:500;top:36px;left:24px;right:0;width:unset;height:1px;background-size:100% 1px;background-image:linear-gradient(to bottom,#110920 0,#110920 51%,transparent 51%)}.post-link{margin-top:0}}.post-header{grid-column:4/10;grid-row:1/3;display:grid;grid-template-rows:98px auto;row-gap:0}@media (max-width:720px){.post-header{grid-template-rows:108px auto}.post-header .post-metadata{padding:86px 24px 2px}.post-header .post-title{padding:24px 24px 72px}}@media (min-width:721px) and (max-width:1200px){.post-header{grid-column:3/11;margin:0 36px}}.post-metadata{grid-row-start:1;grid-row-end:2;position:relative;display:flex;flex-wrap:wrap;padding-top:74px;padding-bottom:4px;font-size:14px;font-weight:600;line-height:20px}.post-metadata::before{content:"";position:absolute;top:0;bottom:0;left:-18px;width:1px;height:unset;background-size:100% 1px;background-image:linear-gradient(to right,#110920 0,#110920 51%,transparent 51%)}.post-date::after{content:"·";margin:0 .25em;font-weight:400;color:rgba(17,9,32,.57)}.post-author{font-weight:400}.post-title{grid-row-start:2;grid-row-end:3}.post-body{grid-column:4/10;grid-row:3/5;padding-bottom:168px}.post-body .hljs{background:#1d1a23}@media (max-width:720px){.post-body{padding:0 24px}}@media (min-width:721px) and (max-width:1200px){.post-body{grid-column:3/11;margin:0 36px}}.post-category{grid-column-start:11;grid-column-end:13;grid-row-start:1;grid-row-end:5;top:-56px;padding-top:70px}@media (max-width:720px){.post-category{display:none}}