/* Article-only taxonomy groups. Shipped as /blog/article-taxonomy.css by
   build-blog.py so blog releases don't modify the site's shared stylesheet. */
.blog-article-content .blog-article-taxonomy {
  display:grid;
  gap:0;
  min-width:0;
  margin-top:clamp(22px,3vw,30px);
  padding-top:4px;
  border-top:1px solid var(--blog-line);
}
.blog-article-content .blog-taxonomy-group {
  display:grid;
  grid-template-columns:minmax(98px,130px) minmax(0,1fr);
  gap:8px 14px;
  align-items:center;
  min-width:0;
  /* Reset the global 26px section margin that caused oversized gaps. */
  margin:0;
  padding:12px 0;
}
.blog-article-content .blog-taxonomy-group + .blog-taxonomy-group {
  border-top:1px solid var(--blog-line);
}
.blog-article-content .blog-taxonomy-group-title {
  margin:0;
  font-size:.87rem;
  line-height:1.75;
  color:var(--muted);
  font-weight:850;
  align-self:center;
}
.blog-article-content .blog-taxonomy-group .blog-post-terms {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  align-items:center;
  margin:0;
  min-width:0;
}
.blog-article-content .blog-taxonomy-group .blog-post-term {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:5px;
  min-height:44px;
  max-width:100%;
  padding:6px 12px;
  line-height:1.65;
  font-size:.84rem;
  font-weight:800;
  text-align:center;
  white-space:normal;
  overflow-wrap:anywhere;
  text-decoration:none!important;
  border-radius:10px;
  border:1px solid var(--blog-line);
  color:var(--text);
  background:var(--blog-card);
  transition:background-color .18s ease,border-color .18s ease;
}
.blog-article-content .blog-taxonomy-categories .blog-post-term {
  border-color:rgba(31,138,138,.3);
  background:var(--blog-note);
  color:var(--blog-link);
  font-weight:850;
}
.blog-article-content .blog-taxonomy-tags .blog-post-term {
  border-radius:999px;
  background:var(--blog-soft);
  color:var(--blog-link);
  font-weight:700;
}
.blog-article-content .blog-tag-hash {
  font-weight:850;
  font-size:.95em;
  color:inherit;
}
.blog-article-content .blog-taxonomy-group .blog-post-term:hover {
  background:var(--blog-note);
  border-color:var(--primary);
  transform:none;
}
.blog-article-content .blog-taxonomy-group .blog-post-term:focus-visible {
  background:var(--blog-note);
  border-color:var(--primary);
  outline:2px solid var(--primary);
  outline-offset:3px;
  transform:none;
}
@media (max-width:680px) {
  .blog-article-content .blog-taxonomy-group {
    grid-template-columns:minmax(0,1fr);
    gap:7px;
    padding:11px 0;
  }
  .blog-article-content .blog-taxonomy-group-title { align-self:auto; }
  .blog-article-content .blog-taxonomy-group .blog-post-terms { gap:7px; }
  .blog-article-content .blog-taxonomy-group .blog-post-term {
    min-height:44px;
    padding:7px 12px;
    font-size:.82rem;
  }
}
@media (prefers-reduced-motion:reduce) {
  .blog-article-content .blog-taxonomy-group .blog-post-term { transition:none; }
}
