@import url("https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;1,6..72,400&family=Figtree:wght@400;500;600;700&display=swap");

/* Design tokens — matches the site theme (self-contained fallbacks). */
#publications{
  --green:#2A5235;--green-d:#1d3a26;--green-l:#3d6b47;
  --ink:#222831;--bg:#F8F9FA;--box:#FFFFFF;--rule:#dfe3e6;
  --muted:#5b656e;--sand:#eef1ed;
  --p-serif:"Newsreader",Georgia,serif;--p-sans:"Figtree",system-ui,sans-serif;
}
#publications,#publications *{box-sizing:border-box}
#publications{font-family:var(--p-sans);color:var(--ink)}

/* ── controls ── */
#publications .pub-controls{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid var(--rule)}
#publications .pub-search{flex:1 1 280px;min-width:0;font:400 16px/1.5 var(--p-sans);color:var(--ink);background:#fff;border:1px solid var(--rule);border-radius:2px;padding:12px 14px}
#publications .pub-search:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(42,82,53,.12)}
#publications .pub-years{display:flex;flex-wrap:wrap;gap:6px}
#publications .pub-chip{font:600 12.5px/1 var(--p-sans);color:var(--green);background:#fff;border:1px solid var(--rule);border-radius:999px;padding:8px 13px;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}
#publications .pub-chip:hover{border-color:var(--green)}
#publications .pub-chip.is-active{background:var(--green);border-color:var(--green);color:#fff}
#publications .pub-count{flex:1 1 100%;font-size:13px;color:var(--muted);margin:0}

/* ── list ── */
#publications .year-group{margin-bottom:12px}
#publications .year-head{font-family:var(--p-serif);font-weight:500;font-size:24px;color:var(--green);margin:26px 0 6px;padding-bottom:8px;border-bottom:2px solid var(--sand)}
#publications .year-group:first-of-type .year-head{margin-top:0}

#publications .pub{padding:18px 0;border-bottom:1px solid var(--rule)}
#publications .pub-title{font-family:var(--p-serif);font-weight:500;font-size:19px;line-height:1.3;margin:0 0 6px;color:var(--ink)}
#publications .pub-meta{font-size:14.5px;line-height:1.55;color:var(--muted);margin:0 0 10px}
#publications .pub-authors{color:var(--ink)}
#publications .pub-src{font-style:italic}
#publications .pub-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
#publications .pub-doi{display:inline-flex;align-items:center;gap:6px;font:600 12.5px/1 var(--p-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--green);background:var(--sand);border:1px solid var(--rule);border-radius:2px;padding:7px 12px;text-decoration:none}
#publications .pub-doi:hover{background:var(--green);color:#fff;border-color:var(--green)}
#publications .pub-badge{font:600 11px/1 var(--p-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--green-d);background:#fff;border:1px solid #cfe0d5;border-radius:2px;padding:6px 10px}

#publications .pub-empty{font-size:16px;color:var(--muted);padding:30px 0}

@media(max-width:640px){
  #publications .pub-controls{gap:10px}
  #publications .pub-title{font-size:18px}
}
