*{margin:0;padding:0;box-sizing:border-box}:root{font-family:Noto Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1.6;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}.noto-sans-sc-regular{font-family:Noto Sans SC,sans-serif;font-optical-sizing:auto;font-weight:400;font-style:normal}.noto-sans-sc-bold{font-family:Noto Sans SC,sans-serif;font-optical-sizing:auto;font-weight:700;font-style:normal}.noto-sans-jp-regular{font-family:Noto Sans JP,sans-serif;font-optical-sizing:auto;font-weight:400;font-style:normal}.noto-sans-jp-bold{font-family:Noto Sans JP,sans-serif;font-optical-sizing:auto;font-weight:700;font-style:normal}.japanese{font-family:Noto Sans JP,Yu Gothic Medium,Yu Gothic,Meiryo,sans-serif!important;font-weight:400}.japanese h1,.japanese h2,.japanese h3,.japanese h4,.japanese h5,.japanese h6{font-family:Noto Sans JP,Yu Gothic Medium,Yu Gothic,Meiryo,sans-serif!important;font-weight:700}.japanese p,.japanese li{font-family:Noto Sans JP,Yu Gothic Medium,Yu Gothic,Meiryo,sans-serif!important;font-weight:400}:root,:root[data-theme=light]{color-scheme:light;--bg-primary: #fafafa;--bg-secondary: #f5f5f5;--card-bg: #ffffff;--hover-bg: #dbeafe;--text-primary: #2c2c2c;--text-secondary: #616161;--text-tertiary: #757575;--border-color: #e0e0e0;--border-hover: #bdbdbd;--primary-color: #2563eb;--primary-hover: #1d4ed8;--code-bg: #f5f5f5;--code-text: var(--primary-color);--code-header-bg: #dbeafe;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1)}:root[data-theme=dark]{color-scheme:dark;--bg-primary: #121212;--bg-secondary: #1e1e1e;--card-bg: #1e1e1e;--hover-bg: #1e3a5f;--text-primary: #ebebeb;--text-secondary: #b0b0b0;--text-tertiary: #888888;--border-color: #333333;--border-hover: #444444;--primary-color: #60a5fa;--primary-hover: #3b82f6;--code-bg: #2a2a2a;--code-text: var(--primary-color);--code-header-bg: #1e3a5f;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4)}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}code,pre,.code-block,.inline-code{font-family:Adwaita Mono,Consolas,Monaco,Courier New,monospace;font-weight:300;font-variant-ligatures:none;font-feature-settings:"liga" 0,"calt" 0}#app{width:100%;min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}::selection{background:var(--primary-color);color:#fff}mark{background:#ffeb3b;color:#000;padding:2px 4px;border-radius:2px;font-weight:500}:root[data-theme=dark] mark{background:#f57f17;color:#fff}@font-face{font-family:Adwaita Mono;src:url(/fonts/AdwaitaMono-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Adwaita Mono;src:url(/fonts/AdwaitaMono-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Adwaita Mono;src:url(/fonts/AdwaitaMono-Italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Adwaita Mono;src:url(/fonts/AdwaitaMono-BoldItalic.woff2) format("woff2");font-weight:700;font-style:italic;font-display:swap}.header[data-v-67655f5d]{background:var(--card-bg);border-bottom:1px solid var(--border-color);box-shadow:0 1px 3px #0000000d;position:sticky;top:0;z-index:100}.header-content[data-v-67655f5d]{max-width:1200px;margin:0 auto;padding:12px 40px;display:flex;justify-content:space-between;align-items:center}.logo[data-v-67655f5d]{cursor:pointer;transition:opacity .3s ease}.logo[data-v-67655f5d]:hover{opacity:.8}.logo h1[data-v-67655f5d]{margin:0;font-size:24px;color:var(--text-primary);font-weight:700;letter-spacing:-.5px}.subtitle[data-v-67655f5d]{margin:2px 0 0;font-size:12px;color:var(--text-tertiary);font-weight:400}.header-right[data-v-67655f5d]{display:flex;align-items:center;gap:16px}.nav[data-v-67655f5d]{display:flex;gap:24px}.nav-link[data-v-67655f5d]{color:var(--text-secondary);text-decoration:none;font-size:15px;font-weight:500;padding:8px 16px;border-radius:4px;transition:all .3s ease}.nav-link[data-v-67655f5d]:hover,.nav-link.router-link-active[data-v-67655f5d]{color:var(--primary-color);background:var(--hover-bg)}.theme-toggle[data-v-67655f5d]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border-color);background:transparent;border-radius:4px;cursor:pointer;color:var(--text-secondary);transition:all .3s ease}.theme-toggle[data-v-67655f5d]:hover{color:var(--primary-color);background:var(--hover-bg);border-color:var(--primary-color)}.search-box[data-v-67655f5d]{position:relative;display:flex;align-items:center}.search-input[data-v-67655f5d]{width:200px;padding:8px 32px 8px 12px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-color);color:var(--text-primary);font-size:14px;transition:all .3s ease}.search-input[data-v-67655f5d]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4285f41a}.search-input[data-v-67655f5d]::placeholder{color:var(--text-tertiary)}.search-icon[data-v-67655f5d]{position:absolute;right:10px;color:var(--text-tertiary);pointer-events:none}.clear-btn[data-v-67655f5d]{position:absolute;right:8px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:color .3s ease}.clear-btn[data-v-67655f5d]:hover{color:var(--text-primary)}@media(max-width:768px){.header-content[data-v-67655f5d]{padding:12px 16px;flex-direction:column;align-items:stretch;gap:12px}.logo[data-v-67655f5d]{text-align:center}.logo h1[data-v-67655f5d]{font-size:20px}.subtitle[data-v-67655f5d]{display:none}.header-right[data-v-67655f5d]{gap:8px;justify-content:space-between}.search-box[data-v-67655f5d]{flex:1}.search-input[data-v-67655f5d]{width:100%}.nav[data-v-67655f5d]{gap:8px}.nav-link[data-v-67655f5d]{font-size:14px;padding:6px 12px}.theme-toggle[data-v-67655f5d]{padding:8px}}.app[data-v-f3c843c5]{min-height:100vh;display:flex;flex-direction:column}.main-content[data-v-f3c843c5]{flex:1;padding:40px 0}.footer[data-v-f3c843c5]{background:var(--card-bg);border-top:1px solid var(--border-color);padding:32px 20px;text-align:center;margin-top:60px}.footer p[data-v-f3c843c5]{margin:0;color:var(--text-tertiary);font-size:14px}.footer a[data-v-f3c843c5]{color:var(--primary-color);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .3s ease}.footer a[data-v-f3c843c5]:hover{border-bottom-color:var(--primary-color)}@media(max-width:768px){.main-content[data-v-f3c843c5]{padding:20px 0}.footer[data-v-f3c843c5]{padding:16px;font-size:12px}.footer p[data-v-f3c843c5]{line-height:1.6}}.blog-home[data-v-c94d16e1]{max-width:1200px;margin:0 auto;padding:0 40px}.loading[data-v-c94d16e1]{text-align:center;padding:80px 20px;color:var(--text-tertiary);font-size:16px}.search-info[data-v-c94d16e1]{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:var(--bg-secondary);border-radius:4px;margin-bottom:24px;border:1px solid var(--border-color)}.search-info p[data-v-c94d16e1]{margin:0;color:var(--text-secondary);font-size:14px}.clear-search-btn[data-v-c94d16e1]{padding:6px 16px;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-secondary);border-radius:4px;cursor:pointer;font-size:13px;transition:all .3s ease}.clear-search-btn[data-v-c94d16e1]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.no-results[data-v-c94d16e1]{text-align:center;padding:80px 20px}.no-results p[data-v-c94d16e1]{color:var(--text-tertiary);font-size:16px}.categories[data-v-c94d16e1]{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:40px;padding:20px 0;border-bottom:1px solid var(--border-color)}.category-btn[data-v-c94d16e1]{padding:8px 20px;border:none;background:var(--bg-secondary);color:var(--text-secondary);border-radius:4px;cursor:pointer;font-size:14px;transition:all .3s ease;font-weight:500}.category-btn[data-v-c94d16e1]:hover{background:var(--hover-bg);color:var(--text-primary)}.category-btn.active[data-v-c94d16e1]{background:var(--primary-color);color:#fff}.posts-grid[data-v-c94d16e1]{display:flex;flex-direction:column;gap:24px}.post-card[data-v-c94d16e1]{background:var(--card-bg);border-radius:4px;padding:32px;cursor:pointer;transition:all .3s ease;border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.post-card[data-v-c94d16e1]:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--primary-color)}.post-card-content[data-v-c94d16e1]{display:flex;flex-direction:column;gap:12px}.post-title[data-v-c94d16e1]{margin:0;font-size:24px;color:var(--text-primary);font-weight:600;line-height:1.4;display:flex;align-items:center;gap:12px}.language-tag[data-v-c94d16e1]{font-size:12px;font-weight:700;color:var(--primary-color);background:var(--primary-color);color:#fff;padding:4px 8px;border-radius:12px;white-space:nowrap;flex-shrink:0}.post-meta[data-v-c94d16e1]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-tertiary)}.post-separator[data-v-c94d16e1]{color:var(--border-hover)}.post-date[data-v-c94d16e1]{color:var(--text-tertiary)}.post-category[data-v-c94d16e1]{color:var(--primary-color);font-weight:500}.post-stats[data-v-c94d16e1]{color:var(--text-tertiary)}.post-excerpt[data-v-c94d16e1]{margin:8px 0 0;font-size:15px;line-height:1.7;color:var(--text-secondary)}.post-footer[data-v-c94d16e1]{margin-top:8px}.read-more[data-v-c94d16e1]{color:var(--primary-color);font-size:14px;font-weight:500}.pagination[data-v-c94d16e1]{display:flex;justify-content:center;gap:8px;margin:48px 0 32px;padding-top:24px;border-top:1px solid var(--border-color)}.page-btn[data-v-c94d16e1]{min-width:40px;height:40px;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-secondary);border-radius:4px;cursor:pointer;font-size:14px;transition:all .3s ease;font-weight:500}.page-btn[data-v-c94d16e1]:hover{border-color:var(--primary-color);color:var(--primary-color)}.page-btn.active[data-v-c94d16e1]{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}@media(max-width:768px){.blog-home[data-v-c94d16e1]{padding:0 12px}.post-card[data-v-c94d16e1]{padding:16px}.post-title[data-v-c94d16e1]{font-size:18px}.post-excerpt[data-v-c94d16e1]{font-size:14px;line-height:1.6}.post-meta[data-v-c94d16e1]{flex-wrap:wrap;font-size:12px}.categories[data-v-c94d16e1]{gap:6px;flex-wrap:wrap}.category-btn[data-v-c94d16e1]{font-size:12px;padding:6px 12px}}:root[data-theme=light] .hljs{color:#383a42;background:transparent}:root[data-theme=light] .hljs-comment,:root[data-theme=light] .hljs-quote{color:#a0a1a7;font-style:italic}:root[data-theme=light] .hljs-doctag,:root[data-theme=light] .hljs-keyword,:root[data-theme=light] .hljs-formula{color:#a626a4}:root[data-theme=light] .hljs-section,:root[data-theme=light] .hljs-name,:root[data-theme=light] .hljs-selector-tag,:root[data-theme=light] .hljs-deletion,:root[data-theme=light] .hljs-subst{color:#e45649}:root[data-theme=light] .hljs-literal{color:#0184bb}:root[data-theme=light] .hljs-string,:root[data-theme=light] .hljs-regexp,:root[data-theme=light] .hljs-addition,:root[data-theme=light] .hljs-attribute,:root[data-theme=light] .hljs-meta .hljs-string{color:#50a14f}:root[data-theme=light] .hljs-attr,:root[data-theme=light] .hljs-variable,:root[data-theme=light] .hljs-template-variable,:root[data-theme=light] .hljs-type,:root[data-theme=light] .hljs-selector-class,:root[data-theme=light] .hljs-selector-attr,:root[data-theme=light] .hljs-selector-pseudo,:root[data-theme=light] .hljs-number{color:#986801}:root[data-theme=light] .hljs-symbol,:root[data-theme=light] .hljs-bullet,:root[data-theme=light] .hljs-link,:root[data-theme=light] .hljs-meta,:root[data-theme=light] .hljs-selector-id,:root[data-theme=light] .hljs-title{color:#4078f2}:root[data-theme=light] .hljs-built_in,:root[data-theme=light] .hljs-title.class_,:root[data-theme=light] .hljs-class .hljs-title{color:#c18401}:root[data-theme=light] .hljs-emphasis{font-style:italic}:root[data-theme=light] .hljs-strong{font-weight:700}:root[data-theme=light] .hljs-link{text-decoration:underline}:root[data-theme=dark] .hljs{color:#abb2bf;background:transparent}:root[data-theme=dark] .hljs-comment,:root[data-theme=dark] .hljs-quote{color:#5c6370;font-style:italic}:root[data-theme=dark] .hljs-doctag,:root[data-theme=dark] .hljs-keyword,:root[data-theme=dark] .hljs-formula{color:#c678dd}:root[data-theme=dark] .hljs-section,:root[data-theme=dark] .hljs-name,:root[data-theme=dark] .hljs-selector-tag,:root[data-theme=dark] .hljs-deletion,:root[data-theme=dark] .hljs-subst{color:#e06c75}:root[data-theme=dark] .hljs-literal{color:#56b6c2}:root[data-theme=dark] .hljs-string,:root[data-theme=dark] .hljs-regexp,:root[data-theme=dark] .hljs-addition,:root[data-theme=dark] .hljs-attribute,:root[data-theme=dark] .hljs-meta .hljs-string{color:#98c379}:root[data-theme=dark] .hljs-attr,:root[data-theme=dark] .hljs-variable,:root[data-theme=dark] .hljs-template-variable,:root[data-theme=dark] .hljs-type,:root[data-theme=dark] .hljs-selector-class,:root[data-theme=dark] .hljs-selector-attr,:root[data-theme=dark] .hljs-selector-pseudo,:root[data-theme=dark] .hljs-number{color:#d19a66}:root[data-theme=dark] .hljs-symbol,:root[data-theme=dark] .hljs-bullet,:root[data-theme=dark] .hljs-link,:root[data-theme=dark] .hljs-meta,:root[data-theme=dark] .hljs-selector-id,:root[data-theme=dark] .hljs-title{color:#61afef}:root[data-theme=dark] .hljs-built_in,:root[data-theme=dark] .hljs-title.class_,:root[data-theme=dark] .hljs-class .hljs-title{color:#e6c07b}:root[data-theme=dark] .hljs-emphasis{font-style:italic}:root[data-theme=dark] .hljs-strong{font-weight:700}:root[data-theme=dark] .hljs-link{text-decoration:underline}.blog-post[data-v-ff81e18c]{max-width:1200px;margin:0 auto;padding:0 40px;position:relative}.loading[data-v-ff81e18c]{text-align:center;padding:80px 20px;color:var(--text-tertiary);font-size:16px}.error-message[data-v-ff81e18c]{text-align:center;padding:80px 20px;color:#f44336;font-size:16px;display:flex;flex-direction:column;align-items:center;gap:20px}.post-header[data-v-ff81e18c]{margin-bottom:32px;padding-top:40px}.back-btn[data-v-ff81e18c]{padding:8px 16px;border:none;background:var(--primary-color);color:#fff;border-radius:4px;cursor:pointer;font-size:13px;transition:all .3s ease;font-weight:500;box-shadow:0 1px 3px #0000001a}.back-btn[data-v-ff81e18c]:hover{background:var(--primary-hover);box-shadow:0 2px 6px #00000026;transform:translateY(-1px)}.back-icon[data-v-ff81e18c]{width:20px;height:20px}.post-content[data-v-ff81e18c]{background:var(--card-bg);border-radius:4px;padding:48px;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);max-width:100%;overflow:hidden}.post-title[data-v-ff81e18c]{margin:0 0 20px;font-size:28px;color:var(--text-primary);font-weight:700;line-height:1.4;display:flex;align-items:center;gap:16px}.post-title .language-tag[data-v-ff81e18c]{font-size:14px;font-weight:700;background:var(--primary-color);color:#fff;padding:6px 12px;border-radius:16px;white-space:nowrap;flex-shrink:0}.post-meta[data-v-ff81e18c]{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--text-tertiary);margin-bottom:24px}.toc-sidebar[data-v-ff81e18c]{position:fixed;right:calc((100vw - 1200px)/2 - 300px);top:220px;width:260px;max-height:calc(100vh - 260px);overflow-y:auto;z-index:10}.toc-mobile[data-v-ff81e18c]{display:none}@media(max-width:1520px){.toc-sidebar[data-v-ff81e18c]{display:none}.toc-mobile[data-v-ff81e18c]{display:block;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;margin-bottom:20px;box-shadow:var(--shadow-sm);overflow:hidden}.toc-mobile-header[data-v-ff81e18c]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s ease}.toc-mobile-header[data-v-ff81e18c]:hover{background:var(--hover-bg)}.toc-mobile-title[data-v-ff81e18c]{margin:0;font-size:16px;color:var(--text-primary);font-weight:600}.toc-toggle-icon[data-v-ff81e18c]{transition:transform .3s ease;color:var(--text-secondary)}.toc-toggle-icon.open[data-v-ff81e18c]{transform:rotate(180deg)}.toc-mobile-list[data-v-ff81e18c]{list-style:none;padding:0 20px 16px;margin:0}.toc-mobile-item[data-v-ff81e18c]{margin:0 0 8px;padding-left:16px;position:relative}.toc-mobile-item[data-v-ff81e18c]:before{content:"▸";position:absolute;left:0;color:var(--primary-color);font-size:12px}.toc-mobile-link[data-v-ff81e18c]{color:var(--text-secondary);text-decoration:none;font-size:14px;line-height:1.6;transition:all .2s ease;display:inline-block}.toc-mobile-link[data-v-ff81e18c]:hover{color:var(--primary-color);transform:translate(4px)}.toc-collapse-enter-active[data-v-ff81e18c],.toc-collapse-leave-active[data-v-ff81e18c]{transition:all .3s ease;max-height:500px}.toc-collapse-enter-from[data-v-ff81e18c],.toc-collapse-leave-to[data-v-ff81e18c]{max-height:0;opacity:0}}.table-of-contents[data-v-ff81e18c]{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:20px;box-shadow:var(--shadow-sm)}.toc-title[data-v-ff81e18c]{margin:0 0 16px;font-size:16px;color:var(--text-primary);font-weight:600;border-bottom:2px solid var(--primary-color);padding-bottom:8px}.toc-list[data-v-ff81e18c]{list-style:none;padding:0;margin:0}.toc-item[data-v-ff81e18c]{margin:0 0 8px;padding-left:16px;position:relative}.toc-item[data-v-ff81e18c]:before{content:"▸";position:absolute;left:0;color:var(--primary-color);font-size:12px}.toc-link[data-v-ff81e18c]{color:var(--text-secondary);text-decoration:none;font-size:14px;line-height:1.6;transition:all .2s ease;display:inline-block}.toc-link[data-v-ff81e18c]:hover{color:var(--primary-color);transform:translate(4px)}.separator[data-v-ff81e18c]{color:var(--border-hover)}.post-category[data-v-ff81e18c]{color:var(--primary-color);font-weight:500}.post-body[data-v-ff81e18c]{font-size:15px;line-height:1.8;color:var(--text-primary);font-weight:300;margin-top:32px;word-wrap:break-word;overflow-wrap:break-word;max-width:100%}.post-body[data-v-ff81e18c] h1{font-size:24px;margin:32px 0 16px;color:var(--primary-color);font-weight:800}.post-body[data-v-ff81e18c] h2{font-size:20px;margin:28px 0 14px;color:var(--primary-color);font-weight:700}.post-body[data-v-ff81e18c] h3{font-size:18px;margin:24px 0 12px;color:var(--primary-color);font-weight:700}.post-body[data-v-ff81e18c] p{margin:0 0 16px;line-height:1.8;word-wrap:break-word;overflow-wrap:break-word}.post-body[data-v-ff81e18c] blockquote{margin:20px 0;padding:16px 20px;border-left:4px solid var(--primary-color);background:var(--hover-bg);border-radius:0 4px 4px 0;color:var(--text-secondary);font-style:italic}.post-body[data-v-ff81e18c] blockquote p{margin:0}.post-body[data-v-ff81e18c] blockquote p:not(:last-child){margin-bottom:12px}.post-body[data-v-ff81e18c] strong,.post-body[data-v-ff81e18c] b,.post-body[data-v-ff81e18c] p strong,.post-body[data-v-ff81e18c] p b,.post-body[data-v-ff81e18c] li strong,.post-body[data-v-ff81e18c] li b{color:var(--primary-color)!important;font-weight:600!important}.post-body[data-v-ff81e18c] a{color:var(--primary-color);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s ease;font-weight:500}.post-body[data-v-ff81e18c] a:hover{border-bottom-color:var(--primary-color)}.post-body[data-v-ff81e18c] a[href^=http]:not([href*=localhost]):not([href*="127.0.0.1"]):after{content:"↗";display:inline-block;margin-left:3px;font-size:.9em;font-weight:700;vertical-align:baseline;position:relative;top:-.15em;opacity:.7}.post-body[data-v-ff81e18c] del,.post-body[data-v-ff81e18c] s{color:#999;opacity:.6;text-decoration:line-through}.post-body[data-v-ff81e18c] ul{margin:16px 0;padding-left:24px;list-style-type:disc}.post-body[data-v-ff81e18c] li{margin:8px 0;line-height:1.7}.post-body[data-v-ff81e18c] .contains-task-list,.post-body[data-v-ff81e18c] ul.contains-task-list{list-style:none!important;padding-left:0;margin-left:0}.post-body[data-v-ff81e18c] .task-list-item{list-style-type:none!important;list-style:none!important;margin:8px 0;line-height:1.7;display:list-item}.post-body[data-v-ff81e18c] .task-list-item:before{content:none!important}.post-body[data-v-ff81e18c] .task-list-item::marker{content:""!important;display:none}.post-body[data-v-ff81e18c] .task-list-item label.checkbox{display:inline-flex;align-items:center;cursor:default}.post-body[data-v-ff81e18c] .task-list-item label.checkbox input[type=checkbox]{display:none}.post-body[data-v-ff81e18c] .task-list-item label.checkbox span{display:inline-block;vertical-align:middle;margin:0;line-height:16px}.post-body[data-v-ff81e18c] .task-list-item label.checkbox .checkbox-wrapper{width:16px;height:16px;margin:0 8px 0 0;padding:0;flex-shrink:0;position:relative;display:inline-flex;align-items:center;justify-content:center}.post-body[data-v-ff81e18c] .task-list-item label.checkbox .checkbox-wrapper:before{content:"";display:block;width:16px;height:16px;border:2px solid #ccc;border-radius:3px;background:var(--card-bg);transition:all .2s;box-sizing:border-box}.post-body[data-v-ff81e18c] .task-list-item label.checkbox .checkbox-wrapper:has(input[type=checkbox]:checked):before{background:var(--primary-color);border-color:var(--primary-color)}.post-body[data-v-ff81e18c] .task-list-item label.checkbox .checkbox-wrapper:has(input[type=checkbox]:checked):after{content:"✓";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#fff;font-size:12px;font-weight:700;line-height:1}.post-body[data-v-ff81e18c] code{background:var(--code-bg);padding:2px 6px;border-radius:3px;font-family:Adwaita Mono,Consolas,Monaco,Courier New,monospace;font-weight:300;font-variant-ligatures:none;font-feature-settings:"liga" 0,"calt" 0;font-size:14px;word-wrap:break-word;overflow-wrap:break-word}.post-body[data-v-ff81e18c] p code,.post-body[data-v-ff81e18c] li code,.post-body[data-v-ff81e18c] blockquote code,.post-body[data-v-ff81e18c] h1 code,.post-body[data-v-ff81e18c] h2 code,.post-body[data-v-ff81e18c] h3 code,.post-body[data-v-ff81e18c] h4 code,.post-body[data-v-ff81e18c] h5 code,.post-body[data-v-ff81e18c] h6 code,.post-body[data-v-ff81e18c] .inline-code{color:var(--code-text)}.post-body[data-v-ff81e18c] .code-wrapper{margin:20px 0;border-radius:4px;overflow:hidden;border:1px solid var(--border-color)}.post-body[data-v-ff81e18c] .code-header{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:var(--code-header-bg);border-bottom:1px solid var(--border-color)}.post-body[data-v-ff81e18c] .code-language{font-size:12px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;font-family:Adwaita Mono,Consolas,Monaco,monospace;font-variant-ligatures:none;font-feature-settings:"liga" 0,"calt" 0}.post-body[data-v-ff81e18c] .copy-button{display:flex;align-items:center;gap:6px;padding:4px 10px;background:transparent;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:12px;transition:all .2s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.post-body[data-v-ff81e18c] .copy-button:hover{background:var(--hover-bg);border-color:var(--primary-color);color:var(--primary-color)}.post-body[data-v-ff81e18c] .copy-button.copied{border-color:#4caf50;color:#4caf50}.post-body[data-v-ff81e18c] .copy-icon{width:14px;height:14px}.post-body[data-v-ff81e18c] .copy-text{font-weight:500}.post-body[data-v-ff81e18c] pre{margin:0;padding:20px;overflow-x:auto;overflow-y:hidden;font-size:14px;line-height:1.6;font-family:Adwaita Mono,Consolas,Monaco,Courier New,monospace;font-weight:300;font-variant-ligatures:none;font-feature-settings:"liga" 0,"calt" 0;max-width:100%}.post-body[data-v-ff81e18c] pre.code-block{background:#282c34}.post-body[data-v-ff81e18c] .code-header{background:#1e3a5f}:root[data-theme=light] .post-body[data-v-ff81e18c] pre.code-block{background:#fafafa}:root[data-theme=light] .post-body[data-v-ff81e18c] .code-header{background:#dbeafe}.post-body[data-v-ff81e18c] pre code{background:none;padding:0;font-size:14px;line-height:1.6;font-family:Adwaita Mono,Consolas,Monaco,Courier New,monospace;font-weight:300;font-variant-ligatures:none;font-feature-settings:"liga" 0,"calt" 0}.post-body[data-v-ff81e18c] .hljs{background:transparent;padding:0;font-family:Adwaita Mono,Consolas,Monaco,Courier New,monospace;font-weight:300;font-variant-ligatures:none;font-feature-settings:"liga" 0,"calt" 0}.post-body[data-v-ff81e18c] strong{font-weight:600;color:var(--text-primary)}.post-body[data-v-ff81e18c] a{color:var(--primary-color);text-decoration:none;border-bottom:1px solid var(--primary-color);transition:opacity .3s ease}.post-body[data-v-ff81e18c] a:hover{opacity:.8}.post-body[data-v-ff81e18c] .curryimg{display:block;max-width:600px;width:100%;height:auto;margin:20px auto;border-radius:8px;box-shadow:0 2px 8px #0000001a}.post-body[data-v-ff81e18c] .footnotes{margin-top:48px;padding-top:24px;border-top:2px solid var(--border-color);font-size:14px;color:var(--text-secondary)}.post-body[data-v-ff81e18c] .footnotes>h2{display:none}.post-body[data-v-ff81e18c] .footnotes ol{padding-left:20px}.post-body[data-v-ff81e18c] .footnotes li{margin:8px 0;line-height:1.6}.post-body[data-v-ff81e18c] .footnotes p{margin:0;display:inline}.post-body[data-v-ff81e18c] .footnote-ref{text-decoration:none;color:var(--primary-color);font-weight:500;padding:0 2px;margin:0 1px;border-radius:2px;transition:all .2s ease}.post-body[data-v-ff81e18c] .footnote-ref:hover{background:var(--hover-bg)}.post-body[data-v-ff81e18c] .footnote-backref{text-decoration:none;color:var(--primary-color);margin-left:4px;font-weight:500}.about-body[data-v-ff81e18c] a{color:var(--primary-color);text-decoration:none;border-bottom:1px solid var(--primary-color);transition:opacity .3s ease}.about-body[data-v-ff81e18c] a:hover{opacity:.8}.about-body[data-v-ff81e18c] .task-list-item{list-style-type:none!important;list-style:none!important;margin:8px 0;line-height:1.7;display:list-item}.about-body[data-v-ff81e18c] .task-list-item:before{content:none!important}.about-body[data-v-ff81e18c] .task-list-item::marker{content:""!important;display:none}.about-body[data-v-ff81e18c] .contains-task-list{list-style:none!important;padding-left:0;margin-left:0}.about-body[data-v-ff81e18c] .task-list-item label.checkbox{display:inline-flex;align-items:center;cursor:default}.about-body[data-v-ff81e18c] .task-list-item label.checkbox input[type=checkbox]{display:none}.about-body[data-v-ff81e18c] .task-list-item label.checkbox span{display:inline-block;vertical-align:middle;margin:0;line-height:16px}.about-body[data-v-ff81e18c] .task-list-item label.checkbox .checkbox-wrapper{width:16px;height:16px;margin:0 8px 0 0;padding:0;flex-shrink:0;position:relative;display:inline-flex;align-items:center;justify-content:center}.about-body[data-v-ff81e18c] .task-list-item label.checkbox .checkbox-wrapper:before{content:"";display:block;width:16px;height:16px;border:2px solid #ccc;border-radius:3px;background:var(--card-bg);transition:all .2s;box-sizing:border-box}.about-body[data-v-ff81e18c] .task-list-item label.checkbox input[type=checkbox]:checked~.checkbox-wrapper:before{background:var(--primary-color);border-color:var(--primary-color)}.about-body[data-v-ff81e18c] .task-list-item label.checkbox input[type=checkbox]:checked~.checkbox-wrapper:after{content:"✓";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#fff;font-size:12px;font-weight:700;line-height:1}.post-not-found[data-v-ff81e18c]{text-align:center;padding:80px 20px}.post-not-found p[data-v-ff81e18c]{font-size:18px;color:var(--text-tertiary);margin-bottom:24px}.about-content[data-v-ff81e18c]{background:var(--card-bg);border-radius:4px;padding:48px;box-shadow:0 1px 3px #0000000d;border:1px solid var(--border-color);max-width:1200px;margin:0 auto}.about-title[data-v-ff81e18c]{margin:0 0 20px;font-size:28px;color:var(--text-primary);font-weight:700;line-height:1.4;text-align:center}.about-divider[data-v-ff81e18c]{height:1px;background:linear-gradient(to right,transparent,var(--border-color),transparent);margin-bottom:32px}.avatar[data-v-ff81e18c]{display:block;width:100px;height:100px;margin:24px auto 0;border-radius:50%;object-fit:cover;box-shadow:0 2px 8px #0000001a}.social-links[data-v-ff81e18c]{display:flex;justify-content:center;gap:16px;margin:24px 0 32px;flex-wrap:wrap}.social-link[data-v-ff81e18c]{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--bg-color);border:1px solid var(--border-color);border-radius:50%;color:var(--text-secondary);text-decoration:none;transition:all .3s ease}.social-link[data-v-ff81e18c]:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.social-icon[data-v-ff81e18c]{width:22px;height:22px;flex-shrink:0}.about-body[data-v-ff81e18c]{text-align:left}.about-body[data-v-ff81e18c] ul{margin:16px 0!important;padding-left:24px!important;list-style-type:disc!important}.about-body[data-v-ff81e18c] li{margin:8px 0!important;line-height:1.7!important;display:list-item!important}.about-body[data-v-ff81e18c] ol{margin:16px 0;padding-left:24px}.about-body[data-v-ff81e18c] p{margin:16px 0;line-height:1.7}.about-body[data-v-ff81e18c] h2{margin:32px 0 16px;font-size:24px;font-weight:600;color:var(--text-primary)}.about-body[data-v-ff81e18c] strong{font-weight:600;color:var(--text-primary)}@media(max-width:768px){.blog-post[data-v-ff81e18c]{padding:0 16px}.toc-sidebar[data-v-ff81e18c]{margin-top:20px}.post-content[data-v-ff81e18c],.about-content[data-v-ff81e18c]{padding:20px 16px}.about-title[data-v-ff81e18c]{font-size:22px}.avatar[data-v-ff81e18c]{width:80px;height:80px;margin:20px auto 0}.social-links[data-v-ff81e18c]{gap:12px;margin:20px 0 24px}.table-of-contents[data-v-ff81e18c]{padding:16px;margin:20px 0 24px;border-radius:6px}.toc-title[data-v-ff81e18c]{font-size:16px;margin-bottom:12px}.toc-item[data-v-ff81e18c]{margin-bottom:6px;padding-left:12px}.toc-link[data-v-ff81e18c]{font-size:14px}.social-link[data-v-ff81e18c]{width:40px;height:40px}.social-icon[data-v-ff81e18c]{width:20px;height:20px}.post-title[data-v-ff81e18c]{font-size:22px}.post-body[data-v-ff81e18c]{font-size:15px}.post-body[data-v-ff81e18c] h1{font-size:20px}.post-body[data-v-ff81e18c] h2{font-size:18px}.post-body[data-v-ff81e18c] h3{font-size:16px}.post-body[data-v-ff81e18c] .code-wrapper{margin:16px -16px;border-radius:0;border-left:none;border-right:none}.post-body[data-v-ff81e18c] pre{padding:12px;font-size:13px;overflow-x:auto}.post-body[data-v-ff81e18c] .code-header{padding:6px 12px}.post-body[data-v-ff81e18c] .code-language{font-size:11px}.post-body[data-v-ff81e18c] .copy-button{padding:3px 8px;font-size:11px}.post-body[data-v-ff81e18c] code{font-size:13px}.post-body[data-v-ff81e18c] .curryimg{max-width:100%;margin:16px auto}.back-btn[data-v-ff81e18c]{font-size:14px;padding:6px 12px}}.image-preview-modal[data-v-ff81e18c]{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;animation:fadeIn-ff81e18c .3s ease}@keyframes fadeIn-ff81e18c{0%{opacity:0}to{opacity:1}}.preview-content[data-v-ff81e18c]{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center}.preview-image[data-v-ff81e18c]{max-width:100%;max-height:90vh;object-fit:contain;border-radius:8px;box-shadow:0 10px 40px #00000080}.close-btn[data-v-ff81e18c]{position:absolute;top:-50px;right:0;background:#ffffff14;border:2px solid var(--primary-color);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--primary-color);transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.close-btn[data-v-ff81e18c]:hover{background:#ffffff1f;border-color:var(--primary-hover);transform:rotate(90deg)}.back-to-top-btn[data-v-ff81e18c]{position:fixed;right:calc((100vw - 1200px)/2 - 88px);bottom:40px;width:48px;height:48px;background:var(--primary-color);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000026;transition:all .3s ease;z-index:100}.back-to-top-btn[data-v-ff81e18c]:hover{background:var(--primary-hover);transform:translateY(-4px);box-shadow:0 6px 16px #0003}.fade-enter-active[data-v-ff81e18c],.fade-leave-active[data-v-ff81e18c]{transition:opacity .3s ease}.fade-enter-from[data-v-ff81e18c],.fade-leave-to[data-v-ff81e18c]{opacity:0}@media(max-width:1520px){.back-to-top-btn[data-v-ff81e18c]{right:20px;bottom:20px}}.close-btn svg[data-v-ff81e18c]{width:20px;height:20px}@media(max-width:768px){.close-btn[data-v-ff81e18c]{top:-45px;width:36px;height:36px}.close-btn svg[data-v-ff81e18c]{width:18px;height:18px}.preview-image[data-v-ff81e18c]{max-height:85vh}}
