.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}.language-switch[data-astro-cid-a2mxz4y6]{align-items:center;border:1px solid transparent;border-radius:999px;color:var(--color-text-secondary);display:inline-flex;font-family:inherit;font-size:.78rem;font-weight:650;height:2.75rem;justify-content:center;letter-spacing:.04em;min-width:2.75rem;padding:0 .6rem;text-decoration:none;transition:color .18s ease,background-color .18s ease,border-color .18s ease,transform .18s ease}.language-switch[data-astro-cid-a2mxz4y6]:hover{background:var(--color-bg-soft);border-color:var(--color-border-light);color:var(--color-accent);transform:translateY(-1px)}:root{--color-bg: #faf9f7;--color-bg-soft: #f3f1ed;--color-bg-muted: #e8e6e1;--color-text: #1a1a1a;--color-text-secondary: #5a5a5a;--color-text-muted: #8a8a8a;--color-accent: #b45309;--color-accent-soft: rgba(180, 83, 9, .12);--color-border: #e0ddd6;--color-border-light: #ecebe6;--font-sans-en: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-sans-zh: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-display-en: "Source Serif 4", Georgia, "Times New Roman", serif;--font-display-zh: "Noto Serif SC", "Songti SC", STSong, serif}html{scroll-behavior:smooth}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-sans-en);min-height:100vh}html[lang=zh-CN] body{font-family:var(--font-sans-zh)}.font-serif{font-family:var(--font-display-en)}html[lang=zh-CN] .font-serif{font-family:var(--font-display-zh)}.font-sans{font-family:var(--font-sans-en)}html[lang=zh-CN] .font-sans{font-family:var(--font-sans-zh)}.site-wordmark{font-family:Cormorant Garamond,Georgia,Times New Roman,serif}.site-mark{width:1.5rem;height:1.5rem;flex:none;-o-object-fit:contain;object-fit:contain}@media(max-width:350px){.site-wordmark{gap:0}.site-wordmark-text{display:none}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}::-moz-selection{background:var(--color-accent-soft);color:var(--color-text)}::selection{background:var(--color-accent-soft);color:var(--color-text)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.grain-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;opacity:.05;z-index:1000;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E")}.prose{max-width:100%;font-size:1.125rem;line-height:1.8}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{color:var(--color-text);font-family:var(--font-display-en);font-weight:600;line-height:1.3;margin-top:2em;margin-bottom:.5em}.prose h1{font-size:2rem}.prose h2{font-size:1.75rem}.prose h3{font-size:1.375rem}.prose p{color:var(--color-text);line-height:1.8;margin-bottom:1.5em}html[lang=zh-CN] .prose h1,html[lang=zh-CN] .prose h2,html[lang=zh-CN] .prose h3,html[lang=zh-CN] .prose h4,html[lang=zh-CN] .prose h5,html[lang=zh-CN] .prose h6{font-family:var(--font-display-zh);line-height:1.42}html[lang=zh-CN] .prose p,html[lang=zh-CN] .prose li{line-height:1.9}.prose a{color:var(--color-accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s ease}.prose a:hover{border-bottom-color:var(--color-accent)}.prose strong{color:var(--color-text);font-weight:600}.prose code{color:var(--color-accent);background:var(--color-accent-soft);padding:.125rem .375rem;border-radius:.25rem;font-size:.875em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.prose pre{background:#1a1a1a;border-radius:.5rem;padding:1.25rem;overflow-x:auto;margin:2em 0;border:1px solid var(--color-border-light)}.prose pre code{background:transparent;padding:0;color:#e5e5e5;font-size:.875rem;line-height:1.6}.prose ul,.prose ol{margin:1.5em 0;padding-left:1.5em}.prose li{margin:.75em 0;line-height:1.7}.prose ul li::marker{color:var(--color-accent)}.prose ol li::marker{color:var(--color-accent);font-weight:600}.prose blockquote{border-left:3px solid var(--color-accent);padding-left:1.5rem;margin:2em 0;font-style:italic;color:var(--color-text-secondary);font-size:1.125rem}.prose hr{border:none;border-top:1px solid var(--color-border);margin:2.5em 0}.prose table{width:100%;border-collapse:collapse;margin:2em 0;font-size:.9em}.prose th{background:var(--color-bg-soft);text-align:left;padding:1rem 1.25rem;border-bottom:2px solid var(--color-border);font-weight:600;color:var(--color-text);font-family:inherit;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.prose td{padding:1rem 1.25rem;border-bottom:1px solid var(--color-border-light)}.prose tr:hover td{background:var(--color-bg-soft)}.prose img{border-radius:.5rem;margin:2em 0;max-width:100%;height:auto;box-shadow:0 4px 20px #00000014}.prose .avatar-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:2em 0}.prose .avatar-pair figure{margin:0}.prose .avatar-pair img{display:block;width:100%;margin:0;aspect-ratio:1;-o-object-fit:cover;object-fit:cover}.prose .avatar-pair figcaption{margin-top:.625rem;color:var(--color-text-secondary);font-size:.875rem;line-height:1.5;text-align:center}pre.mermaid{display:flex;justify-content:center;margin:2rem 0;padding:1.5rem;background:var(--color-bg-soft);border-radius:8px;border:1px solid var(--color-border-light);overflow-x:auto}pre.mermaid svg{max-width:100%;height:auto}pre.mermaid:not([data-processed]){background:var(--color-bg-soft)}@media(max-width:639px){.prose{font-size:1.0625rem}.prose .avatar-pair{grid-template-columns:1fr;gap:1.5rem}}
