/* Publication-only overrides. Teasers, complete text and links remain static. */
.pub {
  grid-template-columns: 136px minmax(0, 1fr);
  gap: 14px;
  padding: 12px;
  background: var(--subtle);
  border: 1px solid var(--line);
  border-radius: 5px;
  box-shadow: 0 2px 8px var(--shadow);
}
.pub + .pub { margin-top: 12px; }
.pub h3 { font-size: 17px; line-height: 1.3; margin: 2px 0 5px; }
.pub p { margin: 4px 0; line-height: 1.4; }
.pub .description { font-size: 13px; }
.pub .resource-links { margin-top: 4px; gap: 0 10px; }
.pub .paper-notes { margin: 5px 0; }
.pub-image { position: relative; }
.venue-tag {
  position: absolute;
  inset: 4px auto auto 4px;
  max-width: calc(100% - 8px);
  padding: 2px 7px;
  border-radius: 2px 0 3px 0;
  background: var(--sage);
  color: var(--ink);
  box-shadow: 0 2px 3px var(--shadow);
  font: 600 11px/1.5 "IBM Plex Mono", monospace;
  overflow-wrap: anywhere;
}
.pub.first-author {
  background: var(--mint);
  border-radius: 5px;
}
@media (max-width: 600px) {
  .pub { grid-template-columns: 1fr; gap: 8px; }
  .pub-image { max-width: 230px; }
  .pub h3 { font-size: 17px; }
}
