.blog-section .container{max-width:780px}.blog-index-head,.blog-post-head{text-align:left;margin-bottom:22px}.blog-title{font-size:clamp(28px,5vw,40px);line-height:1.15;letter-spacing:-.01em;margin:6px 0 10px;text-wrap:balance}.blog-lede{color:var(--text-dim);font-size:17px;line-height:1.6;margin:0}.blog-crumbs a{color:var(--text-dim);font-size:14px;text-decoration:none}.blog-crumbs a:before{content:"← "}.blog-crumbs a:hover{color:var(--accent)}.blog-meta{color:var(--text-dim);font-size:14px;margin:0 0 10px}.blog-tags{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:8px 0 0}.blog-tag{display:inline-block;padding:3px 10px;border:1px solid var(--line);border-radius:999px;background:var(--bg-raised);color:var(--text-dim);font-size:13px;text-decoration:none;line-height:1.5}.blog-tag:hover,.blog-tag.is-current{border-color:var(--accent);color:var(--accent)}.blog-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}.blog-list{display:grid;gap:16px}.blog-card{display:grid;grid-template-columns:1fr;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-panel);overflow:hidden}.blog-card-cover img{display:block;width:100%;aspect-ratio:1200 / 630;object-fit:cover;background:var(--bg-raised)}.blog-card-body{padding:16px 18px 18px}.blog-card-title{font-size:21px;line-height:1.3;margin:0 0 6px}.blog-card-title a{color:var(--text);text-decoration:none}.blog-card-title a:hover{color:var(--accent)}.blog-card-text{color:var(--text-dim);margin:0;line-height:1.6}@media(min-width:720px){.blog-card:has(.blog-card-cover){grid-template-columns:240px 1fr}.blog-card-cover img{height:100%;aspect-ratio:auto;min-height:150px}}.blog-empty{border:1px dashed var(--line-strong);border-radius:var(--radius);padding:22px;color:var(--text-dim);background:var(--bg-panel)}.blog-empty p{margin:0 0 8px}.blog-empty p:last-child{margin:0}.blog-pager{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:26px;font-size:15px}.blog-pager-at{color:var(--text-faint)}.blog-cover{margin:0 0 26px}.blog-cover img{display:block;width:100%;height:auto;aspect-ratio:1200 / 630;object-fit:cover;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-raised)}.blog-body.prose{max-width:none;font-size:17px;line-height:1.7}.blog-body.prose p,.blog-body.prose ul,.blog-body.prose ol{color:var(--text);margin:0 0 18px}.blog-body.prose ol{padding-left:24px}.blog-body.prose h2{font-size:26px;line-height:1.25;margin:36px 0 12px}.blog-body.prose h3{font-size:20px;margin:28px 0 10px}.blog-body.prose h4{font-size:17px;margin:22px 0 8px}.blog-body.prose a{color:var(--accent)}.blog-body.prose img{max-width:100%;height:auto;border-radius:8px}.blog-body.prose blockquote{margin:0 0 18px;padding:4px 0 4px 16px;border-left:3px solid var(--accent);color:var(--text-dim)}.blog-body.prose blockquote p{color:inherit}.blog-body.prose pre{background:var(--bg-input);border:1px solid var(--line);border-radius:8px;padding:14px 16px;overflow-x:auto;margin:0 0 18px;font-size:14px;line-height:1.55}.blog-body.prose pre code{background:none;border:0;padding:0;font-size:inherit}.blog-body.prose hr{border:0;border-top:1px solid var(--line);margin:30px 0}.blog-body.prose table{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:15px;display:block;overflow-x:auto}.blog-body.prose th,.blog-body.prose td{border:1px solid var(--line);padding:6px 10px;text-align:left}.blog-embed{margin:0 0 22px}.blog-embed-frame{position:relative;aspect-ratio:16 / 10;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--canvas-bg)}.blog-embed-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.blog-embed figcaption{color:var(--text-dim);font-size:14px;margin-top:8px}.blog-embed-link a{display:inline-block;padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-panel);text-decoration:none}.blog-post-foot{margin-top:36px;padding-top:22px;border-top:1px solid var(--line)}.blog-share{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.blog-share-label{color:var(--text-dim);font-size:14px}.blog-share ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}.blog-share a{display:inline-block;padding:5px 12px;border:1px solid var(--line);border-radius:999px;color:var(--text);font-size:14px;text-decoration:none}.blog-share a:hover{border-color:var(--accent);color:var(--accent)}.blog-related h2{font-size:17px;margin:26px 0 8px}.blog-related ul{margin:0;padding-left:20px;color:var(--text-dim);line-height:1.7}.blog-preview-banner{margin:0 0 18px;padding:10px 14px;border:1px solid var(--chip-warn-line);background:var(--chip-warn-bg);color:var(--chip-warn-fg);border-radius:var(--radius);font-size:14px}@media(max-width:600px){.blog-body.prose{font-size:16px}.blog-body.prose h2{font-size:22px}}
