/* TOPHIVE Skills — canonical index/listing page shell.
 * Shared by /library/ and /examples/. Content may differ (table vs. gallery);
 * title, total, toolbar, results, spacing and responsive behavior must not. */
.site-listing-main{
  background:#fafbf9;
  min-height:calc(100vh - 164px);
}
.site-listing-main + .site-footer{background:#fafbf9}
.site-listing-main > .site-listing-container{
  padding-top:37px;
  padding-bottom:78px;
  min-height:0;
}
.site-listing-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-width:0;
}
.site-listing-title{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
}
.site-listing-title h1{
  margin:0;
  color:#171f1d;
  font-size:clamp(32px,3vw,42px);
  line-height:1.08;
  font-weight:780;
  letter-spacing:-.065em;
}
.site-listing-count{
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  padding:7px 9px;
  border:1px solid #dbe6dc;
  border-radius:5px;
  background:transparent;
  color:#6b8673;
  font:700 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.045em;
  white-space:nowrap;
}
.site-listing-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:22px;
  padding-bottom:13px;
  border-bottom:1px solid #e2e9e2;
}
.site-listing-filters{
  flex:1 1 auto;
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  overflow-x:auto;
  padding:1px;
  scrollbar-width:thin;
  scrollbar-color:#b3c9b8 transparent;
}
.site-listing-filters[hidden]{display:none!important}
/* One category-pill pattern for every listing, including dynamically added Skills filters. */
.site-listing-filters button{
  display:inline-flex;
  align-items:center;
  gap:7px;
  flex:0 0 auto;
  padding:9px 13px;
  background:transparent;
  border:0;
  border-radius:6px;
  color:#66766b;
  font-size:12px;
  font-weight:700;
  line-height:1.5;
  white-space:nowrap;
  cursor:pointer;
}
.site-listing-filters button:hover{background:#edf3ed;color:#304d3a}
.site-listing-filters button[aria-pressed="true"],
.site-listing-filters button[aria-pressed="true"]:hover{
  background:#203028;
  color:#fff;
  border-color:transparent;
}
.site-listing-filters button:focus-visible{
  outline:2px solid #719d80;
  outline-offset:2px;
}
.site-listing-filters button span{
  font:700 10px ui-monospace,SFMono-Regular,Menlo,monospace;
  opacity:.64;
}
.site-listing-actions{
  display:flex;
  align-items:center;
  gap:11px;
  flex:0 1 376px;
  min-width:0;
  margin-left:auto;
}
.site-listing-actions .site-search{
  flex:1 1 auto;
  width:100%;
  min-width:0;
}
.site-listing-summary{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:11px;
  margin-top:9px;
  min-height:15px;
  white-space:nowrap;
}
.site-listing-summary-text{
  margin:0;
  color:#839388;
  font:650 11px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;
}
.site-listing-clear{
  border:0;
  border-radius:4px;
  background:transparent;
  color:#478061;
  font-size:11px;
  font-weight:750;
  padding:7px;
  cursor:pointer;
}
.site-listing-clear:hover{text-decoration:underline;text-underline-offset:3px}
.site-listing-results{
  margin-top:17px;
}
@media(max-width:1080px){
  .site-listing-toolbar{flex-wrap:wrap;gap:11px}
  .site-listing-filters:not([hidden]){flex-basis:100%;width:100%}
  .site-listing-actions{
    flex:1 1 100%;
    width:100%;
    justify-content:flex-start;
    margin-left:0;
  }
  .site-listing-actions .site-search{max-width:420px}
}
@media(max-width:640px){
  .site-listing-main > .site-listing-container{
    padding-top:25px;
    padding-bottom:60px;
  }
  .site-listing-title{gap:11px}
  .site-listing-title h1{font-size:32px}
  .site-listing-count{font-size:9px;padding:6px 8px}
  .site-listing-toolbar{margin-top:17px;gap:10px;padding-bottom:12px}
  .site-listing-filters:not([hidden]){width:100%;flex-basis:100%}
  .site-listing-actions{width:100%;flex:1 1 100%;gap:10px;flex-wrap:wrap}
  .site-listing-actions .site-search{max-width:none;flex:1 1 100%;width:100%}
  .site-listing-summary{justify-content:space-between;min-height:18px}
  .site-listing-filters button{font-size:11px;padding:9px 11px}
}
