.blog-toolbar{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin:18px 0}.blog-toolbar input,.blog-toolbar select{padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-card);color:var(--text-main)}.blog-toolbar input::placeholder{color:var(--text-secondary)}.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.blog-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-sm);transition:.25s}.blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.blog-card img{width:100%;height:170px;object-fit:cover}.blog-card-body{padding:14px}.chip{display:inline-block;background:var(--primary-bg);color:var(--primary-dark);padding:4px 10px;border-radius:999px;font-size:.8rem}.center{text-align:center;margin-top:20px}.ad-slot{border:2px dashed var(--border);border-radius:12px;padding:22px;text-align:center;background:var(--bg-alt);color:var(--text-secondary);margin:14px 0}.post-layout{display:grid;grid-template-columns:2.2fr 1fr;gap:24px}.post-image{width:100%;max-height:420px;object-fit:cover;border-radius:14px;margin:12px 0}.post-content{color:var(--text-main)}.post-content img{max-width:100%;height:auto}.post-content a{color:var(--primary-dark)}.post-actions{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 16px}.sticky{position:sticky;top:88px}.side-list{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.side-list a{color:var(--text-main)}.mini-blog-card{background:var(--bg-card);border:1px solid var(--border);padding:12px;border-radius:12px}.mini-blog-card img{width:100%;height:110px;object-fit:cover;border-radius:10px}
body.dark .chip{color:var(--primary)}
body.dark .post-content a{color:var(--primary)}
@media (max-width:900px){.post-layout{grid-template-columns:1fr}.blog-toolbar{grid-template-columns:1fr}}

#homeBlogHighlights{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 36px)/3);
  grid-template-columns:none;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;
  padding-bottom:6px;
}

#homeBlogHighlights > *{
  min-width:0;
  scroll-snap-align:start;
}

@media (max-width:900px){
  #homeBlogHighlights{
    grid-auto-columns:calc((100% - 18px)/2);
  }
}
