:root{--main-color:#fff;--main-color-bg:#f2f3f5;--main-color-text:#252933;--main-color-border:#e3e4ea;--main-color-hover:#00c4b6;--font-color-1:#252933;--font-color-2:#515767;--font-color-3:#8a919f;--scrollbar-color:#c8ccd6}@media (prefers-color-scheme:dark){:root{--main-color:#282c34;--main-color-bg:#333841;--main-color-text:#a9abae;--main-color-border:#414958;--main-color-hover:#00c4b6;--font-color-1:#f2f2f2;--font-color-2:#515767;--font-color-3:#8a919f;--scrollbar-color:#4d4d4d}}@font-face{font-family:Emoji;src:local('Apple Color Emojiji'),local('Segoe UI Emoji'),local('Segoe UI Symbol'),local('Noto Color Emoji');unicode-range:U+1F000-1F644,U+203C-3299}body,html{font-size:12px;scroll-behavior:smooth;-webkit-font-smoothing:unset!important;font-family:system-ui,-apple-system,Segoe UI,Rototo,Emoji,Helvetica,Arial,sans-serif}body{margin:0;color:var(--main-color-text);overflow-y:scroll;overflow-x:hidden;line-height:normal;word-break:break-word;background:var(--main-color-bg)}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section{display:block}a{text-decoration:none;cursor:pointer;color:var(--font-color-3)}a,button,input{margin:initial}img{border-style:none}ul{padding:0;margin:0}li{list-style:none}.user-select{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.container{margin:0 auto;max-width:960px;display:flex;flex-direction:column}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{box-shadow:none;border-radius:2px}::-webkit-scrollbar-thumb{background:var(--scrollbar-color);outline:0;border-radius:2px}@media (max-width:1000px){.container{margin:0 1rem}}header{height:5rem}header .header-container-wrap{z-index:2;position:fixed;top:0;left:0;right:0;background:var(--main-color);border-bottom:1px solid var(--main-color-border)}header .header-container-wrap .search{width:240px;background:var(--main-color-bg);display:flex;align-items:center;justify-content:space-between;border-radius:4px;position:relative;height:2.834rem;border:1px solid var(--main-color-border);transition:width .2s}header .header-container-wrap .search:focus-within .search-input:placeholder-shown~.search-history{display:block}header .header-container-wrap .search:focus-within .search-input:not(:placeholder-shown)~.search-result{display:block}header .header-container-wrap .search .search-input{color:var(--main-color-text);border:none;width:calc(100% - 44px);padding:.6rem 0 .6rem 1rem;box-shadow:none;outline:0;font-size:1.1rem;background:unset;transition:width .3s}header .header-container-wrap .search .seach-icon-container{position:relative;left:-2px;width:44px;height:30px;margin-left:.4rem;border-radius:2px;display:flex;align-items:center;justify-content:center}header .header-container-wrap .search .search-history,header .header-container-wrap .search .search-result{width:100%;min-height:10rem;position:absolute;top:105%;line-height:2rem;color:#869aab;border-radius:4px;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);border:1px solid var(--main-color-border);background:var(--main-color)}header .header-container-wrap .search .search-history{display:none}header .header-container-wrap .search .search-history .search-history-title{padding:.5rem 1rem;display:flex;justify-content:space-between;border-bottom:1px solid var(--main-color-border)}header .header-container-wrap .search .search-history .search-history-clear{cursor:pointer;color:#1e80ff}header .header-container-wrap .search .search-history .search-history-list{cursor:pointer;max-height:80vh;overflow-x:hidden}header .header-container-wrap .search .search-history .search-history-list .search-history-item{padding:.5rem 1rem}header .header-container-wrap .search .search-history .search-history-list .search-history-item:hover{background:rgba(78,92,112,.1)}header .header-container-wrap .search .search-result{display:none}header .header-container-wrap .search .search-result .search-keyword{color:#f47466;font-weight:700}header .header-container-wrap .search .search-result .search-result-list{overflow-y:auto;max-height:80vh;overflow-x:hidden;padding:.8rem 1rem}header .header-container-wrap .search .search-result .search-abstract{margin:.3rem 0 .4rem;word-break:break-all;line-height:1.7}header .header-container-wrap .search .search-result .search-result-list li{list-style:none}header .header-container-wrap .search .search-result .search-result-list li a{color:var(--font-color-1);font-weight:600;font-size:1.2rem}header .header-container-wrap .sidebar-nav,header .header-container-wrap .sidebar-nav-btn{display:none}header .header-container-wrap .header-container{display:flex;margin:0 auto;align-items:center;height:5rem;padding:0 2rem;max-width:1440px}header .header-container-wrap .header-container nav{height:100%;margin-left:1rem;flex:1 0 auto;line-height:normal;display:flex;align-items:center;justify-content:flex-end}header .header-container-wrap .header-container nav .nav-list{display:flex;align-items:center;position:relative;height:100%;margin:0;justify-content:flex-end}header .header-container-wrap .header-container nav .nav-list>*{color:var(--font-color-2);position:relative;padding-left:1rem;line-height:5rem}header .header-container-wrap .header-container nav .nav-list a{display:block}@media screen and (max-width:768px){header .header-container-wrap .header-container{padding:0 1rem}header .header-container-wrap .header-container .nav-list .nav-list-item{display:none}header .header-container-wrap .sidebar-nav-btn{display:block;height:5rem;margin-left:1rem}header .header-container-wrap nav .sidebar-nav{display:block}header .header-container-wrap nav .sidebar-nav:focus-within .mask,header .header-container-wrap nav .sidebar-nav:focus-within .nav-list{opacity:1;visibility:visible;transition:opacity .2s ease-in}header .header-container-wrap nav .sidebar-nav .mask{opacity:0;visibility:hidden;position:fixed;top:0;right:0;width:100%;height:100vh;background:rgba(0,0,0,.8);backdrop-filter:blur(0.2rem)}header .header-container-wrap nav .sidebar-nav .mask:focus{opacity:0;visibility:hidden}header .header-container-wrap nav .sidebar-nav .nav-list{opacity:0;visibility:hidden;width:40vw;height:100vh;position:fixed;top:0;left:0;overflow-y:auto;background:var(--main-color);flex-direction:column;justify-content:unset}header .header-container-wrap nav .sidebar-nav .nav-list .nav-list-item{height:4rem;width:100%;text-align:center;padding:0;display:block}header .header-container-wrap nav .sidebar-nav .nav-list a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 1rem}}.main-width{width:70%;padding:1rem 1.66rem;box-sizing:border-box}.main-wrap{display:flex;margin-top:1.66rem;justify-content:space-between}.main-wrap main.main-width{padding:2.667rem 1.66rem;background:var(--main-color);border-radius:4px}.main-wrap main.main-width .page-title{margin:0 0 1.667rem;font-size:2.667rem;font-weight:600;line-height:1.31;color:var(--font-color-1);border-bottom:unset}.main-wrap main.main-width .page figure{display:flex;flex-direction:column}.main-wrap main.main-width .page figure table{all:unset}.main-wrap main.main-width .page figure tr{display:flex;align-items:center}.main-wrap main.main-width .page figure td{line-height:unset;min-width:unset;border:unset}.main-wrap main.main-width .page figure .gutter{position:sticky;left:0;z-index:1;padding:1rem 0;box-shadow:0 4px 6px 0 rgba(0,0,0,.2)}.main-wrap main.main-width .page figure .gutter pre{padding:0 1rem}.main-wrap main.main-width .page figure pre{margin:0;line-height:unset}.main-wrap main.main-width .page h1,.main-wrap main.main-width .page h2,.main-wrap main.main-width .page h3,.main-wrap main.main-width .page h4,.main-wrap main.main-width .page h5,.main-wrap main.main-width .page h6{margin-top:-4rem;margin-bottom:10px;padding-top:6rem;padding-bottom:5px;border-bottom:1px solid var(--main-color-border)}.main-wrap main.main-width .page h1{font-size:24px;line-height:38px;margin-bottom:5px}.main-wrap main.main-width .page h2{font-size:22px;line-height:34px}.main-wrap main.main-width .page h3{font-size:20px;line-height:28px}.main-wrap main.main-width .page h4{font-size:18px;line-height:26px}.main-wrap main.main-width .page h5{font-size:17px;line-height:24px}.main-wrap main.main-width .page h6{font-size:16px;line-height:24px}.main-wrap main.main-width .page p{line-height:inherit;margin-top:22px;margin-bottom:22px}.main-wrap main.main-width .page img{display:block;max-width:100%;margin:.8rem auto;border-radius:4px}.main-wrap main.main-width .page hr{border:none;border-top:1px solid #ddd;margin-top:32px;margin-bottom:32px}.main-wrap main.main-width .page code{word-break:break-word;border-radius:2px;overflow-x:auto;background-color:#fff5f5;color:#ff502c;font-size:.87em;padding:.065em .4em}.main-wrap main.main-width .page code,.main-wrap main.main-width .page pre{font-family:Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace}.main-wrap main.main-width .page pre{overflow:auto;position:relative;line-height:1.75}.main-wrap main.main-width .page pre>code{font-size:12px;padding:15px 12px;margin:0;word-break:normal;display:block;overflow-x:auto;color:#333;background:var(--font-color-3)}.main-wrap main.main-width .page a{text-decoration:none;color:#0269c8;border-bottom:1px solid #349dff}.main-wrap main.main-width .page a:active,.main-wrap main.main-width .page a:hover{color:#0085ff}.main-wrap main.main-width .page table{font-size:12px;display:table;width:100%;border-spacing:0;border-collapse:collapse;empty-cells:show}.main-wrap main.main-width .page thead{background:rgba(142,152,164,.1);text-align:left}.main-wrap main.main-width .page td,.main-wrap main.main-width .page th{padding:12px 7px;line-height:24px;border:1px solid #eee}.main-wrap main.main-width .page td{min-width:120px}.main-wrap main.main-width .page blockquote{padding:1px 23px;margin:22px 0;border-radius:4px;border-left:4px solid #cbcbcb;background-color:rgba(123,177,245,.1)}.main-wrap main.main-width .page blockquote::after{display:block;content:''}.main-wrap main.main-width .page blockquote>p{margin:10px 0}.main-wrap main.main-width .page ol,.main-wrap main.main-width .page ul{padding-left:28px}.main-wrap main.main-width .page ol li,.main-wrap main.main-width .page ul li{margin-bottom:0;list-style:inherit}.main-wrap main.main-width .page ol li .task-list-item,.main-wrap main.main-width .page ul li .task-list-item{list-style:none}.main-wrap main.main-width .page ol li .task-list-item ol,.main-wrap main.main-width .page ol li .task-list-item ul,.main-wrap main.main-width .page ul li .task-list-item ol,.main-wrap main.main-width .page ul li .task-list-item ul{margin-top:0}.main-wrap main.main-width .page ol ol,.main-wrap main.main-width .page ol ul,.main-wrap main.main-width .page ul ol,.main-wrap main.main-width .page ul ul{margin-top:3px}.main-wrap main.main-width .page ol li{padding-left:6px}.main-wrap main.main-width .page kbd{padding:2px 4px;font-size:.8rem;color:#fff;background-color:#666;border-radius:3px;box-shadow:inset 0 -1px 0 #000}.main-wrap main.main-width .page .contains-task-list{padding-left:0}.main-wrap main.main-width .page .task-list-item{list-style:none}@media (max-width:720px){.main-wrap main.main-width .page h1{font-size:24px}.main-wrap main.main-width .page h2{font-size:20px}.main-wrap main.main-width .page h3{font-size:18px}}@media (max-width:1000px){.main-width{width:100%;padding:1rem 0}}.post-item{cursor:pointer;position:relative;padding-top:12px;display:flex;flex-direction:column;align-items:flex-start}.post-item .post-meta{display:flex;align-items:center}.post-item .post-date{position:relative;padding-right:12px;line-height:22px;font-size:13px;flex-shrink:0}.post-item .post-date::after{position:absolute;top:50%;transform:translateY(-50%);width:1px;right:2px;height:12px;background:var(--main-color-bg);content:' '}.post-item .post-tag{display:flex}.post-item .post-tag a{position:relative;flex-shrink:0;font-size:13px;line-height:22px;padding:0 8px;color:var(--font-color-3)}.post-item .post-tag a:not(:last-child)::after{position:absolute;right:-1px;display:block;content:' ';width:2px;height:2px;top:50%;border-radius:50%;background:var(--font-color-2)}.post-item .post-content-wrap{display:flex;padding-bottom:12px;border-bottom:1px solid var(--main-color-border);margin-top:10px;width:100%}.post-item .post-content-wrap .post-content{flex:1}.post-item .post-content-wrap .post-content .post-abstract,.post-item .post-content-wrap .post-content .post-title{margin-bottom:8px}.post-item .post-content-wrap .post-content .post-title{font-weight:600;font-size:16px;line-height:24px;color:var(--font-color-1);width:100%;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:1}.post-item .post-content-wrap .post-content .post-abstract{color:var(--font-color-3);font-size:13px;line-height:22px;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:1}.post-item .post-content-wrap .post-content .post-action-item,.post-item .post-content-wrap .post-content .post-action-list{display:flex;align-items:center}.post-item .post-content-wrap .post-content .post-action-item{position:relative;margin-right:20px;font-size:13px;line-height:20px;color:var(--font-color-3);flex-shrink:0}.post-item .post-content-wrap .post-content .post-action-item span{margin-left:4px}.post-item .post-content-wrap .post-cover{flex:0 0 auto;width:120px;height:80px;margin-left:24px;border-radius:4px;position:relative;-o-object-fit:cover;object-fit:cover}.article-info{display:flex;align-items:center;margin-bottom:1.667rem}.article-info .avatar{flex:0 0 auto;margin-right:1rem!important;width:3.333rem;height:3.333rem;border-radius:50%!important}.article-info .article-meta{min-width:0;flex-grow:1;min-height:43px}.article-info .article-meta .author-name{height:2rem;font-size:1.333rem;font-weight:500;color:var(--main-color-text);line-height:2rem}.article-info .article-meta .article-meta-list{display:flex;font-size:1.167rem;color:#8a919f;margin-top:2px;line-height:22px}.article-info .article-meta time{letter-spacing:1px}.article-info .article-meta .article-meta-item-wrap{display:flex}.article-info .article-meta .article-meta-item{display:flex;align-items:center;margin-left:1rem}.article-info .article-meta .article-meta-item span{margin-left:4px}.article-content{word-break:break-word;line-height:1.75;font-weight:400;font-size:16px;overflow-x:hidden}.toc-wrap.sidebar-block .sidebar-body{max-height:unset}.toc-wrap .toc-list{overflow-y:auto;max-height:70vh}.toc-wrap .toc-list li{list-style:none;line-height:30px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.toc-wrap .toc-list li .toc-child{padding-left:1rem}.toc-wrap .toc,.toc-wrap .toc-list>li{padding:0}.toc-btn{--size:2rem;display:none;width:var(--size);height:var(--size);opacity:.9;padding:.2rem;position:fixed;bottom:var(--size);right:var(--size);border-radius:50%;background:var(--main-color-bg);border:1px solid var(--main-color-border)}.toc-btn .toc-btn-icon{fill:#ff5724;margin-top:calc(((var(--size) - 1.6rem)/ 2));margin-left:calc(((var(--size) - 1.6rem)/ 2))}@media (max-width:500px){.article-info .article-meta .article-meta-list{flex-direction:column}.article-info .article-meta .article-meta-item:first-child{margin:0}}@media (max-width:1000px){.toc-btn{display:block}.toc-wrap.sidebar-block{display:block;z-index:1;width:0;height:0;margin:0 6rem 0 -6rem;position:fixed;top:unset;right:-4rem;bottom:6rem}.toc-wrap.sidebar-block .sidebar-body,.toc-wrap.sidebar-block .toc-title{opacity:0;visibility:hidden}.toc-wrap.sidebar-block:focus-within{width:auto;height:auto;border:1px solid var(--main-color-border)}.toc-wrap.sidebar-block:focus-within .sidebar-body,.toc-wrap.sidebar-block:focus-within .toc-title{opacity:1;visibility:visible;transition:opacity .2s ease-in}}.article-end .article-meta{display:flex}.article-end .article-meta .article-categories{margin-right:2.67rem}.article-end .article-meta .article-categories,.article-end .article-meta .article-tags{display:flex;font-size:1.167rem;line-height:2.286}.article-end .article-meta .article-categories .article-categories-name,.article-end .article-meta .article-categories .article-tags-name,.article-end .article-meta .article-tags .article-categories-name,.article-end .article-meta .article-tags .article-tags-name{flex-shrink:0;margin-right:8px;font-size:14px}.article-end .article-meta .article-categories .article-categories-item,.article-end .article-meta .article-categories .article-tags-item,.article-end .article-meta .article-tags .article-categories-item,.article-end .article-meta .article-tags .article-tags-item{display:flex;align-items:center;margin-right:.667rem;padding:0 1rem;border-radius:4px;transition:background-color .15s linear;background-color:#f2f3f5;color:var(--main-color-text);border-bottom:unset}.article-end .post-copyright{--color:#e58a8a;margin:20px 0;position:relative;padding:.5rem .8rem;border-radius:10px;border-left:3px solid var(--color);border-right:3px solid var(--color);box-shadow:0 0 2px 0 rgba(0,0,0,.4)}.article-end .post-copyright div{line-height:28px;word-break:break-all}.article-end .post-copyright .copyright-icon{position:absolute;width:1rem;right:.6rem;fill:var(--color)}.article-end .post-copyright .post-copyright-meta{color:var(--color);font-weight:700}figure.highlight pre{color:#eff}figure.highlight pre .deletion{color:#bf42bf}figure.highlight pre .addition{color:#105ede}figure.highlight pre .meta{color:#c792ea}figure.highlight pre .comment{color:#546e7a}figure.highlight pre .attribute,figure.highlight pre .css .class,figure.highlight pre .css .id,figure.highlight pre .css .pseudo,figure.highlight pre .html .doctype,figure.highlight pre .regexp,figure.highlight pre .ruby .constant,figure.highlight pre .tag .name,figure.highlight pre .variable,figure.highlight pre .xml .doctype,figure.highlight pre .xml .pi,figure.highlight pre .xml .tag .title{color:#ff5370}figure.highlight pre .tag{color:#89ddff}figure.highlight pre .command,figure.highlight pre .constant,figure.highlight pre .literal,figure.highlight pre .number,figure.highlight pre .params,figure.highlight pre .preprocessor{color:#f78c6c}figure.highlight pre .built_in{color:#ffcb6b}figure.highlight pre .css .rules .attribute,figure.highlight pre .formula,figure.highlight pre .header,figure.highlight pre .inheritance,figure.highlight pre .number,figure.highlight pre .ruby .class .title,figure.highlight pre .ruby .symbol,figure.highlight pre .special,figure.highlight pre .string,figure.highlight pre .value,figure.highlight pre .xml .cdata{color:#c3e88d}figure.highlight pre .css .hexcolor,figure.highlight pre .keyword,figure.highlight pre .title{color:#89ddff}figure.highlight pre .coffeescript .title,figure.highlight pre .function,figure.highlight pre .javascript .title,figure.highlight pre .perl .sub,figure.highlight pre .python .decorator,figure.highlight pre .python .title,figure.highlight pre .ruby .function .title,figure.highlight pre .ruby .title .keyword{color:#82aaff}figure.highlight pre .javascript .function,figure.highlight pre .tag .attr{color:#c792ea}figure.highlight pre .line.marked{background-color:rgba(97,97,97,.314)}figure.highlight pre{padding-right:.5rem;padding-left:.5rem;background-color:#263238;color:#eff}figure.highlight{overflow-y:hidden;padding:0;margin:2rem 0;background:#263238;color:#eff;line-height:1.6;position:relative;box-shadow:0 0 5px 0 rgba(0,0,0,.4);border-radius:10px}figure.highlight .gutter{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}figure.highlight:hover .copy-code{opacity:1}.code-block-header{height:38px;position:sticky;padding:0 1rem;font-size:1rem;overflow:hidden;left:0;color:#eff;background:#222d32;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.code-block-header .copy-code{position:absolute;right:1rem;height:38px;opacity:0;cursor:pointer;line-height:38px;transition:.3s}.code-block-header::before{content:attr(lang);position:absolute;top:50%;font-weight:700;transform:translateY(-50%)}aside{width:28%}aside .sidebar-custom{padding:1.333rem}aside .sidebar-block{margin-bottom:1.66rem;font-size:1.16rem;line-height:1.29;border-radius:4px;background:var(--main-color);box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}aside .sidebar-block:last-of-type{margin-bottom:0}aside .sidebar-block .sidebar-title{font-weight:500;padding:1.333rem 0;margin:0 1.667rem;font-size:16px;line-height:2rem;color:var(--font-color-1);border-bottom:1px solid var(--main-color-border)}aside .sidebar-block .sidebar-body{position:relative;padding:1.3rem 1.667rem;max-height:30rem;overflow:auto}aside .sidebar-block .sidebar-body li{padding:4px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}aside .sidebar-block .sidebar-body .categories-link:hover,aside .sidebar-block .sidebar-body .link-link:hover{transition:all .2s;padding:0 4px;color:var(--main-color-hover)}aside .sidebar-block .sidebar-body .categories-link:hover::before,aside .sidebar-block .sidebar-body .link-link:hover::before{content:'';position:absolute;left:0;width:4px;height:16px;background:var(--main-color-hover);border-radius:0 4px 4px 0}aside .sidebar-sticky{position:sticky;top:6.66rem}aside .categories-wrap .categories-link{display:flex;justify-content:space-between}aside .tags-wrap a{padding:0 4px;display:inline-block}aside .tags-wrap a:hover{color:var(--main-color-hover)!important;transition:all .6s;transform:scale(1.2)}aside .link-wrap{position:relative}@media (max-width:1000px){aside{width:0;margin:0}aside .sidebar-block{max-width:50%}aside:focus-within{width:inherit}aside>*{display:none}}.pagination{--color:#00c4b6;font-size:16px;margin-top:1.66rem;display:flex;background:var(--main-color);border-radius:4px;align-items:center;justify-content:center}.pagination .page-number.current{color:#fff;background:var(--color)}.pagination .page-number{--size:1.2em;display:inline-block;margin:0 .2em;width:var(--size);height:var(--size);color:var(--color);text-align:center;line-height:var(--size)}.pagination .next,.pagination .prev{color:var(--color);display:inline-flex;align-items:center}.pagination svg{--size:1.3em;width:var(--size);height:var(--size)}@media (max-width:1000px){.pagination{width:unset}}footer{text-align:center;line-height:2em}footer.main-width{padding:2.667rem 1.66rem}footer a{color:#00c4b6}