/* Neurohaven Publications Library — v046 */
.publications-hero .page-hero-copy { max-width: 48rem; }
.publications-hero-stats { display:flex; flex-wrap:wrap; gap:.625rem; margin-top:1.25rem; }
.publications-hero-stat { display:inline-flex; align-items:center; gap:.5rem; padding:.5rem .75rem; border:.0625rem solid var(--line); border-radius:999rem; background:rgba(7,11,24,.38); color:var(--ink-dim); font-family:var(--font-mono); font-size:.6875rem; letter-spacing:.04em; backdrop-filter:blur(.75rem); }
.publications-hero-stat strong { color:var(--accent); font-size:.75rem; }

.publications-layout { display:grid; gap:clamp(2rem,4vw,3.5rem); }
.publications-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(18rem,.42fr); gap:clamp(1.5rem,3vw,3rem); align-items:start; }
.publications-intro-copy { max-width:52rem; }
.publications-intro-copy h2 { margin-bottom:1rem; }
.publications-intro-copy p:last-child { margin-bottom:0; }
.publications-local-note { border:.0625rem solid rgba(52,215,238,.22); background:linear-gradient(145deg,rgba(52,215,238,.08),rgba(139,156,255,.05)); border-radius:var(--radius); padding:1.125rem 1.25rem; box-shadow:var(--shadow-glow); }
.publications-local-note strong { display:block; color:var(--ink); margin-bottom:.35rem; }
.publications-local-note p { margin:0; color:var(--muted); font-size:.875rem; }

.publications-controls { position:sticky; top:calc(var(--header-h) + .75rem); z-index:20; display:grid; grid-template-columns:minmax(18rem,1fr) minmax(12rem,.32fr) minmax(8.5rem,.2fr) minmax(9.5rem,.22fr); gap:.625rem; padding:.75rem; border:.0625rem solid var(--line); border-radius:var(--radius); background:color-mix(in srgb,var(--bg-2) 88%, transparent); backdrop-filter:blur(1.125rem) saturate(135%); box-shadow:0 .75rem 2.5rem rgba(0,0,0,.22); }
.publications-searchbox { position:relative; min-width:0; align-self:end; }
.publications-searchbox svg { position:absolute; left:.875rem; top:50%; width:1rem; height:1rem; transform:translateY(-50%); color:var(--muted); pointer-events:none; }
.publications-searchbox input { width:100%; min-height:3.3rem; padding:.78rem 2.75rem .78rem 2.5rem; border:.0625rem solid rgba(142,164,205,.18); border-radius:.86rem; background:linear-gradient(145deg,color-mix(in srgb,var(--panel-solid) 94%,var(--accent) 6%),var(--panel-solid)); color:var(--ink); font:inherit; font-size:.875rem; outline:none; box-shadow:inset 0 .0625rem 0 rgba(255,255,255,.025); }
.publications-searchbox input::placeholder { color:color-mix(in srgb,var(--muted) 78%,transparent); }
.publications-filter-select { display:grid; gap:.28rem; min-width:0; cursor:pointer; }
.publications-filter-label { padding-left:.18rem; color:var(--muted); font-family:var(--font-mono); font-size:.56rem; font-weight:700; letter-spacing:.11em; line-height:1; text-transform:uppercase; }
.publications-select-shell { position:relative; display:block; min-width:0; }
.publications-controls select { appearance:none; -webkit-appearance:none; width:100%; min-height:2.62rem; padding:.62rem 2.45rem .62rem .78rem; border:.0625rem solid rgba(142,164,205,.18); border-radius:.8rem; background:linear-gradient(145deg,color-mix(in srgb,var(--panel-solid) 94%,var(--accent-3) 6%),var(--panel-solid)); color:var(--ink-dim); font:inherit; font-size:.8rem; font-weight:650; outline:none; cursor:pointer; box-shadow:inset 0 .0625rem 0 rgba(255,255,255,.025),0 .35rem 1rem rgba(0,0,0,.08); transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease; }
.publications-controls select:hover { border-color:rgba(52,215,238,.28); background:linear-gradient(145deg,color-mix(in srgb,var(--panel-solid) 90%,var(--accent) 10%),color-mix(in srgb,var(--panel-solid) 96%,var(--accent-3) 4%)); color:var(--ink); }
.publications-select-chevron { position:absolute; right:.88rem; top:50%; width:.48rem; height:.48rem; border-right:.1rem solid var(--accent); border-bottom:.1rem solid var(--accent); transform:translateY(-68%) rotate(45deg); pointer-events:none; opacity:.9; }
.publications-searchbox input:focus,
.publications-controls select:focus-visible { border-color:rgba(52,215,238,.72); box-shadow:0 0 0 .1875rem rgba(52,215,238,.11),inset 0 .0625rem 0 rgba(255,255,255,.035); }
.publications-filter-select:focus-within .publications-filter-label { color:var(--accent); }
.publications-controls select option { background:var(--panel-solid); color:var(--ink); }
.publications-clear { position:absolute; right:.55rem; top:50%; transform:translateY(-50%); width:1.8rem; height:1.8rem; border:0; border-radius:50%; background:transparent; color:var(--muted); font-size:1.2rem; cursor:pointer; }
.publications-clear:hover { color:var(--ink); background:var(--panel); }
.publications-countbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:.75rem; color:var(--muted); font-size:.8125rem; }
.publications-countbar strong { color:var(--ink-dim); }
.publications-reset { border:0; background:transparent; color:var(--accent); font:inherit; cursor:pointer; padding:0; }

