.toc[data-astro-cid-u3hrrey6]{position:sticky;top:5rem;max-height:calc(100vh - 6rem);overflow-y:auto;border-left:1px solid var(--color-border-soft);padding:.2rem .2rem 1rem 1rem;font-size:.82rem}.toc-title[data-astro-cid-u3hrrey6]{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);margin-bottom:.7rem}.toc-list[data-astro-cid-u3hrrey6]{list-style:none;padding:0;margin:0}.toc-item[data-astro-cid-u3hrrey6]{margin:.35rem 0}.toc-depth-3[data-astro-cid-u3hrrey6]{padding-left:.9rem;font-size:.78rem}.toc[data-astro-cid-u3hrrey6] a[data-astro-cid-u3hrrey6]{display:block;color:var(--color-muted);line-height:1.4;transition:color .2s ease,transform .2s ease;border-left:2px solid transparent;padding-left:.5rem;margin-left:-.8rem}.toc[data-astro-cid-u3hrrey6] a[data-astro-cid-u3hrrey6]:hover{color:var(--color-fg-soft)}.toc[data-astro-cid-u3hrrey6] a[data-astro-cid-u3hrrey6].active{color:var(--color-accent);border-left-color:var(--color-accent);transform:translate(2px)}.toc[data-astro-cid-u3hrrey6]::-webkit-scrollbar{width:4px}.toc[data-astro-cid-u3hrrey6]::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}pre.mermaid{background:transparent;padding:1rem 0;margin:1.2rem 0;text-align:center;display:block;overflow-x:auto}pre.mermaid[data-mermaid-pending]{font-family:var(--font-mono);white-space:pre;background:var(--color-surface);border:1px dashed var(--color-border);border-radius:8px;padding:1rem;color:var(--color-muted);font-size:.82rem}pre.mermaid svg{max-width:100%;height:auto}.post-shell[data-astro-cid-gjtny2mx]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,46rem) minmax(0,1fr);gap:1.5rem;max-width:84rem;margin-inline:auto;padding-inline:1rem;padding-bottom:3rem}.post-rail[data-astro-cid-gjtny2mx]{min-width:0}.post-rail-right[data-astro-cid-gjtny2mx]{padding-top:2rem}.post-main[data-astro-cid-gjtny2mx]{padding-top:2rem;min-width:0}.post-header[data-astro-cid-gjtny2mx]{padding-bottom:1.4rem;margin-bottom:1.6rem;border-bottom:1px dashed var(--color-border-soft)}.post-meta-top[data-astro-cid-gjtny2mx]{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.82rem;color:var(--color-muted);margin-bottom:1rem}.back-link[data-astro-cid-gjtny2mx]{font-family:var(--font-mono);color:var(--color-fg-soft);transition:color .16s ease}.back-link[data-astro-cid-gjtny2mx]:hover{color:var(--color-accent)}.post-cat[data-astro-cid-gjtny2mx]{font-family:var(--font-mono);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-secondary)}.dot[data-astro-cid-gjtny2mx]{color:var(--color-border)}.post-title[data-astro-cid-gjtny2mx]{font-size:clamp(1.6rem,4vw,2.4rem);font-weight:600;letter-spacing:-.015em;line-height:1.2;margin:0 0 .8rem}.post-desc[data-astro-cid-gjtny2mx]{font-family:var(--font-serif);font-size:1.08rem;color:var(--color-fg-soft);line-height:1.6;margin:0 0 1rem}.post-meta[data-astro-cid-gjtny2mx]{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.82rem;color:var(--color-muted)}.post-meta[data-astro-cid-gjtny2mx] time[data-astro-cid-gjtny2mx],.post-meta[data-astro-cid-gjtny2mx] .updated[data-astro-cid-gjtny2mx]{font-family:var(--font-mono);font-size:.8rem}.post-tags[data-astro-cid-gjtny2mx]{display:inline-flex;flex-wrap:wrap;gap:.3rem}.post-body[data-astro-cid-gjtny2mx].is-zh{font-family:var(--font-serif)}.post-body[data-astro-cid-gjtny2mx].is-zh code,.post-body[data-astro-cid-gjtny2mx].is-zh pre,.post-body[data-astro-cid-gjtny2mx].is-zh .expressive-code{font-family:var(--font-mono)}.post-footer[data-astro-cid-gjtny2mx]{margin-top:2.5rem}.post-footer-row[data-astro-cid-gjtny2mx]{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-top:1rem}@media(max-width:1100px){.post-shell[data-astro-cid-gjtny2mx]{grid-template-columns:minmax(0,1fr);max-width:46rem;padding-inline:1.25rem}.post-rail-left[data-astro-cid-gjtny2mx]{display:none}.post-rail-right[data-astro-cid-gjtny2mx]{padding-top:0}.post-rail-right[data-astro-cid-gjtny2mx] .toc{position:static;border-left:none;padding-left:0;max-height:none;margin-top:1rem;padding:1rem;border:1px solid var(--color-border-soft);border-radius:10px}}
