.blog-page{--blog-ink:color-mix(in oklab, var(--foreground) 88%, var(--background));--blog-muted:var(--muted-foreground);--blog-rule:var(--border);--blog-measure:680px;--blog-rail:220px;padding-block:48px 96px}.blog-intro{padding-bottom:32px}.blog-eyebrow{color:var(--brand-ink);margin-bottom:16px;font-size:14px;font-weight:500}.blog-intro h1{letter-spacing:-.04em;text-wrap:balance;margin:0 0 18px;font-size:clamp(2rem,4vw,3.25rem);font-weight:600;line-height:1.15}.blog-intro p:not(.blog-eyebrow){color:var(--blog-muted);font-size:18px;line-height:1.65}.blog-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 36px;display:grid}.blog-entry{flex-direction:column;min-width:0;display:flex}.blog-entry-body{flex-direction:column;flex:1;display:flex}.blog-cover{aspect-ratio:16/9;background:var(--card);border-radius:14px;margin-bottom:24px;display:block;overflow:hidden}.blog-cover img{object-fit:cover;width:100%;height:100%;transition:transform .25s}@media (prefers-reduced-motion:no-preference){.blog-cover:hover img{transform:scale(1.025)}}.blog-article-cover{aspect-ratio:16/9;object-fit:cover;border-radius:14px;width:100%;height:auto;margin-bottom:48px;display:block}.blog-entry-meta{color:var(--blog-muted);flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:14px;font-size:12px;display:flex}.blog-entry-category{color:var(--brand-ink);font-weight:500}.blog-entry-body h2{letter-spacing:-.025em;text-wrap:pretty;margin:0 0 14px;font-size:clamp(22px,2.2vw,28px);font-weight:600;line-height:1.3}.blog-entry-body h2 a:hover,.blog-read-link:hover{color:var(--brand-ink)}.blog-entry-summary{color:var(--blog-muted);margin:0 0 24px;font-size:16px;line-height:1.7}.blog-entry-footer{border-top:1px solid var(--blog-rule);justify-content:space-between;align-items:center;gap:16px;margin-top:auto;padding-top:18px;display:flex}.blog-read-link{align-items:center;gap:8px;font-size:14px;font-weight:500;display:inline-flex}.blog-entry a:focus-visible{outline:2px solid var(--ring);outline-offset:5px;border-radius:3px}[data-blog-language=zh-CN]{display:none}html[data-locale=zh-CN] [data-blog-language=zh-CN]{display:block}html[data-locale=zh-CN] [data-blog-language=en]:has(~[data-blog-language=zh-CN]){display:none}[data-blog-language][hidden]{display:none!important}@media (width<=760px){.blog-list{grid-template-columns:minmax(0,1fr);gap:40px}.blog-article-cover{margin-bottom:32px}}.blog-byline{color:var(--blog-muted);flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:14px;display:inline-flex}.blog-byline-avatar{background:var(--card);width:28px;height:28px;box-shadow:inset 0 0 0 1px var(--blog-rule);border-radius:50%;place-items:center;display:inline-grid}.blog-byline-avatar img{width:16px;height:16px}.blog-byline-author{color:var(--foreground);font-weight:500}.blog-byline-dot{opacity:.6}.blog-article{width:100%;max-width:calc(var(--blog-measure) + var(--blog-rail) + 80px);margin-inline:auto}.blog-article-header{max-width:var(--blog-measure);border-bottom:1px solid var(--blog-rule);margin-bottom:48px;padding-bottom:32px}.blog-breadcrumb{color:var(--blog-muted);align-items:center;gap:8px;margin-bottom:22px;font-size:14px;display:flex}.blog-breadcrumb a:hover{color:var(--foreground)}.blog-breadcrumb>span:last-child{color:var(--brand-ink);font-weight:500}.blog-article-header h1{letter-spacing:-.045em;text-wrap:balance;margin:0 0 20px;font-size:clamp(2.25rem,4.4vw,3.25rem);font-weight:600;line-height:1.08}.blog-article-zh{color:var(--blog-muted);margin-bottom:16px;font-size:17px;line-height:1.6}.blog-article-lead{letter-spacing:-.01em;color:var(--blog-muted);text-wrap:pretty;margin:0 0 28px;font-size:clamp(19px,1.9vw,22px);line-height:1.5}.blog-article-layout{grid-template-columns:minmax(0, var(--blog-measure)) var(--blog-rail);justify-content:space-between;align-items:start;gap:80px;display:grid}.blog-rail{gap:28px;font-size:13px;display:grid;position:sticky;top:104px}.blog-rail-facts{gap:14px;margin:0;display:grid}.blog-rail-facts dt{color:var(--blog-muted);margin-bottom:2px}.blog-rail-facts dd{color:var(--foreground);margin:0}.blog-toc{border-top:1px solid var(--blog-rule);padding-top:24px}.blog-toc>p{color:var(--foreground);margin:0 0 12px;font-weight:600}.blog-toc ol{border-left:1px solid var(--blog-rule);margin:0;padding:0;list-style:none}.blog-toc a{color:var(--blog-muted);border-left:1px solid #0000;margin-left:-1px;padding:6px 0 6px 14px;line-height:1.45;transition:color .15s,border-color .15s;display:block}.blog-toc a:hover{color:var(--foreground)}.blog-toc a[aria-current]{border-left-color:var(--brand-orange);color:var(--foreground);font-weight:500}.blog-rail-actions{border-top:1px solid var(--blog-rule);gap:4px;padding-top:24px;display:grid}.blog-rail .blog-rail-action{width:fit-content;color:var(--blog-muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:4px 0;font-size:13px;display:inline-flex}.blog-rail .blog-rail-action:hover{color:var(--foreground)}.blog-prose{min-width:0;color:var(--blog-ink);font-feature-settings:"kern", "liga";hanging-punctuation:first;font-size:18px;line-height:1.7}.blog-prose>*{max-width:68ch}.blog-prose>:first-child{margin-top:0}.blog-prose p{color:inherit;text-wrap:pretty;margin:0 0 1.25em}.blog-prose h2{letter-spacing:-.03em;color:var(--foreground);text-wrap:balance;margin:2.4em 0 .7em;scroll-margin-top:104px;font-size:clamp(1.5rem,2.4vw,1.75rem);font-weight:600;line-height:1.22}.blog-prose h3{letter-spacing:-.02em;color:var(--foreground);margin:2em 0 .6em;scroll-margin-top:104px;font-size:20px;font-weight:600;line-height:1.35}.blog-prose ul,.blog-prose ol{margin:0 0 1.5em;padding-left:1.4em}.blog-prose ul{list-style:outside}.blog-prose ol{list-style:decimal}.blog-prose li{margin-bottom:.55em;padding-left:.3em}.blog-prose li::marker{color:var(--blog-muted);font-variant-numeric:tabular-nums}.blog-prose ol>li::marker{color:var(--brand-ink);font-weight:600}.blog-prose li>ul,.blog-prose li>ol{margin-top:.55em;margin-bottom:.55em}.blog-prose strong{color:var(--foreground);font-weight:600}.blog-prose a{color:var(--foreground);text-decoration:underline;text-decoration-color:color-mix(in oklab, var(--brand-orange) 55%, transparent);text-underline-offset:4px;text-decoration-thickness:1.5px;transition:color .15s,text-decoration-color .15s}.blog-prose a:hover{color:var(--brand-ink);text-decoration-color:currentColor}.blog-prose blockquote{border-left:2px solid var(--brand-orange);color:var(--foreground);margin:2em 0;padding:2px 0 2px 22px;font-size:1.15em;line-height:1.55}.blog-prose code:not(pre code){background:var(--secondary);color:var(--foreground);border-radius:5px;padding:2px 6px;font-family:Geist Mono Variable,monospace;font-size:.85em}.blog-prose pre{background:var(--card);box-shadow:inset 0 0 0 1px var(--blog-rule);max-width:100%;color:var(--foreground);border-radius:12px;margin:1.75em 0 2em;padding:22px 24px;font:13.5px/1.65 Geist Mono Variable,monospace;overflow-x:auto}.blog-prose hr{border:0;border-top:1px solid var(--blog-rule);margin:3em 0}.blog-prose img{border-radius:12px}.blog-prose table{border-collapse:collapse;table-layout:fixed;width:100%;max-width:100%;margin:2em 0 2.25em;font-size:14px;line-height:1.6}.blog-prose thead th{text-align:left;color:var(--foreground);border-bottom:1px solid var(--foreground);vertical-align:bottom;padding:12px 14px;font-weight:600}.blog-prose tbody td{border-bottom:1px solid var(--blog-rule);vertical-align:top;color:var(--copy-color);overflow-wrap:break-word;padding:14px}.blog-prose tbody td:first-child{color:var(--foreground);font-weight:500}.blog-article-footer{max-width:var(--blog-measure);border-radius:var(--surface-radius,16px);background:var(--card);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px 28px;margin-top:72px;padding:32px;display:flex}.blog-article-footer h2{letter-spacing:-.025em;margin:0 0 6px;font-size:22px;line-height:1.25}.blog-article-footer p{max-width:44ch;color:var(--blog-muted);margin:0;font-size:15px;line-height:1.55}.blog-article-actions{flex-wrap:wrap;gap:10px;display:flex}@media (width<=1080px){.blog-article{max-width:var(--blog-measure)}.blog-article-layout{grid-template-columns:minmax(0,1fr)}.blog-rail{display:none}.blog-entry{min-width:0}.blog-entry-outline{max-width:58ch}}@media (width<=960px){.blog-prose table{-webkit-overflow-scrolling:touch;table-layout:auto;display:block;overflow-x:auto}.blog-prose th,.blog-prose td{min-width:170px}}@media (width<=760px){.blog-page{padding-block:40px 72px}.blog-intro{padding-bottom:32px}.blog-intro p:not(.blog-eyebrow){font-size:17px}.blog-entry{padding-block:0}.blog-entry-meta{gap:8px 14px}.blog-entry-meta>*+:before{display:none}.blog-entry-summary{font-size:17px}.blog-article-header{margin-bottom:32px;padding-bottom:24px}.blog-prose{font-size:17px}.blog-prose pre{padding:16px;font-size:12px}.blog-article-footer{flex-direction:column;align-items:flex-start;padding:24px}}