.publications-category-index { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.625rem; }
.publications-category-index a { display:grid; gap:.25rem; padding:.875rem 1rem; border:.0625rem solid var(--line); border-radius:.75rem; background:var(--panel); color:var(--ink-dim); min-width:0; }
.publications-category-index a:hover { border-color:rgba(52,215,238,.35); background:var(--panel-2); }
.publications-category-index strong { color:var(--ink); font-size:.825rem; line-height:1.25; }
.publications-category-index span { color:var(--muted); font-family:var(--font-mono); font-size:.625rem; }

.publications-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.875rem; align-items:stretch; }
.publication-card { display:grid; grid-template-rows:auto 1fr auto; min-width:0; border:.0625rem solid var(--line); border-radius:var(--radius); overflow:hidden; background:linear-gradient(160deg,var(--panel-solid),color-mix(in srgb,var(--panel-solid) 82%,var(--accent-3) 4%)); transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.publication-card:hover { transform:translateY(-.125rem); border-color:rgba(52,215,238,.3); box-shadow:var(--shadow-glow); }
.publication-card__preview { display:block; aspect-ratio:16/7; overflow:hidden; background:var(--bg-2); border-bottom:.0625rem solid var(--line); }
.publication-card__preview img { width:100%; height:100%; object-fit:cover; object-position:top center; display:block; filter:saturate(.85) contrast(1.03); transition:transform .35s ease,filter .35s ease; }
.publication-card:hover .publication-card__preview img { transform:scale(1.018); filter:saturate(1) contrast(1.04); }
.publication-card__body { padding:1rem 1.05rem .85rem; display:grid; align-content:start; gap:.65rem; }
.publication-card__meta { display:flex; flex-wrap:wrap; gap:.35rem .5rem; align-items:center; color:var(--muted); font-family:var(--font-mono); font-size:.625rem; letter-spacing:.035em; text-transform:uppercase; }
.publication-card__meta time { color:var(--accent-2); }
.publication-card__peer { display:inline-flex; align-items:center; padding:.16rem .42rem; border-radius:999rem; background:rgba(139,156,255,.12); color:#b7c0ff; border:.0625rem solid rgba(139,156,255,.22); }
.publication-card h3 { font-size:1rem; line-height:1.25; letter-spacing:-.012em; }
.publication-card__category { color:var(--muted); font-size:.75rem; line-height:1.4; }
.publication-card__actions { display:flex; align-items:center; gap:.45rem; padding:.75rem 1.05rem 1rem; border-top:.0625rem solid var(--line); }
.publication-card__actions a { display:inline-flex; align-items:center; justify-content:center; min-height:2.25rem; padding:.48rem .7rem; border:.0625rem solid var(--line); border-radius:.625rem; color:var(--ink-dim); font-size:.75rem; font-weight:700; }
.publication-card__actions a:first-child { background:linear-gradient(120deg,rgba(52,215,238,.13),rgba(127,230,208,.08)); border-color:rgba(52,215,238,.28); color:var(--accent); }
.publication-card__actions a:hover { border-color:var(--accent); color:var(--accent); }
.publication-card[hidden] { display:none !important; }
.publications-empty { padding:2rem; border:.0625rem dashed var(--line-strong); border-radius:var(--radius); text-align:center; color:var(--muted); }

.publications-fulltext { border-top:.0625rem solid var(--line); padding-top:clamp(1.5rem,3vw,2.5rem); }
.publications-fulltext__head { display:flex; justify-content:space-between; gap:1.25rem; align-items:flex-end; margin-bottom:1rem; }
.publications-fulltext__head h2 { font-size:1.35rem; }
.publications-fulltext__head p { margin:.3rem 0 0; font-size:.875rem; }
.publications-fulltext__status { color:var(--muted); font-family:var(--font-mono); font-size:.6875rem; white-space:nowrap; }
.publications-fulltext__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.publication-text-result { display:grid; grid-template-columns:5.25rem minmax(0,1fr); gap:.875rem; padding:.75rem; border:.0625rem solid var(--line); border-radius:.875rem; background:var(--panel); }
.publication-text-result img { width:5.25rem; aspect-ratio:3/4; object-fit:cover; object-position:top; border-radius:.5rem; border:.0625rem solid var(--line); }
.publication-text-result__copy { min-width:0; }
.publication-text-result__copy strong { display:block; color:var(--ink); line-height:1.3; margin-bottom:.35rem; }
.publication-text-result__copy p { font-size:.75rem; line-height:1.48; margin:0 0 .55rem; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.publication-text-result__copy a { font-size:.75rem; font-weight:700; }

.publications-special { border-top:.0625rem solid var(--line); padding-top:clamp(2rem,4vw,3.25rem); }
.publications-special-head { display:flex; justify-content:space-between; gap:1.5rem; align-items:end; margin-bottom:1.25rem; }
.publications-special-head h2 { font-size:1.55rem; }
.publications-special-head p { max-width:42rem; margin:.4rem 0 0; }
.publications-resource-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.875rem; }
.publications-resource-card { border:.0625rem solid var(--line); border-radius:var(--radius); overflow:hidden; background:var(--panel); min-width:0; }
.publications-resource-card__image { display:block; aspect-ratio:16/9; overflow:hidden; background:var(--bg-2); border-bottom:.0625rem solid var(--line); }
.publications-resource-card__image img { width:100%; height:100%; object-fit:cover; object-position:top; }
.publications-resource-card__body { padding:1rem; }
.publications-resource-card__kind { color:var(--accent); font-family:var(--font-mono); font-size:.625rem; text-transform:uppercase; letter-spacing:.09em; }
.publications-resource-card h3 { margin:.35rem 0 .7rem; font-size:1rem; line-height:1.3; }
.publications-resource-card__actions { display:flex; flex-wrap:wrap; gap:.45rem; }
.publications-resource-card__actions a { font-size:.75rem; font-weight:700; padding:.48rem .65rem; border:.0625rem solid var(--line); border-radius:.625rem; }
.publications-video { padding:1rem; }
.publications-video .article-youtube-playlist { margin:0; }

.publications-peer-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.625rem; }
.publications-peer-list a { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:.85rem 1rem; border:.0625rem solid var(--line); border-radius:.75rem; background:var(--panel); color:var(--ink-dim); }
.publications-peer-list a:hover { border-color:rgba(139,156,255,.4); background:var(--panel-2); }
.publications-peer-list span { color:var(--muted); font-family:var(--font-mono); font-size:.625rem; white-space:nowrap; }

/* v158 — admin action dock: never competes with the front-end editor toolbar */
.publications-admin-dock {
  position:fixed;
  right:max(1rem,var(--shell-x));
  bottom:1rem;
  z-index:60;
  pointer-events:none;
}
.publications-admin-dock__inner { width:auto; max-width:none; margin:0; padding:0; }
.publications-admin-link {
  position:static;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2.5rem;
  padding:.6rem .85rem;
  border:.0625rem solid rgba(52,215,238,.3);
  border-radius:.75rem;
  background:rgba(7,11,24,.96);
  color:var(--accent);
  font-size:.75rem;
  font-weight:700;
  line-height:1.15;
  box-shadow:var(--shadow-glow);
  pointer-events:auto;
}
.publications-admin-link:hover,
.publications-admin-link:focus-visible { border-color:var(--accent); color:var(--ink); outline:none; }

/* In edit mode this becomes real layout, not another floating layer. */
body.nh-fe-active .publications-admin-dock {
  position:relative;
  inset:auto;
  z-index:2;
  width:100%;
  margin:0;
  padding-top:clamp(.8rem,1.5vw,1.2rem);
  pointer-events:auto;
}
body.nh-fe-active .publications-admin-dock__inner {
  width:100%;
  max-width:var(--shell);
  margin:0 auto;
  padding-inline:var(--shell-x);
  display:flex;
  justify-content:flex-end;
  align-items:center;
}
body.nh-fe-active .publications-admin-link {
  flex:0 0 auto;
  box-shadow:0 .45rem 1.25rem rgba(0,0,0,.22);
}
@media (max-width:40rem) {
  body.nh-fe-active .publications-admin-dock__inner { justify-content:stretch; }
  body.nh-fe-active .publications-admin-link { width:100%; }
}

@media (max-width:72rem) {
  .publications-category-index { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .publications-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .publications-controls { grid-template-columns:minmax(14rem,1fr) minmax(11rem,.5fr) minmax(8rem,.35fr); }
  .publications-filter-select--sort { grid-column:1/-1; }
}
@media (max-width:52rem) {
  .publications-intro { grid-template-columns:1fr; }
  .publications-controls { position:relative; top:auto; grid-template-columns:1fr 1fr; }
  .publications-searchbox { grid-column:1/-1; }
  .publications-category-index { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .publications-fulltext__grid,.publications-peer-list { grid-template-columns:1fr; }
  .publications-resource-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:40rem) {
  .publications-controls { grid-template-columns:1fr; }
  .publications-searchbox,.publications-filter-select--sort { grid-column:auto; }
  .publications-category-index,.publications-grid,.publications-resource-grid { grid-template-columns:1fr; }
  .publication-card__preview { aspect-ratio:16/8; }
  .publications-fulltext__head,.publications-special-head { align-items:flex-start; flex-direction:column; }
  .publication-text-result { grid-template-columns:4rem minmax(0,1fr); }
  .publication-text-result img { width:4rem; }
}

/* v054 — richer archive copy and edit-state helpers */
.publication-card{position:relative}.publication-card__description{margin:.6rem 0 0;color:var(--muted);font-size:.82rem;line-height:1.58}.nh-fe-active .publication-card__description:empty{min-height:2.5rem;border:.0625rem dashed rgba(127,230,208,.22);border-radius:.5rem}

/* v074: generic document-search result visuals */
.publication-text-result__visual { width:5.25rem; min-height:7rem; display:grid; place-items:center; overflow:hidden; border-radius:.5rem; border:.0625rem solid var(--line); background:linear-gradient(145deg,color-mix(in srgb,var(--panel-solid) 92%,var(--accent) 8%),var(--panel-solid)); }
.publication-text-result__visual img { width:100%; height:100%; min-height:7rem; aspect-ratio:3/4; object-fit:cover; object-position:top; border:0; border-radius:0; }
.publication-text-result__filetype { display:grid; place-items:center; width:100%; min-height:7rem; padding:.45rem; color:var(--accent); font-family:var(--font-mono); font-size:.64rem; font-weight:800; line-height:1.25; text-align:center; letter-spacing:.07em; }
.publication-text-result__snippet { overflow-wrap:anywhere; }


/* v165 — self-service publication cover fallback */
.publication-card__preview-fallback {
  width:100%;
  height:100%;
  display:grid;
  place-content:center;
  gap:.45rem;
  padding:1rem;
  text-align:center;
  color:var(--ink);
  background:linear-gradient(145deg,var(--panel-2),var(--bg-2));
}
.publication-card__preview-fallback strong { font-family:var(--font-mono); font-size:clamp(1.35rem,3vw,2rem); letter-spacing:.12em; }
.publication-card__preview-fallback small { color:var(--muted); font-size:.72rem; letter-spacing:.04em; }

/* ---------- v167 Step 5 light-mode publication imagery ---------- */
/* Publication covers can be extremely dark. In light mode soften their tonal
   range so the transition from cover art to the pale archive surface is less
   abrupt while preserving the artwork and its legibility. */
[data-theme="light"] .publication-card__preview,
[data-theme="light"] .publications-resource-card__image,
[data-theme="light"] .publication-text-result__visual {
  background: #eef4f8;
}
[data-theme="light"] .publication-card__preview img,
[data-theme="light"] .publications-resource-card__image img,
[data-theme="light"] .publication-text-result img,
[data-theme="light"] .publication-text-result__visual img {
  filter: saturate(.90) contrast(.92) brightness(1.08);
}
[data-theme="light"] .publication-card:hover .publication-card__preview img {
  filter: saturate(.96) contrast(.95) brightness(1.08);
}
