/* A focused publisher view; the full explorer remains available via filters. */
.publisher-mode .hero {padding:1rem 1.5rem;}
.publisher-mode .hero-logo {width:36px;height:36px;}
.publisher-mode .hero h1 {font-size:1.2rem;}
.publisher-mode .hero-tagline,.publisher-mode .hero .award-badge,.publisher-mode .hero-stats,.publisher-mode .hero-about,.publisher-mode .hero-links {display:none;}
.publisher-mode .shell {grid-template-columns:minmax(0,1fr);max-width:1150px;}
.publisher-mode .sidebar {display:none;}
.publisher-mode.publisher-filters-open .shell {grid-template-columns:260px minmax(0,1fr);}
.publisher-mode.publisher-filters-open .sidebar {display:block;}
#publisherTools:not([hidden]) {display:flex;justify-content:space-between;gap:1rem;max-width:1150px;margin:1rem auto;padding:0 1.5rem;}
#publisherTools a,.publisher-report {color:var(--accent,#2563eb);font-size:.9rem;}
#publisherTools button,.publisher-tabs button {font:inherit;padding:.6rem 1rem;border:1px solid var(--border,#d1d5db);background:white;border-radius:6px;cursor:pointer;}
.publisher-heading {margin:1.5rem 0;}
.publisher-heading h1 {font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.15;margin:0 0 .6rem;letter-spacing:-.03em;}
.publisher-heading p {font-size:1rem;color:var(--muted);}
.publisher-metrics {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--border,#d1d5db);border:1px solid var(--border,#d1d5db);border-radius:10px;overflow:hidden;margin:1.5rem 0;}
.publisher-metric {background:white;padding:1.25rem;}
.publisher-metric strong {display:block;font-size:2rem;line-height:1.2;color:var(--accent,#2563eb);}
.publisher-metric span {display:block;margin-top:.4rem;font-size:.9rem;}
.publisher-summary {font-size:1.05rem;line-height:1.75;max-width:85ch;}
.publisher-feature {border-left:4px solid #f2c94c;padding:1rem 1.25rem;background:#fff;margin:1.5rem 0;line-height:1.65;}
.publisher-feature p {margin:.3rem 0;}
.publisher-feature a {color:var(--accent,#2563eb);}
.publisher-tabs {display:flex;gap:.5rem;margin:1rem 0;flex-wrap:wrap;}
.publisher-tabs button[aria-selected="true"] {background:#172c45;color:white;border-color:#172c45;}
.publisher-panel[hidden] {display:none!important;}
.publisher-detail {margin:1rem 0;background:white;border:1px solid var(--border,#d1d5db);border-radius:10px;padding:1.2rem;}
.publisher-detail summary {cursor:pointer;font-size:1rem;font-weight:650;}
.publisher-detail h3 {font-size:1rem;margin:1.5rem 0 .75rem;}
.publisher-detail p {font-size:1rem;line-height:1.65;}
.publisher-ranks {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;}
.publisher-ranks ul {list-style:none;padding:0;}
.publisher-ranks li {display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid #eee;padding:.6rem 0;font-size:.9rem;}
.publisher-table-wrap {overflow:auto;}
.publisher-table {width:100%;border-collapse:collapse;font-size:.9rem;}
.publisher-table td,.publisher-table th {padding:.7rem;text-align:left;border-bottom:1px solid #eee;}
.publisher-updated {font-size:.8rem;color:var(--muted);line-height:1.6;}
.publisher-mode .shelf-title {font-size:.9rem;}
.publisher-mode .shelf-chip {font-size:.72rem;white-space:normal;text-align:center;line-height:1.25;border-radius:.6rem;max-width:100%;}
.publisher-mode .bookshelf-row {overflow-x:auto;}

/* Display type for headline numbers, matching the printable report's design
   language — scoped to .publisher-mode (single-publisher view only) so it
   never reaches shared site chrome like the bookshelf card title, which also
   renders in the general institution/funder browse views. */
.publisher-mode .publisher-heading h1,
.publisher-mode .publisher-metric strong,
.publisher-mode .os-tile .os-num,
.publisher-mode .publisher-credo .mark {
  font-family: "Fraunces", Georgia, serif;
}

/* Credo band: no single metric stands in for impact. */
.publisher-credo { display:flex; gap:.9rem; align-items:flex-start; border-left:3px solid #7a2432;
  background:#fff; border-radius:0 10px 10px 0; padding:1rem 1.4rem; margin:1.25rem 0; }
.publisher-credo .mark { font-weight:600; font-size:1.4rem; color:#7a2432; line-height:1; flex:none; }
.publisher-credo p { margin:0; font-size:.9rem; line-height:1.6; color:var(--muted); max-width:66ch; }
.publisher-credo p b { color:var(--text); }

/* Sized tag cloud: countries / institutions / funders. */
.pub-tag { display:inline-block; border:1px solid var(--border); border-radius:999px; padding:.15rem .55rem;
  margin:.1rem .15rem .1rem 0; background:#f9fafb; color:var(--text); font-weight:600; }
.pub-tag-soft { color:var(--muted); background:#fff; }
.pub-tag-1 { font-size:1.05rem; }
.pub-tag-2 { font-size:.92rem; }
.pub-tag-3 { font-size:.78rem; opacity:.82; }

/* Reach map. */
.pub-map { margin:1rem 0; }
.pub-map canvas { width:100%; height:auto; display:block; border-radius:.6rem; background:#e7edf5; aspect-ratio:900/400; }
.pub-map-note { font-size:.74rem; color:var(--muted); margin-top:.6rem; }

/* Open science indicator tiles, softened when structurally near-zero. */
.os-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:.9rem; margin:1rem 0; }
.os-tile { background:#f8fafc; border:1px solid #e2e8f0; border-radius:.75rem; padding:1.1rem; text-align:center; }
.os-tile.is-muted { background:#fafafa; border-style:dashed; }
.os-tile .os-num { font-size:1.8rem; font-weight:600; line-height:1; margin-bottom:.2rem; color:#0f172a; }
.os-tile.is-muted .os-num { color:#9ca3af; }
.os-tile .os-label { font-size:.72rem; color:#64748b; text-transform:uppercase; letter-spacing:.05em; font-weight:600; }
.os-tile.is-muted .os-label { color:#9ca3af; }
.os-tile .os-caption { font-size:.65rem; color:var(--muted); margin-top:.35rem; line-height:1.35; }
@media(max-width:760px){ .os-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }

/* Inferred roles, moved next to the open-science indicators as richer context. */
.pub-roles { border-top:1px solid #eee; margin-top:1.1rem; padding-top:1rem; }
.pub-roles-title { font-size:.85rem; font-weight:700; color:#374151; margin-bottom:.2rem; }
.roles-row { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.6rem; }
.role-pill { position:relative; display:inline-flex; align-items:center; gap:.3rem; padding:.28rem .65rem .28rem .45rem;
  border-radius:999px; font-size:.78rem; font-weight:600; border:1.5px solid; }
.role-pill-academic   { background:#eff6ff; color:#1e40af; border-color:#bfdbfe; }
.role-pill-readership { background:#f5f3ff; color:#4c1d95; border-color:#ddd6fe; }
.role-pill-public     { background:#fffbeb; color:#92400e; border-color:#fde68a; }
.role-pill-practical  { background:#f0fdf4; color:#065f46; border-color:#bbf7d0; }
.role-dot { width:7px; height:7px; border-radius:50%; flex-shrink:0; }
.role-score { font-size:.6rem; font-weight:700; padding:.05rem .3rem; border-radius:999px; margin-left:.1rem; background:rgba(0,0,0,.06); }

/* Charts: citation timeline + small doughnuts, matching the printable report. */
.pub-timeline-wrap { height: 220px; margin-top: .75rem; }
.pub-charts-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; }
.pub-chart-card { background: white; border: 1px solid var(--border, #e5e7eb); border-radius: .75rem; padding: 1.1rem; }
.pub-chart-card h4 { font-size: .82rem; margin: 0 0 .2rem; font-weight: 650; }
.pub-chart-wrap { height: 170px; margin-top: .5rem; }
@media(max-width:640px){ .pub-charts-grid{ grid-template-columns: 1fr; } }

/* Merged OA-claim verification flag, folded into the provenance section. */
.qa-flag { border-top:1px solid #eee; margin-top:1rem; padding-top:1rem; }
.qa-badge { display:inline-block; background:#fff7ed; color:#9a3412; border:1px solid #fdba74;
  padding:.15rem .55rem; border-radius:999px; font-size:.72rem; font-weight:600; }

/* Bookshelf tab switch (paired shelves: cited/education, mentions/downloads). */
.shelf-tab-switch { display:flex; gap:.3rem; background:#f3f4f6; border-radius:999px; padding:.25rem;
  width:fit-content; margin-bottom:.7rem; }
.shelf-tab-btn { border:none; background:transparent; font-size:.72rem; font-weight:700; padding:.35rem .85rem;
  border-radius:999px; color:#6b7280; cursor:pointer; font:inherit; }
.shelf-tab-btn[aria-selected="true"] { background:#111827; color:#f9fafb; }
.bookshelf-block .bookshelf-row[hidden] { display:none!important; }
@media(max-width:760px){.publisher-mode.publisher-filters-open .shell{grid-template-columns:minmax(0,1fr)}.publisher-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.publisher-ranks{grid-template-columns:minmax(0,1fr);gap:0}.publisher-metric{padding:1rem}.publisher-heading h1{overflow-wrap:anywhere}}
@media print{.publisher-mode .hero,#publisherTools,.publisher-mode .sidebar,.publisher-tabs{display:none!important}.publisher-panel[hidden]{display:none!important}.publisher-detail{break-inside:avoid}.publisher-mode .shell{display:block}.publisher-mode .publisher-detail{border:0}}
