/* Match the original publication cards and their four colored actions. */
.publication-topic { margin: 30px 0 26px; }
.publication-topic h2 { margin: 0 0 26px; font-size: 30px; line-height: 1.1; font-weight: 500; }
.publication-list { padding: 0; margin: 0; list-style: none; }
.publication-card { display: flex; align-items: flex-start; gap: 20px; padding: 8px 6px; margin-bottom: 10px; border: 1px solid #ddd; border-radius: 3px; box-shadow: 0 1px 2px rgba(0,0,0,.06); position: relative; }
.publication-thumbnail { display: flex; flex: 0 0 136px; align-items: center; justify-content: center; width: 136px; height: 92px; }
.publication-thumbnail img { width: 100%; height: 100%; object-fit: contain; }
.publication-thumbnail-pending { background: #f5f5f5; color: #777; font-size: 11.5px; text-align: center; border: 1px solid #eee; }
.publication-content { flex: 1; min-width: 0; }
.publication-content h4 { font-size: 14.1px; font-weight: 500; line-height: 1.55; margin: 0 0 1px; }
.publication-authors, .publication-venue { font-size: 13.4px; line-height: 1.45; margin: 0; }
.publication-actions { display: flex; flex-wrap: wrap; gap: 5px 9px; margin-top: 3px; }
.publication-actions .buttonTT, .publication-actions .buttonAA, .publication-actions .buttonPP, .publication-actions .buttonSS { float: none; margin: 0; padding: 0; height: 18px; line-height: 16px; vertical-align: middle; font-weight: 500; overflow: hidden; }
.publication-actions button { font-family: inherit; cursor: pointer; }
.publication-actions .publication-unavailable { opacity: .95; cursor: default; }
.publication-actions .publication-unavailable:hover { color: #fff; box-shadow: none; font-weight: 500; }
.publication-abstract, .publication-bibtex { margin-top: 8px; border-radius: 5px; }
.publication-abstract { background: #adebff; }
.publication-abstract p { padding: 9px 12px; margin: 0; font-size: 14px; line-height: 1.5; }
.publication-bibtex { background: #ffe0c2; }
.publication-bibtex pre { padding: 10px 12px; margin: 0; border: 0; background: transparent; white-space: pre-wrap; overflow-wrap: anywhere; }
.publication-anchor { position: absolute; top: 0; }
.publication-archive-note, .publication-version-note { color: #666; font-size: 12px; line-height: 1.5; margin: 4px 0; }
.publication-filters { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 12px 18px; margin: 22px 0 12px; padding: 14px; border: 1px solid #ddd; border-radius: 3px; background: #fafafa; }
.publication-filters label { display: flex; flex-direction: column; gap: 5px; margin: 0; font-size: 13px; font-weight: 500; max-width: 100%; }
.publication-filters select { max-width: 100%; height: 32px; padding: 4px 8px; border: 1px solid #bbb; border-radius: 3px; background: #fff; color: #333; font-size: 13px; }
.publication-filters button { height: 32px; padding: 4px 12px; background: #fff; border: 1px solid #bbb; border-radius: 3px; font-size: 13px; }
.publication-count { margin: 0 0 20px; color: #666; font-size: 13px; }
.publication-empty { padding: 22px; border: 1px solid #ddd; border-radius: 3px; }
.publication-filters select:focus-visible, .publication-filters button:focus-visible, .publication-actions button:focus-visible, .publication-actions a:focus-visible { outline: 2px solid #003380; outline-offset: 3px; }
/* Explicitly hide filtered flex cards as well as their empty topic sections. */
[hidden] { display: none !important; }
@media (max-width: 600px) {
  .publication-card { gap: 12px; }
  .publication-thumbnail { flex-basis: 96px; width: 96px; height: 78px; }
  .publication-topic h2 { font-size: 25px; margin-bottom: 18px; }
  .publication-filters { align-items: stretch; }
  .publication-filters label { width: 100%; }
  .publication-content h4 { font-size: 14px; }
  .publication-authors, .publication-venue { font-size: 12.5px; }
}
.publication-acceptance { margin: 0; font-size: 13.4px; line-height: 1.45; }
.publication-acceptance a { color: inherit; text-decoration: none; border-bottom: 1px dotted #aaa; }
.publication-acceptance a:hover, .publication-acceptance a:focus { color: #428bca; border-bottom-color: #428bca; }
@media (max-width: 600px) { .publication-acceptance { font-size: 12.5px; } }
