/*
 * 13-publications.css — Publications list page
 * ──────────────────────────────────────────────
 */

/* ══ Year groups ══════════════════════════════════════════════════════════════ */

.pub-year-group {
  margin-bottom: var(--sp-12);
}

.pub-year-label {
  font-family:    var(--font-display);
  font-size:      var(--text-xl);
  font-weight:    400;
  color:          var(--color-text-muted);
  margin-bottom:  var(--sp-5);
  padding-bottom: var(--sp-3);
  border-bottom:  1px solid var(--color-border);
}

.pub-list {
  display:        flex;
  flex-direction: column;
  gap:            var(--sp-8);
}


/* ══ Individual entry ═════════════════════════════════════════════════════════ */

.pub-entry {
  display:   flex;
  gap:       var(--sp-6);
  align-items: flex-start;
}

/* Optional thumbnail */
.pub-thumb {
  flex-shrink: 0;
  width:       120px;
}
.pub-thumb img {
  width:         100%;
  border-radius: var(--radius-md);
  border:        1px solid var(--color-border);
  aspect-ratio:  4/3;
  object-fit:    cover;
}

.pub-body { flex: 1; min-width: 0; }


/* ══ Entry parts ══════════════════════════════════════════════════════════════ */

.pub-award {
  display:        inline-block;
  font-size:      var(--text-xs);
  font-weight:    600;
  letter-spacing: 0.04em;
  color:          var(--color-accent);
  background:     var(--color-accent-light);
  padding:        0.2em 0.65em;
  border-radius:  100px;
  margin-bottom:  var(--sp-2);
}

.pub-title {
  font-family:  var(--font-display);
  font-size:    var(--text-lg);
  font-weight:  400;
  line-height:  1.3;
  color:        var(--color-text);
  margin-bottom: var(--sp-2);
}

.pub-authors {
  font-size:     var(--text-sm);
  color:         var(--color-text-muted);
  line-height:   1.5;
  margin-bottom: var(--sp-1);
}
.pub-authors strong {
  color:       var(--color-text);
  font-weight: 600;
}

.pub-venue {
  font-size:    var(--text-sm);
  color:        var(--color-text-muted);
  margin-bottom: var(--sp-3);
  display:      flex;
  align-items:  center;
  gap:          var(--sp-2);
  flex-wrap:    wrap;
}

.pub-doi {
  color:           var(--color-accent);
  text-decoration: none;
  font-weight:     500;
}
.pub-doi:hover { text-decoration: underline; }

/* Type badge */
.pub-type {
  font-size:      var(--text-xs);
  font-weight:    600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding:        0.2em 0.55em;
  border-radius:  var(--radius-sm);
  border:         1px solid;
}
.pub-type-journal    { color: #1d6b44; background: #e8f5ee; border-color: #b7dfc8; }
.pub-type-conference { color: #1a4f8a; background: #e6eef8; border-color: #b3ccec; }
.pub-type-workshop   { color: #6b4c1d; background: #f8f0e6; border-color: #dfcdb3; }
.pub-type-preprint   { color: #5a1d6b; background: #f2e8f5; border-color: #d4b3df; }

/* Abstract collapsible */
.pub-abstract {
  margin-block: var(--sp-3);
}
.pub-abstract summary {
  font-size:   var(--text-sm);
  font-weight: 500;
  color:       var(--color-text-muted);
  user-select: none;
  display:     inline-flex;
  align-items: center;
  gap:         var(--sp-1);
}
.pub-abstract summary::before {
  content:     '▶';
  font-size:   0.6em;
  transition:  transform var(--transition);
}
.pub-abstract[open] summary::before { transform: rotate(90deg); }
.pub-abstract summary:hover { color: var(--color-accent); }
.pub-abstract > p {
  margin-top:  var(--sp-3);
  font-size:   var(--text-sm);
  color:       var(--color-text-muted);
  line-height: 1.65;
  padding:     var(--sp-4);
  background:  var(--color-bg-subtle);
  border-radius: var(--radius-md);
  border-left: 3px solid var(--color-border-strong);
}

/* Link row */
.pub-links {
  display:   flex;
  flex-wrap: wrap;
  gap:       var(--sp-2);
  margin-top: var(--sp-3);
}


/* ══ Responsive ══════════════════════════════════════════════════════════════ */

@media (max-width: 640px) {
  .pub-entry  { flex-direction: column; }
  .pub-thumb  { width: 100%; max-width: 200px; }
}
