/* Catalogue and the personal list use the same stable source IDs as the PDF app. */
.catalog-statistics-note { color:var(--muted); font-size:.75rem; line-height:1.6; margin:5px 0 13px; max-width:76ch; }
.results-workspace.results-section { padding-top:0; margin-top:-18px; }
.results-intro { margin:0 12px 25px; }
.results-intro h1 { font-size:clamp(2.7rem,4.5vw,4.2rem); line-height:1.05; letter-spacing:-.035em; margin:0 0 10px; }
.results-intro p { font:1.5rem/1.35 Georgia,'Times New Roman',serif; color:var(--muted); margin:0; }
.search-summary { background:var(--card); border:1px solid var(--border); border-radius:16px; box-shadow:0 8px 28px #253f2510; margin-bottom:19px; }
.search-summary>summary { display:grid; grid-template-columns:68px minmax(0,1fr) auto; align-items:center; gap:24px; padding:22px 28px; cursor:pointer; list-style:none; border-radius:16px; }
.search-summary>summary:focus-visible { outline-offset:5px; }
.search-summary-icon { display:grid; place-items:center; width:68px; height:68px; background:var(--accent-weak); color:var(--accent); border-radius:50%; }
.search-summary-copy { display:block; min-width:0; }
.search-summary-label { display:block; color:var(--accent); font-size:.7rem; font-weight:700; letter-spacing:.15em; margin-bottom:9px; }
.search-summary-query { display:block; font:italic clamp(1.8rem,3.4vw,3.3rem)/1.2 Georgia,'Times New Roman',serif; color:var(--accent); overflow-wrap:anywhere; }
.search-edit-action { display:flex; align-items:center; justify-content:center; gap:11px; min-height:52px; padding:11px 22px; border:1px solid var(--accent); border-radius:5px; color:var(--accent); font-size:.94rem; font-weight:600; white-space:nowrap; }
.search-summary>summary:hover .search-edit-action { background:var(--accent-weak); }
.search-summary[open]>.search-edit-panel { border-top:1px solid var(--border); }
.search-edit-panel { padding:25px 28px 28px; }
.search-edit-panel form { max-width:780px; margin:0 auto; }
.search-edit-panel #search-status { margin:12px 0 0; }
.results-guidance { color:var(--muted); font-size:.94rem; margin:0 12px 19px; }
.sources-panel.panel { padding:25px 28px; border-radius:15px; }
.sources-panel .source-tools { gap:28px; align-items:end; margin-bottom:17px; }
.source-tools .catalog-heading { font:600 2.05rem/1.15 Georgia,'Times New Roman',serif; letter-spacing:-.025em; margin:0 0 4px; }
.source-tools .catalog-summary { color:var(--muted); font-size:.9rem; margin:0; }
.catalog-search-label { display:flex; flex-direction:column; gap:5px; flex:0 1 350px; min-width:220px; color:var(--muted); font-size:.75rem; }
.catalog-search-input { display:flex; align-items:center; gap:12px; padding:0 12px; min-height:42px; border:1px solid var(--border); border-radius:5px; background:var(--card); }
.catalog-search-input:focus-within { outline:2px solid var(--accent); outline-offset:1px; }
.catalog-search-input input { width:100%; min-width:0; border:0; padding:9px 0; background:transparent; font-size:.82rem; }
.catalog-search-input input:focus-visible { outline:none; box-shadow:none; }
.sources-panel .catalog-filters { grid-template-columns:1.1fr 1fr 1.1fr; gap:20px; padding:13px 0 15px; }
.sources-panel .catalog-filters input,.sources-panel .catalog-filters select { padding:9px 12px; }
.sources-panel .catalog-list-actions { padding:10px 0 9px; }
.sources-panel .source-group:first-child { border-top:0; }
.sources-panel .source-group summary { padding:8px 0; font-size:.82rem; }
.sources-panel .category-emblem { width:29px; height:29px; border-radius:8px; }
.sources-panel .category-icon { width:19px; height:19px; }
.sources-panel .link-row { padding:10px 16px; border-radius:7px; gap:20px; }
.sources-panel .source-meta { margin-top:4px; font-size:.73rem; }
.sources-panel .link-row.is-selected { box-shadow:inset 4px 0 var(--accent); }
@media(max-width:760px) {
  .results-intro { margin-inline:0; }
  .results-intro p { font-size:1.14rem; }
  .search-summary>summary { grid-template-columns:48px minmax(0,1fr); gap:14px; padding:22px; }
  .search-summary-icon { width:48px; height:48px; }
  .search-summary-icon svg { width:24px; height:24px; }
  .search-edit-action { grid-column:2; justify-self:start; min-height:42px; font-size:.82rem; padding:8px 13px; }
  .search-edit-panel { padding:22px; }
  .results-guidance { margin-inline:0; font-size:.86rem; }
  .sources-panel.panel { padding:20px; }
  .sources-panel .source-tools { align-items:stretch; flex-direction:column; gap:17px; }
  .catalog-search-label { flex:auto; min-width:0; width:100%; }
  .source-tools .catalog-heading { font-size:1.85rem; }
  .catalog-search-input input { font-size:16px; }
  .sources-panel .catalog-filters { grid-template-columns:1fr 1fr; gap:14px; }
  .sources-panel .catalog-filters label:first-child { grid-column:1 / -1; }
  .sources-panel .link-row { padding:12px; gap:12px; }
}
@media(max-width:420px) {
  .results-intro h1 { font-size:2.65rem; }
  .search-summary>summary { padding:18px; gap:12px; }
  .search-summary-query { font-size:1.65rem; }
  .search-summary-label { font-size:.6rem; }
  .search-edit-panel { padding:18px; }
  .sources-panel .catalog-filters { grid-template-columns:1fr; }
  .search-edit-panel .btn { width:100%; justify-content:center; }
}
.plan-nav{
  display:inline-flex;
  align-items:center;
  gap:5px
}
.plan-count{
  display:inline-grid;
  place-items:center;
  background:var(--accent-weak);
  color:var(--accent);
  min-width:21px;
  min-height:21px;
  border-radius:12px;
  font-size:.68rem;
  padding:0 5px
}
.catalog-summary{
  margin:5px 0 0
}
.catalog-overview{
  display:flex;
  align-items:center;
  gap:28px;
  margin:24px 0 33px;
  font-size:.88rem;
  color:var(--muted)
}
.catalog-overview strong{
  font:1.9rem Georgia,serif;
  color:var(--accent);
  margin-right:6px
}
.catalog-overview a{
  margin-left:auto;
  font-size:.8rem
}
.catalog-filters{
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr;
  gap:18px;
  border-block:1px solid var(--border);
  padding:20px 0
}
.catalog-filters label{
  display:flex;
  flex-direction:column;
  gap:7px;
  font-size:.75rem;
  color:var(--muted)
}
.catalog-filters input,.catalog-filters select{
  width:100%;
  min-width:0;
  font-size:.8rem
}
.catalog-list-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:17px 0 6px
}
.source-select{
  display:grid;
  place-items:center;
  flex-shrink:0;
  min-width:30px;
  min-height:38px;
  cursor:pointer
}
.catalog-source-copy{
  flex:1;
  min-width:0
}
.catalog-source-copy p{
  max-width:760px;
  line-height:1.75;
  overflow-wrap:anywhere
}
.source-meta{
  display:flex;
  flex-wrap:wrap;
  gap:5px 13px;
  color:var(--muted);
  font-size:.66rem;
  margin-top:7px
}
.source-meta span+span:before{
  content:'·';
  margin-right:10px
}
.source-open{
  display:flex;
  align-items:center;
  flex-direction:column;
  gap:6px;
  flex-shrink:0
}
.source-open>.tiny{
  font-size:.65rem
}
.link-row.is-selected{
  box-shadow:inset 3px 0 var(--accent);
  background:var(--accent-weak)
}
#plan-save-status:empty{
  display:none
}
.source-plan{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(285px,1fr);
  gap:28px;
  align-items:start;
  margin-bottom:65px
}
.plan-main{
  min-width:0
}
.plan-query{
  display:grid;
  gap:12px
}
.plan-query input{
  width:100%
}
.plan-query p{
  margin:0
}
.plan-query .btn{
  justify-self:start
}
.plan-export{
  position:sticky;
  top:120px
}
.plan-export h2{
  font-size:2rem;
  margin-bottom:19px
}
.plan-export>.btn{
  display:flex;
  width:100%;
  margin-bottom:11px
}
.plan-export>.tiny{
  line-height:1.8;
  margin-top:14px
}
.plan-total{
  font-size:.85rem;
  color:var(--muted);
  margin-bottom:22px
}
.plan-total strong{
  font:2.5rem Georgia,serif;
  color:var(--accent);
  margin-right:9px
}
.plan-help{
  font-size:.8rem;
  margin:20px 0;
  border-block:1px solid var(--border);
  padding:14px 0
}
.plan-help summary{
  font-weight:600;
  cursor:pointer
}
.plan-help ol{
  padding-left:20px
}
.plan-help li{
  margin:9px 0;
  color:var(--muted)
}
.plan-export>.text-button{
  font-size:.78rem;
  display:block;
  margin-top:10px
}
.plan-item{
  padding:22px 23px;
  margin-bottom:12px
}
.plan-item-head{
  display:flex;
  align-items:start;
  justify-content:space-between;
  gap:16px
}
.plan-item h3{
  font-size:1rem;
  margin-bottom:8px
}
.plan-item .plan-category{
  font-size:.65rem;
  color:var(--accent);
  letter-spacing:.06em;
  text-transform:uppercase;
  margin-bottom:8px
}
.plan-item p{
  font-size:.81rem;
  color:var(--muted);
  line-height:1.75
}
.plan-item .plan-url{
  display:block;
  font-size:.7rem;
  color:var(--muted);
  overflow-wrap:anywhere;
  margin:10px 0 0
}
.plan-remove{
  border:0;
  background:transparent;
  color:var(--muted);
  font-size:1.4rem;
  min-width:38px;
  min-height:38px
}
.plan-empty{
  padding:38px 27px;
  text-align:center
}
.plan-empty>svg{
  color:var(--accent);
  margin-bottom:25px
}
.plan-empty h2{
  font-size:2rem
}
.plan-error{
  color:#a52f24!important
}
.plan-storage-note{
  font-size:.75rem;
  color:#a52f24
}
#plan-status{
  min-height:1.6em;
  margin:18px 0
}
.site-nav{
  gap:18px;
  font-size:.81rem
}
.header-row{
  gap:20px
}
.site-nav .nav-cta{
  gap:10px;
  padding-inline:12px
}
@media(max-width:1150px) and (min-width:981px){
  .site-nav{
    gap:10px;
    font-size:.72rem
  }
  .site-nav .nav-cta{
    padding-inline:8px
  }
  .ui-tools{
    padding-left:5px
  }
  .icon-button{
    min-width:29px
  }
  .brand{
    font-size:1.24rem
  }
  .brand small{
    font-size:.43rem
  }
  .header-row{
    gap:14px
  }
}
@media(max-width:800px){
  .source-plan{
    grid-template-columns:1fr
  }
  .plan-export{
    position:static
  }
  .catalog-filters{
    grid-template-columns:1fr 1fr
  }
  .catalog-filters label:first-child{
    grid-column:1/-1
  }
  .catalog-overview{
    flex-wrap:wrap;
    gap:16px 23px
  }
  .catalog-overview a{
    margin-left:0;
    width:100%
  }
  .catalog-filters input,.catalog-filters select{
    font-size:16px
  }
  .source-meta{
    font-size:.62rem
  }
  .link-row{
    flex-wrap:wrap;
    gap:8px 10px
  }
  .catalog-source-copy{
    flex-basis:calc(100% - 42px)
  }
  .source-open{
    flex-direction:row;
    margin-left:40px
  }
  .source-select{
    align-self:flex-start
  }
  .plan-item{
    padding:20px
  }
  .plan-export{
    padding:25px
  }
  .plan-query input{
    font-size:16px
  }
}
@media(max-width:420px){
  .catalog-filters{
    grid-template-columns:1fr
  }
  .catalog-filters label:first-child{
    grid-column:auto
  }
  .catalog-list-actions{
    align-items:flex-start
  }
  .catalog-overview strong{
    font-size:1.6rem
  }
}

