.blog-art{display:block;width:100%;height:100%}.feature-post{display:grid;grid-template-columns:1fr 1.1fr;padding:0;overflow:hidden}.feature-art{min-height:280px;border-right:1px solid var(--border)}.feature-art img,.feature-art .blog-art{width:100%;height:100%;object-fit:cover;display:block}.feature-body{padding:clamp(2rem,4vw,3rem);display:flex;flex-direction:column;justify-content:center}@media(max-width:760px){.feature-post{grid-template-columns:1fr}.feature-art{border-right:0;border-bottom:1px solid var(--border);aspect-ratio:16/8;min-height:0}}.badge-cat{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.post-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-subtle)}.post-meta .dot{opacity:.5}.avatar-sm{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:var(--radius-full);background:var(--surface-raised);border:1px solid var(--border);font-size:10px;color:var(--text-muted)}.cat-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.filter-label{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-subtle);margin-right:.5rem}.chip{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.03em;padding:.45em .8em;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;transition:all var(--dur) var(--ease)}.chip:hover{border-color:var(--border-strong);color:var(--text)}.chip.is-on{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.chip-count{opacity:.55;margin-left:.25em}.post-card{display:flex;flex-direction:column;padding:0;overflow:hidden}.post-thumb{aspect-ratio:16 / 8;overflow:hidden;border-bottom:1px solid var(--border)}.post-thumb img,.post-thumb .blog-art{width:100%;height:100%;object-fit:cover;display:block}.post-card-body{padding:var(--space-5);display:flex;flex-direction:column;flex:1}.post-card h3{margin:0 0 .5rem;font-size:var(--text-lg)}.post-card p{flex:1;font-size:var(--text-sm);margin-bottom:var(--space-4)}.post-header{max-width:760px;margin:0 auto 2.5rem}.byline{display:flex;align-items:center;gap:.75rem;margin-top:1.5rem}.byline .avatar{width:44px;height:44px;border-radius:var(--radius-full);background:var(--surface-raised);border:1px solid var(--border);display:grid;place-items:center;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-muted)}.byline .who{font-weight:var(--weight-semibold);font-size:var(--text-sm)}.byline .role{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-subtle)}.post-hero{width:100%;max-width:1040px;margin:0 auto 2.5rem;border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden;aspect-ratio:1040 / 420}.post-hero img,.post-hero .blog-art{width:100%;height:100%;object-fit:cover;display:block}.post-layout{display:grid;grid-template-columns:220px minmax(0,720px);gap:3rem;justify-content:center}.post-body{max-width:720px}.post-toc{position:sticky;top:96px;align-self:start;height:max-content}.post-toc nav ul{list-style:none;margin:.75rem 0 0;padding:0;display:grid;gap:.5rem;border-left:1px solid var(--border)}.post-toc nav a{display:block;padding:.15rem 0 .15rem 1rem;margin-left:-1px;border-left:2px solid transparent;color:var(--text-muted);font-size:var(--text-sm);transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.post-toc nav a:hover,.post-toc nav a.is-active{color:var(--text);border-left-color:var(--border-strong)}.author-box{display:flex;gap:1rem;align-items:flex-start;padding:1.5rem;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);margin:2rem 0 1rem}.author-box .avatar{flex:none;width:48px;height:48px;border-radius:var(--radius-full);background:var(--surface);border:1px solid var(--border);display:grid;place-items:center;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-muted)}.author-box p{font-size:var(--text-sm)}.post-body :is(h2,h3){scroll-margin-top:96px}@media(max-width:920px){.post-layout{grid-template-columns:minmax(0,1fr);max-width:720px;margin-inline:auto}.post-toc{display:none}}.post-body{overflow-wrap:anywhere;word-break:break-word}.post-body img{max-width:100%;height:auto;border-radius:var(--radius-md);display:block;margin:1.5rem auto}.post-body figure{margin:1.75rem 0;max-width:100%}.post-body figcaption{font-size:var(--text-sm);color:var(--text-subtle);text-align:center;margin-top:.6rem}.post-body aside{border-left:3px solid var(--border-strong);background:var(--surface-raised);padding:1rem 1.25rem;border-radius:var(--radius-md);margin:1.75rem 0}.post-body cite{color:var(--text-muted);font-style:italic}.post-body pre{overflow-x:auto;padding:1rem;background:var(--surface-sunken);border-radius:var(--radius-md)}.post-body table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:1.75rem 0;font-size:var(--text-sm)}.post-body :is(th,td){border:1px solid var(--border);padding:.55rem .75rem;text-align:left;vertical-align:top}.post-body thead th{background:var(--surface-sunken)}.post-body .post-date{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-subtle)}@media(max-width:720px){.post-header{margin-bottom:1.75rem}.post-hero{aspect-ratio:16 / 9;margin-bottom:1.75rem}.post-body{font-size:var(--text-base)}.feature-body{padding:1.5rem}}.bk-line,.bk-card{background:var(--surface-sunken);border-radius:var(--radius-md)}.bk-line{height:.9rem;margin:.5rem 0}.bk-card{width:100%}.blog-state{text-align:center;padding:4rem 0;color:var(--text-muted)}
