/* wanglianzhou.com — publications grid
   Cards sit three to a row under each year heading and are text only: title,
   authors, source, then a footer with the year and the citation count. */

.pubgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:14px 16px}
@media (max-width:999px){.pubgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.pubgrid{grid-template-columns:minmax(0,1fr);gap:12px;padding:12px}}

.pub{display:flex;flex-direction:column;min-width:0;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.pub:hover{border-color:var(--accent)}

.pub__body{flex:1;min-width:0;padding:11px 13px 10px}
.pub__t{margin:0 0 5px;font-size:13.5px;font-weight:700;line-height:1.36;overflow-wrap:anywhere}
.pub__t a{color:var(--ink)}
.pub__t a:hover{color:var(--accent);text-decoration:underline}
.pub__au{margin:0;font-size:11.5px;line-height:1.5;color:var(--ink-2);overflow-wrap:anywhere}
.pub__au b{color:var(--ink);font-weight:600}
.pub__src{margin:0 0 6px;font-size:11px;line-height:1.4;color:var(--accent);font-weight:600;
  letter-spacing:.01em;overflow-wrap:anywhere}

.pub__foot{display:flex;align-items:baseline;justify-content:space-between;gap:10px;
  padding:7px 13px;font-size:11px;color:var(--ink-3);
  background:var(--surface-2);border-top:1px solid var(--line)}
.pub__foot span:last-child{white-space:nowrap}

/* the lazy-append trigger; it must keep a little height to be observable */
#pubmore{height:1px}
