:root{--c-accent:#3b82f6;--c-accent-soft:rgba(59,130,246,0.1);--c-accent-strong:#2563eb;--c-bg:#fff;--c-bg-elev:#fbfbfc;--c-bg-subtle:#f7f8fa;--c-body:#1f2937;--c-body-muted:#6b7280;--c-body-faint:#94a3b8;--c-hairline:#e5e7eb;--c-hairline-strong:#d1d5db;--c-card:#fff;--c-card-shadow:0 1px 2px rgba(15,23,42,0.04),0 1px 1px rgba(15,23,42,0.03);--c-card-shadow-hover:0 12px 28px rgba(15,23,42,0.08),0 4px 10px rgba(15,23,42,0.04);--c-code-bg:#0f172a;--c-code-text:#e5e7eb;--c-inline-code-bg:rgba(59,130,246,0.08);--c-inline-code-text:#1f2937;--c-quote-bg:#f7f8fa;--c-quote-bar:#3b82f6;--c-link:#2563eb;--c-link-hover:#1d4ed8;--c-table-stripe:#f9fafb;--container-width:1080px;--content-width:820px;--navbar-height:4.2rem;--radius-sm:6px;--radius:10px;--radius-lg:16px;--radius-xl:24px}[data-theme=dark]{--c-accent:#60a5fa;--c-accent-soft:rgba(96,165,250,0.14);--c-accent-strong:#93c5fd;--c-bg:#0b0f17;--c-bg-elev:#0f141d;--c-bg-subtle:#111827;--c-body:#e5e7eb;--c-body-muted:#94a3b8;--c-body-faint:#64748b;--c-hairline:#1f2735;--c-hairline-strong:#2a3548;--c-card:#111827;--c-card-shadow:0 1px 2px rgba(0,0,0,0.4);--c-card-shadow-hover:0 14px 30px rgba(0,0,0,0.55),0 6px 12px rgba(0,0,0,0.35);--c-code-bg:#060a14;--c-code-text:#e5e7eb;--c-inline-code-bg:rgba(96,165,250,0.12);--c-inline-code-text:#c9d1d9;--c-quote-bg:#111827;--c-quote-bar:#60a5fa;--c-link:#93c5fd;--c-link-hover:#bfdbfe;--c-table-stripe:#111827}* html{scroll-behavior:smooth}* html,body{background-color:var(--c-bg)}body{margin:0;padding:0;font-family:-apple-system,Noto Sans,Helvetica Neue,Helvetica,Nimbus Sans L,Arial,Liberation Sans,PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Source Han Sans SC,Source Han Sans CN,Microsoft YaHei,Wenquanyi Micro Hei,WenQuanYi Zen Hei,ST Heiti,SimHei,WenQuanYi Zen Hei Sharp,sans-serif;color:var(--c-body);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;transition:background-color .25s ease,color .25s ease}a{color:var(--c-link);text-decoration:none;transition:color .15s ease}a:hover{color:var(--c-link-hover)}.page{box-sizing:border-box;width:calc(100% - 48px);max-width:var(--container-width);margin-left:auto;margin-right:auto}::selection{background:var(--c-accent-soft);color:var(--c-accent-strong)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:hsla(0,0%,49%,.25);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,49%,.45)}.loading-light{position:relative}.loading-light:after{content:"";position:absolute;height:20px;width:1000px;background-color:var(--c-bg);opacity:.4;left:-500px;animation:fly-to-right 2s ease infinite}@keyframes fly-to-right{0%{transform:translateX(0) rotate(45deg)}to{transform:translateX(1000px) rotate(45deg)}}@font-face{font-family:octicons-link;src:url(data:font/woff;charset=utf-8;base64,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) format("woff")}.markdown-body .octicon{display:inline-block;fill:currentColor;vertical-align:text-bottom}.markdown-body .anchor{float:left;line-height:1;margin-left:-20px;padding-right:4px}.markdown-body .anchor:focus{outline:none}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#1b1f23;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;color:#24292e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body .pl-c{color:#6a737d}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:#005cc5}.markdown-body .pl-e,.markdown-body .pl-en{color:#6f42c1}.markdown-body .pl-s .pl-s1,.markdown-body .pl-smi{color:#24292e}.markdown-body .pl-ent{color:#22863a}.markdown-body .pl-k{color:#d73a49}.markdown-body .pl-pds,.markdown-body .pl-s,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sra,.markdown-body .pl-sr .pl-sre{color:#032f62}.markdown-body .pl-smw,.markdown-body .pl-v{color:#e36209}.markdown-body .pl-bu{color:#b31d28}.markdown-body .pl-ii{background-color:#b31d28;color:#fafbfc}.markdown-body .pl-c2{background-color:#d73a49;color:#fafbfc}.markdown-body .pl-c2:before{content:"^M"}.markdown-body .pl-sr .pl-cce{color:#22863a;font-weight:700}.markdown-body .pl-ml{color:#735c0f}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{color:#005cc5;font-weight:700}.markdown-body .pl-mi{color:#24292e;font-style:italic}.markdown-body .pl-mb{color:#24292e;font-weight:700}.markdown-body .pl-md{background-color:#ffeef0;color:#b31d28}.markdown-body .pl-mi1{background-color:#f0fff4;color:#22863a}.markdown-body .pl-mc{background-color:#ffebda;color:#e36209}.markdown-body .pl-mi2{background-color:#005cc5;color:#f6f8fa}.markdown-body .pl-mdr{color:#6f42c1;font-weight:700}.markdown-body .pl-ba{color:#586069}.markdown-body .pl-sg{color:#959da5}.markdown-body .pl-corl{color:#032f62;text-decoration:underline}.markdown-body details{display:block}.markdown-body summary{display:list-item}.markdown-body a{background-color:transparent}.markdown-body a:active,.markdown-body a:hover{outline-width:0}.markdown-body strong{font-weight:inherit;font-weight:bolder}.markdown-body h1{margin:.67em 0}.markdown-body img{border-style:none}.markdown-body code,.markdown-body kbd,.markdown-body pre{font-family:monospace,monospace;font-size:1em}.markdown-body hr{box-sizing:content-box;overflow:visible}.markdown-body input{font:inherit;margin:0;overflow:visible}.markdown-body [type=checkbox]{box-sizing:border-box;padding:0}.markdown-body *{box-sizing:border-box}.markdown-body input{font-family:inherit;font-size:inherit;line-height:inherit}.markdown-body a{color:#0366d6;text-decoration:none}.markdown-body a:hover{text-decoration:underline}.markdown-body strong{font-weight:600}.markdown-body hr{background:transparent;border-bottom:1px solid #dfe2e5;height:0;margin:15px 0;overflow:hidden}.markdown-body hr:after,.markdown-body hr:before{content:"";display:table}.markdown-body hr:after{clear:both}.markdown-body table{border-collapse:collapse;border-spacing:0}.markdown-body td,.markdown-body th{padding:0}.markdown-body details summary{cursor:pointer}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-bottom:0;margin-top:0}.markdown-body h1{font-size:32px}.markdown-body h1,.markdown-body h2{font-weight:600}.markdown-body h2{font-size:24px}.markdown-body h3{font-size:20px}.markdown-body h3,.markdown-body h4{font-weight:600}.markdown-body h4{font-size:16px}.markdown-body h5{font-size:14px}.markdown-body h5,.markdown-body h6{font-weight:600}.markdown-body h6{font-size:12px}.markdown-body p{margin-bottom:10px;margin-top:0}.markdown-body blockquote{margin:0}.markdown-body ol,.markdown-body ul{margin-bottom:0;margin-top:0;padding-left:0}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ol ol ol,.markdown-body ol ul ol,.markdown-body ul ol ol,.markdown-body ul ul ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body code,.markdown-body pre{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:12px}.markdown-body pre{margin-bottom:0;margin-top:0}.markdown-body input::-webkit-inner-spin-button,.markdown-body input::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.markdown-body .border{border:1px solid #e1e4e8!important}.markdown-body .border-0{border:0!important}.markdown-body .border-bottom{border-bottom:1px solid #e1e4e8!important}.markdown-body .rounded-1{border-radius:3px!important}.markdown-body .bg-white{background-color:#fff!important}.markdown-body .bg-gray-light{background-color:#fafbfc!important}.markdown-body .text-gray-light{color:#6a737d!important}.markdown-body .mb-0{margin-bottom:0!important}.markdown-body .my-2{margin-bottom:8px!important;margin-top:8px!important}.markdown-body .py-0{padding-bottom:0!important;padding-top:0!important}.markdown-body .py-2{padding-bottom:8px!important;padding-top:8px!important}.markdown-body .pl-3,.markdown-body .px-3{padding-left:16px!important}.markdown-body .px-3{padding-right:16px!important}.markdown-body .f6{font-size:12px!important}.markdown-body .lh-condensed{line-height:1.25!important}.markdown-body .text-bold{font-weight:600!important}.markdown-body:after,.markdown-body:before{content:"";display:table}.markdown-body:after{clear:both}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body blockquote,.markdown-body dl,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{margin-bottom:16px;margin-top:0}.markdown-body hr{background-color:#e1e4e8;border:0;height:.25em;margin:24px 0;padding:0}.markdown-body blockquote{border-left:.25em solid #dfe2e5;color:#6a737d;padding:0 1em}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body kbd{border:1px solid #c6cbd1;border-bottom-color:#959da5;box-shadow:inset 0 -1px 0 #959da5;font-size:11px}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{font-weight:600;line-height:1.25;margin-bottom:16px;margin-top:24px}.markdown-body h1{font-size:2em}.markdown-body h1,.markdown-body h2{border-bottom:1px solid #eaecef;padding-bottom:.3em}.markdown-body h2{font-size:1.5em}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:.875em}.markdown-body h6{color:#6a737d;font-size:.85em}.markdown-body ol,.markdown-body ul{padding-left:2em}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-bottom:0;margin-top:0}.markdown-body li{word-wrap:break-all}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{font-size:1em;font-style:italic;font-weight:600;margin-top:16px;padding:0}.markdown-body dl dd{margin-bottom:16px;padding:0 16px}.markdown-body table{display:block;overflow:auto;width:100%}.markdown-body table th{font-weight:600}.markdown-body table td,.markdown-body table th{border:1px solid #dfe2e5;padding:6px 13px}.markdown-body table tr{background-color:#fff;border-top:1px solid #c6cbd1}.markdown-body table tr:nth-child(2n){background-color:#f6f8fa}.markdown-body img{background-color:#fff;box-sizing:content-box;max-width:100%}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body code{background-color:rgba(27,31,35,.05);border-radius:3px;font-size:85%;margin:0;padding:.2em .4em}.markdown-body pre{word-wrap:normal}.markdown-body pre>code{background:transparent;border:0;font-size:100%;margin:0;padding:0;white-space:pre;word-break:normal}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{background-color:#f6f8fa;border-radius:3px;font-size:85%;line-height:1.45;overflow:auto;padding:16px}.markdown-body pre code{background-color:transparent;border:0;display:inline;line-height:inherit;margin:0;max-width:auto;overflow:visible;padding:0;word-wrap:normal}.markdown-body .commit-tease-sha{color:#444d56;display:inline-block;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:90%}.markdown-body .blob-wrapper{border-bottom-left-radius:3px;border-bottom-right-radius:3px;overflow-x:auto;overflow-y:hidden}.markdown-body .blob-wrapper-embedded{max-height:240px;overflow-y:auto}.markdown-body .blob-num{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;color:rgba(27,31,35,.3);cursor:pointer;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:12px;line-height:20px;min-width:50px;padding-left:10px;padding-right:10px;text-align:right;user-select:none;vertical-align:top;white-space:nowrap;width:1%}.markdown-body .blob-num:hover{color:rgba(27,31,35,.6)}.markdown-body .blob-num:before{content:attr(data-line-number)}.markdown-body .blob-code{line-height:20px;padding-left:10px;padding-right:10px;position:relative;vertical-align:top}.markdown-body .blob-code-inner{color:#24292e;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:12px;overflow:visible;white-space:pre;word-wrap:normal}.markdown-body .pl-token.active,.markdown-body .pl-token:hover{background:#ffea7f;cursor:pointer}.markdown-body kbd{background-color:#fafbfc;border:1px solid #d1d5da;border-bottom-color:#c6cbd1;border-radius:3px;box-shadow:inset 0 -1px 0 #c6cbd1;color:#444d56;display:inline-block;font:11px SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;line-height:10px;padding:3px 5px;vertical-align:middle}.markdown-body :checked+.radio-label{border-color:#0366d6;position:relative;z-index:1}.markdown-body .tab-size[data-tab-size="1"]{-moz-tab-size:1;-o-tab-size:1;tab-size:1}.markdown-body .tab-size[data-tab-size="2"]{-moz-tab-size:2;-o-tab-size:2;tab-size:2}.markdown-body .tab-size[data-tab-size="3"]{-moz-tab-size:3;-o-tab-size:3;tab-size:3}.markdown-body .tab-size[data-tab-size="4"]{-moz-tab-size:4;-o-tab-size:4;tab-size:4}.markdown-body .tab-size[data-tab-size="5"]{-moz-tab-size:5;-o-tab-size:5;tab-size:5}.markdown-body .tab-size[data-tab-size="6"]{-moz-tab-size:6;-o-tab-size:6;tab-size:6}.markdown-body .tab-size[data-tab-size="7"]{-moz-tab-size:7;-o-tab-size:7;tab-size:7}.markdown-body .tab-size[data-tab-size="8"]{-moz-tab-size:8;-o-tab-size:8;tab-size:8}.markdown-body .tab-size[data-tab-size="9"]{-moz-tab-size:9;-o-tab-size:9;tab-size:9}.markdown-body .tab-size[data-tab-size="10"]{-moz-tab-size:10;-o-tab-size:10;tab-size:10}.markdown-body .tab-size[data-tab-size="11"]{-moz-tab-size:11;-o-tab-size:11;tab-size:11}.markdown-body .tab-size[data-tab-size="12"]{-moz-tab-size:12;-o-tab-size:12;tab-size:12}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item+.task-list-item{margin-top:3px}.markdown-body .task-list-item input{margin:0 .2em .25em -1.6em;vertical-align:middle}.markdown-body hr{border-bottom-color:#eee}.markdown-body .pl-0{padding-left:0!important}.markdown-body .pl-1{padding-left:4px!important}.markdown-body .pl-2{padding-left:8px!important}.markdown-body .pl-3{padding-left:16px!important}.markdown-body .pl-4{padding-left:24px!important}.markdown-body .pl-5{padding-left:32px!important}.markdown-body .pl-6{padding-left:40px!important}.markdown-body .pl-7{padding-left:48px!important}.markdown-body .pl-8{padding-left:64px!important}.markdown-body .pl-9{padding-left:80px!important}.markdown-body .pl-10{padding-left:96px!important}.markdown-body .pl-11{padding-left:112px!important}.markdown-body .pl-12{padding-left:128px!important}.clearfix:after,.vssue .vssue-new-comment .vssue-new-comment-footer:after{display:block;clear:both;content:""}.vssue{width:100%;color:#1f2937;font-size:16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;padding:10px}.vssue .vssue-button{outline:none;cursor:pointer;padding:10px 20px;font-size:1.05;font-weight:700;color:#3b82f6;background-color:transparent;border:2px solid #3b82f6;border-radius:10px}.vssue .vssue-button:disabled{cursor:not-allowed;color:#e5e7eb;border-color:#e5e7eb}.vssue .vssue-button:disabled .vssue-icon{fill:#e5e7eb}.vssue .vssue-button:not(:disabled).vssue-button-default{color:#a3aab1;border-color:#a3aab1}.vssue .vssue-button:not(:disabled).vssue-button-primary{color:#3b82f6;border-color:#3b82f6}.vssue .vssue-icon{width:1em;height:1em;vertical-align:-.15em;fill:#3b82f6;overflow:hidden}.vssue .vssue-icon-loading{animation:vssue-keyframe-rotation 1s linear infinite}@keyframes vssue-keyframe-rotation{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.vssue .fade-appear-active,.vssue .fade-enter-active{transition:all .3s ease}.vssue .fade-leave-active{transition:all .3s cubic-bezier(1,.5,.8,1)}.vssue .fade-appear,.vssue .fade-enter,.vssue .fade-leave-to{opacity:0}.vssue .vssue-notice{position:relative;z-index:100;transform:translateY(-11px)}.vssue .vssue-notice .vssue-alert{position:absolute;z-index:101;cursor:pointer;top:0;padding:10px 20px;width:100%;color:#3b82f6;border:2px solid #c4dafc;border-radius:5px;background-color:#f5f9ff}.vssue .vssue-notice .vssue-progress{position:absolute;top:0;left:0;height:2px;background-color:#3b82f6}.vssue .vssue-status{text-align:center;padding-top:20px;padding-bottom:10px;color:#3b82f6}.vssue .vssue-status .vssue-icon{font-size:1.4em}.vssue .vssue-status .vssue-status-info{margin-top:10px;margin-bottom:10px}.vssue .vssue-header{padding-bottom:10px;border-bottom:1px solid #e5e7eb;margin-bottom:10px;overflow:hidden}.vssue .vssue-header .vssue-header-powered-by{float:right}.vssue .vssue-new-comment{border-bottom:1px solid #e5e7eb;margin-top:10px;margin-bottom:10px}.vssue .vssue-new-comment .vssue-comment-avatar{float:left;width:50px;height:50px}.vssue .vssue-new-comment .vssue-comment-avatar img{width:50px;height:50px}.vssue .vssue-new-comment .vssue-comment-avatar .vssue-icon{cursor:pointer;padding:5px;font-size:50px;fill:#757f8a}.vssue .vssue-new-comment .vssue-new-comment-body{position:relative}@media screen and (max-width:719px){.vssue .vssue-new-comment .vssue-new-comment-body{margin-left:60px}}@media screen and (min-width:720px){.vssue .vssue-new-comment .vssue-new-comment-body{margin-left:70px}}.vssue .vssue-new-comment .vssue-new-comment-body .vssue-new-comment-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vssue .vssue-new-comment .vssue-new-comment-footer{margin-top:10px;margin-bottom:10px}.vssue .vssue-new-comment .vssue-new-comment-footer .vssue-current-user{color:#a3aab1}.vssue .vssue-new-comment .vssue-new-comment-footer .vssue-current-user .vssue-logout{cursor:pointer;text-decoration:underline;color:#a3aab1;font-weight:400}@media screen and (max-width:719px){.vssue .vssue-new-comment .vssue-new-comment-footer{text-align:center}.vssue .vssue-new-comment .vssue-new-comment-footer .vssue-new-comment-operations{margin-top:10px}}@media screen and (min-width:720px){.vssue .vssue-new-comment .vssue-new-comment-footer{margin-left:70px;text-align:right}.vssue .vssue-new-comment .vssue-new-comment-footer .vssue-current-user{float:left}}.vssue .vssue-new-comment .vssue-new-comment-input{resize:none;outline:none;width:100%;padding:15px;font-size:16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;background-color:#f5f9ff;border:1px solid #e5e7eb;border-radius:5px}.vssue .vssue-new-comment .vssue-new-comment-input:disabled{cursor:not-allowed;background-color:#edeef1}.vssue .vssue-new-comment .vssue-new-comment-input:focus{background-color:#fff;border-color:#9dc1fb;box-shadow:0 0 1px 1px #9dc1fb}.vssue .vssue-new-comment .vssue-new-comment-input::-moz-placeholder{color:#a3aab1}.vssue .vssue-new-comment .vssue-new-comment-input::placeholder{color:#a3aab1}.vssue .vssue-comments .vssue-comment{margin:15px 0}.vssue .vssue-comments .vssue-comment.vssue-comment-edit-mode .vssue-comment-main{border-color:#9dc1fb;box-shadow:0 0 1px 1px #9dc1fb}.vssue .vssue-comments .vssue-comment.vssue-comment-disabled{pointer-events:none}.vssue .vssue-comments .vssue-comment.vssue-comment-disabled .vssue-comment-body{background-color:#f7f8f9}.vssue .vssue-comments .vssue-comment .vssue-comment-avatar{float:left;width:50px;height:50px}.vssue .vssue-comments .vssue-comment .vssue-comment-avatar img{width:50px;height:50px}@media screen and (max-width:719px){.vssue .vssue-comments .vssue-comment .vssue-comment-body{margin-left:60px}}@media screen and (min-width:720px){.vssue .vssue-comments .vssue-comment .vssue-comment-body{margin-left:70px}}.vssue .vssue-comments .vssue-comment .vssue-comment-header{padding:10px 15px;overflow:hidden;border-top-left-radius:5px;border-top-right-radius:5px;border:1px solid #e5e7eb;border-bottom:none}.vssue .vssue-comments .vssue-comment .vssue-comment-header .vssue-comment-created-at{float:right;cursor:default;color:#a3aab1}.vssue .vssue-comments .vssue-comment .vssue-comment-main{padding:15px;border:1px solid #e5e7eb}.vssue .vssue-comments .vssue-comment .vssue-comment-main .vssue-edit-comment-input{resize:none;outline:none;border:none;width:100%;background:transparent}.vssue .vssue-comments .vssue-comment .vssue-comment-footer{padding:10px 15px;overflow:hidden;border-bottom-left-radius:5px;border-bottom-right-radius:5px;border:1px solid #e5e7eb;border-top:none}.vssue .vssue-comments .vssue-comment .vssue-comment-footer .vssue-comment-hint{cursor:default;color:#a3aab1}.vssue .vssue-comments .vssue-comment .vssue-comment-footer .vssue-comment-reactions .vssue-comment-reaction{cursor:pointer;display:inline-block;margin-right:8px;color:#3b82f6}.vssue .vssue-comments .vssue-comment .vssue-comment-footer .vssue-comment-operations{float:right;color:#3b82f6}.vssue .vssue-comments .vssue-comment .vssue-comment-footer .vssue-comment-operations .vssue-comment-operation{cursor:pointer;margin-left:8px}.vssue .vssue-comments .vssue-comment .vssue-comment-footer .vssue-comment-operations .vssue-comment-operation.vssue-comment-operation-muted{color:#a3aab1}.vssue .vssue-comments .vssue-comment .vssue-comment-footer .vssue-comment-operations .vssue-comment-operation.vssue-comment-operation-muted .vssue-icon{fill:#a3aab1}.vssue .vssue-pagination{cursor:default;display:flex;padding:5px;color:#a3aab1}@media screen and (max-width:719px){.vssue .vssue-pagination{flex-direction:column;justify-content:center;text-align:center}}.vssue .vssue-pagination .vssue-pagination-loading,.vssue .vssue-pagination .vssue-pagination-page,.vssue .vssue-pagination .vssue-pagination-per-page{flex:1}@media screen and (max-width:719px){.vssue .vssue-pagination .vssue-pagination-page{margin-top:10px}}@media screen and (min-width:720px){.vssue .vssue-pagination .vssue-pagination-page{text-align:right}}.vssue .vssue-pagination .vssue-pagination-select{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #9dc1fb;padding-left:.2rem;padding-right:1rem;background-color:transparent;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle/%3E%3C/defs%3E%3Cpath d='M676.395 432.896a21.333 21.333 0 0 0-30.166 0L511.061 568.021 377.728 434.645a21.333 21.333 0 0 0-30.165 30.166l148.394 148.48a21.419 21.419 0 0 0 30.208 0l150.23-150.187a21.333 21.333 0 0 0 0-30.208'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:100%}.vssue .vssue-pagination .vssue-pagination-select:disabled{cursor:not-allowed}.vssue .vssue-pagination .vssue-pagination-select:focus{background-color:#fff;box-shadow:0 0 .2px .2px #9dc1fb}.vssue .vssue-pagination .vssue-pagination-link{display:inline-block;min-width:1em;text-align:center}.vssue .vssue-pagination .vssue-pagination-link.disabled{pointer-events:none}.vssue .vssue-pagination .vssue-pagination-link:not(.disabled){color:#3b82f6;font-weight:500;cursor:pointer}.vssue,.vssue *{box-sizing:border-box}.vssue :not(.vssue-comment-content) a{cursor:pointer;font-weight:500;color:#3b82f6;text-decoration:none}.vssue :not(.vssue-comment-content) hr{display:block;height:1px;border:0;border-top:1px solid #e5e7eb;margin:1.2rem 0;padding:0}.icon.outbound{color:#aaa;display:inline-block;vertical-align:middle;position:relative;top:-1px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.page[data-v-c32483e0]{position:relative;padding:25vh 0;overflow:hidden;width:100%;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none}.page .text[data-v-c32483e0]{font-size:20vh;color:hsla(0,0%,49%,.18);font-weight:bolder;width:auto;text-align:center}.page .button-wrap[data-v-c32483e0]{width:100%;display:flex;justify-content:center}.page .button-wrap .button[data-v-c32483e0]{border:1px solid var(--c-accent);padding:10px 22px;cursor:pointer;color:var(--c-accent);border-radius:999px;font-weight:600;transition:all .25s ease}.page .button-wrap .button[data-v-c32483e0]:hover{background-color:var(--c-accent);border-color:transparent;color:#fff;padding:10px 32px}.colors[data-v-c32483e0]{width:240px;top:40%;left:40%;position:absolute;transition:transform .3s ease;z-index:-1}.colors .color[data-v-c32483e0]{position:absolute;height:70px;width:140px;filter:blur(60px)}.colors .color[data-v-c32483e0]:first-child{background:#60a5fa;left:-80px;top:-40px;animation:fly-c32483e0 8s ease infinite alternate-reverse}.colors .color[data-v-c32483e0]:nth-child(2){background:#c084fc;left:-40px;top:-20px;animation:fly-c32483e0 11s ease infinite alternate-reverse}.colors .color[data-v-c32483e0]:nth-child(3){background:#f472b6;left:0;top:0;animation:fly-c32483e0 14s ease infinite alternate-reverse}.colors .color[data-v-c32483e0]:nth-child(4){background:#c084fc;left:40px;top:20px;animation:fly-c32483e0 17s ease infinite alternate-reverse}.colors .color[data-v-c32483e0]:nth-child(5){background:#f472b6;left:80px;top:40px;animation:fly-c32483e0 20s ease infinite alternate-reverse}@keyframes fly-c32483e0{0%{transform:translate(0) rotate(0deg)}50%{transform:translate(100px,-100px) rotate(1turn)}to{transform:translate(-100px,100px) rotate(0deg)}}.home{flex:1}.hero{margin-top:6rem;margin-bottom:4rem;padding:3rem 0 2.5rem;overflow:hidden;z-index:1}.hero,.hero-text{position:relative}.hero-text{z-index:2;max-width:720px}.slogan{margin:0 0 1.4rem;font-family:-apple-system,Noto Sans,Helvetica Neue,Helvetica,Nimbus Sans L,Arial,Liberation Sans,PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Source Han Sans SC,Source Han Sans CN,Microsoft YaHei,Wenquanyi Micro Hei,WenQuanYi Zen Hei,ST Heiti,SimHei,WenQuanYi Zen Hei Sharp,sans-serif;font-weight:700;font-size:clamp(28px,5vw,52px);line-height:1.18;letter-spacing:-.02em;color:var(--c-body)}.slogan .slogan-line{display:block;background:linear-gradient(120deg,var(--c-body),var(--c-accent) 90%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}[data-theme=dark] .slogan .slogan-line{background:linear-gradient(120deg,var(--c-body),#93c5fd 90%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero-stats{display:flex;align-items:center;gap:12px;margin-top:1.2rem;color:var(--c-body-muted);font-size:13px}.hero-stats .stat strong{color:var(--c-body);font-weight:700;margin-right:4px}.hero-stats .dot-sep{width:3px;height:3px;border-radius:50%;background:var(--c-hairline-strong)}.hero-blobs{position:absolute;inset:0;z-index:1;pointer-events:none;filter:blur(60px);opacity:.9}.hero-blobs .blob{position:absolute;border-radius:50%;will-change:transform}.hero-blobs .b1{width:360px;height:360px;right:4%;top:-30px;background:radial-gradient(circle at 30% 30%,#60a5fa,transparent 65%);animation:floatA 14s ease-in-out infinite alternate}.hero-blobs .b2{width:320px;height:320px;right:22%;top:70px;background:radial-gradient(circle at 30% 30%,#c084fc,transparent 65%);animation:floatB 18s ease-in-out infinite alternate}.hero-blobs .b3{width:300px;height:300px;right:-6%;top:80px;background:radial-gradient(circle at 30% 30%,#f472b6,transparent 65%);animation:floatA 22s ease-in-out infinite alternate-reverse}[data-theme=dark] .hero-blobs{opacity:.55}.content{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:flex-start;gap:32px;margin-bottom:4rem}.content .posts{min-width:0;min-height:400px}.content .side{position:sticky;top:calc(var(--navbar-height) + 20px);display:flex;flex-direction:column;gap:24px}.content .side-block .side-title{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--c-body-faint);margin:0 4px 12px}.about-card{border:1px solid var(--c-hairline);border-radius:var(--radius);background:var(--c-card);padding:16px}.about-card .about-text{margin:0;font-size:14px;line-height:1.7;color:var(--c-body-muted);font-family:-apple-system,Noto Sans,Helvetica Neue,Helvetica,Nimbus Sans L,Arial,Liberation Sans,PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Source Han Sans SC,Source Han Sans CN,Microsoft YaHei,Wenquanyi Micro Hei,WenQuanYi Zen Hei,ST Heiti,SimHei,WenQuanYi Zen Hei Sharp,sans-serif}.posts .card{animation:fade-up .5s ease backwards}@media screen and (max-width:959px){.content{grid-template-columns:1fr}.content .side{position:static}}@media screen and (max-width:576px){.hero{margin-top:3rem;padding:2rem 0 1.5rem}.hero-stats{font-size:12px}}@keyframes floatA{0%{transform:translate(0) scale(1)}to{transform:translate(-60px,50px) scale(1.1)}}@keyframes floatB{0%{transform:translate(0) scale(1)}to{transform:translate(40px,-40px) scale(.9)}}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.site{min-height:100vh;display:flex;flex-direction:column}.post-page{flex:1;margin-bottom:60px}.post-head{text-align:center;margin-top:5.5rem;margin-bottom:2.5rem}.post-title{margin:0;color:var(--c-body);font-weight:700;font-size:clamp(26px,4vw,38px);line-height:1.25;letter-spacing:-.02em}.info{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:14px;color:var(--c-body-muted);font-size:13px}.info .author,.info .count,.info .date{display:inline-flex;align-items:center;gap:5px}.info .i{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.info .sep{color:var(--c-hairline-strong)}.post-content{word-break:break-word;font-size:16px;line-height:1.8;color:var(--c-body)}.post-content>:first-child{margin-top:0}.post-content p{margin:1.1em 0;font-family:-apple-system,Noto Sans,Helvetica Neue,Helvetica,Nimbus Sans L,Arial,Liberation Sans,PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Source Han Sans SC,Source Han Sans CN,Microsoft YaHei,Wenquanyi Micro Hei,WenQuanYi Zen Hei,ST Heiti,SimHei,WenQuanYi Zen Hei Sharp,sans-serif}.post-content strong{font-weight:700;color:var(--c-body)}.post-content em{color:var(--c-body-muted)}.post-content a{color:var(--c-link);font-weight:500;text-decoration:none;border-bottom:1px solid var(--c-accent-soft);transition:border-color .15s ease}.post-content a:hover{border-bottom-color:var(--c-accent)}.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5,.post-content h6{font-weight:700;line-height:1.3;font-family:-apple-system,Noto Sans,Helvetica Neue,Helvetica,Nimbus Sans L,Arial,Liberation Sans,PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Source Han Sans SC,Source Han Sans CN,Microsoft YaHei,Wenquanyi Micro Hei,WenQuanYi Zen Hei,ST Heiti,SimHei,WenQuanYi Zen Hei Sharp,sans-serif;margin-top:2em;margin-bottom:.6em;letter-spacing:-.01em;color:var(--c-body)}.post-content h1:hover .header-anchor,.post-content h2:hover .header-anchor,.post-content h3:hover .header-anchor,.post-content h4:hover .header-anchor,.post-content h5:hover .header-anchor,.post-content h6:hover .header-anchor{opacity:1}.post-content h1{display:none}.post-content h2{font-size:1.5rem;padding-bottom:.4rem;border-bottom:1px solid var(--c-hairline)}.post-content h3{font-size:1.25rem}.post-content h4{font-size:1.1rem}.post-content a.header-anchor{font-size:.8em;float:left;margin-left:-.9em;padding-right:.25em;margin-top:.15em;opacity:0;color:var(--c-body-faint)}.post-content a.header-anchor:hover{text-decoration:none;color:var(--c-accent)}.post-content ol,.post-content ul{padding-left:1.4em;margin:1.1em 0;font-family:-apple-system,Noto Sans,Helvetica Neue,Helvetica,Nimbus Sans L,Arial,Liberation Sans,PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Source Han Sans SC,Source Han Sans CN,Microsoft YaHei,Wenquanyi Micro Hei,WenQuanYi Zen Hei,ST Heiti,SimHei,WenQuanYi Zen Hei Sharp,sans-serif}.post-content ol li,.post-content ul li{margin:.4em 0}.post-content kbd{background:var(--c-bg-subtle);border:solid var(--c-hairline-strong);border-width:1px 1px 2px;border-radius:6px;padding:1px 6px;font-size:.85em}.post-content blockquote{margin:1.4em 0;padding:.8em 1.2em;border-left:4px solid var(--c-quote-bar);background:var(--c-quote-bg);border-radius:0 var(--radius) var(--radius) 0;color:var(--c-body-muted)}.post-content blockquote>p{margin:.4em 0;font-family:Baskerville,Times New Roman,"Liberation Serif",STFangsong,FangSong,FangSong_GB2312,CWTEX\\-F,serif}.post-content blockquote strong{color:var(--c-body)}.post-content hr{border:0;border-top:1px solid var(--c-hairline);margin:2.4em 0}.post-content .line-number,.post-content code,.post-content kbd{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.post-content code{background:var(--c-inline-code-bg);color:var(--c-inline-code-text);padding:2px 6px;margin:0 1px;border-radius:6px;font-size:.88em}.post-content pre{border:1px solid var(--c-hairline);border-radius:var(--radius);padding:16px 18px;overflow:auto;background:var(--c-code-bg);box-shadow:var(--c-card-shadow);margin:1.4em 0}.post-content pre>code{background:transparent;padding:0;margin:0;color:var(--c-code-text);font-size:13.5px;line-height:1.6}.post-content li.task-list-item{list-style:none;display:flex}.post-content li.task-list-item input[type^=checkbox]{margin:7px 9px 0 -18px}.post-content table{border-collapse:collapse;margin:1.5em 0;display:block;overflow-x:auto;width:100%;border:1px solid var(--c-hairline);border-radius:var(--radius);font-size:14px}.post-content td,.post-content th{border:1px solid var(--c-hairline);padding:.6em 1em;text-align:left}.post-content thead th{background:var(--c-bg-subtle);font-weight:700}.post-content tr:nth-child(2n) td{background:var(--c-table-stripe)}.post-content img{max-width:100%;margin:1.6em auto;display:block;border-radius:var(--radius);border:1px solid var(--c-hairline);box-shadow:var(--c-card-shadow)}.katex{font-size:1.05em}.vssue{font-family:-apple-system,Noto Sans,Helvetica Neue,Helvetica,Nimbus Sans L,Arial,Liberation Sans,PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Source Han Sans SC,Source Han Sans CN,Microsoft YaHei,Wenquanyi Micro Hei,WenQuanYi Zen Hei,ST Heiti,SimHei,WenQuanYi Zen Hei Sharp,sans-serif;margin-top:3.5rem;max-width:760px;margin-left:auto;margin-right:auto}.vssue .vssue-header-powered-by,.vssue .vssue-pagination-page,.vssue .vssue-pagination-per-page{display:none}.vssue .vssue-new-comment{border:0}.vssue .vssue-current-user{line-height:2.5}.vssue .vssue-button-submit-comment:not(:disabled):hover{background-color:var(--c-bg-subtle)}.vssue p{font-family:-apple-system,Noto Sans,Helvetica Neue,Helvetica,Nimbus Sans L,Arial,Liberation Sans,PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Source Han Sans SC,Source Han Sans CN,Microsoft YaHei,Wenquanyi Micro Hei,WenQuanYi Zen Hei,ST Heiti,SimHei,WenQuanYi Zen Hei Sharp,sans-serif}@media screen and (max-width:576px){.post-head{margin-top:3rem}ol,p,ul{font-family:-apple-system,Noto Sans,Helvetica Neue,Helvetica,Nimbus Sans L,Arial,Liberation Sans,PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Source Han Sans SC,Source Han Sans CN,Microsoft YaHei,Wenquanyi Micro Hei,WenQuanYi Zen Hei,ST Heiti,SimHei,WenQuanYi Zen Hei Sharp,sans-serif}.post-title{font-size:24px}.katex-display{overflow-x:scroll;overflow-y:hidden}}@media print{.site{display:block}.post-head{margin-top:10%;font-weight:700}.info,.post-head{font-family:Baskerville,Georgia,"Liberation Serif",Kaiti SC,STKaiti,AR PL UKai CN,AR PL UKai HK,AR PL UKai TW,AR PL UKai TW MBE,AR PL KaitiM GB,KaiTi,KaiTi_GB2312,DFKai-SB,TW\\-Kai,serif}.info{text-align:center;page-break-after:always}.footer,.vssue{display:none}code{word-break:break-all}pre{page-break-inside:avoid}}.cv-content[data-v-077637ac]{border:1px solid var(--c-hairline);padding:50px;min-height:200px;margin-top:5vh;margin-bottom:5vh;font-size:15px;font-family:Georgia,Nimbus Roman No9 L,Songti SC,"Noto Serif CJK SC","Source Han Serif SC","Source Han Serif CN",STSong,AR PL New Sung,AR PL SungtiL GB,NSimSun,SimSun,TW\\-Sung,WenQuanYi Bitmap Song,AR PL UMing CN,AR PL UMing HK,AR PL UMing TW,AR PL UMing TW MBE,PMingLiU,MingLiU,serif;border-radius:var(--radius)}.cv-content .cv-two-column[data-v-077637ac]{display:flex;justify-content:space-between}.cv-content .cv-two-column .cv-right-column[data-v-077637ac]{margin-left:20px}.cv-content .cv-section[data-v-077637ac]{width:100%;margin-bottom:3em}.cv-content .cv-section .cv-section-title[data-v-077637ac]{font-size:1.4em;margin-bottom:1em;font-weight:bolder;margin-left:-1px}.cv-content .cv-info .cv-author[data-v-077637ac]{font-family:-apple-system,Noto Sans,Helvetica Neue,Helvetica,Nimbus Sans L,Arial,Liberation Sans,PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Source Han Sans SC,Source Han Sans CN,Microsoft YaHei,Wenquanyi Micro Hei,WenQuanYi Zen Hei,ST Heiti,SimHei,WenQuanYi Zen Hei Sharp,sans-serif;color:var(--c-accent);font-size:2em;font-weight:700;margin-bottom:1.2em}.cv-content .cv-sub-info[data-v-077637ac]{text-align:right}.cv-content .cv-sub-info .cv-research-interest[data-v-077637ac]{font-size:1.6em;margin-top:.4em;margin-bottom:2.4em;font-weight:bolder}.cv-content .cv-sub-info .cv-dob[data-v-077637ac]{margin-bottom:5px}.cv-content .education .cv-school[data-v-077637ac]{font-weight:700}.cv-content .education .cv-major[data-v-077637ac]{margin-bottom:10px}.cv-content .experience .cv-experience-item[data-v-077637ac]:not(:last-child){margin-bottom:15px}.cv-content .experience .cv-experience-header[data-v-077637ac]{margin-bottom:10px}.cv-content .experience .cv-experience-header .cv-experience-title[data-v-077637ac]{font-weight:bolder}.cv-content .experience ul[data-v-077637ac]{padding-left:20px}.cv-content .coding .cv-coding-item[data-v-077637ac]{margin-bottom:5px}.cv-content .coding .cv-coding-item .cv-coding-title[data-v-077637ac]{font-weight:700}.cv-content .coding .cv-coding-item .cv-coding-link[data-v-077637ac]{color:var(--c-body);text-decoration:underline;margin-right:5px}@media screen and (max-width:576px){.cv-content[data-v-077637ac]{padding:0;border:0;font-family:-apple-system,Noto Sans,Helvetica Neue,Helvetica,Nimbus Sans L,Arial,Liberation Sans,PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Source Han Sans SC,Source Han Sans CN,Microsoft YaHei,Wenquanyi Micro Hei,WenQuanYi Zen Hei,ST Heiti,SimHei,WenQuanYi Zen Hei Sharp,sans-serif}.cv-content .cv-two-column[data-v-077637ac]{flex-wrap:wrap;align-items:flex-end}.cv-content .cv-two-column .cv-right-column[data-v-077637ac]{margin-left:0}.cv-content .cv-section[data-v-077637ac]{margin-bottom:20px}.cv-content .cv-section .cv-section-title[data-v-077637ac]{margin-bottom:5px}.cv-content .cv-sub-info[data-v-077637ac]{text-align:left}.cv-content .cv-sub-info .cv-research-interest[data-v-077637ac]{margin-top:20px;margin-bottom:20px}.cv-content .coding .cv-coding-item[data-v-077637ac]{margin-bottom:20px}.cv-content .coding .cv-coding-item .cv-coding-title[data-v-077637ac]{margin-bottom:5px}}@media print{.footer[data-v-077637ac],.header-wrap[data-v-077637ac]{display:none}.cv-content[data-v-077637ac]{border:0;padding:0;font-size:16px}}.category-card[data-v-17c5ae77]{display:block;padding:14px 16px;margin-bottom:10px;border:1px solid var(--c-hairline);border-radius:var(--radius);background:var(--c-card);color:var(--c-body);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.category-card[data-v-17c5ae77]:hover{transform:translateY(-2px);border-color:var(--c-accent);box-shadow:var(--c-card-shadow)}.cat-head[data-v-17c5ae77]{display:flex;align-items:center;justify-content:space-between;gap:8px}.cat-name[data-v-17c5ae77]{font-size:14px;font-weight:600;color:var(--c-body);letter-spacing:.01em}.cat-count[data-v-17c5ae77]{font-size:11px;font-weight:700;color:var(--c-accent);background:var(--c-accent-soft);padding:3px 8px;border-radius:999px;min-width:22px;text-align:center}.cat-desc[data-v-17c5ae77]{margin-top:6px;font-size:12px;color:var(--c-body-muted);line-height:1.55;font-family:-apple-system,Noto Sans,Helvetica Neue,Helvetica,Nimbus Sans L,Arial,Liberation Sans,PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Source Han Sans SC,Source Han Sans CN,Microsoft YaHei,Wenquanyi Micro Hei,WenQuanYi Zen Hei,ST Heiti,SimHei,WenQuanYi Zen Hei Sharp,sans-serif}.site-footer[data-v-408e7270]{margin-top:auto;border-top:1px solid var(--c-hairline);background-color:var(--c-bg-subtle);color:var(--c-body-muted)}.footer-content[data-v-408e7270]{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;padding:36px 0 40px}.footer-left .footer-brand[data-v-408e7270]{font-size:16px;font-weight:700;color:var(--c-body);letter-spacing:.01em}.footer-left .footer-tagline[data-v-408e7270]{margin:8px 0 0;font-size:13px;color:var(--c-body-faint);max-width:320px;line-height:1.6}.footer-right[data-v-408e7270]{text-align:right;display:flex;flex-direction:column;gap:10px}.footer-right .links[data-v-408e7270]{display:flex;flex-wrap:wrap;gap:4px 16px;justify-content:flex-end}.footer-right .links .link[data-v-408e7270]{font-size:13px;color:var(--c-body-muted);text-decoration:none;transition:color .15s ease}.footer-right .links .link[data-v-408e7270]:hover{color:var(--c-accent)}.footer-right .extra-text .extra-link[data-v-408e7270]{font-size:12px;color:var(--c-body-faint);text-decoration:none;margin-left:12px}.footer-right .extra-text .extra-link[data-v-408e7270]:first-child{margin-left:0}.footer-right .extra-text .extra-link[data-v-408e7270]:hover{color:var(--c-accent)}.footer-right .copyright[data-v-408e7270]{font-size:12px;color:var(--c-body-faint)}.footer-right .copyright .pv[data-v-408e7270]{opacity:.8}@media screen and (max-width:719px){.footer-content[data-v-408e7270]{flex-direction:column;gap:18px}.footer-right[data-v-408e7270]{text-align:left}.footer-right .links[data-v-408e7270]{justify-content:flex-start}.footer-right .links .link[data-v-408e7270]{margin:0 16px 0 0}}.skel-card[data-v-6fe1b3fe]{padding:14px 16px;margin-bottom:10px;border:1px solid var(--c-hairline);border-radius:var(--radius);background:var(--c-card)}.skel-head[data-v-6fe1b3fe]{display:flex;align-items:center;justify-content:space-between}.skel-name[data-v-6fe1b3fe]{width:50%;height:16px;background:var(--c-bg-subtle)}.skel-count[data-v-6fe1b3fe]{width:26px;height:18px;background:var(--c-bg-subtle);border-radius:999px}.skel-desc[data-v-6fe1b3fe]{margin-top:8px;height:14px;width:80%;background:var(--c-bg-subtle)}.theme-toggle[data-v-772525be]{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--c-hairline);background:var(--c-bg-elev);border-radius:999px;cursor:pointer;color:var(--c-body-muted);transition:background .2s ease,border-color .2s ease,color .2s ease,transform .15s ease;outline:none}.theme-toggle[data-v-772525be]:hover{color:var(--c-accent);border-color:var(--c-accent);transform:translateY(-1px)}.theme-toggle[data-v-772525be]:active{transform:translateY(0) scale(.96)}.theme-toggle svg[data-v-772525be]{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.theme-toggle .icon-sun circle[data-v-772525be]{fill:none;stroke:currentColor}.theme-toggle .icon-sun .sun-rays line[data-v-772525be]{stroke:currentColor}.theme-toggle .icon-moon path[data-v-772525be]{fill:currentColor;stroke:none}.site-header[data-v-bc36fbe6]{position:sticky;top:0;z-index:100;background-color:var(--c-bg);border-bottom:1px solid transparent;backdrop-filter:saturate(180%) blur(10px);-webkit-backdrop-filter:saturate(180%) blur(10px);transition:background-color .25s ease,border-color .25s ease}.site-header.is-scrolled[data-v-bc36fbe6]{background-color:hsla(0,0%,100%,.72);border-bottom:1px solid var(--c-hairline)}[data-theme=dark] .site-header[data-v-bc36fbe6]{background-color:rgba(11,15,23,.6)}[data-theme=dark] .site-header.is-scrolled[data-v-bc36fbe6]{background-color:rgba(11,15,23,.78);border-bottom:1px solid var(--c-hairline)}.header[data-v-bc36fbe6]{display:flex;align-items:center;justify-content:space-between;gap:24px;height:var(--navbar-height);padding-top:0;padding-bottom:0}.brand[data-v-bc36fbe6]{display:flex;align-items:baseline;gap:14px;min-width:0}.brand .brand-link[data-v-bc36fbe6]{display:inline-flex;align-items:center;gap:10px;color:var(--c-body);font-weight:600;letter-spacing:.01em}.brand .brand-mark[data-v-bc36fbe6]{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;color:#fff;background:linear-gradient(135deg,#3b82f6,#6366f1 55%,#8b5cf6);box-shadow:0 4px 10px rgba(99,102,241,.25)}.brand .brand-name[data-v-bc36fbe6]{font-size:16px;color:var(--c-body);white-space:nowrap}.brand .motto[data-v-bc36fbe6]{font-family:Baskerville,Georgia,"Liberation Serif",Kaiti SC,STKaiti,AR PL UKai CN,AR PL UKai HK,AR PL UKai TW,AR PL UKai TW MBE,AR PL KaitiM GB,KaiTi,KaiTi_GB2312,DFKai-SB,TW\\-Kai,serif;font-size:13px;color:var(--c-body-faint);line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60vw}.nav[data-v-bc36fbe6]{display:flex;align-items:center;gap:8px;font-size:14px}.nav a.nav-item[data-v-bc36fbe6]{color:var(--c-body-muted);padding:6px 12px;border-radius:8px;transition:color .15s ease,background-color .15s ease}.nav a.nav-item[data-v-bc36fbe6]:hover{color:var(--c-body);background-color:var(--c-bg-subtle)}.actions[data-v-bc36fbe6]{display:flex;align-items:center;gap:12px}@media print{.site-header[data-v-bc36fbe6]{display:none}}@media screen and (max-width:719px){.header[data-v-bc36fbe6]{flex-wrap:wrap;height:auto;padding:10px 0;gap:10px}.brand[data-v-bc36fbe6]{flex:1 1 100%;width:100%;justify-content:space-between}.nav[data-v-bc36fbe6]{order:3;flex:1 1 100%;justify-content:flex-start;overflow-x:auto}.actions[data-v-bc36fbe6]{order:2}.brand .motto[data-v-bc36fbe6]{max-width:50vw;flex:1 1 auto}}@media screen and (max-width:576px){.brand .motto[data-v-bc36fbe6]{display:none}}.loading-card[data-v-8eeec02c]{padding:22px 24px 18px;margin-bottom:16px;border:1px solid var(--c-hairline);border-radius:var(--radius-lg);background:var(--c-card);overflow:hidden}.loading-meta[data-v-8eeec02c]{display:flex;gap:8px;margin-bottom:12px}.loading-chip[data-v-8eeec02c]{height:22px;width:96px;background:var(--c-bg-subtle);border-radius:999px}.loading-chip.small[data-v-8eeec02c]{width:60px}.loading-title[data-v-8eeec02c]{height:22px;width:60%;background:var(--c-bg-subtle);margin:8px 0}.loading-content[data-v-8eeec02c]{height:54px;background:var(--c-bg-subtle);margin-top:8px;border-radius:4px}.card[data-v-6bec2390]{margin-bottom:16px;border:1px solid var(--c-hairline);border-radius:var(--radius-lg);background:var(--c-card);box-shadow:var(--c-card-shadow);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;overflow:hidden;position:relative}.card[data-v-6bec2390]:hover{transform:translateY(-3px);box-shadow:var(--c-card-shadow-hover);border-color:var(--c-accent)}.card-link[data-v-6bec2390]{display:block;padding:22px 24px 18px;color:var(--c-body)}.card-meta[data-v-6bec2390]{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}.chip-date[data-v-6bec2390],.chip-tag[data-v-6bec2390]{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;line-height:1;padding:6px 10px;border-radius:999px;border:1px solid transparent;white-space:nowrap}.chip-date[data-v-6bec2390]{color:var(--c-body-muted);background:var(--c-bg-subtle)}.chip-tag[data-v-6bec2390]{color:var(--c-accent);background:var(--c-accent-soft)}.chip-icon[data-v-6bec2390]{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.card-title[data-v-6bec2390]{margin:6px 0 8px;font-size:20px;font-weight:600;line-height:1.35;color:var(--c-body);font-family:-apple-system,Noto Sans,Helvetica Neue,Helvetica,Nimbus Sans L,Arial,Liberation Sans,PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Source Han Sans SC,Source Han Sans CN,Microsoft YaHei,Wenquanyi Micro Hei,WenQuanYi Zen Hei,ST Heiti,SimHei,WenQuanYi Zen Hei Sharp,sans-serif;letter-spacing:-.005em;transition:color .15s ease}.card:hover .card-title[data-v-6bec2390]{color:var(--c-accent)}.card-content[data-v-6bec2390]{margin:0;font-size:14px;line-height:1.7;color:var(--c-body-muted);font-family:-apple-system,Noto Sans,Helvetica Neue,Helvetica,Nimbus Sans L,Arial,Liberation Sans,PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Source Han Sans SC,Source Han Sans CN,Microsoft YaHei,Wenquanyi Micro Hei,WenQuanYi Zen Hei,ST Heiti,SimHei,WenQuanYi Zen Hei Sharp,sans-serif;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-footer[data-v-6bec2390]{margin-top:14px;display:flex;justify-content:flex-end}.read-more[data-v-6bec2390]{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:var(--c-accent);opacity:0;transform:translateX(-4px);transition:opacity .2s ease,transform .2s ease}.read-more svg[data-v-6bec2390]{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.card:hover .read-more[data-v-6bec2390]{opacity:1;transform:translateX(0)}.search-box{display:inline-block;position:relative;margin-right:4px;font-family:-apple-system,Noto Sans,Helvetica Neue,Helvetica,Nimbus Sans L,Arial,Liberation Sans,PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Source Han Sans SC,Source Han Sans CN,Microsoft YaHei,Wenquanyi Micro Hei,WenQuanYi Zen Hei,ST Heiti,SimHei,WenQuanYi Zen Hei Sharp,sans-serif}.search-box input{cursor:text;width:11rem;color:var(--c-body-muted);display:inline-block;border:1px solid var(--c-hairline);border-radius:999px;font-size:.85rem;line-height:2rem;height:2.2rem;padding:0 .6rem 0 2.2rem;outline:none;background:var(--c-bg-elev) url(/assets/img/search.83621669.svg) .65rem no-repeat;background-size:1rem;transition:border-color .2s ease,width .2s ease,box-shadow .2s ease}.search-box input::-moz-placeholder{color:var(--c-body-faint)}.search-box input::placeholder{color:var(--c-body-faint)}.search-box input:focus{cursor:auto;width:14rem;border-color:var(--c-accent);box-shadow:0 0 0 3px var(--c-accent-soft)}.search-box .suggestions{font-size:14px;background:var(--c-card);width:20rem;max-width:80vw;position:absolute;top:2.6rem;border:1px solid var(--c-hairline);border-radius:var(--radius);padding:.4rem;list-style-type:none;z-index:999;box-sizing:border-box;box-shadow:var(--c-card-shadow-hover)}.search-box .suggestions.align-right{right:0}.search-box .suggestions .suggestion{line-height:1.4;padding:.5rem .6rem;border-radius:var(--radius-sm);cursor:pointer}.search-box .suggestions .suggestion a{white-space:normal;color:var(--c-body-muted)}.search-box .suggestions .suggestion a .page-title{font-weight:600}.search-box .suggestions .suggestion a .header{font-size:.9em;margin-left:.25em;color:var(--c-body-faint)}.search-box .suggestions .suggestion.focused{background-color:var(--c-accent-soft)}.search-box .suggestions .suggestion.focused a{color:var(--c-accent)}@media (max-width:959px){.search-box input{cursor:pointer;width:0;border-color:transparent;background-color:transparent;position:relative}.search-box input:focus{cursor:text;left:0;width:14rem}}@media (max-width:959px) and (min-width:719px){.search-box .suggestions{left:0}}@media (max-width:719px){.search-box{margin-right:0;width:100%;padding:0;box-sizing:border-box}.search-box .suggestions{width:100%;font-size:16px}.search-box input:focus{width:100%}.search-box input{width:100%;box-sizing:border-box;border-color:var(--c-hairline);left:0}}