.article-sources-intro{
  max-width:980px;
  margin:0 0 1.65rem;
  color:#4f5855;
  font-size:1.03rem;
  line-height:1.65;
}
.article-sources-intro p{margin:0 0 .7rem}
.article-sources-intro p:last-child{margin-bottom:0}

.article-sources{width:100%;margin-top:1.5rem}
.article-sources-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}
.article-sources-actions{display:flex;flex-wrap:wrap;gap:.55rem}
.article-sources-action{
  min-height:42px;
  padding:.48rem .85rem;
  border:1px solid #78848b;
  border-radius:7px;
  background:#fff;
  color:#59666b;
  font:inherit;
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease,color .16s ease;
}
.article-sources-action:hover,
.article-sources-action:focus-visible{border-color:#6c982c;background:#f4f8ef;color:#4f771c}
.article-sources-search{
  display:flex;
  align-items:center;
  width:min(420px,100%);
  min-height:44px;
  padding:0 .85rem;
  border:1px solid #d7ddda;
  border-radius:9px;
  background:#fff;
  color:#84908b;
}
.article-sources-search:focus-within{border-color:#91ad62;box-shadow:0 0 0 3px rgba(105,147,39,.12)}
.article-sources-search input{
  width:100%;
  min-width:0;
  padding:.65rem .55rem;
  border:0;
  outline:0;
  background:transparent;
  color:#3f4946;
  font:inherit;
}
.article-sources-search-result{min-height:1.3rem;margin:-.35rem 0 .75rem;color:#7b8581;font-size:.86rem}
.article-sources-type-filters{display:flex;flex-wrap:wrap;gap:.35rem;margin:-.15rem 0 .85rem}
.article-source-type-filter{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  min-height:29px;
  padding:.22rem .58rem;
  border:1px solid #d9dfdb;
  border-radius:999px;
  background:#fff;
  color:#68736f;
  font:inherit;
  font-size:.76rem;
  line-height:1;
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease,color .16s ease;
}
.article-source-type-filter span{color:#909995;font-size:.68rem}
.article-source-type-filter:hover,
.article-source-type-filter:focus-visible{border-color:#c7d3bd;background:#f6f9f3;color:#547b21}
.article-source-type-filter.is-active{border-color:#d8bd54;background:#fbf5dd;color:#665617;font-weight:700}
.article-source-type-filter.is-active span{color:#8b741c}

.article-source-group{margin:0 0 1rem}
.article-source-group-heading{margin:0!important;font-size:inherit!important}
.article-source-group-toggle{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto 18px;
  align-items:center;
  gap:.75rem;
  width:100%;
  padding:1rem 1.1rem;
  border:1px solid #d9e0dc;
  border-radius:13px;
  background:#f4f7f4;
  color:#394441;
  text-align:left;
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.article-source-group-toggle:hover,
.article-source-group-toggle:focus-visible{border-color:#a9bc87;background:#f7faf4;box-shadow:0 5px 16px rgba(47,67,41,.07)}
.article-source-group-icon{
  display:inline-flex;
  width:42px;
  height:42px;
  align-items:center;
  justify-content:center;
  border-radius:11px;
  background:#e7efdd;
  color:#648f27;
}
.article-source-group-copy{display:block;min-width:0}
.article-source-group-title{display:block;font-size:1.05rem;font-weight:700;line-height:1.3}
.article-source-group-description{display:block;margin-top:.12rem;color:#6f7a76;font-size:.86rem;font-weight:400;line-height:1.4}
.article-source-group-count{color:#77827e;font-size:.86rem;font-weight:600;white-space:nowrap}
.article-source-chevron{color:#68736f;transition:transform .2s ease}
.article-source-group-toggle[aria-expanded="false"] .article-source-chevron{transform:rotate(-90deg)}
.article-source-group-panel{padding:.65rem 0 .25rem;overflow:hidden}
.article-source-group-panel[hidden]{display:none}
.article-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}

.article-source-card{
  scroll-margin-top:7rem;
  display:flex;
  min-width:0;
  flex-direction:column;
  padding:.95rem 1rem;
  border:1px solid #e0e5e1;
  border-radius:12px;
  background:#fff;
  box-shadow:0 2px 8px rgba(44,58,49,.035);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.article-source-card[hidden]{display:none}
@keyframes article-source-highlight{
  0%{border-color:#e0e5e1;background:#fff;box-shadow:0 2px 8px rgba(44,58,49,.035)}
  28%{border-color:#d5ad17;background:#fff9e4;box-shadow:0 0 0 3px rgba(232,183,0,.14)}
  100%{border-color:#e0e5e1;background:#fff;box-shadow:0 2px 8px rgba(44,58,49,.035)}
}
.article-source-card.is-source-highlight{animation:article-source-highlight 1.35s ease}
.article-source-card:has(.article-source-card-main:hover),
.article-source-card:has(.article-source-card-main:focus-visible){
  transform:translateY(-2px);
  border-color:#cbd8c0;
  box-shadow:0 8px 20px rgba(57,76,47,.12);
}
main a.article-source-card-main{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  color:inherit;
  text-decoration:none!important;
}
main a.article-source-card-main::before,
main a.article-source-card-main::after{content:none!important;display:none!important}
main a.article-source-card-main:focus-visible{outline:2px solid rgba(105,147,39,.45);outline-offset:3px}
.article-source-link{
  display:inline-flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.45rem;
  color:#5e8d22;
  font-weight:700;
  line-height:1.4;
  transition:color .18s ease;
}
.article-source-card-main:hover .article-source-link,
.article-source-card-main:focus-visible .article-source-link{color:#456e16}
.article-source-link i{flex:0 0 auto;margin-top:.28em;color:#be9700;font-size:.72em}
.article-source-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .65rem;margin:.48rem 0 .72rem;color:#7b8581;font-size:.78rem}
.article-source-type{padding:.15rem .46rem;border-radius:999px;background:#f6edc8;color:#796318;font-weight:700}
.article-source-language{margin-left:-.18rem;color:#77827e;font-weight:700}
.article-source-domain{overflow-wrap:anywhere}
.article-source-used{display:flex;align-items:flex-start;gap:.55rem;margin-top:auto;padding-top:.62rem;border-top:1px solid #eef1ee}
.article-source-used-label{flex:0 0 auto;padding-top:.22rem;color:#7b8581;font-size:.78rem;font-weight:600}
.article-source-pills{display:flex;min-width:0;flex-wrap:wrap;gap:.35rem}
main a.article-source-pill{
  display:inline-flex;
  align-items:center;
  min-height:27px;
  padding:.12rem .42rem;
  border:1px dotted #ddd;
  border-radius:5px;
  background:#fcfaf2;
  color:#689327;
  font-size:.78rem;
  font-weight:600;
  line-height:1.25;
  text-decoration:none;
}
main a.article-source-pill:hover,
main a.article-source-pill:focus-visible{border-color:#d5ad17;background:#fbf3d3;color:#5b671c}
.article-sources-empty{padding:1rem;border-radius:10px;background:#f7f8f6;color:#6d7773;text-align:center}

.footer-source-link{display:inline-flex;align-items:center;gap:.45rem}
.footer-source-link i{width:1.05rem;color:#e4b500;text-align:center}

@media (max-width:820px){
  .article-source-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .article-sources-intro{font-size:1rem;line-height:1.58}
  .article-sources-toolbar{align-items:stretch;flex-direction:column}
  .article-sources-search{width:100%}
  .article-source-group-toggle{grid-template-columns:38px minmax(0,1fr) 16px;padding:.85rem .8rem;gap:.65rem}
  .article-source-group-icon{width:38px;height:38px}
  .article-source-group-count{grid-column:2;justify-self:start}
  .article-source-chevron{grid-column:3;grid-row:1 / span 2}
  .article-source-group-description{font-size:.8rem}
  .article-source-card{padding:.85rem}
  .article-source-used{display:block}
  .article-source-used-label{display:block;margin-bottom:.4rem;padding-top:0}
}
@media (prefers-reduced-motion:reduce){
  .article-source-card.is-source-highlight{animation-duration:.01ms}
}
