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