:root{--text-color: hsla(0, 0%, 20%, 1.0);--text-color-light: hsla(0, 0%, 40%, 1.0);--bg-color: white;--sidebar-bg: hsla(0, 0%, 100%, 0.9);--border-color: hsla(0, 0%, 70%, 1.0);--code-bg: hsla(0, 0%, 96%, 1.0);--btn-bg: hsla(0, 0%, 60%, 1.0);--btn-hover: hsla(0, 0%, 50%, 1.0);--shadow-color: rgba(0,0,0,0.1);--social-bg: hsla(0, 0%, 95%, 1.0);--social-border: hsla(0, 0%, 90%, 1.0);--social-hover-bg: hsla(0, 0%, 100%, 1.0);--pre-shadow: 0 0 30px -10px hsla(0, 0%, 70%, 1.0);--table-header-bg: hsla(0, 0%, 80%, 1.0);--table-cell-bg: hsla(0, 0%, 90%, 1.0);--z-text: #383a42;--z-comment: #a0a1a7;--z-punctuation: #383a42;--z-keyword: #a626a4;--z-string: #50a14f;--z-type: #c18401;--z-constant: #986801;--z-entity: #4078f2;--z-variable: #986801;--z-storage: #a626a4;--z-support: #c18401}[data-theme=dark]{--text-color: hsla(0, 0%, 85%, 1.0);--text-color-light: hsla(0, 0%, 65%, 1.0);--bg-color: hsla(0, 0%, 8%, 1.0);--sidebar-bg: hsla(0, 0%, 8%, 0.9);--border-color: hsla(0, 0%, 25%, 1.0);--code-bg: hsla(0, 0%, 12%, 1.0);--btn-bg: hsla(0, 0%, 35%, 1.0);--btn-hover: hsla(0, 0%, 45%, 1.0);--shadow-color: rgba(0,0,0,0.5);--social-bg: hsla(0, 0%, 18%, 1.0);--social-border: hsla(0, 0%, 22%, 1.0);--social-hover-bg: hsla(0, 0%, 22%, 1.0);--pre-shadow: 0 0 30px -10px rgba(0, 0, 0, 0.5);--table-header-bg: hsla(0, 0%, 22%, 1.0);--table-cell-bg: hsla(0, 0%, 18%, 1.0);--z-text: #abb2bf;--z-comment: #5c6370;--z-punctuation: #abb2bf;--z-keyword: #c678dd;--z-string: #98c379;--z-type: #e5c07b;--z-constant: #d19a66;--z-entity: #61afef;--z-variable: #e06c75;--z-storage: #c678dd;--z-support: #e5c07b}a{text-decoration:none;color:var(--text-color)}a:hover{color:var(--text-color-light)}em,i{font-family:"STIX Two Text","LXGW Bright",serif;font-style:italic}strong,b{font-family:"STIX Two Text",sans-serif,"Noto Sans SC","Noto Sans CN";font-weight:bold}h2,h3,p{text-align:justify;overflow-wrap:break-word;word-break:normal}ul{margin:0 0 1rem 2rem}ol{margin:1em 0 1em 2em}blockquote{margin:1em 0 1em 2em}li{line-height:1.6em;text-align:justify}dl{margin:1em;display:grid;grid-template-columns:auto auto;gap:1em}dt{font-weight:bold}dd{text-align:justify}code{font-family:"Fira Code",monospace;font-size:.87em}hr{margin:1em auto 1em auto;border-color:var(--border-color);border-style:solid;border-width:thin;background-color:var(--border-color)}.google-auto-placed{margin-left:auto !important;margin-right:auto !important;background-color:var(--code-bg);margin-top:1em;padding-top:1em;margin-bottom:1em;padding-bottom:1em}.body-block{margin:0 auto 0 auto;color:var(--text-color);font-family:"STIX Two Text","Source Han Serif CN VF","Noto Serif SC","Noto Serif CN",serif;background-color:var(--bg-color)}.body-block h1,.body-block h2,.body-block h3,.body-block h4{font-family:"STIX Two Text","Noto Serif SC",serif}.body-block>.content-block{width:1200px;margin-left:auto;margin-right:auto;min-height:calc(100vh - 70px - 2em)}@media screen and (max-width: 1300px){.body-block>.content-block{width:1100px}}@media screen and (max-width: 1200px){.body-block>.content-block{width:1000px}}@media screen and (max-width: 1100px){.body-block>.content-block{width:900px}}@media screen and (max-width: 1000px){.body-block>.content-block{width:800px}}@media screen and (max-width: 900px){.body-block>.content-block{width:unset;min-height:calc(100vh - 100px - 2em);padding:unset}}.body-block>.footer-container{min-height:70px}@media screen and (max-width: 900px){.body-block>.footer-container{min-height:100px}}.content-block{display:grid;grid-template-columns:200px auto;grid-auto-flow:row dense}@media screen and (max-width: 900px){.content-block{grid-template-columns:auto;align-content:flex-start}}.content-block>.content-aside{z-index:1}@media screen and (max-width: 900px){.content-block>.content-aside{position:sticky;top:0}}.content-block>.article-list{grid-column-start:2;grid-row-start:1}@media screen and (max-width: 900px){.content-block>.article-list{grid-column-start:unset;grid-row-start:unset}}.content-block .google-auto-placed{grid-column-start:2}@media screen and (max-width: 500px){.content-block .google-auto-placed{grid-column-start:unset}}.content-aside{padding-top:1em;padding-left:1em;padding-right:1em}@media screen and (max-width: 900px){.content-aside{padding-left:calc((100vw - 600px)/3 + 0px);padding-right:calc((100vw - 600px)/3)}}@media screen and (max-width: 700px){.content-aside{padding-left:calc((100vw - 400px)/3 + 0px);padding-right:calc((100vw - 400px)/3)}}@media screen and (max-width: 900px){.content-aside{display:grid;grid-template-columns:auto 32px;align-items:center;padding-bottom:1em;background-color:var(--sidebar-bg);backdrop-filter:blur(1px)}}@media screen and (max-width: 500px){.content-aside{padding-left:5vw;padding-right:5vw}}.content-aside>.title>.section{font-weight:normal}.content-aside>.menuanchor{display:none}@media screen and (max-width: 900px){.content-aside>.menuanchor{display:unset;text-align:center}}.content-aside>.menuanchor>a>.bi-list{width:1.5em;height:1.5em;vertical-align:middle}.content-aside>.social-links{margin-top:1em}@media screen and (max-width: 900px){.content-aside>.social-links{display:none}}@media screen and (max-width: 900px){.content-aside>#nav-block{display:none}}.social-links{list-style:none;padding:0;margin:1em 0;display:flex;justify-content:center;gap:.8em}.social-links li{margin:0;text-align:center}.social-links a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background-color:var(--social-bg);color:var(--text-color-light);transition:transform .2s ease;border:1px solid var(--social-border)}.social-links a:hover{background-color:var(--social-hover-bg);color:var(--text-color);box-shadow:0 2px 5px var(--shadow-color);transform:translateY(-2px)}.social-links a i{font-size:1.2em}#nav-block>#tag-list{margin-left:1em}#tag-list{list-style-type:"# "}#tag-list>.item::marker{content:"# "}.article-list{padding-top:0;margin-top:0;display:block;margin-bottom:0;padding-bottom:0}@media screen and (max-width: 500px){.article-list{padding-left:unset;padding-right:unset}}.article-list>.ad{grid-column-start:1;grid-column-end:-1;margin-top:1em;margin-bottom:1em}@media screen and (max-width: 500px){.article-list>.ad{width:100%}}@media screen and (max-width: 500px){.article-list>.article-block{margin-left:auto;margin-right:auto}}.article-list>.title-block{grid-column-start:1;grid-column-end:-1}.article-list>.read-more{grid-column-start:1;grid-column-end:-1;width:50%;min-width:6em;margin-left:auto;margin-right:auto}.article-list>.paginator{grid-column-start:1;grid-column-end:-1;margin-top:1em;margin-bottom:1em;padding-top:1em;padding-bottom:1em}@media screen and (max-width: 500px){.article-list>.paginator{width:100%;margin-left:auto;margin-right:auto}}.article-list .google-auto-placed{grid-column-start:1;grid-column-end:-1}@media screen and (max-width: 500px){.article-list .google-auto-placed{grid-column-start:unset;grid-column-end:unset}}.meta-line{font-size:.8em;color:var(--text-color-light);margin-bottom:.2em;font-family:"Ysabeau","LXGW Bright",sans-serif;font-style:italic}.meta-line .separator{margin:0 .5em;opacity:.6}.meta-line .pinned-label{color:var(--z-keyword);font-weight:bold}.meta-line .tags a{color:var(--text-color-light);text-decoration:none}.meta-line .tags a:hover{color:var(--text-color);text-decoration:underline}.article-block{border-radius:4px;padding-bottom:.5em;margin-top:0;margin-bottom:.5em;border-bottom:none;position:relative}.article-block::after{content:"";display:block;width:100%;height:1px;background:linear-gradient(to right, var(--border-color), rgba(0,0,0,0));margin:.5em 0 0 0}.article-block:last-child::after{display:none}.article-block .article-content{width:100%;margin:0}.article-block .article-header{margin-bottom:.6em}.article-block .article-header::after{display:none}.article-block .title-link{text-decoration:none;display:block}.article-block .title-link .heading{font-family:"STIX Two Text","Noto Serif SC",serif;font-size:1.5em;color:var(--text-color);font-weight:900;margin:0;line-height:1.2;letter-spacing:-.02em;position:relative;padding-left:.7em}.article-block .title-link .heading::before{content:"";position:absolute;left:.1em;top:.45em;width:.3em;height:.3em;background-color:var(--border-color);transform:rotate(45deg)}.article-block .title-link:hover .heading{color:var(--text-color-light)}.article-block .title-link:hover .heading::before{background-color:var(--text-color);transform:rotate(225deg)}.article-block .article-summary{padding-left:1em;border-left:2px solid var(--border-color);margin-bottom:.5em}.article-block .article-summary .description{margin:0;color:var(--text-color-light);font-family:"LXGW Bright",sans-serif;font-size:.95em;line-height:1.6;text-align:justify}.article-block .meta-line{text-align:right;margin-top:.5em;font-size:.85em;opacity:.8}.pagination-footer{display:flex;justify-content:flex-end;align-items:center;margin-top:2em;margin-bottom:2em;gap:1em}.pagination-footer .paginator{margin:0}.pagination-footer .prev-link,.pagination-footer .next-link{font-family:"Ysabeau","LXGW Bright",sans-serif;font-size:1em;color:var(--text-color);text-decoration:none;transition:transform .2s ease;display:flex;align-items:center;gap:.3em}.pagination-footer .prev-link:hover,.pagination-footer .next-link:hover{color:var(--text-color-light)}.pagination-footer .prev-link:hover{transform:translateX(-3px)}.pagination-footer .next-link:hover{transform:translateX(3px)}.paginator{display:flex;justify-content:center;align-items:center;gap:.3em}.paginator>.link{display:flex;align-items:center;justify-content:center;width:1.8em;height:1.8em;text-decoration:none;color:var(--text-color-light);font-family:"Ysabeau","LXGW Bright",sans-serif;font-size:1em;border-radius:4px;transition:all .2s ease;background-color:rgba(0,0,0,0)}.paginator>.link.-highlight{color:var(--text-color);font-weight:bold;background-color:var(--code-bg)}.paginator>.link:hover:not(.-highlight){color:var(--text-color);background-color:var(--code-bg)}.title-block{display:flex;justify-content:space-between;align-items:baseline;border-bottom:none;padding-bottom:.5em;margin-bottom:1.5em;position:relative}.title-block::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:linear-gradient(to right, var(--border-color), rgba(0,0,0,0));display:block}.title-block .heading{font-family:"STIX Two Text","Noto Serif SC",serif;font-size:2em;font-weight:bold;margin:0}.title-block .heading .hash{color:var(--text-color-light);font-weight:normal;margin-right:.1em;font-size:.8em;vertical-align:middle;opacity:.6}.title-block .page{font-family:"Ysabeau","LXGW Bright",sans-serif;font-style:italic;font-size:1em;color:var(--text-color-light)}.article-meta{font-size:small}.content-article{padding-top:0;padding-left:0;padding-right:0}@media screen and (max-width: 900px){.content-article{padding-left:0;padding-right:0}}.content-article>.article-meta{font-size:small}@media screen and (max-width: 900px){.content-article>.article-meta{padding-left:calc((100vw - 600px)/3 + 0px);padding-right:calc((100vw - 600px)/3)}}@media screen and (max-width: 700px){.content-article>.article-meta{padding-left:calc((100vw - 400px)/3 + 0px);padding-right:calc((100vw - 400px)/3)}}@media screen and (max-width: 900px){.content-article>.article-meta{margin-left:auto;margin-right:auto}}@media screen and (max-width: 500px){.content-article>.article-meta{width:90vw;padding-left:unset;padding-right:unset}}@media screen and (max-width: 900px){.content-article>.article-action-block{padding-left:calc((100vw - 600px)/3 + 0px);padding-right:calc((100vw - 600px)/3)}}@media screen and (max-width: 700px){.content-article>.article-action-block{padding-left:calc((100vw - 400px)/3 + 0px);padding-right:calc((100vw - 400px)/3)}}@media screen and (max-width: 900px){.content-article>.article-action-block{margin-left:auto;margin-right:auto}}@media screen and (max-width: 500px){.content-article>.article-action-block{width:90vw;padding-left:unset;padding-right:unset}}.content-article .article-content .article-meta{font-size:small;margin-bottom:2em;color:var(--text-color-light)}@media screen and (max-width: 900px){.content-article .article-content .article-meta{padding-left:calc((100vw - 600px)/3 + 0px);padding-right:calc((100vw - 600px)/3)}}@media screen and (max-width: 700px){.content-article .article-content .article-meta{padding-left:calc((100vw - 400px)/3 + 0px);padding-right:calc((100vw - 400px)/3)}}@media screen and (max-width: 900px){.content-article .article-content .article-meta{margin-left:auto;margin-right:auto}}@media screen and (max-width: 500px){.content-article .article-content .article-meta{width:90vw;padding-left:unset;padding-right:unset}}.content-article .article-content .article-meta a{text-decoration:none;color:var(--text-color-light)}.content-article .article-content .article-meta a:hover{color:var(--text-color);text-decoration:underline}.content-article .article-content a{text-decoration:underline}.content-article .article-content a>code{background-color:var(--code-bg);padding:.2em;border-radius:4px}.article-header{margin-bottom:2em;position:relative}.article-header::after{content:"";display:block;width:100%;height:1px;background:linear-gradient(to right, var(--border-color), rgba(0,0,0,0));margin:.5em 0 0 0}.article-header .heading{font-family:"STIX Two Text","Noto Serif SC",serif;font-size:xx-large;padding:0 0 .5em 0;margin:0}@media screen and (max-width: 900px){.article-header .heading{padding-left:calc((100vw - 600px)/3);padding-right:calc((100vw - 600px)/3);margin-left:auto;margin-right:auto}}@media screen and (max-width: 700px){.article-header .heading{padding-left:calc((100vw - 400px)/3);padding-right:calc((100vw - 400px)/3)}}@media screen and (max-width: 500px){.article-header .heading{width:90vw;padding-left:unset;padding-right:unset}}.content-article .article-content>.description{font-family:"LXGW Bright",serif;font-size:1.1em;color:var(--text-color);background-color:var(--social-bg);padding:1em;border-radius:6px;margin-bottom:2em;border-left:4px solid var(--border-color);line-height:1.6}@media screen and (max-width: 900px){.content-article .article-content>.description{margin-left:calc((100vw - 600px)/3 + 0px);margin-right:calc((100vw - 600px)/3)}}@media screen and (max-width: 700px){.content-article .article-content>.description{margin-left:calc((100vw - 400px)/3 + 0px);margin-right:calc((100vw - 400px)/3)}}@media screen and (max-width: 500px){.content-article .article-content>.description{width:90vw;margin-left:auto;margin-right:auto}}.content-article .article-content>h2{padding:.2em 0 .2em 0;margin-top:.3em;margin-bottom:.3em;font-size:1.8em;border-bottom:1px dashed var(--border-color);display:inline-block;width:100%;position:relative}.content-article .article-content>h2::before{content:"#";color:var(--border-color);margin-right:.3em;font-weight:normal;font-size:.9em;letter-spacing:-2px}@media screen and (max-width: 900px){.content-article .article-content>h2{padding-left:calc((100vw - 600px)/3 + 0px);padding-right:calc((100vw - 600px)/3)}}@media screen and (max-width: 700px){.content-article .article-content>h2{padding-left:calc((100vw - 400px)/3 + 0px);padding-right:calc((100vw - 400px)/3)}}@media screen and (max-width: 900px){.content-article .article-content>h2{margin-left:auto;margin-right:auto}}@media screen and (max-width: 500px){.content-article .article-content>h2{width:90vw;padding-left:unset;padding-right:unset}}.content-article .article-content>h3{padding:.2em 0 .2em 0;margin-top:.8em;margin-bottom:.3em;font-size:1.4em;position:relative;border-bottom:2px solid var(--social-bg)}.content-article .article-content>h3::before{content:"##";color:var(--border-color);margin-right:.3em;font-weight:normal;font-size:.9em;letter-spacing:-2px}@media screen and (max-width: 900px){.content-article .article-content>h3{padding-left:calc((100vw - 600px)/3 + 0px);padding-right:calc((100vw - 600px)/3)}}@media screen and (max-width: 700px){.content-article .article-content>h3{padding-left:calc((100vw - 400px)/3 + 0px);padding-right:calc((100vw - 400px)/3)}}@media screen and (max-width: 900px){.content-article .article-content>h3{margin-left:auto;margin-right:auto}}@media screen and (max-width: 500px){.content-article .article-content>h3{width:90vw;padding-left:unset;padding-right:unset}}.content-article .article-content>h4{padding:.2em 0 .2em 0;margin-top:.8em;margin-bottom:.2em;font-size:1.2em;position:relative;font-style:italic;color:var(--text-color-light)}.content-article .article-content>h4::before{content:"###";color:var(--border-color);margin-right:.3em;font-weight:normal;font-size:.9em;letter-spacing:-2px;font-style:normal;transition:color .3s ease}@media screen and (max-width: 900px){.content-article .article-content>h4{padding-left:calc((100vw - 600px)/3 + 0px);padding-right:calc((100vw - 600px)/3)}}@media screen and (max-width: 700px){.content-article .article-content>h4{padding-left:calc((100vw - 400px)/3 + 0px);padding-right:calc((100vw - 400px)/3)}}@media screen and (max-width: 900px){.content-article .article-content>h4{margin-left:auto;margin-right:auto}}@media screen and (max-width: 500px){.content-article .article-content>h4{width:90vw;padding-left:unset;padding-right:unset}}.content-article .article-content>p{line-height:1.6em;margin-bottom:.8rem}@media screen and (max-width: 900px){.content-article .article-content>p{padding-left:calc((100vw - 600px)/3 + 0px);padding-right:calc((100vw - 600px)/3)}}@media screen and (max-width: 700px){.content-article .article-content>p{padding-left:calc((100vw - 400px)/3 + 0px);padding-right:calc((100vw - 400px)/3)}}@media screen and (max-width: 900px){.content-article .article-content>p{margin-left:auto;margin-right:auto}}@media screen and (max-width: 500px){.content-article .article-content>p{width:90vw;padding-left:unset;padding-right:unset}}.content-article .article-content>p>code{background-color:var(--code-bg);padding:.2em;border-radius:4px}.content-article .article-content>figure{margin-bottom:1rem}.content-article .article-content>figure>figcaption{text-align:center;font-size:smaller;color:var(--text-color-light)}.content-article .article-content>figure>figcaption>a{color:var(--text-color-light);text-decoration:none}.content-article .article-content>figure>figcaption>a:hover{color:var(--text-color)}.content-article .article-content>blockquote{border-left:3px solid var(--border-color);padding:.5em 0 .5em 1em;line-height:1.6em;margin-bottom:.8em;margin-left:0;position:relative;transition:border-color .3s ease,color .3s ease,background-color .3s ease}@media screen and (max-width: 900px){.content-article .article-content>blockquote{margin-left:calc((100vw - 600px)/3 + 0px);margin-right:calc((100vw - 600px)/3)}}@media screen and (max-width: 700px){.content-article .article-content>blockquote{margin-left:calc((100vw - 400px)/3 + 0px);margin-right:calc((100vw - 400px)/3)}}@media screen and (max-width: 500px){.content-article .article-content>blockquote{width:90vw;margin-left:auto;margin-right:auto}}.content-article .article-content>blockquote.markdown-alert-note::before,.content-article .article-content>blockquote.markdown-alert-tip::before,.content-article .article-content>blockquote.markdown-alert-important::before,.content-article .article-content>blockquote.markdown-alert-warning::before,.content-article .article-content>blockquote.markdown-alert-caution::before{display:block;font-weight:bold;font-size:1.1em;line-height:1.4;color:var(--text-color-light);padding-left:1.6em;width:fit-content;margin-bottom:.5em;transition:color .3s ease}.content-article .article-content>blockquote.markdown-alert-note::after,.content-article .article-content>blockquote.markdown-alert-tip::after,.content-article .article-content>blockquote.markdown-alert-important::after,.content-article .article-content>blockquote.markdown-alert-warning::after,.content-article .article-content>blockquote.markdown-alert-caution::after{content:"";position:absolute;top:.6em;left:1em;width:1.2em;height:1.2em;background-color:var(--text-color-light);transition:background-color .3s ease;mask-size:contain;mask-repeat:no-repeat;mask-position:center}.content-article .article-content>blockquote.markdown-alert-note::before{content:"Note"}.content-article .article-content>blockquote.markdown-alert-note::after{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'/%3E%3C/svg%3E")}.content-article .article-content>blockquote.markdown-alert-tip::before{content:"Tip"}.content-article .article-content>blockquote.markdown-alert-tip::after{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 01-1.484.211c-.04-.282-.163-.547-.37-.847a8.456 8.456 0 00-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.025 2.5 6.015 2.5 5.25c0-3.038 2.562-5.25 5.5-5.25 3.038 0 5.5 2.212 5.5 5.25 0 .765-.701 1.775-1.328 2.259-.095.115-.184.22-.268.32-.196.23-.374.456-.542.68-.208.3-.33.565-.37.847a.75.75 0 01-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75zM5.75 12h4.5a.75.75 0 01.75.75v.75a.75.75 0 01-.75.75h-4.5a.75.75 0 01-.75-.75v-.75a.75.75 0 01.75-.75zM6 15.25a.75.75 0 01.75-.75h2.5a.75.75 0 01.75.75v.25a.75.75 0 01-.75.75h-2.5a.75.75 0 01-.75-.75v-.25z'/%3E%3C/svg%3E")}.content-article .article-content>blockquote.markdown-alert-important::before{content:"Important"}.content-article .article-content>blockquote.markdown-alert-important::after{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v9.5A1.75 1.75 0 0114.25 13H8.06l-2.573 2.573A1.457 1.457 0 013 14.543V13H1.75A1.75 1.75 0 010 11.25v-9.5zM1.75 1.5a.25.25 0 00-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 01.75.75v2.19l2.72-2.72a.75.75 0 01.53-.22h6.5a.25.25 0 00.25-.25v-9.5a.25.25 0 00-.25-.25H1.75zM8 9a1 1 0 110-2 1 1 0 010 2zm-.75-3.25a.75.75 0 011.5 0v2.5a.75.75 0 01-1.5 0v-2.5z'/%3E%3C/svg%3E")}.content-article .article-content>blockquote.markdown-alert-warning::before{content:"Warning"}.content-article .article-content>blockquote.markdown-alert-warning::after{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575Zm1.763.707a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368Zm.53 3.996v2.5a.75.75 0 01-1.5 0v-2.5a.75.75 0 011.5 0ZM9 11a1 1 0 11-2 0 1 1 0 012 0Z'/%3E%3C/svg%3E")}.content-article .article-content>blockquote.markdown-alert-caution::before{content:"Caution"}.content-article .article-content>blockquote.markdown-alert-caution::after{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.47.22A.75.75 0 015 0h6a.75.75 0 01.53.22l4.25 4.25c.141.14.22.331.22.53v6a.75.75 0 01-.22.53l-4.25 4.25A.75.75 0 0111 16H5a.75.75 0 01-.53-.22L.22 11.53A.75.75 0 010 11V5a.75.75 0 01.22-.53Zm.84 1.28L1.5 5.31v5.38l3.81 3.81h5.38l3.81-3.81V5.31L10.69 1.5ZM8 4a.75.75 0 01.75.75v3.5a.75.75 0 01-1.5 0v-3.5A.75.75 0 018 4Zm0 8a1 1 0 100-2 1 1 0 000 2Z'/%3E%3C/svg%3E")}@media screen and (max-width: 900px){.content-article .article-content>dl{padding-left:calc((100vw - 600px)/3 + 0px);padding-right:calc((100vw - 600px)/3)}}@media screen and (max-width: 700px){.content-article .article-content>dl{padding-left:calc((100vw - 400px)/3 + 0px);padding-right:calc((100vw - 400px)/3)}}@media screen and (max-width: 900px){.content-article .article-content>dl{margin-left:auto;margin-right:auto}}@media screen and (max-width: 500px){.content-article .article-content>dl{width:90vw;padding-left:unset;padding-right:unset}}.content-article .article-content>dl>dd>code{background-color:var(--code-bg);padding:.2em;border-radius:4px}@media screen and (max-width: 900px){.content-article .article-content>ul{padding-left:calc((100vw - 600px)/3 + 2em);padding-right:calc((100vw - 600px)/3)}}@media screen and (max-width: 700px){.content-article .article-content>ul{padding-left:calc((100vw - 400px)/3 + 2em);padding-right:calc((100vw - 400px)/3)}}@media screen and (max-width: 900px){.content-article .article-content>ul{margin-left:auto;margin-right:auto}}@media screen and (max-width: 500px){.content-article .article-content>ul{width:90vw;padding-left:2em;padding-right:unset;margin-left:auto;margin-right:auto}}.content-article .article-content>ul>li{overflow-wrap:break-word;word-break:normal}.content-article .article-content>ul>li>code{background-color:var(--code-bg);padding:.2em;border-radius:4px}@media screen and (max-width: 900px){.content-article .article-content>ol{padding-left:calc((100vw - 600px)/3 + 2em);padding-right:calc((100vw - 600px)/3)}}@media screen and (max-width: 700px){.content-article .article-content>ol{padding-left:calc((100vw - 400px)/3 + 2em);padding-right:calc((100vw - 400px)/3)}}@media screen and (max-width: 900px){.content-article .article-content>ol{margin-left:auto;margin-right:auto}}@media screen and (max-width: 500px){.content-article .article-content>ol{width:90vw;padding-left:2em;padding-right:unset;margin-left:auto;margin-right:auto}}.content-article .article-content>ol>li{overflow-wrap:break-word;word-break:normal}.content-article .article-content>ol>li>code{background-color:var(--code-bg);padding:.2em;border-radius:4px}.content-article .article-content>pre{padding:1em;padding-top:2.8em;width:100%;font-size:.87em;line-height:1.5;box-shadow:var(--pre-shadow);border-radius:8px;margin-bottom:1em;background-color:var(--code-bg);color:var(--z-text);position:relative;transition:background-color .3s ease,color .3s ease,box-shadow .3s ease}.content-article .article-content>pre::before{content:"";position:absolute;top:1em;left:1em;width:10px;height:10px;border-radius:50%;background-color:#ff5f56;box-shadow:18px 0 0 #ffbd2e,36px 0 0 #27c93f}.content-article .article-content>pre::after{content:attr(data-lang);position:absolute;top:.7em;right:1em;font-family:"Fira Code",monospace;font-size:.8em;color:var(--text-color-light);text-transform:uppercase;font-weight:bold;opacity:.7}.content-article .article-content>pre code{font-family:"Fira Code",monospace;background-color:rgba(0,0,0,0);padding:0;border-radius:0;font-size:1em;display:block;overflow-x:auto}.content-article .article-content>pre .z-text{color:var(--z-text)}.content-article .article-content>pre .z-comment{color:var(--z-comment);font-style:italic}.content-article .article-content>pre .z-punctuation{color:var(--z-punctuation)}.content-article .article-content>pre .z-keyword{color:var(--z-keyword)}.content-article .article-content>pre .z-string{color:var(--z-string)}.content-article .article-content>pre .z-type{color:var(--z-type)}.content-article .article-content>pre .z-constant{color:var(--z-constant)}.content-article .article-content>pre .z-entity{color:var(--z-entity)}.content-article .article-content>pre .z-variable{color:var(--z-variable)}.content-article .article-content>pre .z-storage{color:var(--z-storage)}.content-article .article-content>pre .z-support{color:var(--z-support)}@media screen and (max-width: 500px){.content-article .article-content>pre{width:100%;border-radius:8px}}.content-article .article-content>hr{width:60%}.content-article .article-content img{max-width:100%;height:auto;border-radius:4px;display:block;margin:0 auto}@media screen and (max-width: 500px){.content-article .article-content img{width:100vw;margin-left:-5vw;border-radius:unset}}@media screen and (max-width: 900px){.content-article .article-content .footnote-definition{padding-left:calc((100vw - 600px)/3);padding-right:calc((100vw - 600px)/3);margin-left:auto;margin-right:auto}}@media screen and (max-width: 700px){.content-article .article-content .footnote-definition{padding-left:calc((100vw - 400px)/3);padding-right:calc((100vw - 400px)/3)}}@media screen and (max-width: 500px){.content-article .article-content .footnote-definition{width:90vw;padding-left:unset;padding-right:unset}}.content-article .article-content .toc{background-color:var(--code-bg);padding:1em;border-radius:4px;margin-bottom:2em}.content-article .article-content .toc h3{margin-top:0;font-size:1.2em}.content-article .article-content .toc ul{margin-bottom:0;padding-left:1em}.content-article .article-content>iframe{width:100%;height:50vw;margin-bottom:1em;border-radius:4px}@media screen and (max-width: 900px){.content-article .article-content>iframe{padding-left:calc((100vw - 600px)/3 + 0px);padding-right:calc((100vw - 600px)/3)}}@media screen and (max-width: 700px){.content-article .article-content>iframe{padding-left:calc((100vw - 400px)/3 + 0px);padding-right:calc((100vw - 400px)/3)}}@media screen and (max-width: 900px){.content-article .article-content>iframe{height:50vw;margin-left:auto;margin-right:auto}}@media screen and (max-width: 500px){.content-article .article-content>iframe{width:100vw;padding-left:unset;padding-right:unset;border-radius:unset}}.content-article .article-content>table{margin:1em;width:90%;font-size:small;border-radius:4px;margin-left:auto;margin-right:auto}@media screen and (max-width: 900px){.content-article .article-content>table{padding-left:calc((100vw - 600px)/3 + 0px);padding-right:calc((100vw - 600px)/3)}}@media screen and (max-width: 700px){.content-article .article-content>table{padding-left:calc((100vw - 400px)/3 + 0px);padding-right:calc((100vw - 400px)/3)}}@media screen and (max-width: 900px){.content-article .article-content>table{width:100%}}@media screen and (max-width: 500px){.content-article .article-content>table{width:90vw;padding-left:unset;padding-right:unset;border-radius:unset}}.content-article .article-content>table th{background-color:var(--table-header-bg);color:var(--text-color);padding:1em}.content-article .article-content>table td{background-color:var(--table-cell-bg);color:var(--text-color);padding:1em;border:1px solid var(--border-color)}.content-article .article-content>table{border-collapse:collapse;border:1px solid var(--border-color)}.content-article .article-content>.google-auto-placed{border-radius:4px}@media screen and (max-width: 900px){.content-article .article-content>.google-auto-placed{border-radius:unset}}.article-action-block>.addtoany-block{margin:1em auto 1em auto}.addtoany-block{display:grid;grid-template-columns:repeat(6, 1fr);gap:1vw}.addtoany-block>a>.button{border-radius:4px;width:100%;height:32px;background-color:#999}.addtoany-block>a>.button:hover{background-color:gray}.footer-container{background-color:var(--code-bg);padding:1em 3em 1em 3em;display:grid;grid-template-columns:minmax(200px, auto) minmax(200px, auto);justify-content:space-between;font-size:small;align-items:end;gap:1em}@media screen and (max-width: 900px){.footer-container{grid-template-columns:auto;justify-content:unset}}.footer-container>.social-links{display:none;text-align:center}@media screen and (max-width: 900px){.footer-container>.social-links{grid-column-start:1;grid-column-end:-1;display:unset}}@media screen and (max-width: 900px){.footer-container>.copyright{grid-row-start:unset;text-align:center;margin-left:unset}}.footer-container>.float{color:var(--text-color-light);text-align:right}@media screen and (max-width: 900px){.footer-container>.float{grid-row-start:unset;text-align:center}}.footer-container>.float>span>.link{color:var(--text-color-light);font-weight:bold}.footer-container>.float>span>.link:hover{color:var(--text-color)}.page-footer{clear:both;width:100%;margin:0;padding-top:2em;padding-bottom:2em;text-align:center;color:var(--text-color-light);font-size:small;font-family:"Ysabeau",sans-serif;font-style:italic;position:relative}.page-footer::before{content:"";position:absolute;top:1.5em;left:50%;transform:translateX(-50%);width:33.33%;height:1px;background:linear-gradient(to right, rgba(0,0,0,0), var(--border-color), rgba(0,0,0,0))}.page-footer .footer-content{display:inline-block;position:relative;padding-top:1em}.page-footer .separator{margin:0 1em}.page-footer a{color:var(--text-color-light);text-decoration:underline}.page-footer a:hover{color:var(--text-color)}@media screen and (max-width: 960px){.page-footer{padding-left:1em;padding-right:1em}}.animated{animation-fill-mode:both;animation-duration:1s}.animated.hinge{animation-duration:1s}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}100%{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:translateY(0)}}.fadeInDown{animation-name:fadeInDown}.fadeIn{animation-name:fadeIn}.content{height:auto;float:right;width:58.333%;margin-right:8.333%;margin-top:120px;padding-left:4vw;box-sizing:border-box;min-height:calc(100vh - 120px - 100px);}@media screen and (max-width: 960px){.content{width:100%;float:none;margin-right:0;padding-left:5vw;padding-right:5vw}}.page-top{width:100%;position:fixed;top:0;right:0;z-index:100;height:64px;background-color:var(--sidebar-bg);backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,0);display:flex;justify-content:space-between;align-items:center;padding:0 4vw}@media screen and (max-width: 960px){.page-top{padding:0 20px}}.page-top .nav{display:flex;gap:2em;align-items:center;height:100%}@media screen and (max-width: 960px){.page-top .nav{display:none}}.page-top .nav a{color:var(--text-color-light);font-family:"Source Han Serif CN VF",serif;font-size:1rem;text-decoration:none;position:relative;transition:color .2s ease;padding:.5em 0;}.page-top .nav a:hover{color:var(--text-color)}.page-top .nav a:not(:last-child)::after{content:"";position:absolute;right:-1.05em;top:50%;transform:translateY(-50%) rotate(15deg);width:1px;height:.8em;background-color:var(--text-color-light);opacity:.2}.page-top .nav a.active{color:var(--text-color);font-weight:600;}.page-top .nav a.active::before{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:4px;height:4px;background-color:var(--text-color);border-radius:50%}.page-top .information{display:flex;align-items:center;gap:1.5em;height:100%}.page-top .information .back_btn,.page-top .information .theme_btn,.page-top .information .feed_btn,.page-top .information .avatar_btn{cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-color-light);transition:all .2s ease;font-size:1.1rem}.page-top .information .back_btn a,.page-top .information .theme_btn a,.page-top .information .feed_btn a,.page-top .information .avatar_btn a{display:flex;align-items:center}.page-top .information .back_btn:hover,.page-top .information .theme_btn:hover,.page-top .information .feed_btn:hover,.page-top .information .avatar_btn:hover{color:var(--text-color);transform:translateY(-1px)}.page-top .information .feed_btn{position:relative;height:100%}.page-top .information .feed_btn:hover .feed-dropdown{display:block;opacity:1;transform:translateY(0);pointer-events:auto}.page-top .information .feed_btn .feed-dropdown{display:none;position:absolute;top:calc(100% - 10px);right:-10px;background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;padding:8px 0;min-width:100px;box-shadow:0 4px 20px var(--shadow-color);z-index:10;opacity:0;transform:translateY(-10px);transition:opacity .2s,transform .2s;pointer-events:none}.page-top .information .feed_btn .feed-dropdown a{display:block;padding:8px 20px;font-size:.9rem;color:var(--text-color);white-space:nowrap;text-decoration:none}.page-top .information .feed_btn .feed-dropdown a:hover{background-color:var(--social-bg)}.page-top .information .feed_btn .feed-dropdown::before{content:"";position:absolute;top:-10px;left:0;width:100%;height:10px;background:rgba(0,0,0,0)}.page-top .information .avatar_btn{cursor:pointer;display:none;font-size:1.2rem}@media screen and (max-width: 960px){.page-top .information .avatar_btn{display:inline-block}}.article-intro-container{margin-bottom:3em;border-bottom:1px solid var(--border-color);padding-bottom:2em}.article-intro-container .intro-header{margin-bottom:2em}.article-intro-container .intro-header .heading{font-family:"STIX Two Text","Noto Serif SC",serif;font-size:2.5em;font-weight:900;line-height:1.2;margin-bottom:.3em;color:var(--text-color)}.article-intro-container .intro-header .meta-line{font-family:"Ysabeau","LXGW WenKai",sans-serif;font-size:.9em;color:var(--text-color-light);font-style:italic}.article-intro-container .intro-header .meta-line .separator{margin:0 .5em;opacity:.6}.article-intro-container .intro-header .meta-line .tags a{color:var(--text-color-light);text-decoration:none}.article-intro-container .intro-header .meta-line .tags a:hover{color:var(--text-color)}.article-intro-container .intro-body{display:flex;flex-direction:column;gap:2em;padding-left:1.5em;border-left:3px solid var(--border-color)}.article-intro-container .intro-body .intro-abstract{position:relative}.article-intro-container .intro-body .intro-abstract .abstract-title{font-family:"Fira Code",monospace;font-size:.75em;color:var(--text-color-light);letter-spacing:.1em;margin-bottom:.5em;opacity:.7;font-weight:bold}.article-intro-container .intro-body .intro-abstract .description{font-family:"LXGW Bright",sans-serif;font-size:1.05em;line-height:1.8;color:var(--text-color);margin:0;text-align:justify;padding-left:1em}.article-intro-container .intro-body .intro-toc{width:100%}.article-intro-container .intro-body .intro-toc summary.toc-title{font-family:"Fira Code",monospace;font-size:.75em;color:var(--text-color-light);letter-spacing:.05em;opacity:.7;font-weight:bold;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;user-select:none;margin-bottom:.5em}.article-intro-container .intro-body .intro-toc summary.toc-title::after{content:"expand +";font-size:.9em;font-weight:normal;margin-left:1em;opacity:.8}.article-intro-container .intro-body .intro-toc[open] summary.toc-title{margin-bottom:.5em}.article-intro-container .intro-body .intro-toc[open] summary.toc-title::after{content:"collapse -"}.article-intro-container .intro-body .intro-toc .toc-list{list-style:none;margin:0;padding:0;padding-left:1.5em;font-size:.9em;line-height:1.5}.article-intro-container .intro-body .intro-toc .toc-list ul{list-style:none;margin:0;padding-left:1.5em;border-left:1px solid var(--border-color)}.article-intro-container .intro-body .intro-toc .toc-list li{margin:.4em 0;text-align:left;}.article-intro-container .intro-body .intro-toc .toc-list a{text-decoration:none;color:var(--text-color-light);display:block;font-family:"STIX Two Text","Noto Serif SC",serif;font-weight:500}.article-intro-container .intro-body .intro-toc .toc-list a:hover{color:var(--text-color)}.article-intro-container .intro-body .intro-toc .toc-list .toc-root>a{font-weight:bold;color:var(--text-color);margin-bottom:.5em;font-size:1em}#sidebar-mask{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--shadow-color);backdrop-filter:blur(10px);z-index:3;display:none;opacity:0;transition:opacity .3s ease-in-out}#sidebar-mask.open{display:block;opacity:1}#sidebar{width:25%;background-size:cover;height:100%;top:0;left:8.333%;position:fixed;z-index:4;background-color:var(--sidebar-bg);display:flex;flex-direction:column;justify-content:center;transition:transform .3s ease-in-out;padding-right:4vw;box-sizing:border-box}#sidebar::after{content:"";position:absolute;right:2vw;top:50%;transform:translateY(-50%);height:60%;border-right:4px double var(--border-color)}@media screen and (max-width: 960px){#sidebar{width:250px;left:0;transform:translateX(-100%);border-right:1px solid var(--border-color);padding-right:0}#sidebar::after{display:none}#sidebar.open{transform:translateX(0)}}#sidebar .logo-title{text-align:center;flex-grow:1;display:flex;flex-direction:column;justify-content:center;align-items:center}#sidebar .logo-title .title-inner{width:100%}#sidebar .logo-title .avatar{width:120px;height:120px;margin:0 auto 20px auto;border-radius:50%;overflow:hidden}#sidebar .logo-title .avatar img{width:100%;height:100%;object-fit:cover}#sidebar .logo-title .description{font-size:16px;color:var(--text-color-light);margin-top:10px}#sidebar .logo-title .description p{text-align:center}#sidebar .logo-title .title h3{text-align:center;text-transform:none;font-family:"Dancing Script",cursive;font-size:2.5rem;font-weight:800;line-height:1;margin:0}#sidebar .logo-title .title h3 a{color:var(--text-color)}#sidebar .social-links{list-style:none;padding:0;text-align:center;margin-top:2em;margin-bottom:0}#sidebar .social-links li{display:inline-block;margin:0 .8em}#sidebar .social-links li a{color:var(--text-color-light);font-size:1.2em;transition:transform .3s ease;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px}#sidebar .social-links li a:hover{color:var(--text-color);transform:translateY(-2px)}#sidebar .sidebar-action{text-align:center;margin-top:2em}#sidebar .sidebar-action a{display:inline-block;padding:.6em 1.5em;background-color:rgba(0,0,0,0);color:var(--text-color-light);border:1px solid var(--border-color);border-radius:4px;font-size:.9em;letter-spacing:1px}#sidebar .sidebar-action a:hover{background-color:var(--border-color);color:#fff;border-color:var(--border-color);text-decoration:none}#sidebar .sidebar-nav{display:none;flex-direction:column;align-items:center;gap:.8em;margin-top:2em;padding-top:2em;position:relative}#sidebar .sidebar-nav::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:120px;height:1px;background:linear-gradient(to right, rgba(0,0,0,0), var(--border-color), rgba(0,0,0,0))}@media screen and (max-width: 960px){#sidebar .sidebar-nav{display:flex}}#sidebar .sidebar-nav a{color:var(--text-color-light);font-family:"Source Han Serif CN VF",serif;font-size:1.1em;text-decoration:none;position:relative;padding-bottom:.8em}#sidebar .sidebar-nav a:hover{color:var(--text-color)}#sidebar .sidebar-nav a:not(:last-child)::after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:20px;height:1px;background-color:var(--border-color);opacity:.3}#sidebar .footer{text-align:center;margin-bottom:20px;font-size:12px;color:var(--text-color-light)}#sidebar .footer a{color:var(--text-color-light)}@media screen and (max-width: 960px){#main{margin-top:0}}.addtoany-block{display:flex;gap:10px;margin-top:1em}.addtoany-block a{display:block;width:32px;height:32px}.addtoany-block a .button{width:100%;height:100%;border-radius:50%;padding:4px;background-color:var(--btn-bg)}.addtoany-block a .button:hover{background-color:var(--btn-hover)}.katex{word-break:normal;font-size:.95em}.katex-display{overflow-x:auto;overflow-y:hidden}.footnote-definition{font-size:.85em;display:flex;margin-top:.5em;align-items:baseline;scroll-margin-top:80px}.footnote-definition .footnote-definition-label{margin-right:.5em;font-weight:bold;min-width:1.5em;text-align:right;user-select:none}.footnote-definition p{margin:0}sup.footnote-reference a{text-decoration:none;margin:0 2px;padding:0 2px;border-radius:2px;scroll-margin-top:80px;display:inline-block;}sup.footnote-reference a:target{background-color:var(--btn-bg)}.friends-list{display:grid;grid-template-columns:repeat(auto-fill, minmax(250px, 1fr));gap:20px;margin-top:2em}.friend-card{border:1px solid var(--border-color);border-radius:8px;overflow:hidden;transition:transform .2s,box-shadow .2s;background-color:var(--bg-color)}.friend-card:hover{transform:translateY(-5px);box-shadow:0 5px 15px var(--shadow-color)}.friend-card .friend-link{display:block;text-decoration:none;color:inherit;height:100%;padding:15px}.friend-card .friend-avatar{display:flex;justify-content:center;margin-bottom:10px}.friend-card .friend-avatar img{width:80px;height:80px;border-radius:50%;object-fit:cover;border:2px solid var(--border-color)}.friend-card .friend-info{text-align:center}.friend-card .friend-info h3{margin:0 0 5px;font-size:1.1em;color:var(--text-color)}.friend-card .friend-info p{margin:0;font-size:.9em;color:var(--text-color-light);line-height:1.4}.links-group{margin-bottom:4em;}@media screen and (max-width: 900px){.links-group{padding-left:calc((100vw - 600px)/3 + 0px);padding-right:calc((100vw - 600px)/3)}}@media screen and (max-width: 700px){.links-group{padding-left:calc((100vw - 400px)/3 + 0px);padding-right:calc((100vw - 400px)/3)}}@media screen and (max-width: 900px){.links-group{margin-left:auto;margin-right:auto}}@media screen and (max-width: 500px){.links-group{width:90vw;padding-left:unset;padding-right:unset}}.group-title{font-size:1.5em;margin-bottom:.5em;padding-bottom:.3em;border-bottom:2px solid var(--border-color);display:inline-block;font-family:"STIX Two Text","Noto Serif SC",serif}.group-desc{margin-bottom:2em;color:var(--text-color-light);font-style:italic;font-size:.95em;line-height:1.6}.friends-list{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:1.5em;margin-top:1em}.friends-list .friend-item{display:flex;align-items:center;text-decoration:none !important;padding:1.2em;border:1px solid var(--border-color);border-radius:12px;background-color:var(--bg-color);transition:transform .3s cubic-bezier(.25, .8, .25, 1),box-shadow .3s cubic-bezier(.25, .8, .25, 1);height:100%;box-sizing:border-box;position:relative;overflow:hidden}.friends-list .friend-item:hover{transform:translateY(-4px);box-shadow:0 8px 20px var(--shadow-color);border-color:var(--text-color-light);text-decoration:none !important}.friends-list .friend-item .friend-avatar{flex-shrink:0;width:64px;height:64px;margin-right:16px}.friends-list .friend-item .friend-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;border:2px solid var(--border-color);background-color:var(--bg-color)}.friends-list .friend-item:hover .friend-avatar img{border-color:var(--text-color)}.friends-list .friend-item .friend-info{flex-grow:1;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.friends-list .friend-item .friend-info .friend-name{font-weight:bold;font-size:1.1em;color:var(--text-color);margin-bottom:.3em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:"STIX Two Text","Noto Serif SC",serif}.friends-list .friend-item .friend-info .friend-desc{font-size:.85em;color:var(--text-color-light);line-height:1.4;display:-webkit-box;line-clamp:2;box-orient:vertical;overflow:hidden}.category-cloud{display:flex;flex-wrap:wrap;gap:.8em;margin-top:2em;justify-content:flex-start;padding:0}@media screen and (max-width: 700px){.category-cloud{gap:.6em}}.category-chip{display:inline-flex;align-items:baseline;padding:.4em .8em;background-color:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);border-radius:6px;text-decoration:none;color:var(--text-color);font-family:"Ysabeau","LXGW Bright",sans-serif;font-style:italic;font-size:1em;box-shadow:none}.category-chip:hover{color:var(--text-color)}.category-chip .category-prefix{color:var(--text-color-light);font-weight:bold;margin-right:.2em;font-style:normal;opacity:.6;transition:opacity .3s ease}.category-chip:hover .category-prefix{opacity:1}.category-chip .category-name{font-weight:normal;border-bottom:1px solid rgba(0,0,0,0)}.category-chip:hover .category-name{border-color:var(--text-color)}.category-chip .category-count{margin-left:.3em;font-size:.9em;color:var(--text-color-light);background-color:rgba(0,0,0,0);padding:0;font-weight:bold;opacity:.8;position:relative;top:-.3em}.category-chip:hover .category-count{color:var(--text-color);opacity:1}.home-container{display:flex;flex-direction:column;align-items:center;width:100%}.home-intro{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;width:100%;text-align:center}.home-intro .logo-title{display:flex;flex-direction:column;align-items:center}.home-intro .logo-title .title-inner{display:flex;flex-direction:column;align-items:center;width:100%}.home-intro .logo-title .avatar{width:120px;height:120px;margin:0 auto 20px auto;border-radius:50%;overflow:hidden;animation:fadeInDown .8s ease-out}.home-intro .logo-title .avatar img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.home-intro .logo-title .avatar:hover img{transform:scale(1.05)}.home-intro .logo-title .title{animation:fadeInDown .8s ease-out .2s backwards}.home-intro .logo-title .title h3{text-align:center;text-transform:none;font-family:"Dancing Script",cursive;font-size:2.5rem;font-weight:800;line-height:1;margin:0;color:var(--text-color)}.home-intro .logo-title .title .description{font-size:16px;color:var(--text-color-light);margin-top:10px;font-family:inherit}.home-intro .logo-title .title .description p{text-align:center;margin:0}.home-intro .logo-title .social-links{list-style:none;padding:0;text-align:center;margin-top:2em;margin-bottom:0;display:block;animation:fadeInDown .8s ease-out .4s backwards}.home-intro .logo-title .social-links li{display:inline-block;margin:0 .8em}.home-intro .logo-title .social-links li a{color:var(--text-color-light);font-size:1.2em;transition:transform .3s ease,box-shadow .3s ease;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px}.home-intro .logo-title .social-links li a:hover{color:var(--text-color);transform:translateY(-2px)}.home-intro .logo-title .home-nav{display:flex;gap:2em;align-items:center;margin-top:2em;padding-top:2em;flex-wrap:wrap;justify-content:center;position:relative;animation:fadeIn 1s ease-out .6s backwards}.home-intro .logo-title .home-nav::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:120px;height:1px;background:linear-gradient(to right, rgba(0,0,0,0), var(--text-color-light), rgba(0,0,0,0));opacity:.3}.home-intro .logo-title .home-nav a{color:var(--text-color-light);font-family:"Source Han Serif CN VF",serif;font-size:1rem;text-decoration:none;position:relative;transition:color .2s ease;padding:.5em 0;}.home-intro .logo-title .home-nav a:hover{color:var(--text-color)}.home-intro .logo-title .home-nav a:not(:last-child)::after{content:"";position:absolute;right:-1.05em;top:50%;transform:translateY(-50%) rotate(15deg);width:1px;height:.8em;background-color:var(--text-color-light);opacity:.2}.home-intro .logo-title .home-nav a.active{color:var(--text-color);font-weight:600;}.home-intro .logo-title .home-nav a.active::before{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:4px;height:4px;background-color:var(--text-color);border-radius:50%}.home-content{width:100% !important;float:none !important;margin-right:0 !important;margin-top:0 !important;padding-left:0 !important;min-height:calc(100vh - 100px) !important;display:flex;flex-direction:column;justify-content:center}.timeline-wrapper{position:relative;padding-left:1.5em;margin-top:2em;padding-top:2em;padding-bottom:.6em}.timeline-wrapper::before{content:"";position:absolute;top:0;bottom:0;left:10px;width:2px;background-color:var(--border-color);opacity:.6}.timeline-wrapper::after{content:"";position:absolute;top:-2px;left:5px;width:12px;height:12px;border:2px solid var(--border-color);border-radius:50%;background-color:var(--bg-color);z-index:2;box-shadow:0 0 0 4px var(--bg-color)}.timeline-end-marker{position:absolute;left:calc(-1.5em + 10px);top:1.17em;width:2px;height:.72em;background:rgba(0,0,0,0);z-index:2}.timeline-end-marker::before{content:"";position:absolute;top:0;left:-10px;width:22px;height:100vh;background-color:var(--bg-color);z-index:-1}.timeline-year-group{position:relative;margin-bottom:2.5em}.timeline-year-group:last-of-type{margin-bottom:0}.timeline-year-node{position:relative;display:flex;align-items:center;margin-bottom:1.5em}.timeline-year-node::before{content:"";position:absolute;left:calc(-1.5em + 4px);width:14px;height:14px;background-color:var(--bg-color);border:3px solid var(--text-color);border-radius:50%;z-index:1;box-shadow:0 0 0 4px var(--bg-color)}.timeline-year-node .year-label{font-family:"STIX Two Text","Noto Serif SC",serif;font-size:1.8em;font-weight:bold;color:var(--text-color);margin-left:1em;line-height:1}.timeline-posts{display:flex;flex-direction:column;gap:1.2em}.timeline-post-item{position:relative;display:flex;align-items:baseline;padding-left:1.5em;transition:transform .2s ease}.timeline-post-item::before{content:"";position:absolute;left:calc(-1.5em + 11px);top:.6em;width:1em;height:1px;background-color:var(--border-color);transition:background-color .3s ease}.timeline-post-item::after{content:"";position:absolute;left:calc(-1.5em + 7px);top:.45em;width:8px;height:8px;background-color:var(--border-color);border-radius:50%;z-index:1;transition:background-color .3s ease,transform .2s ease;box-shadow:0 0 0 2px var(--bg-color)}.timeline-post-item:hover::after{background-color:var(--text-color);transform:scale(1.2)}.timeline-post-item:hover .post-date-node .date-text{color:var(--text-color);transform:translateX(4px)}.timeline-post-item:hover .post-link{color:var(--text-color);transform:translateX(4px)}.timeline-post-item .post-date-node{min-width:3.5em;margin-right:1em}.timeline-post-item .post-date-node .date-text{font-family:"Ysabeau","LXGW Bright",sans-serif;font-style:italic;font-size:.9em;color:var(--text-color-light);display:inline-block}.timeline-post-item .post-link{font-family:"STIX Two Text","Noto Serif SC",serif;font-size:1.05em;color:var(--text-color);text-decoration:none;line-height:1.4;border-bottom:1px solid rgba(0,0,0,0);display:inline-block}.timeline-post-item .post-link:hover{border-color:var(--text-color)}@media screen and (max-width: 700px){.timeline-wrapper{padding-left:1em}.timeline-post-item{flex-direction:column;gap:.2em;padding-left:1.5em}.timeline-post-item::before{width:.8em}.timeline-post-item .post-date-node{margin-bottom:.2em}}