.header[data-v-dd808458]{background:var(--bg-secondary);box-shadow:var(--shadow-sm);padding:16px 0;position:sticky;top:0;z-index:99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-inner[data-v-dd808458]{display:flex;justify-content:space-between;align-items:center}.logo[data-v-dd808458]{font-size:22px;font-weight:700;color:var(--text)}.logo a[data-v-dd808458]:hover{color:var(--primary)}.nav[data-v-dd808458]{display:flex;gap:24px;align-items:center}.nav a[data-v-dd808458]{font-size:15px;padding:4px 0;position:relative;color:var(--text-secondary)}.nav a[data-v-dd808458]:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--primary);transition:width .3s ease}.nav a[data-v-dd808458]:hover:after,.nav a.router-link-active[data-v-dd808458]:after{width:100%}.nav a[data-v-dd808458]:hover,.nav a.router-link-active[data-v-dd808458]{color:var(--primary)}.theme-select[data-v-dd808458]{position:relative}.theme-toggle[data-v-dd808458]{background:none;border:none;font-size:18px;cursor:pointer;padding:0 4px;box-shadow:none}.theme-toggle[data-v-dd808458]:hover{transform:none;box-shadow:none}.theme-panel[data-v-dd808458]{position:absolute;top:50px;right:0;background:var(--bg-secondary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:12px;width:120px;z-index:100}.theme-item[data-v-dd808458]{display:flex;align-items:center;gap:10px;padding:8px;border-radius:var(--radius-sm);cursor:pointer;transition:background .2s ease}.theme-item[data-v-dd808458]:hover{background:var(--bg)}.theme-item.active[data-v-dd808458]{background:var(--primary-light)}.theme-color[data-v-dd808458]{width:16px;height:16px;border-radius:50%}.theme-item span[data-v-dd808458]{font-size:14px}.footer[data-v-dd808458]{text-align:center;padding:24px 0;color:var(--text-tertiary);font-size:14px;background:var(--bg-secondary);margin-top:40px;border-top:1px solid var(--border-light)}.dark-toggle[data-v-dd808458]{background:none;border:none;font-size:18px;cursor:pointer;padding:0 4px;box-shadow:none}.dark-toggle[data-v-dd808458]:hover{transform:none;box-shadow:none}.back-top[data-v-dd808458]{position:fixed;right:10px;bottom:10px;width:56px;height:56px;border-radius:50%;background:var(--primary);color:#fff;margin:0;padding:0;line-height:1;font-size:20px;font-weight:600;font-family:system-ui,-apple-system,sans-serif;cursor:pointer;z-index:99;border:none;box-shadow:var(--shadow-lg);transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;justify-content:center}.back-top[data-v-dd808458]:hover{transform:translateY(-4px);box-shadow:var(--shadow-primary);background:var(--primary-hover)}.back-top[data-v-dd808458]:active{transform:translateY(0)}.fade-slide-enter-active[data-v-dd808458],.fade-slide-leave-active[data-v-dd808458]{transition:all .35s cubic-bezier(.4,0,.2,1)}.fade-slide-enter-from[data-v-dd808458]{opacity:0;transform:translateY(20px)}.fade-slide-leave-to[data-v-dd808458]{opacity:0;transform:translateY(-20px)}@media(max-width:768px){.header-inner[data-v-dd808458]{flex-direction:column;gap:12px}.nav[data-v-dd808458]{flex-wrap:wrap;justify-content:center;gap:14px}.logo[data-v-dd808458]{font-size:20px}.theme-panel[data-v-dd808458]{right:-50px}.back-top[data-v-dd808458]{width:48px;height:48px;font-size:18px;right:16px;bottom:16px}}.home-page[data-v-5a83b97b]{padding:36px 0}.hero-section[data-v-5a83b97b]{padding:40px;text-align:center;margin-bottom:36px}.avatar[data-v-5a83b97b]{width:120px;height:120px;border-radius:50%;margin:0 auto 20px;object-fit:cover;border:4px solid var(--border-light)}.name[data-v-5a83b97b]{font-size:28px;font-weight:700;margin-bottom:12px}.bio[data-v-5a83b97b]{font-size:16px;color:var(--text-secondary);max-width:600px;margin:0 auto 24px;line-height:1.8}.social-links[data-v-5a83b97b]{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.social-link[data-v-5a83b97b]{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;background:var(--bg);border-radius:var(--radius-md);color:var(--text-secondary);font-size:14px;transition:all .2s ease}.social-link[data-v-5a83b97b]:hover{background:var(--primary);color:#fff;transform:translateY(-2px)}.icon[data-v-5a83b97b]{font-size:18px}.section-title[data-v-5a83b97b]{font-size:22px;font-weight:700;margin-bottom:20px}.skills-section[data-v-5a83b97b]{margin-bottom:36px}.skills-grid[data-v-5a83b97b]{display:flex;flex-wrap:wrap;gap:12px}.skill-tag[data-v-5a83b97b]{padding:10px 20px;font-size:14px;font-weight:500;text-align:center;cursor:default}.recent-posts[data-v-5a83b97b]{margin-bottom:36px}.posts-grid[data-v-5a83b97b]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.post-card[data-v-5a83b97b]{overflow:hidden;cursor:pointer}.post-cover[data-v-5a83b97b]{width:100%;height:180px;object-fit:cover;border-radius:var(--radius-md) var(--radius-md) 0 0}.post-info[data-v-5a83b97b]{padding:20px}.post-title[data-v-5a83b97b]{font-size:18px;font-weight:600;margin-bottom:10px;line-height:1.4}.post-intro[data-v-5a83b97b]{font-size:14px;color:var(--text-secondary);line-height:1.6;margin-bottom:12px;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-meta[data-v-5a83b97b]{font-size:13px;color:var(--text-tertiary);display:flex;gap:12px}.quick-nav[data-v-5a83b97b]{margin-bottom:20px}.nav-grid[data-v-5a83b97b]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.nav-item[data-v-5a83b97b]{padding:28px 20px;text-align:center;cursor:pointer}.nav-icon[data-v-5a83b97b]{font-size:36px;margin-bottom:12px;display:block}.nav-item h3[data-v-5a83b97b]{font-size:18px;font-weight:600;margin-bottom:8px}.nav-item p[data-v-5a83b97b]{font-size:14px;color:var(--text-secondary)}@media(max-width:768px){.hero-section[data-v-5a83b97b]{padding:30px 20px}.name[data-v-5a83b97b]{font-size:24px}.posts-grid[data-v-5a83b97b],.nav-grid[data-v-5a83b97b]{grid-template-columns:1fr}}.blog-page[data-v-9a7cfda2]{padding:36px 0}.page-title[data-v-9a7cfda2]{font-size:26px;margin-bottom:32px;font-weight:700}.article-list[data-v-9a7cfda2]{display:flex;flex-direction:column;gap:24px}.article-card[data-v-9a7cfda2]{overflow:hidden;cursor:pointer}.article-cover[data-v-9a7cfda2]{width:100%;height:220px;object-fit:cover;border-radius:var(--radius-md) var(--radius-md) 0 0}.article-info[data-v-9a7cfda2]{padding:24px}.article-title[data-v-9a7cfda2]{font-size:20px;margin-bottom:10px;font-weight:600;line-height:1.4}.article-meta[data-v-9a7cfda2]{font-size:14px;color:var(--text-tertiary);margin-bottom:14px;display:flex;gap:16px}.article-intro[data-v-9a7cfda2]{color:var(--text-secondary);line-height:1.7;font-size:15px}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}@font-face{font-family:octicons-link;src:url(data:font/woff;charset=utf-8;base64,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) format("woff")}.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-smi,.markdown-body .pl-s .pl-s1{color:#24292e}.markdown-body .pl-ent{color:#22863a}.markdown-body .pl-k{color:#d73a49}.markdown-body .pl-s,.markdown-body .pl-pds,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sre,.markdown-body .pl-sr .pl-sra{color:#032f62}.markdown-body .pl-v,.markdown-body .pl-smw{color:#e36209}.markdown-body .pl-bu{color:#b31d28}.markdown-body .pl-ii{color:#fafbfc;background-color:#b31d28}.markdown-body .pl-c2{color:#fafbfc;background-color:#d73a49}.markdown-body .pl-c2:before{content:"^M"}.markdown-body .pl-sr .pl-cce{font-weight:700;color:#22863a}.markdown-body .pl-ml{color:#735c0f}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{font-weight:700;color:#005cc5}.markdown-body .pl-mi{font-style:italic;color:#24292e}.markdown-body .pl-mb{font-weight:700;color:#24292e}.markdown-body .pl-md{color:#b31d28;background-color:#ffeef0}.markdown-body .pl-mi1{color:#22863a;background-color:#f0fff4}.markdown-body .pl-mc{color:#e36209;background-color:#ffebda}.markdown-body .pl-mi2{color:#f6f8fa;background-color:#005cc5}.markdown-body .pl-mdr{font-weight:700;color:#6f42c1}.markdown-body .pl-ba{color:#586069}.markdown-body .pl-sg{color:#959da5}.markdown-body .pl-corl{text-decoration:underline;color:#032f62}.markdown-body .octicon{display:inline-block;vertical-align:text-top;fill:currentColor}.markdown-body a{background-color:transparent;-webkit-text-decoration-skip:objects}.markdown-body a:active,.markdown-body a:hover{outline-width:0}.markdown-body strong{font-weight:inherit}.markdown-body strong{font-weight:bolder}.markdown-body h1{font-size:2em;margin:.67em 0}.markdown-body img{border-style:none}.markdown-body svg:not(:root){overflow:hidden}.markdown-body code,.markdown-body kbd,.markdown-body pre{font-family:monospace,monospace;font-size:1em}.markdown-body hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}.markdown-body input{font:inherit;margin:0}.markdown-body input{overflow:visible}.markdown-body [type=checkbox]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}.markdown-body *{-webkit-box-sizing:border-box;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{height:0;margin:15px 0;overflow:hidden;background:transparent;border:0;border-bottom:1px solid #dfe2e5}.markdown-body hr:before{display:table;content:""}.markdown-body hr:after{display:table;clear:both;content:""}.markdown-body table{border-spacing:0;border-collapse:collapse}.markdown-body td,.markdown-body th{padding:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:0;margin-bottom:0}.markdown-body h1{font-size:32px;font-weight:600}.markdown-body h2{font-size:24px;font-weight:600}.markdown-body h3{font-size:20px;font-weight:600}.markdown-body h4{font-size:16px;font-weight:600}.markdown-body h5{font-size:14px;font-weight:600}.markdown-body h6{font-size:12px;font-weight:600}.markdown-body p{margin-top:0;margin-bottom:10px}.markdown-body blockquote{margin:0}.markdown-body ul,.markdown-body ol{padding-left:0;margin-top:0;margin-bottom:0}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ul ul ol,.markdown-body ul ol ol,.markdown-body ol ul ol,.markdown-body ol ol ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:12px}.markdown-body pre{margin-top:0;margin-bottom:0;font:12px SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}.markdown-body .octicon{vertical-align:text-bottom}.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:before{display:table;content:""}.markdown-body:after{display:table;clear:both;content:""}.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 .anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre{margin-top:0;margin-bottom:16px}.markdown-body hr{height:.25em;padding:0;margin:24px 0;background-color:#e1e4e8;border:0}.markdown-body blockquote{padding:0 1em;color:#6a737d;border-left:.25em solid #dfe2e5}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body kbd{display:inline-block;padding:3px 5px;font-size:11px;line-height:10px;color:#444d56;vertical-align:middle;background-color:#fafbfc;border:solid 1px #c6cbd1;border-bottom-color:#959da5;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #959da5;box-shadow:inset 0 -1px #959da5}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.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 h1{padding-bottom:.3em;font-size:2em;border-bottom:1px solid #eaecef}.markdown-body h2{padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid #eaecef}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:.875em}.markdown-body h6{font-size:.85em;color:#6a737d}.markdown-body ul,.markdown-body ol{padding-left:2em}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:600}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body table{display:block;width:100%;overflow:auto}.markdown-body table th{font-weight:600}.markdown-body table th,.markdown-body table td{padding:6px 13px;border:1px solid #dfe2e5}.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{max-width:100%;-webkit-box-sizing:content-box;box-sizing:content-box;background-color:#fff}.markdown-body code{padding:.2em 0;margin:0;font-size:85%;background-color:#1b1f230d;border-radius:3px}.markdown-body code:before,.markdown-body code:after{letter-spacing:-.2em;content:" "}.markdown-body pre{word-wrap:normal}.markdown-body pre>code{padding:0;margin:0;font-size:100%;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#f6f8fa;border-radius:3px}.markdown-body pre code{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body pre code:before,.markdown-body pre code:after{content:normal}.markdown-body .full-commit .btn-outline:not(:disabled):hover{color:#005cc5;border-color:#005cc5}.markdown-body kbd{display:inline-block;padding:3px 5px;font:11px SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;line-height:10px;color:#444d56;vertical-align:middle;background-color:#fafbfc;border:solid 1px #d1d5da;border-bottom-color:#c6cbd1;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #c6cbd1;box-shadow:inset 0 -1px #c6cbd1}.markdown-body :checked+.radio-label{position:relative;z-index:1;border-color:#0366d6}.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}.gt-container{-webkit-box-sizing:border-box;box-sizing:border-box;font-size:16px}.gt-container *{-webkit-box-sizing:border-box;box-sizing:border-box}.gt-container a{color:#6190e8}.gt-container a:hover{color:#81a6ed;border-color:#81a6ed}.gt-container a.is--active{color:#333;cursor:default!important}.gt-container a.is--active:hover{color:#333}.gt-container .hide{display:none!important}.gt-container .gt-svg{display:inline-block;width:1em;height:1em;vertical-align:sub}.gt-container .gt-svg svg{width:100%;height:100%;fill:#6190e8}.gt-container .gt-ico{display:inline-block}.gt-container .gt-ico-text{margin-left:.3125em}.gt-container .gt-ico-github,.gt-container .gt-ico-github .gt-svg{width:100%;height:100%}.gt-container .gt-ico-github svg{fill:inherit}.gt-container .gt-spinner{position:relative}.gt-container .gt-spinner:before{content:"";-webkit-box-sizing:border-box;box-sizing:border-box;position:absolute;top:3px;width:.75em;height:.75em;margin-top:-.1875em;margin-left:-.375em;border-radius:50%;border:1px solid #fff;border-top-color:#6190e8;-webkit-animation:gt-kf-rotate .6s linear infinite;animation:gt-kf-rotate .6s linear infinite}.gt-container .gt-loader{position:relative;border:1px solid #999;-webkit-animation:ease gt-kf-rotate 1.5s infinite;animation:ease gt-kf-rotate 1.5s infinite;display:inline-block;font-style:normal;width:1.75em;height:1.75em;line-height:1.75em;border-radius:50%}.gt-container .gt-loader:before{content:"";position:absolute;display:block;top:0;left:50%;margin-top:-.1875em;margin-left:-.1875em;width:.375em;height:.375em;background-color:#999;border-radius:50%}.gt-container .gt-avatar{display:inline-block;width:3.125em;height:3.125em}@media(max-width:479px){.gt-container .gt-avatar{width:2em;height:2em}}.gt-container .gt-avatar img{width:100%;height:auto;border-radius:3px}.gt-container .gt-avatar-github{width:3em;height:3em;cursor:pointer}@media(max-width:479px){.gt-container .gt-avatar-github{width:1.875em;height:1.875em}}.gt-container .gt-btn{padding:.75em 1.25em;display:inline-block;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;border:1px solid #6190e8;border-radius:5px;background-color:#6190e8;color:#fff;outline:none;font-size:.75em}.gt-container .gt-btn-text{font-weight:400}.gt-container .gt-btn-loading{position:relative;margin-left:.5em;display:inline-block;width:.75em;height:1em;vertical-align:top}.gt-container .gt-btn.is--disable{cursor:not-allowed;opacity:.5}.gt-container .gt-btn-login{margin-right:0}.gt-container .gt-btn-preview{background-color:#fff;color:#6190e8}.gt-container .gt-btn-preview:hover{background-color:#f2f2f2;border-color:#81a6ed}.gt-container .gt-btn-public:hover{background-color:#81a6ed;border-color:#81a6ed}.gt-container .gt-error{text-align:center;margin:.625em;color:#ff3860}.gt-container .gt-initing{padding:1.25em 0;text-align:center}.gt-container .gt-initing-text{margin:.625em auto;font-size:92%}.gt-container .gt-no-init{padding:1.25em 0;text-align:center}.gt-container .gt-link{border-bottom:1px dotted #6190e8}.gt-container .gt-link-counts,.gt-container .gt-link-project{text-decoration:none}.gt-container .gt-meta{margin:1.25em 0;padding:1em 0;border-bottom:1px solid #e9e9e9;font-size:1em;position:relative;z-index:10}.gt-container .gt-meta:before,.gt-container .gt-meta:after{content:" ";display:table}.gt-container .gt-meta:after{clear:both}.gt-container .gt-counts{margin:0 .625em 0 0}.gt-container .gt-user{float:right;margin:0;font-size:92%}.gt-container .gt-user-pic{width:16px;height:16px;vertical-align:top;margin-right:.5em}.gt-container .gt-user-inner{display:inline-block;cursor:pointer}.gt-container .gt-user .gt-ico{margin:0 0 0 .3125em}.gt-container .gt-user .gt-ico svg{fill:inherit}.gt-container .gt-user .is--poping .gt-ico svg{fill:#6190e8}.gt-container .gt-version{color:#a1a1a1;margin-left:.375em}.gt-container .gt-copyright{margin:0 .9375em .5em;border-top:1px solid #e9e9e9;padding-top:.5em}.gt-container .gt-popup{position:absolute;right:0;top:2.375em;background:#fff;display:inline-block;border:1px solid #e9e9e9;padding:.625em 0;font-size:.875em;letter-spacing:.5px}.gt-container .gt-popup .gt-action{cursor:pointer;display:block;margin:.5em 0;padding:0 1.125em;position:relative;text-decoration:none}.gt-container .gt-popup .gt-action.is--active:before{content:"";width:.25em;height:.25em;background:#6190e8;position:absolute;left:.5em;top:.4375em}.gt-container .gt-header{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex}.gt-container .gt-header-comment{-webkit-box-flex:1;-ms-flex:1;flex:1;margin-left:1.25em}@media(max-width:479px){.gt-container .gt-header-comment{margin-left:.875em}}.gt-container .gt-header-textarea{padding:.75em;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;min-height:5.125em;max-height:15em;border-radius:5px;border:1px solid rgba(0,0,0,.1);font-size:.875em;word-wrap:break-word;resize:vertical;background-color:#f6f6f6;outline:none;-webkit-transition:all .25s ease;transition:all .25s ease}.gt-container .gt-header-textarea:hover{background-color:#fbfbfb}.gt-container .gt-header-preview{padding:.75em;border-radius:5px;border:1px solid rgba(0,0,0,.1);background-color:#f6f6f6}.gt-container .gt-header-controls{position:relative;margin:.75em 0 0}.gt-container .gt-header-controls:before,.gt-container .gt-header-controls:after{content:" ";display:table}.gt-container .gt-header-controls:after{clear:both}@media(max-width:479px){.gt-container .gt-header-controls{margin:0}}.gt-container .gt-header-controls-tip{font-size:.875em;color:#6190e8;text-decoration:none;vertical-align:sub}@media(max-width:479px){.gt-container .gt-header-controls-tip{display:none}}.gt-container .gt-header-controls .gt-btn{float:right;margin-left:1.25em}@media(max-width:479px){.gt-container .gt-header-controls .gt-btn{float:none;width:100%;margin:.75em 0 0}}.gt-container:after{content:"";position:fixed;inset:0 0 100%;opacity:0}.gt-container.gt-input-focused{position:relative}.gt-container.gt-input-focused:after{content:"";position:fixed;inset:0 0 0%;background:#000;opacity:.6;-webkit-transition:opacity .3s,bottom 0s;transition:opacity .3s,bottom 0s;z-index:9999}.gt-container.gt-input-focused .gt-header-comment{z-index:10000}.gt-container .gt-comments{padding-top:1.25em}.gt-container .gt-comments-null{text-align:center}.gt-container .gt-comments-controls{margin:1.25em 0;text-align:center}.gt-container .gt-comment{position:relative;padding:.625em 0;display:-webkit-box;display:-ms-flexbox;display:flex}.gt-container .gt-comment-content{-webkit-box-flex:1;-ms-flex:1;flex:1;margin-left:1.25em;padding:.75em 1em;background-color:#f9f9f9;overflow:auto;-webkit-transition:all ease .25s;transition:all ease .25s}.gt-container .gt-comment-content:hover{-webkit-box-shadow:0 .625em 3.75em 0 #f4f4f4;box-shadow:0 .625em 3.75em #f4f4f4}@media(max-width:479px){.gt-container .gt-comment-content{margin-left:.875em;padding:.625em .75em}}.gt-container .gt-comment-header{margin-bottom:.5em;font-size:.875em;position:relative}.gt-container .gt-comment-block-1{float:right;height:1.375em;width:2em}.gt-container .gt-comment-block-2{float:right;height:1.375em;width:4em}.gt-container .gt-comment-username{font-weight:500;color:#6190e8;text-decoration:none}.gt-container .gt-comment-username:hover{text-decoration:underline}.gt-container .gt-comment-text,.gt-container .gt-comment-date{margin-left:.5em;color:#a1a1a1}.gt-container .gt-comment-like,.gt-container .gt-comment-edit,.gt-container .gt-comment-reply{position:absolute;height:1.375em}.gt-container .gt-comment-like:hover,.gt-container .gt-comment-edit:hover,.gt-container .gt-comment-reply:hover{cursor:pointer}.gt-container .gt-comment-like{top:0;right:2em}.gt-container .gt-comment-edit,.gt-container .gt-comment-reply{top:0;right:0}.gt-container .gt-comment-body{color:#333!important}.gt-container .gt-comment-body .email-hidden-toggle a{display:inline-block;height:12px;padding:0 9px;font-size:12px;font-weight:600;line-height:6px;color:#444d56;text-decoration:none;vertical-align:middle;background:#dfe2e5;border-radius:1px}.gt-container .gt-comment-body .email-hidden-toggle a:hover{background-color:#c6cbd1}.gt-container .gt-comment-body .email-hidden-reply{display:none;white-space:pre-wrap}.gt-container .gt-comment-body .email-hidden-reply .email-signature-reply{padding:0 15px;margin:15px 0;color:#586069;border-left:4px solid #dfe2e5}.gt-container .gt-comment-body .email-hidden-reply.expanded{display:block}.gt-container .gt-comment-admin .gt-comment-content{background-color:#f6f9fe}@-webkit-keyframes gt-kf-rotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes gt-kf-rotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.post-page[data-v-7287340a]{position:relative;min-height:100vh;padding:30px 0}.progress-bar[data-v-7287340a]{position:fixed;top:0;left:0;height:3px;background:var(--primary);z-index:999}.container[data-v-7287340a]{max-width:1100px;margin:0 auto;padding:0 20px;width:100%}.post-wrapper[data-v-7287340a]{display:flex;gap:30px;position:relative}.post-content[data-v-7287340a]{flex:1;min-width:0}.post-title[data-v-7287340a]{font-size:28px;margin-bottom:12px}.post-meta[data-v-7287340a]{color:#666;font-size:14px;display:flex;gap:16px;margin-bottom:30px}.markdown-body[data-v-7287340a]{line-height:1.8;font-size:16px}.markdown-body h1[data-v-7287340a],.markdown-body h2[data-v-7287340a],.markdown-body h3[data-v-7287340a]{margin:24px 0 12px;font-weight:600}.markdown-body p[data-v-7287340a]{margin:12px 0}.markdown-body pre[data-v-7287340a]{background:#282c34;color:#fff;padding:16px;border-radius:8px;overflow-x:auto;margin:16px 0}.markdown-body code[data-v-7287340a]{background:#f1f1f1;padding:2px 6px;border-radius:4px}.post-nav[data-v-7287340a]{margin-top:40px;padding-top:20px;border-top:1px solid #eee;display:flex;justify-content:space-between;gap:20px}.post-nav a[data-v-7287340a]{color:var(--primary);text-decoration:none}.comments-section[data-v-7287340a]{margin-top:60px;padding-top:30px;border-top:1px solid #eee}.comments-section h3[data-v-7287340a]{margin-bottom:20px;font-size:20px}.toc-container[data-v-7287340a]{width:220px;position:sticky;top:40px;height:fit-content;padding:16px;background:var(--bg-secondary);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.toc-container h4[data-v-7287340a]{margin:0 0 12px;font-size:16px}.toc-item[data-v-7287340a]{padding:6px 0;font-size:14px;cursor:pointer;color:var(--text-secondary);transition:color .2s ease}.toc-item.active[data-v-7287340a]{color:var(--primary);font-weight:500}.toc-toggle[data-v-7287340a]{display:none;position:fixed;bottom:20px;left:20px;width:20px;height:20px;border-radius:50%;background:var(--primary);color:#fff;font-size:24px;box-shadow:var(--shadow-lg);z-index:99;border:none;cursor:pointer;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.toc-drawer[data-v-7287340a]{position:fixed;inset:0;background:#00000080;z-index:999;animation:fadeIn-7287340a .2s ease}.toc-drawer-content[data-v-7287340a]{position:absolute;top:0;right:0;width:75vw;height:100%;background:var(--bg-secondary);padding:20px;overflow-y:auto;animation:slideIn-7287340a .3s ease}.toc-header[data-v-7287340a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border-light)}.toc-header h4[data-v-7287340a]{margin:0;font-size:18px}.close-btn[data-v-7287340a]{background:none;border:none;font-size:20px;cursor:pointer;padding:0;box-shadow:none}.close-btn[data-v-7287340a]:hover{transform:none;box-shadow:none}@keyframes fadeIn-7287340a{0%{opacity:0}to{opacity:1}}@keyframes slideIn-7287340a{0%{transform:translate(100%)}to{transform:translate(0)}}@media(max-width:768px){.toc-container[data-v-7287340a]{display:none}.toc-toggle[data-v-7287340a]{display:flex;width:20px;height:20px;font-size:20px;left:16px;bottom:16px}.post-title[data-v-7287340a]{font-size:24px}.post-nav[data-v-7287340a]{flex-direction:column;gap:12px}}.about-page[data-v-a23bd7ee]{padding:36px 0}.section-title[data-v-a23bd7ee]{font-size:24px;font-weight:700;margin-bottom:20px}.hero-section[data-v-a23bd7ee]{padding:40px;text-align:center;margin-bottom:36px}.avatar[data-v-a23bd7ee]{width:140px;height:140px;border-radius:50%;margin:0 auto 24px;object-fit:cover;border:4px solid var(--border-light)}.name[data-v-a23bd7ee]{font-size:32px;font-weight:700;margin-bottom:12px}.slogan[data-v-a23bd7ee]{font-size:16px;color:var(--text-secondary);margin-bottom:32px}.quick-stats[data-v-a23bd7ee]{display:flex;justify-content:center;gap:40px;flex-wrap:wrap}.stat-item[data-v-a23bd7ee]{display:flex;flex-direction:column;align-items:center}.stat-number[data-v-a23bd7ee]{font-size:28px;font-weight:700;color:var(--primary);margin-bottom:4px}.stat-label[data-v-a23bd7ee]{font-size:14px;color:var(--text-tertiary)}.intro-section[data-v-a23bd7ee]{margin-bottom:36px}.intro-card[data-v-a23bd7ee]{padding:32px}.intro-card p[data-v-a23bd7ee]{font-size:16px;line-height:1.8;margin-bottom:16px;color:var(--text-secondary)}.info-grid[data-v-a23bd7ee]{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:24px;padding-top:24px;border-top:1px solid var(--border-light)}.info-item[data-v-a23bd7ee]{display:flex;flex-direction:column;gap:4px}.info-label[data-v-a23bd7ee]{font-size:14px;color:var(--text-tertiary)}.info-value[data-v-a23bd7ee]{font-size:15px;font-weight:500;color:var(--text)}.skills-section[data-v-a23bd7ee]{margin-bottom:36px}.skills-card[data-v-a23bd7ee]{padding:32px}.skill-category[data-v-a23bd7ee]{margin-bottom:32px}.skill-category[data-v-a23bd7ee]:last-child{margin-bottom:0}.category-title[data-v-a23bd7ee]{font-size:18px;font-weight:600;margin-bottom:20px}.skill-list[data-v-a23bd7ee]{display:flex;flex-direction:column;gap:20px}.skill-item[data-v-a23bd7ee]{display:flex;flex-direction:column;gap:8px}.skill-header[data-v-a23bd7ee]{display:flex;justify-content:space-between;font-size:15px}.skill-name[data-v-a23bd7ee]{font-weight:500}.skill-percent[data-v-a23bd7ee]{color:var(--primary);font-weight:600}.skill-bar[data-v-a23bd7ee]{height:8px;background:var(--border-light);border-radius:4px;overflow:hidden}.skill-progress[data-v-a23bd7ee]{height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-hover));border-radius:4px;transition:width 1s ease}.timeline-section[data-v-a23bd7ee]{margin-bottom:36px}.timeline[data-v-a23bd7ee]{position:relative;padding-left:30px}.timeline[data-v-a23bd7ee]:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:var(--border)}.timeline-item[data-v-a23bd7ee]{position:relative;margin-bottom:24px;opacity:0;transform:translate(-20px);transition:opacity .5s ease,transform .5s ease}.timeline-item.animate[data-v-a23bd7ee]{opacity:1;transform:translate(0)}.timeline-dot[data-v-a23bd7ee]{position:absolute;left:-26px;top:8px;width:16px;height:16px;border-radius:50%;background:var(--primary);border:3px solid var(--bg);z-index:1}.timeline-content[data-v-a23bd7ee]{padding:24px}.timeline-date[data-v-a23bd7ee]{font-size:14px;color:var(--primary);font-weight:600;margin-bottom:8px}.timeline-title[data-v-a23bd7ee]{font-size:18px;font-weight:600;margin-bottom:8px}.timeline-desc[data-v-a23bd7ee]{font-size:15px;color:var(--text-secondary);line-height:1.7}.contact-section[data-v-a23bd7ee]{margin-bottom:20px}.contact-card[data-v-a23bd7ee]{padding:32px;text-align:center}.contact-desc[data-v-a23bd7ee]{font-size:16px;color:var(--text-secondary);margin-bottom:28px}.social-links[data-v-a23bd7ee]{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.social-link[data-v-a23bd7ee]{display:inline-flex;flex-direction:column;align-items:center;gap:8px;padding:20px 32px;background:var(--bg);border-radius:var(--radius-md);color:var(--text-secondary);font-size:14px;transition:all .2s ease}.social-link[data-v-a23bd7ee]:hover{background:var(--primary);color:#fff;transform:translateY(-4px)}.social-link .icon[data-v-a23bd7ee]{font-size:28px}.social-link .text[data-v-a23bd7ee]{font-weight:500}.fade-in-up[data-v-a23bd7ee]{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.fade-in-up.animate[data-v-a23bd7ee]{opacity:1;transform:translateY(0)}@media(max-width:768px){.hero-section[data-v-a23bd7ee],.intro-card[data-v-a23bd7ee],.skills-card[data-v-a23bd7ee],.contact-card[data-v-a23bd7ee]{padding:24px 20px}.name[data-v-a23bd7ee]{font-size:26px}.quick-stats[data-v-a23bd7ee]{gap:24px}.info-grid[data-v-a23bd7ee]{grid-template-columns:1fr}.timeline[data-v-a23bd7ee]{padding-left:24px}.social-links[data-v-a23bd7ee]{gap:12px}.social-link[data-v-a23bd7ee]{padding:16px 24px}}.card[data-v-ea21cf2c]{background:#fff;padding:30px 40px;border-radius:12px;box-shadow:0 4px 12px #0000000d}.category-tabs[data-v-ea21cf2c]{display:flex;flex-wrap:wrap;gap:10px}.tab-btn[data-v-ea21cf2c]{padding:8px 14px;border:1px solid #eee;border-radius:6px;background:#fff;cursor:pointer;transition:all .3s ease}.tab-btn.active[data-v-ea21cf2c]{background:var(--primary);color:#fff;border-color:var(--primary)}.tab-btn[data-v-ea21cf2c]:hover:not(.active){border-color:var(--primary);color:var(--primary)}.post-item[data-v-ea21cf2c]{padding:12px 0;border-bottom:1px solid #f5f5f5;cursor:pointer}.post-item h4[data-v-ea21cf2c]{font-size:16px;margin-bottom:4px}.post-item p[data-v-ea21cf2c]{font-size:13px;color:#999}.card[data-v-e47b7866]{background:#fff;padding:30px 40px;border-radius:12px;box-shadow:0 4px 12px #0000000d}.tag-cloud[data-v-e47b7866]{display:flex;flex-wrap:wrap;gap:10px}.tag-btn[data-v-e47b7866]{padding:8px 14px;border:1px solid #eee;border-radius:20px;background:#fff;cursor:pointer;transition:all .3s ease}.tag-btn.active[data-v-e47b7866]{background:var(--primary);color:#fff;border-color:var(--primary)}.tag-btn[data-v-e47b7866]:hover:not(.active){border-color:var(--primary);color:var(--primary)}.post-item[data-v-e47b7866]{padding:12px 0;border-bottom:1px solid #f5f5f5;cursor:pointer}.post-item h4[data-v-e47b7866]{font-size:16px;margin-bottom:4px}.post-item p[data-v-e47b7866]{font-size:13px;color:#999}.card[data-v-d900d23c]{background:#fff;padding:30px 40px;border-radius:12px;box-shadow:0 4px 12px #0000000d}.search-input[data-v-d900d23c]{width:100%;padding:10px 14px;border:1px solid #eee;border-radius:6px;font-size:14px}.result-list[data-v-d900d23c]{margin-top:10px}.result-item[data-v-d900d23c]{padding:12px 0;border-bottom:1px solid #f5f5f5;cursor:pointer}.result-item h4[data-v-d900d23c]{font-size:16px;margin-bottom:4px}.result-item p[data-v-d900d23c]{font-size:13px;color:#999}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #4c84ff;--primary-hover: #3a6fd4;--primary-light: rgba(76, 132, 255, .1);--bg: #f8f9fa;--bg-secondary: #ffffff;--text: #333333;--text-secondary: #666666;--text-tertiary: #999999;--border: #eeeeee;--border-light: #f5f5f5;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .04);--shadow-md: 0 4px 16px rgba(0, 0, 0, .06);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .08);--shadow-primary: 0 4px 16px var(--primary-light);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px}html.theme-purple{--primary: #9d65ff;--primary-hover: #8549f0;--primary-light: rgba(157, 101, 255, .1)}html.theme-green{--primary: #20c997;--primary-hover: #17a880;--primary-light: rgba(32, 201, 151, .1)}html.theme-orange{--primary: #fd7e14;--primary-hover: #e66c08;--primary-light: rgba(253, 126, 20, .1)}html.dark{--bg: #1a1a1a;--bg-secondary: #2a2a2a;--text: #e0e0e0;--text-secondary: #aaaaaa;--text-tertiary: #777777;--border: #444444;--border-light: #333333;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .2);--shadow-md: 0 4px 16px rgba(0, 0, 0, .25);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .3)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--bg);color:var(--text);line-height:1.7;font-size:16px;transition:background .3s ease,color .3s ease}a{text-decoration:none;color:var(--text);transition:color .2s ease}a:hover{color:var(--primary)}button{font-family:inherit;font-size:14px;padding:8px 16px;border:none;border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text);cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}button:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}button:active{transform:translateY(0)}button.primary-btn{background:var(--primary);color:#fff}button.primary-btn:hover{background:var(--primary-hover);box-shadow:var(--shadow-primary)}.container{max-width:1000px;margin:0 auto;padding:0 20px;width:100%}.card{background:var(--bg-secondary);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:all .3s cubic-bezier(.4,0,.2,1)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}img{max-width:100%;display:block;border-radius:var(--radius-sm)}hr{border:none;border-top:1px solid var(--border);margin:24px 0}html{scroll-behavior:smooth}.empty-state{text-align:center;padding:60px 20px;color:var(--text-tertiary)}.empty-state h3{margin-bottom:8px;font-size:18px;color:var(--text-secondary)}.fade-in-up{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.fade-in-up.animate{opacity:1;transform:translateY(0)}.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}.delay-3{transition-delay:.3s}.delay-4{transition-delay:.4s}.page-enter{animation:pageEnter .5s ease forwards}@keyframes pageEnter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.breathe{animation:breathe 2s ease-in-out infinite}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@media(max-width:768px){body{font-size:15px}.container{padding:0 16px}.card{border-radius:var(--radius-sm)}a,button{min-height:44px;min-width:44px}}
