.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);border-radius:1.25rem;padding:clamp(1rem,2.5vw,1.9rem);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 #ffffff73}.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%;line-height:1.95;font-size:clamp(1rem,.96rem + .22vw,1.1rem);color:hsl(var(--foreground) / .92);font-family:"Noto Serif SC","Source Han Serif SC",Songti SC,STSong,Georgia,Noto Sans SC,Segoe UI,system-ui,serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.blog-article-prose.blog-article-zh.prose{font-family:"Noto Serif SC","Source Han Serif SC",Songti SC,STSong,Georgia,Noto Sans SC,serif;line-height:1.95;letter-spacing:.01em;word-break:break-word}.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{font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,Georgia,Times New Roman,serif;line-height:1.82;letter-spacing:0;word-break:normal;overflow-wrap:anywhere;hyphens:auto}.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{margin:1.4rem 0 .6rem;font-family:"Noto Serif SC","Source Han Serif SC",Songti SC,STSong,serif;font-weight:600;color:hsl(var(--foreground))}.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{font-size:clamp(2rem,1.75rem + .8vw,2.6rem);letter-spacing:-.03em;line-height:1.22}.blog-article-prose.blog-article-en.prose h1{letter-spacing:-.04em;line-height:1.14;max-width:22ch;text-wrap:balance}.blog-article-prose.prose h2,.blog-article-prose.prose h3{scroll-margin-top:5rem;letter-spacing:.02em}.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{font-size:1rem;color:hsl(var(--muted-foreground));letter-spacing:0}.blog-article-prose.prose h2:before,.blog-article-prose.prose h3:before{content:"";display:inline-block;width:6px;height:6px;background-color:hsl(var(--primary));border-radius:50%;margin-right:8px;vertical-align:middle}.blog-article-prose.prose p{margin:.8rem 0;text-wrap:pretty;color:hsl(var(--foreground) / .78)}.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{margin:.4rem 0 .8rem 1.2rem;color:hsl(var(--foreground) / .76)}.blog-article-prose.prose li{margin:.3rem 0}.blog-article-prose.prose hr{border:none;height:1px;background:linear-gradient(90deg,transparent,hsl(var(--border)),transparent);margin:1.2rem 0}.blog-article-prose.prose a{color:hsl(var(--foreground) / .94);text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px;text-decoration-color:hsl(var(--primary) / .35);transition:color .18s ease,text-decoration-color .18s ease}.blog-article-prose.prose a:hover{color:hsl(var(--foreground));text-decoration-color:hsl(var(--primary) / .95)}.dark .blog-article-prose.prose a{color:hsl(var(--foreground) / .94);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));border-radius:.8rem;padding:.8rem 1rem;margin:1.2rem 0;color:hsl(var(--foreground) / .82)}.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);border-radius:.95rem;padding:1rem;overflow:auto;font-family:ui-monospace,JetBrains Mono,Roboto Mono,monospace;font-size:.9rem;color:hsl(var(--primary) / .92);box-shadow:inset 0 1px #ffffff14,0 8px 20px hsl(var(--foreground) / .05);margin:.8rem 0}.dark .blog-article-prose.prose :where(pre){background:linear-gradient(180deg,#1b1e28fa,#171a21f5);border-color:hsl(var(--border) / .96);color:hsl(var(--foreground) / .92);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-radius:.35rem;padding:.08rem .32rem;border:1px solid hsl(var(--border) / .72);font-family:ui-monospace,JetBrains Mono,monospace;font-size:.9em;color:hsl(var(--primary) / .9)}.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{display:flex;gap:.75rem;align-items:flex-start;padding:.9rem;border-radius:1rem;border:1px solid hsl(var(--border) / .42);background:linear-gradient(180deg,hsl(var(--card) / .76),hsl(var(--card) / .96));color:hsl(var(--foreground));margin:1rem 0;box-shadow:0 8px 22px hsl(var(--foreground) / .04)}.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{overflow:auto;border-radius:8px;margin:.8rem 0}.blog-article-prose.prose :where(table){width:100%;border-collapse:collapse;font-size:.95rem;color:hsl(var(--foreground) / .78);border-radius:.8rem;overflow:hidden;border:1px solid hsl(var(--border) / .68);background:hsl(var(--card) / .76)}.dark .blog-article-prose.prose :where(table){background:hsl(var(--card) / .84)}.blog-article-prose.prose :where(th),.blog-article-prose.prose :where(td){padding:.6rem .75rem;border-bottom:1px dashed hsl(var(--border))}.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-radius:1rem;border:1px solid hsl(var(--border) / .65);box-shadow:0 10px 24px hsl(var(--foreground) / .08)}.dark .blog-article-prose.prose :where(img){box-shadow:0 18px 34px #03040757}.blog-article-prose.prose .card{background:hsl(var(--card));border-radius:1rem;padding:1rem;border:1px solid hsl(var(--border));box-shadow:0 6px 12px hsl(var(--foreground) / .04)}.blog-article-prose.prose .panel{background:hsl(var(--card));border-radius:.85rem;padding:.75rem;border:1px solid hsl(var(--border))}.blog-article-prose.prose .center{display:flex;justify-content:center;align-items:center}.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}}
