/* Content-first research library. Uses the published TIANSIGHT foundation. */
.reading-list-toggle { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 10px 13px; background: transparent; border: 1px solid var(--card-border); font-size: 14px; white-space: nowrap; }
.reading-list-toggle strong { color: var(--gold); padding-left: 10px; border-left: 1px solid var(--line); font-size: 12px; }
.reading-list-toggle:hover, .reading-list-toggle[aria-pressed="true"] { background: var(--ink-primary); border-color: var(--gold); }
.reading-list-toggle[aria-pressed="true"] .icon { fill: var(--gold); }
.library-hero { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.94fr); align-items: center; gap: 64px; padding-block: 42px 38px; }
.library-hero-copy { min-width: 0; }
.library-hero-copy > .eyebrow { display: flex; align-items: center; gap: 12px; font-size: 11px; letter-spacing: .23em; margin-bottom: 18px; }
.library-hero h1 { font-size: clamp(38px,4vw,54px); line-height: 1.28; letter-spacing: .055em; }
.library-intro { font-size: 16px; line-height: 1.9; color: var(--ink-muted); margin: 18px 0 22px; }
.report-search-form { display: flex; align-items: center; gap: 12px; min-height: 56px; background: var(--paper); border: 1px solid var(--gold); padding-left: 16px; }
.report-search-form > .icon { color: var(--gold); width: 18px; }
.report-search-form input { width: 100%; min-width: 0; flex: 1; border: 0; background: transparent; border-radius: 0; padding: 13px 0; font-size: 15px; color: var(--charcoal); outline-offset: -2px; }
.report-search-form input::placeholder { color: var(--ink-muted); opacity: 1; }
.report-search-form button { align-self: stretch; width: 52px; flex-shrink: 0; border: 0; border-left: 1px solid var(--card-border); background: var(--ink-primary); display: grid; place-items: center; }
.report-search-form button:hover { background: var(--gold); color: var(--paper); }
.search-suggestions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 12px; color: var(--ink-muted); font-size: 12px; }
.search-suggestions button { border: 0; border-bottom: 1px solid var(--card-border); border-radius: 0; padding: 2px 0; font-size: 12px; color: var(--gold); background: transparent; }
.search-suggestions button:hover { color: var(--charcoal); border-color: var(--charcoal); }
.library-index-summary { margin: 16px 0 0; color: var(--ink-muted); font-size: 12px; line-height: 1.8; }
.library-index-summary strong, .library-index-summary .num { color: var(--gold); }
.library-hero-photo { position: relative; min-width: 0; align-self: stretch; min-height: 310px; background: var(--ink-primary); overflow: hidden; border: 1px solid var(--card-border); }
.library-hero-photo img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; object-position: 49% 57%; }
.library-hero-photo::after { content: ''; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent,rgba(23,19,13,.7)); pointer-events: none; }
.library-hero-photo figcaption { position: absolute; z-index: 1; bottom: 22px; left: 24px; right: 24px; display: flex; align-items: baseline; justify-content: space-between; gap: 14px; color: var(--paper); font-size: 14px; letter-spacing: .04em; }
.library-hero-photo figcaption small { font-size: 10px; color: var(--surface); white-space: nowrap; }
.library-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 23px; }
.library-section-heading .eyebrow { margin-bottom: 8px; font-size: 10px; letter-spacing: .24em; }
.library-section-heading h2 { font-size: 28px; line-height: 1.4; letter-spacing: .035em; }
.library-section-heading h2 .num { font-size: 15px; color: var(--gold); font-weight: 400; vertical-align: middle; margin-left: 9px; }
.library-section-heading > p { margin: 0; font-size: 13px; color: var(--ink-muted); }
.report-section { border-top: 1px solid var(--gold); padding-block: 28px 48px; }
.report-index-actions { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.report-index-actions .text-button { font-size: 12px; }
.report-index-actions .ts-button { min-height: 38px; font-size: 12px; padding: 8px 12px; display: inline-flex; align-items: center; gap: 9px; }
.report-index-actions .icon { width: 15px; height: 15px; }
.report-filters { display: grid; grid-template-columns: 1.1fr 1.4fr .7fr .9fr 1fr 1.2fr; gap: 14px; padding: 19px 20px; border: 1px solid var(--card-border); background: rgba(255,253,248,.42); }
.report-filters > div { min-width: 0; }
.report-filters label { display: block; margin-bottom: 7px; color: var(--ink-muted); font-size: 12px; }
.report-filters select, .archive-toolbar select { display: block; width: 100%; min-width: 0; min-height: 42px; padding: 8px 25px 8px 10px; font-size: 14px; color: var(--charcoal); border: 1px solid var(--card-border); background: var(--paper); text-overflow: ellipsis; }
.report-result-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 58px; }
.report-result-bar p { margin: 0; font-size: 13px; color: var(--ink-muted); }
.report-result-bar strong { color: var(--gold); }
.report-filter-chips { display: flex; flex-wrap: wrap; gap: 8px; padding-bottom: 17px; }
.report-filter-chip { display: inline-flex; align-items: center; gap: 9px; background: var(--ink-primary); border: 1px solid var(--card-border); padding: 5px 9px; font-size: 12px; color: var(--gold); max-width: 100%; overflow-wrap: anywhere; }
.report-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.report-card { display: flex; flex-direction: column; min-width: 0; padding: 22px 23px 18px; border: 1px solid var(--card-border); background: var(--paper); transition: border-color var(--dur-fast); }
.report-card:hover { border-color: var(--gold); }
.report-card-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 13px; min-height: 28px; }
.report-publisher { color: var(--gold); font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.report-save { width: 32px; height: 32px; flex-shrink: 0; display: grid; place-items: center; background: transparent; border: 1px solid transparent; padding: 6px; margin-right: -5px; color: var(--ink-muted); }
.report-save .icon { width: 17px; height: 17px; }
.report-save:hover { border-color: var(--card-border); color: var(--gold); }
.report-save.is-saved { background: var(--ink-primary); color: var(--gold); }
.report-save.is-saved .icon { fill: var(--gold); }
.report-title { padding: 0; border: 0; border-radius: 0; text-align: left; background: transparent; color: var(--charcoal); font-family: var(--font-cn); font-size: 21px; font-weight: 600; line-height: 1.55; letter-spacing: .015em; overflow-wrap: anywhere; }
.report-title:hover { color: var(--gold); }
.report-original { font-family: var(--font-en); color: var(--ink-muted); font-size: 12px; line-height: 1.7; margin: 7px 0 13px; overflow-wrap: anywhere; }
.report-summary { color: var(--ink-muted); font-size: 14px; line-height: 1.9; margin: 0 0 16px; }
.report-tags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: auto; margin-bottom: 17px; }
.report-tags span, .report-detail-topics span { font-size: 11px; line-height: 1.7; color: var(--gold); background: var(--surface); border: 1px solid var(--line); padding: 2px 7px; }
.report-meta { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding-top: 13px; border-top: 1px solid var(--line); font-size: 11px; color: var(--ink-muted); }
.report-access { color: var(--gold); font-size: 11px; padding: 2px 6px; background: var(--ink-primary); border: 1px solid var(--card-border); }
.report-card-actions { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.report-open { display: inline-flex; align-items: center; gap: 7px; padding: 0; border: 0; background: transparent; font-size: 13px; color: var(--gold); }
.report-card-actions a { font-size: 12px; color: var(--ink-muted); border: 0; display: inline-flex; align-items: center; gap: 5px; }
.report-card-actions .icon { width: 14px; height: 14px; }
.report-open:hover, .report-card-actions a:hover { color: var(--charcoal); text-decoration: underline; }
.report-pagination { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 7px; padding-top: 26px; }
.report-pagination button { display: inline-flex; align-items: center; justify-content: center; min-width: 38px; min-height: 38px; padding: 7px 10px; font-size: 12px; border: 1px solid transparent; background: transparent; color: var(--ink-muted); }
.report-pagination button:hover:not(:disabled), .report-pagination button.is-current { color: var(--gold); border-color: var(--gold); background: var(--ink-primary); }
.report-pagination button:disabled { opacity: .4; }
.report-pagination span { font-size: 12px; color: var(--ink-muted); }
.report-index-foot { border-top: 1px solid var(--line); margin-top: 25px; padding-top: 13px; display: flex; justify-content: space-between; gap: 16px; }
.report-index-foot p { margin: 0; color: var(--ink-muted); font-size: 11px; line-height: 1.9; }
.report-index-foot p:last-child { color: var(--gold); }
.report-empty { grid-column: 1/-1; padding: 50px 24px; border: 1px solid var(--card-border); background: var(--paper); text-align: center; }
.report-empty h3 { font-size: 23px; margin-bottom: 13px; }
.report-empty p { color: var(--ink-muted); font-size: 14px; }
.collection-section, .archive-section { padding-block: 34px 48px; border-top: 1px solid var(--gold); }
.collection-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 23px; }
.collection-card { display: flex; flex-direction: column; min-width: 0; text-align: left; border: 1px solid var(--card-border); background: var(--paper); padding: 0; overflow: hidden; }
.collection-photo { display: block; position: relative; overflow: hidden; aspect-ratio: 1.65; width: 100%; background: var(--ink-primary); }
.collection-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--dur-base); }
.collection-photo small { position: absolute; right: 10px; bottom: 8px; background: rgba(23,19,13,.65); color: var(--paper); padding: 1px 5px; font-size: 9px; }
.collection-card:hover { border-color: var(--gold); }
.collection-card:hover img { transform: scale(1.025); }
.collection-body { display: flex; flex-direction: column; padding: 22px; gap: 11px; flex: 1; }
.collection-body .eyebrow { font-size: 9px; letter-spacing: .16em; }
.collection-body strong { font-size: 22px; line-height: 1.5; }
.collection-body > span:not(.eyebrow) { color: var(--ink-muted); font-size: 13px; line-height: 1.9; }
.collection-body .collection-count { margin-top: auto; padding-top: 11px; border-top: 1px solid var(--line); color: var(--gold) !important; font-size: 12px !important; }
.year-chart { display: flex; align-items: flex-end; gap: 9px; min-height: 180px; padding: 15px 16px 0; border: 1px solid var(--card-border); background: var(--paper); overflow-x: auto; }
.year-bar-button { flex: 1 0 42px; min-width: 42px; display: flex; align-items: center; flex-direction: column; border: 0; padding: 0 4px 10px; background: transparent; color: var(--ink-muted); }
.year-bar-count { font-family: var(--font-mono); color: var(--gold); font-size: 11px; line-height: 1.7; }
.year-bar-track { position: relative; display: flex; align-items: flex-end; justify-content: center; height: 115px; width: 100%; border-bottom: 1px solid var(--line); }
.year-bar-fill { display: block; width: 100%; max-width: 40px; min-height: 2px; background: var(--gold-hi); transition: background var(--dur-fast); }
.year-bar-label { font-family: var(--font-mono); font-size: 11px; padding-top: 7px; }
.year-bar-button:hover .year-bar-fill { background: var(--gold); }
.archive-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 13px; margin-top: 23px; font-size: 13px; }
.archive-toolbar select { width: min(350px,100%); }
.archive-toolbar > .num { margin-left: auto; color: var(--ink-muted); font-size: 12px; }
.archive-scroll-note, .section-note { font-size: 11px; color: var(--ink-muted); line-height: 1.9; margin: 12px 0; }
.archive-matrix-wrap { max-width: 100%; overflow: auto; border: 1px solid var(--card-border); background: var(--paper); }
.archive-matrix { width: 100%; min-width: 860px; table-layout: fixed; }
.archive-matrix th, .archive-matrix td { padding: 10px 9px; font-size: 11px; text-align: center; letter-spacing: 0; vertical-align: middle; }
.archive-matrix th:first-child, .archive-matrix td:first-child { text-align: left; width: 215px; position: sticky; left: 0; background: var(--paper); z-index: 1; border-right: 1px solid var(--line); }
.archive-matrix thead th { background: var(--ink-primary); color: var(--gold); }
.archive-matrix thead th:first-child { background: var(--ink-primary); }
.archive-source-button { background: transparent; border: 0; padding: 3px 0; text-align: left; font-size: 12px; color: var(--charcoal); line-height: 1.7; }
.archive-source-button:hover { color: var(--gold); text-decoration: underline; }
.archive-cell { width: 29px; min-height: 29px; padding: 3px; background: transparent; border: 1px solid transparent; color: var(--ink-muted); font-family: var(--font-mono); font-size: 11px; }
.archive-cell.is-populated { background: var(--ink-primary); border-color: var(--card-border); color: var(--gold); }
.archive-cell.is-populated:hover { background: var(--gold); color: var(--paper); }
.source-section-heading { padding-top: 32px; border-top: 1px solid var(--gold); }
.source-section-heading .eyebrow { font-size: 10px; margin-bottom: 8px; }
.source-section-heading h2 { font-size: 28px; line-height: 1.5; }
.source-section-heading h2 .num { font-size: 15px; color: var(--gold); margin-left: 9px; font-weight: 400; }
.source-section-heading > p:last-child { margin-block: 11px 22px; font-size: 13px; color: var(--ink-muted); }
.indexed-versions { display: inline-flex; align-items: center; gap: 6px; background: var(--ink-primary); border: 1px solid var(--card-border); padding: 3px 7px; font-size: 11px; color: var(--gold); margin-bottom: 7px; }
.agent-section { border-top: 1px solid var(--gold); padding-block: 38px 45px; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 80px; }
.agent-intro .eyebrow { margin-bottom: 12px; }
.agent-intro h2 { font-size: 28px; line-height: 1.6; margin-bottom: 15px; }
.agent-intro > p:not(.eyebrow) { font-size: 14px; line-height: 2; color: var(--ink-muted); }
.agent-links { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; margin-top: 24px; }
.agent-links .ts-button { display: inline-flex; align-items: center; gap: 12px; font-size: 13px; }
.agent-workflow { list-style: none; padding: 0; margin: 0; }
.agent-workflow li { display: flex; gap: 20px; border-top: 1px solid var(--line); padding-block: 15px; }
.agent-workflow li > .num { color: var(--gold); font-size: 12px; padding-top: 4px; }
.agent-workflow h3 { font-size: 17px; line-height: 1.6; }
.agent-workflow p { font-size: 13px; color: var(--ink-muted); margin: 5px 0; }
.agent-workflow code { font-size: 11px; color: var(--gold); overflow-wrap: anywhere; }
.report-detail-header { padding: 28px 32px 20px; border-bottom: 1px solid var(--line); position: relative; }
.report-detail-header h2 { font-size: 29px; line-height: 1.55; padding-right: 25px; margin-block: 9px; overflow-wrap: anywhere; }
.report-detail-header .report-original { font-size: 14px; margin-bottom: 0; }
.report-detail-header > button, .report-detail-header .dialog-close { position: absolute; top: 17px; right: 17px; }
.report-detail-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; color: var(--ink-muted); font-size: 12px; margin: 0; padding: 18px 32px; }
.report-detail-summary { padding: 0 32px; font-size: 16px; line-height: 2; margin-bottom: 20px; }
.report-detail-topics { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 32px 22px; }
.report-detail-actions { display: flex; flex-wrap: wrap; gap: 12px; padding: 0 32px 26px; }
.report-detail-actions button, .report-detail-actions a { min-height: 42px; display: inline-flex; align-items: center; gap: 8px; font-size: 13px; padding: 9px 13px; border: 1px solid var(--card-border); background: var(--ink-primary); color: var(--gold); }
.report-detail-actions .icon { width: 16px; height: 16px; }
.report-detail-section { margin: 0 32px; padding-block: 22px; border-top: 1px solid var(--line); }
.report-detail-section h3 { font-size: 17px; line-height: 1.7; margin-bottom: 12px; }
.report-detail-section p, .report-detail-section li { font-size: 13px; line-height: 1.95; color: var(--ink-muted); overflow-wrap: anywhere; }
.report-evidence-list, .report-version-list { padding-left: 19px; margin: 0; }
.report-evidence-list li + li, .report-version-list li + li { margin-top: 11px; }
.report-version-list button { border: 0; border-bottom: 1px solid var(--card-border); border-radius: 0; background: transparent; padding: 0; color: var(--gold); text-align: left; font-size: 13px; }
.report-detail-section a { overflow-wrap: anywhere; }
/* Actual report record markup: the title follows the compact dialog toolbar. */
.report-dialog { padding: 0; }
.report-dialog .report-detail-header { padding: 17px 64px 17px 32px; min-height: 58px; background: var(--surface); }
.report-detail-header > .eyebrow { margin: 0; font-size: 11px; line-height: 23px; letter-spacing: .2em; }
.report-dialog .report-detail-header .dialog-close { top: 10px; right: 20px; }
#report-detail > .detail-publisher { padding-inline: 32px; margin: 25px 0 7px; color: var(--gold); font-size: 13px; }
#report-detail > h2 { padding-inline: 32px; font-size: 29px; line-height: 1.55; overflow-wrap: anywhere; }
#report-detail > .report-original { padding-inline: 32px; font-size: 14px; margin-block: 8px 3px; }
.report-original:lang(zh) { font-family: var(--font-cn); }
.report-access.access-paid { background: var(--charcoal); color: var(--paper); border-color: var(--charcoal); }
.report-access.access-partial { background: var(--paper); border-color: var(--gold); }
.report-record-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px 25px; margin: 0 0 18px; }
.report-record-fields > div { min-width: 0; }
.report-record-fields dt { font-size: 11px; color: var(--ink-muted); margin-bottom: 5px; }
.report-record-fields dd { font-size: 14px; line-height: 1.8; margin: 0; overflow-wrap: anywhere; }
.report-record-fields code { font-size: 11px; }
.report-record-fields > div:last-child { grid-column: 1/-1; }
.report-detail-section > h3 > .num { font-size: 12px; color: var(--gold); font-weight: 400; margin-left: 8px; }
.report-detail-section a { display: inline-flex; align-items: center; gap: 5px; }
.report-detail-section a > .icon { width: 13px; height: 13px; flex-shrink: 0; }
.report-evidence-list li > p { margin-top: 5px; }
.report-version-list { padding-left: 0; display: flex; flex-direction: column; }
.report-version-list .report-version-link { display: grid; grid-template-columns: 42px minmax(0,1fr) 16px; align-items: center; gap: 12px; width: 100%; padding: 12px 0; text-align: left; border: 0; border-top: 1px solid var(--line); color: var(--charcoal); background: transparent; font-size: 13px; line-height: 1.8; }
.report-version-link > .num { color: var(--gold); font-size: 11px; }
.report-version-link > .icon { width: 15px; height: 15px; color: var(--gold); }
.report-version-list .report-version-link:hover { color: var(--gold); background: var(--surface); }
.report-detail-actions > button[aria-pressed="true"] { border-color: var(--gold); }
.report-detail-actions > button[aria-pressed="true"] .icon { fill: var(--gold); }
.report-detail-actions > .text-button { background: transparent; border: 0; padding: 5px 0; }
#report-dialog-status { padding: 0 32px 20px; margin: 0; text-align: left; }
.year-bar-button:disabled { opacity: .55; }
.report-card button:focus-visible, .collection-card:focus-visible, .year-bar-button:focus-visible, .report-filters select:focus-visible, .reading-list-toggle:focus-visible, .archive-cell:focus-visible, .report-filter-chip:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
@media (max-width: 1100px) {
  .library-hero { gap: 34px; }
  .library-hero h1 { font-size: 43px; }
  .report-filters { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .report-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .report-card { padding: 22px; }
  .primary-nav { margin-right: 0; gap: 24px; }
  .agent-section { gap: 40px; }
}
@media (max-width: 800px) {
  .library-hero { gap: 25px; padding-block: 32px; }
  .library-hero h1 { font-size: 36px; }
  .library-intro { font-size: 14px; margin-block: 14px 18px; }
  .library-hero-copy > .eyebrow { font-size: 9px; letter-spacing: .15em; }
  .library-hero-photo { min-height: 320px; }
  .library-hero-photo figcaption { bottom: 15px; left: 15px; right: 15px; flex-direction: column; gap: 3px; font-size: 12px; }
  .report-search-form { gap: 9px; padding-left: 11px; }
  .report-search-form input { font-size: 14px; }
  .search-suggestions { gap: 9px; font-size: 11px; }
  .library-section-heading { gap: 18px; }
  .report-index-actions { gap: 10px; justify-content: flex-end; }
  .report-index-actions > a { display: none; }
  .collection-grid { gap: 14px; }
  .collection-body { padding: 17px; }
  .collection-body strong { font-size: 19px; }
  .collection-body .eyebrow { font-size: 8px; letter-spacing: .08em; }
  .reading-list-toggle { font-size: 12px; gap: 7px; padding-inline: 9px; }
  .reading-list-toggle > .icon { display: none; }
  .primary-nav { gap: 17px; }
  .agent-section { gap: 30px; }
}
@media (max-width: 680px) {
  .library-hero { grid-template-columns: 1fr; padding-block: 27px 29px; gap: 24px; }
  .library-hero h1 { font-size: clamp(36px,9vw,49px); line-height: 1.3; }
  .library-hero h1 br { display: initial; }
  .library-hero-copy > .eyebrow { font-size: 10px; margin-bottom: 12px; }
  .library-hero-photo { min-height: 0; aspect-ratio: 1.95; }
  .library-hero-photo figcaption { flex-direction: row; align-items: baseline; }
  .library-intro { line-height: 1.8; }
  .report-search-form input { font-size: 16px; }
  .library-index-summary { margin-top: 12px; font-size: 11px; }
  .reading-list-toggle { margin-left: auto; min-height: 36px; padding-block: 5px; }
  .reading-list-toggle > .icon { display: block; width: 15px; height: 15px; }
  .library-section-heading { align-items: flex-start; flex-direction: column; gap: 13px; margin-bottom: 20px; }
  .library-section-heading h2 { font-size: 25px; }
  .report-section { padding-top: 24px; }
  .report-section > .library-section-heading { flex-direction: row; align-items: flex-end; }
  .report-index-actions .ts-button { font-size: 11px; padding: 7px; min-height: 36px; gap: 6px; }
  .report-index-actions .icon { width: 13px; height: 13px; }
  .report-filters { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px 12px; padding: 16px; }
  .report-filters label { font-size: 11px; }
  .report-filters select, .archive-toolbar select { font-size: 16px; min-height: 44px; }
  .report-grid { grid-template-columns: 1fr; gap: 15px; }
  .report-card { padding: 21px; }
  .report-title { font-size: 23px; }
  .report-summary { font-size: 14px; line-height: 2; }
  .report-original { font-size: 13px; }
  .report-save { width: 40px; height: 40px; margin-block: -4px; }
  .report-open, .report-card-actions a { min-height: 36px; font-size: 14px; }
  .report-index-foot { flex-direction: column; gap: 5px; }
  .collection-grid { grid-template-columns: 1fr; gap: 20px; }
  .collection-photo { aspect-ratio: 1.9; }
  .collection-body { padding: 21px; }
  .collection-body strong { font-size: 23px; }
  .collection-body .eyebrow { font-size: 10px; letter-spacing: .15em; }
  .collection-body > span:not(.eyebrow) { font-size: 14px; }
  .collection-section, .archive-section { padding-block: 27px 34px; }
  .archive-toolbar { gap: 9px; }
  .archive-toolbar label { width: 100%; }
  .archive-toolbar select { width: 100%; }
  .archive-toolbar > .num { margin-left: 0; }
  .year-chart { gap: 5px; padding-inline: 10px; }
  .year-bar-button { flex-basis: 37px; min-width: 37px; }
  .source-section-heading h2 { font-size: 25px; }
  .agent-section { grid-template-columns: 1fr; gap: 25px; padding-block: 30px; }
  .agent-intro h2 { font-size: 25px; }
  .report-detail-header { padding: 25px 22px 18px; }
  .report-dialog .report-detail-header { padding: 15px 60px 15px 22px; }
  .report-dialog .report-detail-header .dialog-close { right: 13px; top: 8px; }
  #report-detail > .detail-publisher, #report-detail > h2, #report-detail > .report-original { padding-inline: 22px; }
  #report-detail > h2 { font-size: 25px; }
  #report-dialog-status { padding-inline: 22px; }
  .report-record-fields { gap: 15px; }
  .report-detail-header h2 { font-size: 25px; }
  .report-detail-meta { padding: 16px 22px; }
  .report-detail-summary { padding-inline: 22px; font-size: 15px; }
  .report-detail-topics, .report-detail-actions { padding-inline: 22px; }
  .report-detail-section { margin-inline: 22px; }
}
@media (max-width: 380px) {
  .library-hero h1 { font-size: 34px; }
  .report-index-actions .ts-button .icon { display: none; }
  .report-index-actions .ts-button { font-size: 10px; padding-inline: 5px; }
  .report-filters { padding: 12px; gap: 12px 9px; }
  .report-card { padding: 19px; }
  .reading-list-toggle { gap: 5px; padding-inline: 6px; }
  .reading-list-toggle strong { padding-left: 6px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .report-card, .collection-photo img, .year-bar-fill { transition: none; }
  .collection-card:hover img { transform: none; }
}
@media print {
  .reading-list-toggle, .report-search-form, .search-suggestions, .report-filters, .report-index-actions, .report-pagination, .report-save, .report-card-actions, .agent-section { display: none !important; }
  .library-hero { grid-template-columns: 1fr 1fr; }
  .report-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .report-card { break-inside: avoid; }
  .archive-matrix-wrap { overflow: visible; }
}
