/* Neural Process follow-up papers (research/neural-processes.html, made by tools/np_followups/build.py).
   A timeline per section: the year in the margin, papers beside it. Uses the site tokens; big headings get the CRT
   treatment from style.css. */
.papers { padding: 36px 0 80px; }
.papers a { color: inherit; }

.papers-stats { display: flex; flex-wrap: wrap; gap: 10px 40px; margin: 28px 0 0; grid-column: 1; }
.papers-stats div { display: flex; flex-direction: column-reverse; }
.papers-stats dt { font: 400 11px var(--label); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.papers-stats dd { margin: 0; font: 700 38px/1 var(--display); color: var(--accent); text-shadow: 0 0 .3em var(--glow); }

.papers-about { grid-column: 1; margin-top: 26px; max-width: 46em; font-size: 15px; line-height: 1.55; }
.papers-about summary { cursor: pointer; font: 400 14px var(--label); color: var(--accent); list-style: none; }
.papers-about summary::-webkit-details-marker { display: none; }
.papers-about[open] summary { margin-bottom: 6px; }
.papers-about h3 { font: 400 12px var(--label); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin: 18px 0 6px; }
.papers-about ul { margin: 0; padding-left: 18px; }
.papers-about li { margin-bottom: 6px; }
.papers-about li::marker { color: var(--accent); }

/* filter bar: stays at the top while scrolling */
.papers-tools { position: sticky; top: 0; z-index: 5; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 20px; align-items: center;
  margin: 0 -12px 12px; padding: 14px 12px 12px; background: rgba(25,23,20,.94); backdrop-filter: blur(6px); border-bottom: 1px solid var(--rule); }
.papers-search { display: flex; align-items: baseline; gap: 10px; font: 400 15px var(--display); color: var(--accent); }
.papers-search span { white-space: nowrap; text-shadow: 0 0 .3em var(--glow); }
.papers-search input { flex: 1; min-width: 0; font: 400 16px var(--display); color: var(--phos); caret-color: var(--accent); background: none;
  border: 0; border-bottom: 1px dashed rgba(238,166,107,.5); padding: 4px 2px; text-shadow: 0 0 .3em var(--glow); }
.papers-search input:focus { outline: none; border-bottom-style: solid; }
.papers-search input::placeholder { color: rgba(238,166,107,.4); text-shadow: none; }
.papers-count { margin: 0; font: 400 12px var(--label); letter-spacing: .06em; color: var(--muted); }
.papers-chips { grid-column: 1 / -1; display: flex; gap: 6px 18px; overflow-x: auto; scrollbar-width: none; font: 400 12px var(--label); }
.papers-chips::-webkit-scrollbar { display: none; }
.papers-chips a { white-space: nowrap; text-decoration: none; color: var(--text); }
.papers-chips a:hover { color: var(--accent); }
.papers-chips b { font-weight: 400; color: var(--accent); }

.papers-sec { padding-top: 26px; scroll-margin-top: 110px; }
html .papers-h { font-size: 44px; line-height: .95; margin: 0 0 14px; display: flex; flex-wrap: wrap; gap: 0 .4em; }
.papers-intro { max-width: 44em; font-size: 16px; line-height: 1.5; color: var(--text); margin: 0 0 28px; }

/* a year and its papers */
.papers-year { display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: 20px; padding: 18px 0 8px; border-top: 1px solid var(--rule); }
.papers-year h4 { margin: 0; position: sticky; top: 104px; align-self: start; font: 700 22px var(--display); color: var(--accent); text-shadow: 0 0 .3em var(--glow); }
.papers-year ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 22px 32px; }
.paper { break-inside: avoid; }
.paper[hidden], .papers-year[hidden], .papers-sec[hidden], .papers-fold[hidden] { display: none; }
.paper-title { display: inline; font-weight: 600; font-size: 16px; line-height: 1.35; color: var(--white); text-decoration: none;
  background-image: linear-gradient(var(--accent), var(--accent)); background-size: 0 1px; background-repeat: no-repeat; background-position: 0 100%;
  transition: background-size .25s, color .15s; }
.paper-title:hover, .paper-title:focus-visible { color: var(--accent); background-size: 100% 1px; outline: none; }
.paper-title::after { content: " ↗"; font-size: .8em; color: var(--muted); }
.paper-meta { margin: 6px 0 4px; font: 400 12px/1.45 var(--label); color: var(--muted); }
.paper-meta span { color: var(--accent); }
.paper-what { margin: 0; font-size: 14px; line-height: 1.5; color: var(--text); }
.paper mark { background: rgba(238,166,107,.28); color: inherit; }

/* domains and theses fold out */
.papers-fold { border-top: 1px solid var(--rule); scroll-margin-top: 110px; }
.papers-fold summary { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 16px 0; cursor: pointer; list-style: none; }
.papers-fold summary::-webkit-details-marker { display: none; }
.papers-fold-t { font: 700 22px var(--display); text-transform: uppercase; letter-spacing: -.02em; color: var(--white); }
.papers-fold-t::before { content: "+ "; color: var(--accent); }
.papers-fold[open] .papers-fold-t::before { content: "– "; }
.papers-fold summary:hover .papers-fold-t { color: var(--accent); }
.papers-fold-n { font: 400 13px var(--label); color: var(--accent); white-space: nowrap; }
.papers-fold .papers-year:first-of-type { border-top-style: dashed; }
.papers-empty { font: 400 16px var(--display); color: var(--accent); margin-top: 40px; }

@media (max-width: 760px) {
  .papers-stats dd { font-size: 30px; }
  html .papers-h { font-size: 32px; }
  .papers-tools { grid-template-columns: minmax(0, 1fr); }
  .papers-year { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .papers-year h4 { position: static; }
  .papers-year ol { grid-template-columns: minmax(0, 1fr); }
  .papers-fold-t { font-size: 18px; }
}