/* The supplied white logo is kept intact on a forest-green background. */
.logo-badge { display:inline-flex; align-items:center; justify-content:center; background:#214b3e; border:0; border-radius:10px; padding:4px; flex-shrink:0; }
.brand-mark.logo-badge { width:47px; height:54px; }
.logo-badge img { display:block; object-fit:contain; max-width:100%; max-height:100%; }
.footer-logo { width:39px; height:45px; }
.source-category-title { display:flex; align-items:center; gap:13px; }
.category-emblem { display:inline-grid; place-items:center; width:38px; height:38px; flex-shrink:0; border-radius:11px; background:var(--accent-weak); color:var(--accent); }
.category-icon { display:inline-block; flex-shrink:0; vertical-align:middle; color:var(--accent); }
.country-badge { display:inline-flex; align-items:center; gap:7px; font:inherit; color:var(--muted); }
.country-badge span::before { content:none!important; }
.country-flag { display:inline-block; width:24px; height:16px; border-radius:2px; box-shadow:0 0 0 1px #88948b55; vertical-align:middle; object-fit:cover; }
.plan-item>.country-badge { font-size:.7rem; margin:0 0 10px; }
.plan-item .plan-category { display:flex; align-items:center; gap:8px; }
@media(max-width:800px) { .source-category-title { gap:10px; } .category-emblem { width:33px; height:33px; } .category-icon { width:21px; height:21px; } }

/* Keep the expanded navigation comfortable on smaller laptops. */
@media(max-width:1180px) and (min-width:981px) {
  .header-row {
    min-height:82px
  }
  .burger {
    display:flex;
    position:relative;
    width:42px;
    height:44px
  }
  .burger span {
    position:absolute;
    height:1.5px;
    width:22px;
    background:var(--text);
    left:10px;
    top:21px;
    transition:transform .18s,opacity .18s
  }
  .burger span:first-child {
    transform:translateY(-6px)
  }
  .burger span:last-child {
    transform:translateY(6px)
  }
  .burger[aria-expanded=true] span:first-child {
    transform:rotate(45deg)
  }
  .burger[aria-expanded=true] span:nth-child(2) {
    opacity:0
  }
  .burger[aria-expanded=true] span:last-child {
    transform:rotate(-45deg)
  }
  .site-nav {
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    flex-direction:column;
    align-items:stretch;
    padding:20px 32px 28px;
    border-bottom:1px solid var(--border);
    background:var(--bg);
    box-shadow:0 15px 25px #20352416;
    max-height:calc(100dvh - 82px);
    overflow:auto;
    gap:5px
  }
  .site-nav.open {
    display:flex
  }
  .site-nav>a {
    padding:12px 0
  }
  .site-nav .nav-cta {
    margin:7px 0;
    justify-content:space-between;
    padding:14px
  }
  .ui-tools {
    border-left:0;
    border-top:1px solid var(--border);
    padding:10px 0 0;
    gap:12px
  }
  .site-nav { font-size:.84rem; }
}

/* Expandable portal cards: identity, collection size and provenance. */
.sources-panel .source-group>summary { padding:17px 0 14px; font-size:1rem; color:var(--accent); }
.sources-panel .source-group>summary .category-emblem { width:33px; height:33px; background:transparent; }
.sources-panel .source-group>summary .category-icon { width:28px; height:28px; }
.sources-panel .link-row.source-card { position:relative; display:block; padding:16px 20px; margin:0 0 12px; border:1px solid var(--border); border-radius:12px; background:var(--card); }
.source-card>.source-select { position:absolute; top:22px; left:17px; z-index:1; min-width:30px; min-height:36px; }
.source-card .portal-details>summary { display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:14px; min-height:48px; padding:0 175px 0 48px; list-style:none; cursor:pointer; border-radius:4px; }
.portal-details>summary::-webkit-details-marker,.plan-portal-details>summary::-webkit-details-marker { display:none; }
.portal-details>summary:focus-visible,.plan-portal-details>summary:focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
.portal-emblem { display:grid; place-items:center; width:42px; height:42px; border-radius:8px; color:var(--accent); background:var(--accent-weak); }
.portal-identity { display:flex; flex-wrap:wrap; align-items:center; gap:5px 22px; min-width:0; }
.source-card .portal-identity strong { font-size:1.05rem; font-weight:650; line-height:1.4; overflow-wrap:anywhere; }
.portal-country { color:var(--muted); font-size:.83rem; font-weight:400; }
.portal-country .country-badge { gap:9px; }
.portal-toggle { display:inline-flex; align-items:center; gap:9px; color:var(--accent); font-size:.86rem; font-weight:500; white-space:nowrap; }
.portal-toggle svg { transition:transform .16s; }
.portal-details[open]>summary .portal-toggle svg { transform:rotate(180deg); }
.source-card>.source-open { position:absolute; top:16px; right:20px; margin:0; }
.source-card>.source-open .btn { min-height:48px; padding:10px 15px; border-color:var(--accent); color:var(--accent); gap:9px; border-radius:7px; font-size:.83rem; white-space:nowrap; }
.portal-information { margin-top:16px; border-top:1px solid var(--border); }
.portal-overview { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:28px; align-items:start; padding:18px 0; }
.portal-overview-simple { grid-template-columns:1fr; }
.portal-kind { display:inline-block; margin-top:12px; padding:4px 9px; border-radius:5px; background:var(--accent-weak); color:var(--accent); font-size:.74rem; font-weight:600; }
.portal-size-unknown { padding:18px; border:1px dashed var(--border); border-radius:10px; color:var(--muted); }
.portal-size-unknown h4 { margin:0 0 8px; font-size:.86rem; color:var(--text); }
.portal-size-unknown p,.plan-item .portal-size-unknown p { margin:0; font-size:.8rem; line-height:1.6; color:var(--muted); }
.portal-research-facts { display:grid; grid-template-columns:1fr 1fr; gap:16px 28px; padding:16px 0; margin:0; border-top:1px solid var(--border); }
.portal-research-facts dt { font-size:.8rem; font-weight:650; margin:0 0 5px; }
.portal-research-facts dd { margin:0; color:var(--muted); font-size:.8rem; line-height:1.6; }
.portal-research-notice { display:flex; gap:9px; align-items:flex-start; margin:0 0 15px; padding:12px 14px; background:var(--accent-weak); border-left:3px solid var(--accent); border-radius:4px; font-size:.8rem; line-height:1.55; }
.portal-research-notice svg { flex-shrink:0; margin-top:2px; }
.portal-research-provenance { display:flex; justify-content:space-between; gap:10px 20px; flex-wrap:wrap; border-top:1px solid var(--border); padding:12px 0; font-size:.72rem; color:var(--muted); }
.portal-research-provenance>div { display:flex; gap:8px 20px; flex-wrap:wrap; }
.portal-research-provenance a { display:inline-flex; gap:5px; align-items:center; color:var(--accent); text-underline-offset:3px; }
.plan-portal-details .portal-research-facts { grid-template-columns:1fr; }
.portal-about h4 { margin:0 0 6px; color:var(--text); font-family:inherit; font-size:.91rem; font-weight:600; line-height:1.4; }
.portal-about p,.plan-item .portal-about p { margin:0; font-size:.87rem; line-height:1.6; color:var(--muted); }
.portal-metadata { display:flex; flex-wrap:wrap; gap:5px 16px; margin-top:10px; font-size:.72rem; color:var(--muted); }
.portal-metrics { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(165px,100%),1fr)); align-items:start; gap:18px 0; margin:0; padding:16px 10px; background:var(--accent-weak); border-radius:10px; }
.portal-metric { display:flex; flex-direction:column; padding:0 17px; min-width:0; }
.portal-metric+.portal-metric { border-left:1px solid var(--border); }
.portal-metric dt { font-size:.81rem; line-height:1.4; color:var(--muted); }
.portal-metric dd { order:-1; margin:0 0 5px; font-size:clamp(1.35rem,2.1vw,2rem); line-height:1.2; letter-spacing:-.025em; font-weight:700; color:var(--accent); font-variant-numeric:tabular-nums; }
.metric-qualifier { display:block; font-size:.65rem; line-height:1.1; font-weight:500; letter-spacing:0; margin-bottom:3px; }
.portal-note { display:flex; gap:13px; align-items:flex-start; padding:14px 0; border-top:1px solid var(--border); color:var(--muted); }
.portal-note>svg,.portal-note>.portal-info-icon { flex-shrink:0; margin-top:2px; }
.portal-note p,.plan-item .portal-note p { margin:0; font-size:.8rem; line-height:1.55; color:var(--muted); }
.portal-provenance { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 22px; padding:14px 0 0; border-top:1px solid var(--border); font-size:.73rem; color:var(--muted); }
.portal-dates { display:flex; flex-wrap:wrap; align-items:center; gap:8px 13px; }
.portal-dates>span+span:not(.historical-badge)::before { content:'·'; margin-right:13px; }
.historical-badge { display:inline-flex; align-items:center; gap:6px; padding:5px 8px; color:#895500; background:#fff0cd; border-radius:7px; white-space:nowrap; }
.portal-citation { display:inline-flex; align-items:center; gap:5px; color:var(--accent); text-decoration:underline; text-underline-offset:3px; line-height:1.5; }
.portal-citation svg { flex-shrink:0; }
.portal-service-home { display:inline-flex; align-items:center; gap:6px; margin-top:12px; font-size:.76rem; }
.plan-portal-details { margin:13px 0 16px; }
.plan-portal-details>summary { display:flex; align-items:center; gap:8px; width:fit-content; padding:5px 0; color:var(--accent); cursor:pointer; list-style:none; font-size:.85rem; }
.plan-portal-details .portal-overview { grid-template-columns:1fr; gap:16px; }
.plan-portal-details .portal-information { margin-top:7px; }
@media(max-width:1050px) {
  .source-card .portal-details>summary { grid-template-columns:38px minmax(0,1fr); gap:4px 12px; padding-right:166px; }
  .source-card .portal-emblem { grid-row:1 / 3; width:38px; height:38px; }
  .source-card .portal-toggle { grid-column:2; font-size:.78rem; }
  .source-card .portal-identity { gap:3px 14px; }
  .source-card .portal-identity strong { font-size:.94rem; }
  .portal-overview { grid-template-columns:1fr; gap:17px; }
  .portal-research-facts { grid-template-columns:1fr; gap:14px; }
  .portal-metric dd { font-size:1.8rem; }
}
@media(max-width:600px) {
  .sources-panel .link-row.source-card { padding:15px; }
  .source-card>.source-select { left:10px; top:18px; }
  .source-card .portal-details>summary { padding:0 0 0 33px; grid-template-columns:32px minmax(0,1fr); gap:7px 10px; }
  .source-card .portal-emblem { width:32px; height:32px; grid-row:1; align-self:start; }
  .source-card .portal-emblem svg { width:25px; height:25px; }
  .source-card .portal-identity { display:flex; flex-direction:column; align-items:flex-start; gap:5px; }
  .portal-country { font-size:.76rem; }
  .source-card .portal-toggle { grid-column:1 / -1; padding:4px 0; min-height:32px; }
  .source-card>.source-open { position:static; align-items:stretch; margin:13px 0 0 33px; }
  .source-card>.source-open .btn { justify-content:center; min-height:42px; width:100%; }
  .portal-metrics { grid-template-columns:1fr; padding:15px; gap:13px; }
  .portal-metric { padding:0; }
  .portal-metric+.portal-metric { border-left:0; border-top:1px solid var(--border); padding-top:13px; }
  .portal-metric dd { font-size:1.7rem; }
  .portal-metric dt { font-size:.8rem; }
  .portal-about p,.plan-item .portal-about p { font-size:.83rem; }
  .portal-note { gap:9px; }
  .portal-dates { align-items:flex-start; flex-direction:column; gap:7px; }
  .portal-dates>span+span:not(.historical-badge)::before { content:none; }
  .portal-provenance { gap:13px; }
}

.plan-portal-details[open]>summary>span { transform:rotate(180deg); }

/* Research workspace: a compact catalogue with descriptions visible at a glance. */
.main-content:has(.catalog-workspace) { width:min(1440px,100% - 96px); }
.main-content:has(.results-workspace) { padding-top:26px; }
.results-workspace .results-intro { position:relative; display:flex; align-items:center; justify-content:space-between; gap:28px; margin:0 0 20px; padding:0 28px 0 64px; min-height:104px; isolation:isolate; }
.results-intro::before { content:""; position:absolute; z-index:-1; inset:-25px 90px -28px auto; width:335px; background:url('ancestry-branch.svg') right center / contain no-repeat; opacity:.27; pointer-events:none; }
.results-intro h1 { font-size:clamp(2.6rem,4vw,3.9rem); margin-bottom:8px; }
.results-intro p { font-size:1.4rem; }
.results-intro .results-motto { display:grid; flex-shrink:0; gap:1px; padding:0 0 0 24px; border-left:1px solid var(--border); font:italic 1.08rem/1.35 Georgia,serif; color:var(--muted); opacity:.8; }
.results-overview { display:grid; grid-template-columns:minmax(0,1fr) 480px; align-items:start; gap:16px; margin-bottom:18px; }
.results-overview .search-summary { margin:0; background:linear-gradient(115deg,var(--card),var(--accent-weak)); border-radius:12px; box-shadow:0 8px 25px #203c2410; }
.results-overview .search-summary>summary { min-height:108px; padding:20px 24px; grid-template-columns:60px minmax(0,1fr) auto; gap:22px; }
.results-overview .search-summary-icon { width:60px; height:60px; }
.results-overview .search-summary-icon svg { width:26px; height:26px; }
.results-overview .search-summary-label { margin-bottom:5px; font-size:.66rem; }
.results-overview .search-summary-query { font-size:clamp(1.7rem,2.8vw,2.8rem); line-height:1.12; }
.results-overview .search-edit-action { min-height:44px; padding:9px 17px; gap:9px; font-size:.8rem; background:var(--card); }
.results-metrics { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:14px; margin:0; }
.results-metric { display:grid; grid-template-columns:42px minmax(0,1fr); grid-template-rows:auto auto; align-content:center; align-items:start; column-gap:13px; row-gap:4px; padding:18px 16px; min-height:112px; border:1px solid var(--border); background:var(--card); border-radius:12px; box-shadow:0 8px 25px #203c2408; }
.results-metric-icon { display:grid; place-items:center; grid-row:1 / 3; width:42px; height:44px; border-radius:10px; color:var(--accent); background:var(--accent-weak); }
.results-metric dt { grid-column:2; grid-row:2; font-size:.74rem; line-height:1.45; color:var(--muted); }
.results-metric dd { grid-column:2; grid-row:1; margin:0; font-size:1.35rem; font-weight:650; line-height:1.2; font-variant-numeric:tabular-nums; }
.results-metric-total dt small { display:block; margin-top:4px; font-size:.62rem; line-height:1.4; color:var(--muted); }
.results-metric-total dd { white-space:nowrap; }
.sources-panel.catalog-workspace { padding:20px 24px 18px; border-radius:12px; box-shadow:0 8px 28px #203c240a; }
.catalog-workspace .source-tools { margin:0 6px 14px; display:block; }
.catalog-workspace .catalog-heading { font-size:2rem; margin:0 0 4px; }
.catalog-workspace .catalog-summary { font-size:.86rem; line-height:1.55; }
.catalog-workspace .catalog-filters { display:grid; grid-template-columns:1.65fr 1.05fr 1.1fr .92fr; align-items:end; padding:14px 20px 16px; gap:18px; border:1px solid var(--border); border-radius:11px; background:color-mix(in srgb,var(--accent-weak) 24%,var(--card)); }
.catalog-workspace .catalog-filters label { min-width:0; gap:5px; font-size:.73rem; }
.catalog-workspace .catalog-search-label { width:auto; }
.catalog-workspace .catalog-search-input { min-height:40px; gap:11px; }
.catalog-workspace .catalog-filters input,.catalog-workspace .catalog-filters select { height:40px; font-size:.78rem; border-radius:5px; padding:8px 12px; background-color:var(--card); }
.catalog-workspace .catalog-search-input input { height:38px; padding:8px 0; background:transparent; }
.catalog-workspace .catalog-list-actions { display:flex; align-items:center; gap:22px; padding:13px 0 6px; }
.catalog-visible { white-space:nowrap; font-size:.78rem; color:var(--muted); }
.catalog-visible strong { margin-left:6px; color:var(--accent); font-variant-numeric:tabular-nums; }
.catalog-workspace .catalog-plan-link { flex-shrink:0; min-height:42px; padding:9px 14px; font-size:.76rem; gap:10px; }
.catalog-workspace .source-group>summary { padding:14px 0 11px; gap:14px; font-size:1.02rem; }
.catalog-workspace .source-category-title { flex:1; gap:14px; }
.catalog-workspace .source-count { display:inline-flex; gap:4px; padding:5px 13px; background:var(--accent-weak); color:var(--accent); border-radius:30px; font-size:.69rem; white-space:nowrap; }
.catalog-workspace .category-hint { font-size:.72rem; font-weight:400; color:var(--muted); }
.catalog-workspace .source-group>summary>svg { flex-shrink:0; transition:transform .16s; }
.catalog-workspace .source-group[open]>summary>svg { transform:rotate(180deg); }
.catalog-workspace .link-row.source-card { padding:9px 12px; margin-bottom:5px; border-radius:11px; background:var(--card); transition:border-color .15s,background .15s; }
.catalog-workspace .source-card:hover { border-color:color-mix(in srgb,var(--accent) 40%,var(--border)); }
.catalog-workspace .source-card.is-selected { background:color-mix(in srgb,var(--accent-weak) 70%,var(--card)); }
.catalog-workspace .source-card>.source-select { top:12px; left:10px; min-height:38px; width:30px; }
.catalog-workspace .portal-details>summary { display:grid; grid-template-columns:40px minmax(160px,1.05fr) 100px minmax(180px,1.3fr) minmax(120px,1fr) 90px; gap:14px; padding:0 170px 0 44px; min-height:42px; font-weight:400; }
.catalog-workspace .portal-emblem { width:40px; height:42px; grid-row:auto; align-self:center; }
.catalog-workspace .portal-emblem svg { width:27px; height:27px; }
.catalog-workspace .portal-identity { display:block; }
.catalog-workspace .portal-identity strong { display:block; font-size:.84rem; line-height:1.35; font-weight:650; }
.catalog-workspace .portal-country { font-size:.69rem; min-width:0; }
.catalog-workspace .country-badge { gap:9px; line-height:1.3; }
.catalog-workspace .country-flag { width:21px; height:14px; flex-shrink:0; }
.catalog-workspace .portal-excerpt { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; color:var(--muted); font-size:.7rem; line-height:1.5; }
.catalog-workspace .portal-tags { display:flex; flex-wrap:wrap; align-items:center; gap:5px; }
.portal-tags>span { display:inline-block; padding:4px 8px; border-radius:20px; background:var(--accent-weak); color:var(--accent); font-size:.62rem; line-height:1.3; }
.catalog-workspace .portal-toggle { grid-column:auto; justify-self:end; font-size:.76rem; gap:9px; }
.catalog-workspace .source-card>.source-open { top:9px; right:12px; }
.catalog-workspace .source-open .btn { min-height:42px; width:152px; justify-content:center; padding:9px 12px; background:#214e3e; border-color:#214e3e; color:#fff; font-size:.74rem; border-radius:6px; gap:12px; }
.catalog-workspace .source-open .btn:hover { background:#143c2e; border-color:#143c2e; }
.catalog-workspace .portal-information { margin-top:12px; padding:0 9px 9px; }
.catalog-workspace #plan-save-status:empty { margin:0; }
[data-theme=dark] .results-intro::before { opacity:.15; }
@media (max-width:1300px) {
  .results-workspace .results-intro { padding-left:24px; }
  .results-overview { grid-template-columns:minmax(0,1fr) 425px; }
  .results-overview .search-summary>summary { gap:15px; padding:20px; }
  .results-overview .search-edit-action { padding:9px 12px; }
  .results-metrics { gap:10px; }
  .results-metric { gap:5px 10px; padding:15px 12px; grid-template-columns:32px minmax(0,1fr); }
  .results-metric-icon { width:32px; height:38px; }
  .results-metric-icon svg { width:23px; }
  .catalog-workspace .portal-details>summary { grid-template-columns:36px minmax(160px,1.1fr) 90px minmax(180px,1.5fr) 84px; gap:12px; }
  .catalog-workspace .portal-tags { display:none; }
  .catalog-workspace .portal-emblem { width:36px; height:38px; }
}
@media (max-width:1050px) {
  .results-overview { grid-template-columns:minmax(0,1fr); }
  .results-metric { min-height:65px; grid-template-columns:38px minmax(0,1fr); padding:12px 20px; }
  .results-metric-icon { width:38px; height:42px; }
  .results-overview .search-summary-query { font-size:2.4rem; }
  .results-intro::before { right:0; }
  .results-intro .results-motto { display:none; }
  .catalog-workspace .catalog-filters { grid-template-columns:1.2fr 1fr; }
  .catalog-workspace .catalog-filters label:first-child { grid-column:auto; }
  .catalog-workspace .catalog-list-actions { flex-wrap:wrap; gap:12px; }
  .catalog-workspace .catalog-plan-link { margin-left:auto; }
  .catalog-workspace .portal-details>summary { grid-template-columns:36px minmax(0,1fr) 84px; padding-right:153px; gap:8px 12px; }
  .catalog-workspace .portal-emblem { grid-column:1; grid-row:1 / 3; align-self:start; }
  .catalog-workspace .portal-identity { grid-column:2; grid-row:1; }
  .catalog-workspace .portal-country { grid-column:2; grid-row:2; }
  .catalog-workspace .portal-excerpt { grid-column:2 / 4; grid-row:3; }
  .catalog-workspace .portal-toggle { grid-column:3; grid-row:1 / 3; }
  .catalog-workspace .source-open .btn { width:138px; }
  .catalog-workspace .category-hint { display:none; }
}
@media (max-width:700px) {
  .main-content:has(.catalog-workspace) { width:calc(100% - 32px); }
  .results-workspace .results-intro { padding:5px 2px 0; min-height:0; margin-bottom:22px; }
  .results-intro h1 { font-size:clamp(2.1rem,7.8vw,3rem); line-height:1.12; }
  .results-intro p { font-size:1.1rem; max-width:33ch; }
  .results-intro::before { width:200px; opacity:.13; inset:-25px -15px -20px auto; }
  .results-overview { gap:12px; margin-bottom:16px; }
  .results-overview .search-summary>summary { grid-template-columns:44px minmax(0,1fr) auto; gap:12px; padding:18px 16px; min-height:98px; }
  .results-overview .search-summary-icon { width:44px; height:44px; }
  .results-overview .search-summary-query { font-size:1.8rem; }
  .results-overview .search-summary-label { font-size:.59rem; }
  .results-overview .search-edit-action { grid-column:3; padding:10px; font-size:0; min-height:42px; gap:0; }
  .results-overview .search-edit-action svg { width:21px; height:21px; }
  .results-overview .search-edit-panel { padding:18px 16px; }
  .results-metrics { gap:8px; }
  .results-metric { display:grid; grid-template-columns:1fr; grid-template-rows:auto auto; align-items:start; align-content:start; padding:13px 14px; min-height:100%; gap:6px; border-radius:10px; }
  .results-metric-icon { display:none; }
  .results-metric dt { grid-column:1; grid-row:2; font-size:.72rem; line-height:1.4; }
  .results-metric dd { grid-column:1; font-size:1.3rem; color:var(--accent); }
  .sources-panel.catalog-workspace { padding:18px 12px 14px; }
  .catalog-workspace .source-tools { margin:0 3px 16px; }
  .catalog-workspace .catalog-heading { font-size:1.75rem; }
  .catalog-workspace .catalog-summary { font-size:.78rem; }
  .catalog-workspace .catalog-filters { grid-template-columns:1fr 1fr; padding:14px 12px; gap:12px; }
  .catalog-workspace .catalog-filters label:first-child,.catalog-workspace .catalog-filters label:nth-child(3) { grid-column:1 / -1; }
  .catalog-workspace .catalog-filters label:nth-child(4) { grid-column:2; grid-row:2; }
  .catalog-workspace .catalog-filters input,.catalog-workspace .catalog-filters select { font-size:16px; height:44px; padding-inline:8px; }
  .catalog-workspace .catalog-search-input input { height:42px; }
  .catalog-workspace .catalog-plan-link { min-height:42px; padding:8px 10px; gap:7px; }
  .catalog-workspace .catalog-visible { font-size:.72rem; }
  .catalog-workspace .source-group>summary { font-size:.91rem; padding:15px 0 12px; gap:9px; }
  .catalog-workspace .source-category-title { display:grid; grid-template-columns:28px minmax(0,1fr); gap:5px 9px; }
  .catalog-workspace .source-category-title .category-emblem { grid-row:1 / 3; width:28px; }
  .catalog-workspace .source-count { justify-self:start; grid-column:2; padding:3px 9px; font-size:.63rem; }
  .catalog-workspace .link-row.source-card { padding:12px; margin-bottom:9px; }
  .catalog-workspace .source-card>.source-select { top:11px; left:5px; min-width:30px; }
  .catalog-workspace .portal-details>summary { padding:0 0 44px 30px; grid-template-columns:34px minmax(0,1fr); gap:7px 10px; position:relative; }
  .catalog-workspace .portal-emblem { grid-row:1 / 3; grid-column:1; width:34px; height:38px; }
  .catalog-workspace .portal-identity { grid-column:2; grid-row:1; }
  .catalog-workspace .portal-identity strong { font-size:.84rem; line-height:1.4; }
  .catalog-workspace .portal-country { grid-column:2; grid-row:2; font-size:.68rem; }
  .catalog-workspace .portal-excerpt { grid-column:1 / 3; grid-row:3; font-size:.74rem; line-height:1.55; -webkit-line-clamp:3; margin-top:5px; }
  .catalog-workspace .portal-tags { display:flex; grid-column:1 / 3; grid-row:4; margin:2px 0 6px; }
  .portal-tags>span { font-size:.63rem; }
  .catalog-workspace .portal-toggle { position:absolute; grid-area:auto; justify-self:start; bottom:0; left:30px; min-height:40px; padding:0; font-size:.74rem; }
  .catalog-workspace .source-card>.source-open { position:absolute; top:calc(100% - 53px); right:12px; margin:0; }
  .catalog-workspace .source-card:has(.portal-details[open])>.source-open { top:auto; bottom:12px; }
  .catalog-workspace .source-card:has(.portal-details[open]) { padding-bottom:64px; }
  .catalog-workspace .source-open .btn { width:auto; min-height:40px; padding:9px 12px; gap:9px; }
  .catalog-workspace .portal-information { margin-top:12px; padding:0 2px; }
}
@media (prefers-reduced-motion:reduce) {
  .catalog-workspace .source-card,.catalog-workspace .source-group>summary>svg { transition:none; }
}

/* The same bookmark symbol identifies saved sources and the My list link. */
.catalog-workspace .source-card > .source-bookmark.source-select {
  top:8px; left:7px; width:36px; height:44px; min-width:36px; min-height:44px;
  display:grid; place-items:center; padding:0; margin:0; border:0; border-radius:7px;
  background:transparent; color:var(--accent); box-shadow:none; cursor:pointer;
}
.source-bookmark svg { width:23px; height:23px; fill:none; pointer-events:none; }
.source-bookmark[aria-pressed="true"] svg { fill:currentColor; }
.catalog-workspace .source-card > .source-bookmark:hover,
.catalog-workspace .source-card > .source-bookmark[aria-pressed="true"] { background:var(--accent-weak); }
.source-bookmark:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.catalog-page .catalog-workspace .source-card > .source-bookmark { top:17px; }
@media (max-width:700px) {
  .catalog-workspace .source-card > .source-bookmark.source-select { top:9px; left:3px; }
}
