.blog-shell{min-height:100dvh;display:flex;flex-direction:column;background:var(--canvas);color:var(--text)}.blog-header{padding:20px 20px 8px}.blog-header,.blog-main{width:min(960px,100%);margin:0 auto}.blog-main{padding:8px 20px 40px;flex:1;min-width:0}.blog-footer{border-top:1px solid var(--border-subtle,var(--line));padding:12px 20px}.blog-kicker{margin:0 0 6px;color:var(--brand-600);font:700 10px/1.3 DM Mono,monospace;letter-spacing:.13em;text-transform:uppercase}.blog-index-header{margin:18px 0 22px;display:grid;gap:6px}.blog-index h1,.blog-post h1{margin:0;font-size:clamp(26px,4.4vw,38px);line-height:1.08;letter-spacing:-.03em;color:var(--text-strong,var(--text));text-wrap:balance}.blog-lead,.blog-summary{margin:0;color:var(--text-muted);font-size:14px;line-height:1.6;max-width:68ch}.blog-categories,.blog-tags{margin:0;display:flex;flex-wrap:wrap;gap:6px}.blog-chip{display:inline-flex;align-items:center;padding:3px 9px;border:1px solid color-mix(in srgb,var(--brand-600) 30%,var(--line));border-radius:999px;background:var(--violet-soft,var(--surface-subtle));color:var(--brand-700);font-size:11px;font-weight:700}.blog-chip.muted{border-color:var(--border-subtle,var(--line));background:var(--surface-subtle);color:var(--text-muted)}.blog-list{display:grid;gap:14px}.blog-item{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:16px;padding:14px;border:1px solid var(--border-subtle,var(--line));border-radius:14px;background:var(--surface-raised,var(--surface))}.blog-item-body{display:grid;gap:6px;min-width:0;align-content:start}.blog-item h2{margin:0;font-size:19px;line-height:1.25;letter-spacing:-.01em}.blog-item h2 a{color:var(--text-strong,var(--text));text-decoration:none}.blog-item h2 a:hover{color:var(--brand-600);text-decoration:underline;text-underline-offset:3px}.blog-cover{width:100%;height:auto;aspect-ratio:16/9;-o-object-fit:cover;object-fit:cover;border-radius:10px;border:1px solid var(--border-subtle,var(--line))}.blog-cover.wide{margin:18px 0}.blog-meta{margin:0;color:var(--text-subtle,var(--text-muted));font-size:11.5px;font-variant-numeric:tabular-nums}.blog-post-header{margin:18px 0 8px;display:grid;gap:8px}.blog-prose{max-width:72ch;font-size:15px;line-height:1.7;color:var(--text)}.blog-prose h2{margin:28px 0 10px;font-size:22px;letter-spacing:-.01em}.blog-prose h3{margin:22px 0 8px;font-size:18px}.blog-prose ol,.blog-prose p,.blog-prose ul{margin:0 0 14px}.blog-prose li{margin:0 0 6px}.blog-prose a{color:var(--brand-600);text-decoration:underline;text-underline-offset:3px}.blog-prose code{padding:2px 6px;border-radius:6px;background:var(--surface-sunken);font-size:13px}.blog-prose pre{padding:14px;border-radius:10px;background:var(--surface-sunken);overflow-x:auto}.blog-prose blockquote{margin:0 0 14px;padding:8px 14px;border-left:3px solid var(--brand-600);background:var(--surface-subtle);color:var(--text-muted)}.blog-prose table{width:100%;border-collapse:collapse;margin:0 0 14px;font-size:14px}.blog-prose td,.blog-prose th{padding:8px 10px;border-bottom:1px solid var(--border-subtle,var(--line));text-align:left}.blog-image{max-width:100%;height:auto;border-radius:10px}.blog-empty{color:var(--text-muted);font-size:14px}.blog-feeds{margin:26px 0 0;color:var(--text-muted);font-size:12px}.blog-back a,.blog-feeds a{color:var(--brand-600);font-weight:700;text-decoration:underline;text-underline-offset:3px}.blog-back{margin:26px 0 0}@media(max-width:640px){.blog-item{grid-template-columns:1fr}.blog-header,.blog-main{padding-inline:14px}}