.blog-shell{max-width:860px;margin:0 auto;padding:64px 22px 88px}.blog-shell h1{font-size:clamp(2.1rem,5vw,3.5rem);line-height:1.22;letter-spacing:-.04em;margin:12px 0 20px}.blog-shell h2{font-size:clamp(1.4rem,2.6vw,1.85rem);line-height:1.4;letter-spacing:-.02em}.blog-intro{font-size:1.17rem;color:var(--muted);line-height:1.85}.blog-meta,.blog-back{color:var(--muted);font-size:.9rem}.blog-languages{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 32px}.blog-languages a{border:1px solid var(--line);border-radius:30px;padding:5px 14px;background:var(--surface);text-decoration:none;font-size:.88rem}.blog-languages a:hover{border-color:var(--green)}.blog-demo{background:var(--surface);padding:12px;border-radius:20px;border:1px solid var(--line);margin:28px 0}.blog-demo video{width:100%;display:block;border-radius:12px}.blog-demo figcaption{font-size:.85rem;color:var(--muted);padding:10px}.blog-toc{padding:20px 26px;border-radius:18px;background:var(--soft);border:1px solid var(--line)}.blog-toc a{color:var(--green);text-decoration:none}.blog-toc li{margin:8px 0}.blog-article section{padding-top:25px}.blog-article p{font-size:1.06rem;line-height:1.95}.blog-cta{background:var(--mint);color:#153623;border-radius:20px;padding:26px;margin-top:44px}.blog-cta h2{margin-top:0}.blog-card{display:grid;grid-template-columns:minmax(160px,240px) 1fr;gap:24px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px;text-decoration:none;margin-top:35px}.blog-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}.blog-card p{color:var(--muted)}@media(max-width:650px){.blog-shell{padding-top:45px}.blog-card{grid-template-columns:1fr}}