@import"https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600&family=Noto+Serif+SC:wght@400;500&family=Noto+Sans+SC:wght@300;400&display=swap";*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--canvas: #FAF9F6;--cream: #F2EFE9;--linen: #F5F2EC;--sand: #E8E3D9;--parchment: #EDE8DF;--deep: #2D2B28;--espresso: #4A4845;--dim: #6E6B66;--warm-gray: #A09D97;--faint: #C4C0BA;--terra: #C17E5A;--terra-dk: #A96B49;--terra-lt: #E8D0C0;--sage: #8FA89C;--sage-dk: #748E82;--sage-lt: #D4E0DC;--dust: #A0907A;--dust-lt: #E0D8CE;--slate: #7A8FA0;--slate-lt: #CED8E0;--moss: #7A9A7A;--moss-lt: #D0E0D0;--color-bg: var(--canvas);--color-surface: var(--cream);--color-border: var(--sand);--color-text: var(--espresso);--color-text-muted: var(--warm-gray);--color-text-faint: var(--faint);--color-accent: var(--terra);--color-accent-2: var(--sage);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 999px;--shadow-sm: 0 1px 3px rgba(45, 43, 40, .06);--shadow-md: 0 2px 8px rgba(45, 43, 40, .08);--shadow-lg: 0 4px 16px rgba(45, 43, 40, .1);--font-display: "DM Serif Display", "Noto Serif SC", Georgia, serif;--font-body: "DM Sans", "Noto Sans SC", system-ui, sans-serif;--font-cn-display: "Noto Serif SC", "DM Serif Display", serif;--font-cn-body: "Noto Sans SC", "DM Sans", sans-serif;--text-xs: 11px;--text-sm: 13px;--text-base: 15px;--text-md: 17px;--text-lg: 20px;--text-xl: 24px;--text-2xl: 32px;--text-3xl: 40px;--text-4xl: 52px;--leading-tight: 1.2;--leading-snug: 1.35;--leading-normal: 1.6;--leading-loose: 1.8}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--text-base);font-weight:300;line-height:var(--leading-normal);color:var(--espresso);background:var(--canvas);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}body:lang(zh){font-family:var(--font-cn-body)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;color:var(--deep)}a{color:inherit;text-decoration:none}.prose{font-size:18px;line-height:1.85;color:var(--espresso)}.prose:lang(zh){font-size:var(--text-md)}.prose h1,.prose h2,.prose h3{font-family:var(--font-display);color:var(--deep);margin:2em 0 .75em}.prose h1{font-size:var(--text-2xl)}.prose h2{font-size:var(--text-xl)}.prose p{margin-bottom:1.25em}.prose ul,.prose ol{padding-left:1.5em;margin-bottom:1.25em}.prose li{margin-bottom:.4em}.prose strong{font-weight:500;color:var(--deep)}.prose code{font-size:.875em;background:var(--cream);border:1px solid var(--sand);border-radius:var(--radius-sm);padding:1px 5px;color:var(--terra)}.prose pre{background:var(--cream);border:1px solid var(--sand);border-radius:var(--radius-md);padding:var(--space-4);overflow-x:auto;margin-bottom:1.25em;position:relative}.prose pre code{background:none;border:none;padding:0}.copy-btn{position:absolute;top:10px;right:10px;padding:3px 10px;font-size:11px;font-family:var(--font-sans);color:var(--warm-gray);background:var(--linen);border:1px solid var(--sand);border-radius:var(--radius-sm);cursor:pointer;opacity:0;transition:opacity .15s,color .15s;line-height:1.6;user-select:none}.prose pre:hover .copy-btn{opacity:1}.copy-btn:hover{color:var(--terra)}.copy-btn.copied{opacity:1;color:var(--sage)}.prose blockquote{border-left:3px solid var(--terra);margin:0 0 1.25em;padding-left:var(--space-4);color:var(--warm-gray);font-style:italic}.post-article:lang(zh) .lang-en,.post-article:lang(en) .lang-zh,.prose:lang(zh) .lang-en,.prose:lang(en) .lang-zh{display:none}.prose .video-embed{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;margin:1.5em 0;border-radius:var(--radius-md)}.prose .video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}nav[data-astro-cid-ymhdp2rl]{display:flex;align-items:center;justify-content:space-between;padding:0 40px;height:58px;border-bottom:.5px solid rgba(44,40,32,.1);background:transparent;flex-shrink:0;position:relative;z-index:100}.nav-logo[data-astro-cid-ymhdp2rl]{display:flex;align-items:center;gap:9px;text-decoration:none;flex:1}.nav-logo-mark[data-astro-cid-ymhdp2rl]{height:22px;width:auto}.nav-logo-word[data-astro-cid-ymhdp2rl]{font-family:var(--font-body);font-weight:600;font-size:15px;color:var(--deep)}.nav-links[data-astro-cid-ymhdp2rl]{display:flex;align-items:center;gap:24px;list-style:none}.nav-links[data-astro-cid-ymhdp2rl] a[data-astro-cid-ymhdp2rl]{font-size:15px;font-weight:400;color:var(--warm-gray);text-decoration:none;transition:color .15s}.nav-links[data-astro-cid-ymhdp2rl] a[data-astro-cid-ymhdp2rl]:hover{color:var(--deep)}.nav-right[data-astro-cid-ymhdp2rl]{display:flex;align-items:center;gap:10px;flex:1;justify-content:flex-end}.hamburger[data-astro-cid-ymhdp2rl]{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;background:none;border:none;cursor:pointer;padding:6px}.hamburger[data-astro-cid-ymhdp2rl] span[data-astro-cid-ymhdp2rl]{display:block;width:100%;height:1.5px;background:var(--deep);border-radius:2px;transition:transform .2s,opacity .2s}.hamburger[data-astro-cid-ymhdp2rl].open span[data-astro-cid-ymhdp2rl]:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.hamburger[data-astro-cid-ymhdp2rl].open span[data-astro-cid-ymhdp2rl]:nth-child(2){opacity:0}.hamburger[data-astro-cid-ymhdp2rl].open span[data-astro-cid-ymhdp2rl]:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.mobile-menu[data-astro-cid-ymhdp2rl]{display:none;flex-direction:column;background:var(--canvas);border-bottom:.5px solid rgba(44,40,32,.1);padding:8px 20px 16px;position:relative;z-index:99}.mobile-menu[data-astro-cid-ymhdp2rl].open{display:flex}.mobile-link[data-astro-cid-ymhdp2rl]{font-size:15px;font-weight:400;color:var(--espresso);text-decoration:none;padding:10px 0;border-bottom:.5px solid rgba(44,40,32,.06);transition:color .15s}.mobile-link[data-astro-cid-ymhdp2rl]:last-child{border-bottom:none}.mobile-link[data-astro-cid-ymhdp2rl]:hover{color:var(--terra)}@media(max-width:639px){nav[data-astro-cid-ymhdp2rl]{padding:0 20px}.nav-links[data-astro-cid-ymhdp2rl]{display:none}.hamburger[data-astro-cid-ymhdp2rl]{display:flex}}footer[data-astro-cid-sz7xmlte]{border-top:1px solid var(--sand);background:var(--canvas)}.footer-inner[data-astro-cid-sz7xmlte]{max-width:1080px;margin:0 auto;padding:36px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.footer-brand[data-astro-cid-sz7xmlte]{display:flex;align-items:center;gap:10px}.footer-brand-mark[data-astro-cid-sz7xmlte]{height:20px;width:auto}.footer-brand-name[data-astro-cid-sz7xmlte]{font-family:var(--font-body);font-weight:600;font-size:14px;color:var(--deep)}.footer-tagline[data-astro-cid-sz7xmlte]{font-size:11px;color:var(--faint)}@media(max-width:768px){.footer-inner[data-astro-cid-sz7xmlte]{flex-direction:column;align-items:flex-start;gap:16px}}
