/* Publications archive controls: a single, stable two-row filter toolbar.
   The full toolbar sticks naturally; no scroll-triggered layout replacement. */
body:has(.pub-controls) main.paper-shell{
  width:min(calc(100% - 48px),1540px);
}
html.pub-enhanced .pub-controls{
  position:sticky;
  top:var(--pub-nav-bottom,142px);
  z-index:900;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(230px,310px) minmax(0,1fr);
  align-items:center;
  gap:11px 16px;
  width:100%;
  min-width:0;
  margin:21px 0 0;
  padding:13px 15px 12px;
  border:1px solid var(--line);
  border-radius:8px;
  box-sizing:border-box;
  background:#07111f;
}
html.pub-enhanced .pub-search{
  grid-column:1;grid-row:1;min-width:0;
}
html.pub-enhanced .pub-search label,
html.pub-enhanced .pub-track-chooser legend,
html.pub-enhanced .pub-facet legend{
  position:absolute;
  width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
html.pub-enhanced .pub-search input{
  display:block;width:100%;min-width:0;min-height:43px;
  padding:9px 13px;border-radius:8px;
  color:var(--text);font-size:.82rem;
}
html.pub-enhanced .pub-track-chooser{
  grid-column:2;grid-row:1;min-width:0;
}
html.pub-enhanced .pub-track-buttons{
  display:flex;flex-wrap:wrap;align-items:center;
  gap:7px;overflow:visible;max-width:100%;padding:0;
}
html.pub-enhanced .pub-track-buttons button{
  min-height:39px;
  padding:7px 10px;
  flex:0 0 auto;
  border-radius:999px;
  font-size:.72rem;
  white-space:nowrap;
}
html.pub-enhanced .pub-track-dot{
  width:7px;height:7px;flex:0 0 7px;border-radius:2px;
}
html.pub-enhanced .pub-filter-bottom{
  display:flex;align-items:center;justify-content:space-between;
  grid-column:1/-1;grid-row:2;
  min-width:0;gap:14px;
}
html.pub-enhanced .pub-filter-bottom .pub-facets{
  display:grid;
  grid-template-columns:minmax(160px,235px) minmax(160px,235px) minmax(150px,205px);
  flex:0 1 auto;
  align-items:center;
  gap:9px;
  min-width:0;
}
html.pub-enhanced .pub-filter-bottom .pub-facet{
  flex:none;min-width:0;
}
html.pub-enhanced .pub-filter-bottom .pub-facet select{
  display:block;width:100%;min-height:42px;
  padding:8px 11px;
  border-radius:7px;
  font-size:.78rem;
}
html.pub-enhanced .pub-filter-bottom .year-buttons{
  display:flex;flex-wrap:nowrap;gap:5px;
}
html.pub-enhanced .pub-filter-bottom .year-buttons button{
  min-height:42px;flex:1 1 auto;
  padding:8px 11px;border-radius:6px;
  font-size:.73rem;
}
html.pub-enhanced .pub-filter-bottom .pub-count{
  flex:0 0 auto;
  margin:0;
  color:var(--muted-2);
  font:.73rem/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;
  text-align:right;
  white-space:nowrap;
}
.pub-sticky-toggle{display:none}
.pub-sticky-count{
  display:inline-grid;place-items:center;
  min-width:20px;height:20px;padding:0 5px;
  border:1px solid var(--accent);border-radius:3px;
  color:var(--accent);font:750 .68rem/1 ui-monospace,Menlo,monospace;
}
.pub-sticky-count[hidden]{display:none}
.pub-sticky-caret{font-size:1.03rem;line-height:1;transition:transform .16s ease}
.pub-controls.is-expanded .pub-sticky-caret{transform:rotate(180deg)}
html.pub-enhanced .pub-index-item{
  scroll-margin-top:calc(var(--pub-nav-bottom,142px) + 140px);
}
@media(max-width:1160px){
  html.pub-enhanced .pub-controls{
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px 10px;
    padding:10px;
  }
  html.pub-enhanced .pub-search{grid-column:1;grid-row:1}
  html.pub-enhanced .pub-sticky-toggle{
    display:inline-flex;
    grid-column:2;grid-row:1;
    align-items:center;justify-content:center;
    gap:8px;
    min-width:106px;min-height:43px;
    padding:8px 11px;
    border:1px solid var(--line-strong);
    border-radius:7px;
    background:rgba(103,212,255,.055);
    color:var(--text);
    font:750 .78rem/1.2 system-ui,sans-serif;
    cursor:pointer;
  }
  html.pub-enhanced .pub-sticky-toggle:hover{border-color:var(--accent)}
  html.pub-enhanced .pub-sticky-toggle:focus-visible{
    outline:2px solid var(--accent);outline-offset:2px;
  }
  html.pub-enhanced .pub-track-chooser{
    grid-column:1/-1;grid-row:2;
    padding-top:10px;
    border-top:1px solid var(--line);
  }
  html.pub-enhanced .pub-filter-bottom{
    grid-column:1/-1;grid-row:3;
    display:flex;flex-direction:column;
    gap:8px;align-items:stretch;
  }
  html.pub-enhanced .pub-filter-bottom .pub-count{
    order:2;text-align:right;
  }
  html.pub-enhanced .pub-controls:not(.is-expanded) .pub-track-chooser,
  html.pub-enhanced .pub-controls:not(.is-expanded) .pub-filter-bottom .pub-facets{display:none}
  html.pub-enhanced .pub-filter-bottom .pub-facets{
    order:1;display:grid;width:100%;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  html.pub-enhanced .pub-controls.is-expanded{
    max-height:calc(100dvh - var(--pub-nav-bottom,142px) - 8px);
    overflow-y:auto;
    overscroll-behavior:auto;
  }
  html.pub-enhanced .pub-index-item{
    scroll-margin-top:calc(var(--pub-nav-bottom,142px) + 100px);
  }
}
@media(max-width:650px){
  body:has(.pub-controls) main.paper-shell{width:calc(100% - 28px)}
  html.pub-enhanced .pub-controls{
    margin-top:16px;padding:8px;
    gap:7px;
  }
  html.pub-enhanced .pub-sticky-toggle{min-width:93px;padding-inline:8px}
  html.pub-enhanced .pub-search input{font-size:.78rem;padding-inline:10px}
  html.pub-enhanced .pub-filter-bottom .pub-facets{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  }
  html.pub-enhanced .pub-filter-bottom .pub-facet:last-child{grid-column:1/-1}
  html.pub-enhanced .pub-filter-bottom .year-buttons{max-width:340px}
}
@media(max-width:390px){
  html.pub-enhanced .pub-filter-bottom .pub-facets{grid-template-columns:1fr}
  html.pub-enhanced .pub-filter-bottom .pub-facet:last-child{grid-column:auto}
}
@media(prefers-reduced-motion:reduce){
  .pub-sticky-caret{transition:none}
}
