.article-card{min-width:0;padding:36px 42px;line-height:1.95;overflow:hidden}.article-cover{border-radius:12px;height:180px;margin-bottom:14px}.ad-slot-post-content{border:1px solid var(--line);background:#f8fafcbf;border-radius:12px;margin:14px 0 16px;padding:10px;position:relative}.ad-slot-post-content:before{content:"Sponsored";color:#64748b;letter-spacing:.06em;margin-bottom:8px;font-size:.72rem;display:block}.ad-slot-post-content ins{min-height:160px}.markdown-article h1,.markdown-article h2,.markdown-article h3{margin-top:2em;margin-bottom:.7em}.markdown-article p,.markdown-article ul,.markdown-article ol,.markdown-article blockquote{overflow-wrap:anywhere;word-break:break-word;margin:.7em 0}.markdown-article ul,.markdown-article ol{padding-left:1.2em}.markdown-article blockquote{border-left:3px solid var(--primary);background:var(--surface-subtle);color:var(--muted);border-radius:0 8px 8px 0;padding:12px 18px}.markdown-article img{border-radius:12px;width:100%;max-width:100%;height:auto;margin:.9em 0;display:block}.markdown-article pre,.markdown-article table{max-width:100%;overflow-x:auto}.markdown-article table{display:block}.markdown-article pre{border:1px solid var(--line);color:#e5e7eb;box-sizing:border-box;background:#111827;border-radius:12px;width:100%;padding:42px 16px 14px;line-height:1.6}.markdown-article pre code{color:inherit;white-space:pre;display:block;background:0 0!important;border:0!important;padding:0!important}.code-block-wrap{max-width:100%;margin:.9em 0;position:relative;overflow:hidden}.code-block-wrap>pre{margin:0}.code-copy-btn{color:#fff;cursor:pointer;background:#1e293bd9;border:1px solid #ffffff59;border-radius:999px;padding:4px 10px;font-size:.78rem;line-height:1;position:absolute;top:10px;right:10px}.code-copy-btn.is-copied{color:#d1fae5;background:#064e3bdb;border-color:#6ee7b773}.mermaid-block{border:1px solid var(--line);background:#f8fafcc2;border-radius:12px;margin:.9em 0;padding:46px 14px 14px;position:relative;overflow-x:auto}.mermaid-actions{z-index:3;position:absolute;top:10px;right:10px}.mermaid-action-btn{color:#0f172a;cursor:pointer;background:#f8fafce0;border:1px solid #94a3b87a;border-radius:999px;padding:4px 10px;font-size:.78rem;line-height:1}.mermaid-stage{min-height:44px}.mermaid-stage>svg{max-width:100%;height:auto;margin:0 auto;display:block}.mermaid-block.is-error{border-color:#f59e0b}body.mermaid-zoom-open{overflow:hidden}.mermaid-zoom-overlay{z-index:1450;background:#020617e6;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.mermaid-zoom-panel{background:var(--card);border:1px solid #94a3b866;border-radius:14px;width:min(96vw,1460px);height:min(90vh,980px);position:relative;overflow:auto;box-shadow:0 16px 34px #0206178c}.mermaid-zoom-stage{min-width:max-content;min-height:100%;padding:56px 20px 20px}.mermaid-zoom-stage>svg{width:auto;max-width:none;height:auto;display:block}.mermaid-zoom-close{color:#0f172a;cursor:pointer;background:#ffffffeb;border:1px solid #94a3b88f;border-radius:999px;padding:5px 11px;font-size:.78rem;line-height:1;position:absolute;top:12px;right:12px}.image-zoom-wrap{margin:.9em 0;position:relative}.image-zoom-wrap>img{margin:0}.image-zoom-btn{color:#fff;cursor:pointer;z-index:2;background:#0f172aad;border:1px solid #ffffff73;border-radius:999px;padding:5px 10px;font-size:.8rem;position:absolute;top:10px;right:10px}body.image-zoom-open{overflow:hidden}.image-zoom-overlay{z-index:1400;background:#020617e6;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.image-zoom-overlay-image{object-fit:contain;cursor:default;border-radius:14px;width:auto;max-width:none;height:auto;max-height:none;box-shadow:0 14px 34px #0206178c}.image-zoom-overlay-btn{color:#0f172a;background:#fff;border:1px solid #e2e8f0;position:fixed;top:16px;bottom:auto;right:16px}@media (width<=960px){.ad-slot-post-content ins{min-height:130px}}:root.dark .ad-slot-post-content{background:#1e293bb8;border-color:#334155}:root.dark .ad-slot-post-content:before{color:#94a3b8}:root.dark .mermaid-block{background:#0f172a8a;border-color:#334155}:root.dark .mermaid-action-btn{color:#e2e8f0;background:#0f172ae0;border-color:#7dd3fc5c}:root.dark .mermaid-zoom-close{color:#e2e8f0;background:#0f172ae6;border-color:#7dd3fc6b}.article-card{font-size:16px;position:relative}.article-card .article-accent{background:var(--primary);opacity:.72;height:4px;position:absolute;top:0;left:0;right:0}.article-cover{border-radius:0;height:225px;margin:-36px -42px 28px}.article-header{border-bottom:1px solid var(--line);margin-bottom:26px;padding-bottom:27px}.article-breadcrumb{color:var(--muted);align-items:center;gap:10px;font-size:12px;display:flex}.article-breadcrumb a{color:var(--muted)}.markdown-article .article-header h1{letter-spacing:-.6px;overflow-wrap:anywhere;margin:18px 0 14px;font-size:clamp(26px,2.8vw,35px);line-height:1.5}.markdown-article .article-lead{color:var(--muted);margin:0 0 20px;font-size:14px;line-height:1.9}.article-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:11px;display:flex}.article-meta>span:last-child{align-items:center;gap:5px;margin-left:auto;display:inline-flex}.article-header .post-tags{margin-top:17px}.article-body h2{border-bottom:1px solid var(--line);padding-bottom:11px;font-size:23px;font-weight:650;line-height:1.5}.article-body h3{font-size:19px;font-weight:650;line-height:1.6}.article-body>:first-child{margin-top:0}.article-body li+li{margin-top:6px}.article-body a{text-underline-offset:4px;text-decoration:underline;text-decoration-color:var(--focus-ring)}.article-body pre{font-size:13px}.article-body table{border-collapse:collapse;margin:20px 0;font-size:13px}.article-body th,.article-body td{border:1px solid var(--line);text-align:left;padding:10px 14px}.article-body th{background:var(--surface-subtle);font-weight:600}.article-body hr{border:0;border-top:1px solid var(--line);margin:28px 0}.is-post-detail .left-col{position:sticky;top:96px}.reading-sidebar{gap:20px;min-width:0;display:grid;position:static}.toc-card{padding:22px 20px}.toc-card h2{margin:0 0 17px;font-size:15px}.toc-card nav{scrollbar-width:thin;max-height:calc(100vh - 300px);overflow-y:auto}.toc-link{border-left:2px solid var(--line);color:var(--muted);overflow-wrap:anywhere;padding:7px 10px;font-size:12px;line-height:1.7;display:block}.toc-link:hover{color:var(--primary);background:var(--surface-subtle)}.toc-link[aria-current=location]{color:var(--primary);border-left-color:var(--primary);background:var(--accent-soft);font-weight:600}.toc-link.toc-sub{padding-left:20px;font-size:11px}.toc-bottom{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:15px;font-size:11px;display:flex}.mobile-toc{display:none}.reading-progress-track{z-index:101;background:0 0;height:2px;position:fixed;top:72px;left:0;right:0}#reading-progress{background:var(--primary);width:0;height:2px}.article-end{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:32px;padding-top:20px;font-size:12px;display:flex}.article-end a{align-items:center;gap:7px;display:inline-flex}.post-navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.post-navigation a{flex-direction:column;gap:12px;padding:22px 24px;display:flex}.post-navigation a:hover{border-color:var(--focus-ring)}.post-navigation small{color:var(--muted);font-size:11px}.post-navigation strong{color:var(--text);overflow-wrap:anywhere;font-size:14px;font-weight:600;line-height:1.8}.code-copy-btn,.mermaid-action-btn,.image-zoom-btn{border-radius:6px;min-height:30px}@media (width<=960px){.mobile-toc{background:var(--surface-subtle);border:1px solid var(--line);border-radius:8px;margin-bottom:24px;padding:12px 15px;display:block}.mobile-toc>summary{cursor:pointer;color:var(--text);font-size:13px}.mobile-toc>summary span{color:var(--muted);margin-left:8px;font-size:11px}.mobile-toc nav{margin-top:12px}}@media (width<=640px){.article-card{padding:24px 21px;font-size:15px;line-height:1.9}.article-cover{height:174px;margin:-24px -21px 22px}.markdown-article .article-header h1{margin-top:15px;font-size:26px}.article-header{margin-bottom:22px;padding-bottom:22px}.article-meta>span:last-child{margin-left:0}.article-body h2{font-size:21px}.article-body h3{font-size:18px}.article-body pre{font-size:12px}.reading-progress-track{top:64px}.post-navigation{gap:10px}.post-navigation a{padding:18px 15px}.post-navigation strong{font-size:12px}}
