.blog-article-prose,.blog-article-prose *,.blog-article-prose :before,.blog-article-prose :after{box-sizing:border-box}.blog-article-shell{border:1px solid hsl(var(--border) / .7);background:radial-gradient(120% 100% at 100% 0%, hsl(var(--primary) / .045) 0%, transparent 40%), linear-gradient(180deg, hsl(var(--card) / .94), hsl(var(--card) / .9));box-shadow:0 14px 35px hsl(var(--foreground) / .06), inset 0 1px 0 #ffffff73;border-radius:1.25rem;padding:clamp(1rem,2.5vw,1.9rem)}.dark .blog-article-shell{border-color:hsl(var(--border) / .9);background:radial-gradient(120% 110% at 100% 0%, hsl(var(--primary) / .14) 0%, transparent 42%), linear-gradient(180deg, hsl(var(--card) / .94), hsl(var(--card) / .88));box-shadow:0 24px 60px #03040757,inset 0 1px #ffffff0a}.blog-article-prose.prose{height:100%;color:hsl(var(--foreground) / .92);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-family:Noto Serif SC,Source Han Serif SC,Songti SC,STSong,Georgia,Noto Sans SC,Segoe UI,system-ui,serif;font-size:clamp(1rem,.96rem + .22vw,1.1rem);line-height:1.95}.blog-article-prose.blog-article-zh.prose{letter-spacing:.01em;word-break:break-word;font-family:Noto Serif SC,Source Han Serif SC,Songti SC,STSong,Georgia,Noto Sans SC,serif;line-height:1.95}.blog-article-prose.blog-article-zh.prose p{text-indent:0}.blog-article-prose.blog-article-zh.prose p+p{text-indent:2em}.blog-article-prose.blog-article-en.prose{letter-spacing:0;word-break:normal;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,Georgia,Times New Roman,serif;line-height:1.82}.blog-article-prose.prose>:first-child{margin-top:0!important}.blog-article-prose.prose>:last-child{margin-bottom:0!important}.blog-article-prose.prose h1,.blog-article-prose.prose h2,.blog-article-prose.prose h3,.blog-article-prose.prose h4{color:hsl(var(--foreground));margin:1.4rem 0 .6rem;font-family:Noto Serif SC,Source Han Serif SC,Songti SC,STSong,serif;font-weight:600}.blog-article-prose.blog-article-en.prose h1,.blog-article-prose.blog-article-en.prose h2,.blog-article-prose.blog-article-en.prose h3,.blog-article-prose.blog-article-en.prose h4{font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,Georgia,Times New Roman,serif}.blog-article-prose.prose h1{letter-spacing:-.03em;font-size:clamp(2rem,1.75rem + .8vw,2.6rem);line-height:1.22}.blog-article-prose.blog-article-en.prose h1{letter-spacing:-.04em;text-wrap:balance;max-width:22ch;line-height:1.14}.blog-article-prose.prose h2,.blog-article-prose.prose h3{letter-spacing:.02em;scroll-margin-top:5rem}.blog-article-prose.blog-article-en.prose h2,.blog-article-prose.blog-article-en.prose h3{letter-spacing:-.015em;text-wrap:balance}.blog-article-prose.prose h2{font-size:clamp(1.6rem,1.45rem + .45vw,1.95rem)}.blog-article-prose.prose h3{font-size:clamp(1.2rem,1.12rem + .3vw,1.4rem)}.blog-article-prose.prose h4{color:hsl(var(--muted-foreground));letter-spacing:0;font-size:1rem}.blog-article-prose.prose h2:before,.blog-article-prose.prose h3:before{content:"";background-color:hsl(var(--primary));vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:8px;display:inline-block}.blog-article-prose.prose p{text-wrap:pretty;color:hsl(var(--foreground) / .78);margin:.8rem 0}.dark .blog-article-prose.prose p{color:hsl(var(--foreground) / .82)}.blog-article-prose.blog-article-en.prose p,.blog-article-prose.blog-article-en.prose li{max-width:68ch}.blog-article-prose.prose ul,.blog-article-prose.prose ol{color:hsl(var(--foreground) / .76);margin:.4rem 0 .8rem 1.2rem}.blog-article-prose.prose li{margin:.3rem 0}.blog-article-prose.prose hr{background:linear-gradient(90deg, transparent, hsl(var(--border)), transparent);border:none;height:1px;margin:1.2rem 0}.blog-article-prose.prose a{color:hsl(var(--foreground) / .94);text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:hsl(var(--primary) / .35);text-decoration-color:hsl(var(--primary) / .35);transition:color .18s,text-decoration-color .18s}.blog-article-prose.prose a:hover{color:hsl(var(--foreground));-webkit-text-decoration-color:hsl(var(--primary) / .95);text-decoration-color:hsl(var(--primary) / .95)}.dark .blog-article-prose.prose a{color:hsl(var(--foreground) / .94);-webkit-text-decoration-color:hsl(var(--primary) / .55);text-decoration-color:hsl(var(--primary) / .55)}.blog-article-prose.prose blockquote{border-left:4px solid hsl(var(--primary) / .55);background:linear-gradient(180deg, hsl(var(--muted) / .28), hsl(var(--muted) / .42));color:hsl(var(--foreground) / .82);border-radius:.8rem;margin:1.2rem 0;padding:.8rem 1rem}.dark .blog-article-prose.prose blockquote{background:linear-gradient(180deg, hsl(var(--muted) / .56), hsl(var(--muted) / .78));color:hsl(var(--foreground) / .9)}.blog-article-prose.blog-article-en.prose blockquote{font-style:italic}.blog-article-prose.prose :where(pre){background:linear-gradient(180deg, hsl(var(--accent-foreground) / .96), hsl(var(--accent-foreground) / .9));border:1px solid hsl(var(--border) / .68);color:hsl(var(--primary) / .92);box-shadow:inset 0 1px 0 #ffffff14, 0 8px 20px hsl(var(--foreground) / .05);border-radius:.95rem;margin:.8rem 0;padding:1rem;font-family:ui-monospace,JetBrains Mono,Roboto Mono,monospace;font-size:.9rem;overflow:auto}.dark .blog-article-prose.prose :where(pre){border-color:hsl(var(--border) / .96);color:hsl(var(--foreground) / .92);background:linear-gradient(#1b1e28fa,#171a21f5);box-shadow:inset 0 1px #ffffff08,0 18px 32px #0304074d}.blog-article-prose.prose :where(code):not(pre code){background:hsl(var(--accent-foreground) / .94);border:1px solid hsl(var(--border) / .72);color:hsl(var(--primary) / .9);border-radius:.35rem;padding:.08rem .32rem;font-family:ui-monospace,JetBrains Mono,monospace;font-size:.9em}.dark .blog-article-prose.prose :where(code):not(pre code){background:hsl(var(--accent) / .82);color:hsl(var(--foreground) / .92)}.blog-article-prose.blog-article-en.prose :where(code):not(pre code){font-size:.88em}.blog-article-prose.prose .callout{border:1px solid hsl(var(--border) / .42);background:linear-gradient(180deg, hsl(var(--card) / .76), hsl(var(--card) / .96));color:hsl(var(--foreground));box-shadow:0 8px 22px hsl(var(--foreground) / .04);border-radius:1rem;align-items:flex-start;gap:.75rem;margin:1rem 0;padding:.9rem;display:flex}.dark .blog-article-prose.prose .callout{background:linear-gradient(180deg, hsl(var(--card) / .68), hsl(var(--card) / .88));border-color:hsl(var(--border) / .82);box-shadow:0 16px 30px #04070b33}.blog-article-prose.prose .callout .emoji{font-size:1.3rem;line-height:1}.blog-article-prose.prose .callout .content{color:hsl(var(--muted-foreground))}.blog-article-prose.prose .callout.info{border-left:4px solid hsl(var(--primary))}.blog-article-prose.prose .callout.success{border-left:4px solid #22c55e}.blog-article-prose.prose .callout.warn{border-left:4px solid #fbbf24}.blog-article-prose.prose .callout.danger{border-left:4px solid #ef4444}.blog-article-prose.prose .table-wrap{border-radius:8px;margin:.8rem 0;overflow:auto}.blog-article-prose.prose :where(table){border-collapse:collapse;width:100%;color:hsl(var(--foreground) / .78);border:1px solid hsl(var(--border) / .68);background:hsl(var(--card) / .76);border-radius:.8rem;font-size:.95rem;overflow:hidden}.dark .blog-article-prose.prose :where(table){background:hsl(var(--card) / .84)}.blog-article-prose.prose :where(th),.blog-article-prose.prose :where(td){border-bottom:1px dashed hsl(var(--border));padding:.6rem .75rem}.blog-article-prose.prose :where(thead th){color:hsl(var(--foreground));background:hsl(var(--muted) / .62)}.dark .blog-article-prose.prose :where(thead th){background:hsl(var(--muted) / .92)}.blog-article-prose.prose :where(img){border:1px solid hsl(var(--border) / .65);box-shadow:0 10px 24px hsl(var(--foreground) / .08);border-radius:1rem}.dark .blog-article-prose.prose :where(img){box-shadow:0 18px 34px #03040757}.blog-article-prose.prose .card{background:hsl(var(--card));border:1px solid hsl(var(--border));box-shadow:0 6px 12px hsl(var(--foreground) / .04);border-radius:1rem;padding:1rem}.blog-article-prose.prose .panel{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.85rem;padding:.75rem}.blog-article-prose.prose .center{justify-content:center;align-items:center;display:flex}.blog-article-prose.prose .mono{font-family:ui-monospace,monospace}.blog-article-secondary+.blog-article-secondary{margin-top:1.2rem}.blog-article-secondary{content-visibility:auto;contain-intrinsic-size:320px}@media (max-width:640px){.blog-article-shell{border-radius:1rem;padding:.95rem .9rem}}
