:root {
  color-scheme: light;
  --page-bg: #eef3ea;
  --surface: #fffdf8;
  --surface-alt: #f7f7f0;
  --text: #213124;
  --muted: #5b665a;
  --heading: #18231a;
  --brand: #2e7d32;
  --brand-dark: #1f5a24;
  --accent: #6b4638;
  --border: #d7dfd2;
  --card-border: rgba(24, 35, 26, .12);
  --header-bg: rgba(251, 252, 247, .92);
  --header-border: rgba(46, 125, 50, .16);
  --input-bg: #fffef9;
  --mark-bg: #fff0a8;
  --phrase-mark-bg: #ffe0b8;
  --shadow: 0 14px 40px rgba(23, 32, 56, .08);
  --soft-shadow: 0 8px 22px rgba(23, 32, 56, .06);
  --glow-border: rgba(46, 125, 50, .22);
  --toggle-bg: linear-gradient(180deg, #fffef9 0%, #eef5e9 100%);
  --toggle-border: rgba(46, 125, 50, .24);
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --page-bg: #101725;
  --surface: #111a2b;
  --surface-alt: #0f1a2e;
  --text: #d9e4f2;
  --muted: #abc0d7;
  --heading: #eef5ff;
  --brand: #7ed2df;
  --brand-dark: #bde7f0;
  --accent: #ffbe86;
  --border: #2c3a52;
  --card-border: rgba(126, 210, 223, .22);
  --header-bg: rgba(11, 18, 31, .9);
  --header-border: rgba(126, 210, 223, .24);
  --input-bg: #17243a;
  --mark-bg: #795d18;
  --phrase-mark-bg: #7e4b2a;
  --shadow: 0 18px 40px rgba(0, 0, 0, .45);
  --soft-shadow: 0 10px 26px rgba(0, 0, 0, .32);
  --glow-border: rgba(126, 210, 223, .28);
  --toggle-bg: linear-gradient(180deg, #1e2e46 0%, #18263b 100%);
  --toggle-border: rgba(126, 210, 223, .35);
}

* { box-sizing: border-box; }
body {
  margin: 0;
  background: radial-gradient(circle at 12% 2%, color-mix(in srgb, var(--brand) 18%, transparent) 0%, transparent 38%), var(--page-bg);
  color: var(--text);
  font: 1rem/1.65 Merriweather, Georgia, serif;
}
button, input { font: inherit; }
button, label, input[type="checkbox"], input[type="radio"] { cursor: pointer; }
button:focus-visible, input:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent) 35%, transparent); outline-offset: 2px; }

.site-header { position: sticky; top: 0; z-index: 20; border-bottom: 1px solid var(--header-border); background: var(--header-bg); backdrop-filter: blur(8px); }
.header-inner { width: min(1320px, 94vw); margin: 0 auto; padding: .75rem 0; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.brand-lockup { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: .7rem; color: var(--brand-dark); text-decoration: none; }
.brand-mark { width: 2.8rem; height: 2.8rem; color: var(--brand); }
.brand-mark svg { width: 100%; height: 100%; display: block; }
.brand-copy { display: grid; gap: .02rem; }
.brand-name, .eyebrow { color: var(--accent); font: 700 .68rem/1.2 Manrope, Arial, sans-serif; letter-spacing: .15em; text-transform: uppercase; }
.site-title { color: var(--brand-dark); font: 700 1.15rem/1.25 Merriweather, Georgia, serif; }
.site-tagline, .host-note { color: var(--muted); font: 500 .76rem/1.35 Manrope, Arial, sans-serif; }
.header-actions { display: flex; align-items: center; gap: .8rem; }
.surface-link { color: var(--brand-dark); font: 700 .78rem Manrope, Arial, sans-serif; text-decoration: none; }
.surface-link:hover, .surface-link:focus-visible { color: var(--brand); text-decoration: underline; }
.host-note { max-width: 17rem; text-align: right; }
.theme-toggle { display: inline-flex; align-items: center; justify-content: center; width: 2.55rem; height: 2.55rem; border: 1px solid var(--toggle-border); border-radius: 50%; background: var(--toggle-bg); color: var(--brand-dark); }
.theme-toggle .icon { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.9; }
.icon-moon, :root[data-theme="dark"] .icon-sun { display: none; }
:root[data-theme="dark"] .icon-moon { display: block; }

main { width: min(1320px, 94vw); margin: 0 auto; padding: 2rem 0 3rem; }
.intro { max-width: 64rem; margin-bottom: 1rem; }
.intro h1 { margin: .3rem 0 .55rem; color: var(--heading); font-size: clamp(1.8rem, 4vw, 3.1rem); line-height: 1.12; text-wrap: balance; }
.intro p:last-child { margin: 0; color: var(--muted); }
.archive-stats { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .55rem; margin-top: 1rem; max-width: 64rem; }
.archive-stats span { min-width: 0; padding: .62rem .7rem; border: 1px solid var(--card-border); border-radius: 8px; background: color-mix(in srgb, var(--surface) 76%, var(--brand) 8%); box-shadow: var(--soft-shadow); }
.archive-stats strong { display: block; color: var(--heading); font: 700 1.12rem/1.15 Manrope, Arial, sans-serif; }
.archive-stats small { display: block; margin-top: .15rem; color: var(--muted); font: 700 .66rem/1.3 Manrope, Arial, sans-serif; text-transform: uppercase; }
.trust-line { margin: .7rem 0 0; color: var(--muted); font: 500 .7rem/1.45 Manrope, Arial, sans-serif; }
.trust-line a { color: var(--brand-dark); font-weight: 700; }
.primary-search { border-color: color-mix(in srgb, var(--brand) 32%, var(--card-border)); box-shadow: 0 18px 46px color-mix(in srgb, var(--brand) 12%, transparent); }
.primary-search .basic-search > label { font-size: 1rem; }
.primary-search #query { min-height: 3.35rem; font-size: 1.04rem; }
.start-here { margin: 1.2rem 0; }
.section-heading { margin-bottom: .65rem; }
.start-here-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.start-here-grid article { display: grid; grid-template-rows: auto auto 1fr auto; gap: .35rem; min-height: 12rem; padding: 1rem; border: 1px solid var(--card-border); border-radius: 12px; background: var(--surface); box-shadow: var(--soft-shadow); }
.start-here-grid h3 { margin: 0; font: 700 1rem/1.35 Merriweather, Georgia, serif; }
.start-here-grid p { margin: 0; color: var(--muted); font: 500 .78rem/1.55 Manrope, Arial, sans-serif; }
.start-here-grid .path-number { color: var(--accent); font-weight: 700; letter-spacing: .12em; }
.start-here-grid a, .start-here-grid button { justify-self: start; color: var(--brand-dark); font: 700 .75rem Manrope, Arial, sans-serif; }
.start-here-grid a { padding: .5rem 0; }
.discovery-panel { margin: 0 0 1rem; border: 1px solid var(--border); border-radius: 12px; background: color-mix(in srgb, var(--surface) 78%, transparent); }
.discovery-panel > summary { padding: .8rem 1rem; color: var(--brand-dark); font: 700 .78rem/1.4 Manrope, Arial, sans-serif; cursor: pointer; }
.discovery-panel[open] > summary { border-bottom: 1px solid var(--border); }
.discovery-content { padding: .2rem 1rem 1rem; }
.featured-trails { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1rem; }
.featured-trails button { padding: .46rem .72rem; font-size: .78rem; }
.map-trail-bridge { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .55rem; }
.map-trail-bridge a { padding: .42rem .68rem; border: 1px solid color-mix(in srgb, var(--accent) 34%, var(--border)); border-radius: 999px; background: color-mix(in srgb, var(--accent) 9%, var(--surface)); color: var(--accent); font: 700 .72rem Manrope, Arial, sans-serif; text-decoration: none; }
.map-trail-bridge a:hover, .map-trail-bridge a:focus-visible { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 16%, var(--surface)); }
.featured-collections { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; margin-top: .8rem; max-width: 58rem; }
.featured-collection-card { display: grid; gap: .18rem; min-height: 5.4rem; padding: .7rem .75rem; border-radius: 8px; text-align: left; align-content: start; }
.featured-collection-card strong { color: var(--heading); font-size: .82rem; line-height: 1.25; }
.featured-collection-card span { color: var(--muted); font: 700 .66rem/1.3 Manrope, Arial, sans-serif; text-transform: uppercase; }
.coverage-dashboard { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .65rem; }
.coverage-dashboard span { display: inline-flex; gap: .35rem; align-items: baseline; padding: .32rem .55rem; border: 1px solid var(--border); border-radius: 999px; background: var(--surface-alt); }
.coverage-dashboard strong { color: var(--heading); font: 700 .82rem/1.2 Manrope, Arial, sans-serif; }
.coverage-dashboard small { color: var(--muted); font: 700 .62rem/1.2 Manrope, Arial, sans-serif; text-transform: uppercase; }
.newly-searchable { margin-top: .8rem; max-width: 58rem; }
.newly-searchable-list { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .45rem; }
.newly-searchable-list a { display: grid; gap: .16rem; min-height: 4.7rem; padding: .55rem .6rem; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); color: inherit; text-decoration: none; }
.newly-searchable-list strong { color: var(--heading); font: 700 .72rem/1.25 Manrope, Arial, sans-serif; }
.newly-searchable-list span { color: var(--muted); font: 700 .58rem/1.3 Manrope, Arial, sans-serif; text-transform: uppercase; }
.collection-spotlight { margin-top: .85rem; max-width: 58rem; }
.collection-spotlight-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; }
.collection-spotlight-card { display: grid; gap: .45rem; min-height: 8.4rem; padding: .72rem; border: 1px solid color-mix(in srgb, var(--brand) 28%, var(--border)); border-radius: 8px; background: color-mix(in srgb, var(--brand) 6%, var(--surface)); }
.collection-spotlight-card strong { color: var(--heading); font: 700 .8rem/1.25 Manrope, Arial, sans-serif; }
.collection-spotlight-card span { color: var(--muted); font: 700 .62rem/1.35 Manrope, Arial, sans-serif; text-transform: uppercase; }
.collection-spotlight-actions { display: flex; flex-wrap: wrap; gap: .45rem; align-self: end; }
.collection-spotlight-actions a { color: var(--brand-dark); font: 700 .7rem Manrope, Arial, sans-serif; }
.source-rich-browser { margin-top: .85rem; max-width: 58rem; }
.source-rich-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; }
.source-rich-list article { display: grid; gap: .34rem; min-height: 6.3rem; padding: .68rem; border: 1px solid color-mix(in srgb, var(--accent) 32%, var(--border)); border-radius: 8px; background: color-mix(in srgb, var(--accent) 8%, var(--surface)); }
.source-rich-list strong { color: var(--heading); font: 700 .78rem/1.25 Manrope, Arial, sans-serif; }
.source-rich-list span { color: var(--muted); font: 700 .62rem/1.35 Manrope, Arial, sans-serif; text-transform: uppercase; }
.source-rich-actions { display: flex; flex-wrap: wrap; gap: .45rem; align-self: end; }
.source-rich-actions a { color: var(--brand-dark); font: 700 .7rem Manrope, Arial, sans-serif; }
.eyebrow { margin: 0 0 .22rem; }
.search-panel, .series-panel, .results-panel { border: 1px solid var(--card-border); border-radius: 16px; background: var(--surface); box-shadow: var(--shadow); }
.search-panel { padding: 1.15rem; }
.search-mode-switch { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: .9rem; }
.search-mode-switch label { padding: .45rem .72rem; border: 1px solid var(--border); border-radius: 999px; background: var(--surface-alt); font: 700 .78rem Manrope, Arial, sans-serif; }
.search-mode-switch input { margin-right: .32rem; }
.basic-search > label, .criteria-heading { display: block; margin: 0 0 .38rem; color: var(--heading); font: 700 .88rem Manrope, Arial, sans-serif; }
input[type="search"], input[type="number"] { width: 100%; min-height: 2.9rem; padding: .65rem .78rem; border: 1px solid var(--border); border-radius: 9px; background: var(--input-bg); color: var(--text); }
.field-help, .scope-help { margin: .35rem 0 0; color: var(--muted); font: 500 .75rem/1.4 Manrope, Arial, sans-serif; }
.advanced-search { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.advanced-search[hidden] { display: none; }
.criteria-heading { grid-column: 1 / -1; margin-bottom: -.2rem; }
.advanced-search label { display: grid; gap: .3rem; color: var(--muted); font: 700 .76rem Manrope, Arial, sans-serif; }
.search-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .9rem; margin-top: .95rem; }
button { border: 1px solid var(--border); border-radius: 8px; padding: .52rem .8rem; background: var(--surface-alt); color: var(--brand-dark); font: 700 .78rem Manrope, Arial, sans-serif; }
button:hover { border-color: var(--brand); background: color-mix(in srgb, var(--surface-alt) 82%, var(--brand) 18%); }
.primary-button { min-height: 2.75rem; padding-inline: 1.2rem; border-color: var(--brand); background: var(--brand); color: #fff; }
:root[data-theme="dark"] .primary-button { color: #0b1220; }
.check-option { font: 700 .78rem Manrope, Arial, sans-serif; }
.check-option input { margin-right: .35rem; }
.language-filter, .search-intent { display: inline-flex; align-items: center; gap: .4rem; color: var(--muted); font: 700 .72rem Manrope, Arial, sans-serif; }
.language-filter[hidden], #full-text-option[hidden], .access-filters[hidden], .intelligence-filters[hidden], .quick-filters[hidden] { display: none; }
.language-filter select, .search-intent select { min-height: 2.15rem; max-width: 16rem; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); color: var(--text); padding: .25rem .55rem; font: 700 .78rem Manrope, Arial, sans-serif; }
.access-filters, .intelligence-filters { display: flex; flex-wrap: wrap; gap: .45rem .8rem; margin: .8rem 0 0; padding: .65rem .75rem; border: 1px solid var(--border); border-radius: 9px; background: var(--surface-alt); }
.intelligence-filters { background: color-mix(in srgb, var(--brand) 5%, var(--surface-alt)); }
.access-filters legend, .intelligence-filters legend { padding: 0 .25rem; color: var(--muted); font: 700 .7rem Manrope, Arial, sans-serif; }
.access-filters label, .intelligence-filters label { color: var(--text); font: 700 .72rem Manrope, Arial, sans-serif; }
.access-filters input, .intelligence-filters input { margin-right: .28rem; }
.quick-filters { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .75rem; }
.quick-filters button { padding: .42rem .68rem; font-size: .78rem; }
.status, .scope-status { margin: .8rem 0 0; color: var(--muted); font: 500 .78rem/1.55 Manrope, Arial, sans-serif; }
.scope-status { margin-top: .3rem; }
.workspace { display: grid; grid-template-columns: minmax(280px, 350px) minmax(0, 1fr); gap: 1rem; margin-top: 1rem; align-items: start; }
.series-panel, .results-panel { padding: 1.1rem; }
.panel-heading { margin-bottom: 1rem; }
.results-heading { display: flex; align-items: start; justify-content: space-between; gap: .75rem; }
.results-heading button { flex: 0 0 auto; padding: .42rem .65rem; font-size: .72rem; }
.results-heading-actions { display: flex; align-items: center; justify-content: flex-end; gap: .5rem; flex-wrap: wrap; }
.result-sort { display: inline-flex; align-items: center; gap: .35rem; color: var(--muted); font: 700 .68rem Manrope, Arial, sans-serif; }
.result-sort select { min-height: 2rem; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); color: var(--text); padding: .25rem .45rem; font: 700 .7rem Manrope, Arial, sans-serif; }
.results-map-link { display: inline-flex; align-items: center; min-height: 2rem; padding: 0 .65rem; border: 1px solid var(--border); color: var(--text); background: var(--surface); text-decoration: none; font-size: .72rem; font-weight: 700; }
.results-map-link.disabled { color: var(--muted); pointer-events: none; opacity: .7; }
.case-result-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)) auto auto; gap: .65rem; align-items: end; margin: 0 0 1rem; padding: .75rem; border: 1px solid color-mix(in srgb, var(--brand) 30%, var(--border)); border-radius: 10px; background: color-mix(in srgb, var(--surface) 92%, var(--brand) 4%); }
.case-result-controls[hidden] { display: none; }
.case-result-controls label { display: grid; gap: .28rem; color: var(--muted); font: 700 .62rem/1.3 Manrope, Arial, sans-serif; text-transform: uppercase; }
.case-result-controls select { width: 100%; min-width: 0; padding: .48rem .55rem; border: 1px solid var(--border); border-radius: 7px; background: var(--surface); color: var(--text); font: 600 .72rem/1.35 Manrope, Arial, sans-serif; text-transform: none; }
.case-result-controls .case-evidence-filter { display: flex; align-items: center; min-height: 2.25rem; gap: .35rem; padding: 0 .5rem; border: 1px solid var(--border); border-radius: 7px; background: var(--surface); color: var(--text); text-transform: none; }
.case-result-controls p { grid-column: 1 / -1; margin: 0; color: var(--muted); font: 700 .68rem/1.4 Manrope, Arial, sans-serif; }
h2 { margin: 0; color: var(--heading); font-size: 1.35rem; }
h3 { margin: .8rem 0 .5rem; color: var(--heading); font: 700 .82rem Manrope, Arial, sans-serif; }
.series-heading { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.series-actions { display: flex; gap: .35rem; }
.series-actions button { padding: .32rem .5rem; font-size: .68rem; }
.collection-list, .series-list { border-top: 1px solid var(--border); }
.series-list { max-height: 60vh; overflow: auto; }
.collection-option, .series-option { display: grid; grid-template-columns: auto 1fr; column-gap: .5rem; padding: .48rem .15rem; border-bottom: 1px solid var(--border); font: 500 .76rem/1.35 Manrope, Arial, sans-serif; }
.collection-option { display: block; }
.collection-option label { display: flex; gap: .5rem; align-items: flex-start; }
.collection-option small, .series-option small { grid-column: 2; color: var(--muted); }
.collection-option small { display: block; margin: .2rem 0 .35rem 1.35rem; }
.collection-public-note { margin: .35rem 0 .55rem; padding: .55rem .65rem; border-left: 3px solid var(--accent); background: color-mix(in srgb, var(--accent) 8%, var(--surface)); color: var(--text); font: 500 .72rem/1.45 Manrope, Arial, sans-serif; }
.collection-public-note.compact { margin: .25rem 0 .45rem 1.35rem; font-size: .66rem; }
.collection-coverage-badge { display: inline-block; margin: 0 0 .4rem 1.35rem; padding: .16rem .45rem; border: 1px solid var(--border); border-radius: 999px; color: var(--muted); background: var(--surface-alt); font: 700 .58rem/1.35 Manrope, Arial, sans-serif; text-transform: uppercase; }
.fulltext-coverage { border-color: color-mix(in srgb, var(--brand) 35%, var(--border)); color: var(--brand-dark); background: color-mix(in srgb, var(--brand) 10%, var(--surface)); }
.metadata-coverage { border-color: color-mix(in srgb, var(--accent) 28%, var(--border)); color: var(--accent); background: color-mix(in srgb, var(--accent) 8%, var(--surface)); }
.language-coverage { border-color: color-mix(in srgb, var(--accent) 36%, var(--border)); background: color-mix(in srgb, var(--accent) 10%, var(--surface)); color: var(--accent); }
.collection-actions { display: flex; flex-wrap: wrap; gap: .35rem; margin-left: 1.35rem; }
.collection-actions button { padding: .32rem .5rem; font-size: .66rem; }
.series-group { padding: .35rem 0 .65rem; border-bottom: 1px solid var(--border); }
.series-group h4 { position: sticky; top: 0; z-index: 1; margin: 0; padding: .55rem .15rem .35rem; background: var(--surface); color: var(--accent); font: 700 .68rem/1.3 Manrope, Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.series-group .series-option:last-child { border-bottom: 0; }
.browse-preview { margin-top: 1rem; padding-top: .85rem; border-top: 1px solid var(--border); }
.browse-heading h3 { margin-top: 0; }
.browse-series-list, .browse-issues-list { display: grid; gap: .4rem; }
.browse-series-list button, .browse-issues-list a { display: grid; gap: .1rem; padding: .5rem .55rem; border: 1px solid var(--border); border-radius: 8px; background: var(--surface-alt); text-align: left; text-decoration: none; }
.browse-series-list strong, .browse-issues-list strong { color: var(--heading); font: 700 .72rem/1.3 Manrope, Arial, sans-serif; }
.browse-series-list span, .browse-issues-list span { color: var(--muted); font: 700 .6rem/1.3 Manrope, Arial, sans-serif; text-transform: uppercase; }
.browse-issues-list { margin-top: .55rem; }
.text-badge { display: inline-block; margin-left: .35rem; padding: .08rem .34rem; border-radius: 999px; font: 700 .58rem/1.4 Manrope, Arial, sans-serif; text-transform: uppercase; vertical-align: .08em; }
.text-ready { background: color-mix(in srgb, var(--brand) 20%, transparent); color: var(--brand-dark); }
.text-missing { background: color-mix(in srgb, var(--muted) 14%, transparent); color: var(--muted); }
.language-mini { background: color-mix(in srgb, var(--accent) 16%, transparent); color: var(--accent); }
.results { min-height: 12rem; }
.results-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: .8rem; align-items: start; }
.results-layout.map-open { grid-template-columns: minmax(0, 1fr) minmax(320px, 44%); }
.results-map-panel { position: sticky; top: 1rem; padding: .75rem; border: 1px solid color-mix(in srgb, var(--accent) 34%, var(--border)); border-radius: 10px; background: var(--surface-alt); box-shadow: var(--soft-shadow); }
.results-map-panel[hidden] { display: none; }
.results-map-panel-heading { display: flex; align-items: start; justify-content: space-between; gap: .6rem; }
.results-map-panel-heading h3 { margin-top: .05rem; }
.results-map-panel p { margin: 0 0 .55rem; color: var(--muted); font: 500 .68rem/1.45 Manrope, Arial, sans-serif; }
.results-map-panel iframe { display: block; width: 100%; height: min(68vh, 680px); border: 1px solid var(--border); border-radius: 8px; background: var(--surface); }
.results-map-panel > a { display: inline-block; margin-top: .55rem; color: var(--brand-dark); font: 700 .72rem Manrope, Arial, sans-serif; }
.result-facets { margin: 0 0 1rem; border: 1px solid color-mix(in srgb, var(--brand) 30%, var(--border)); border-radius: 10px; background: color-mix(in srgb, var(--surface) 92%, var(--brand) 4%); }
.result-facets[hidden] { display: none; }
.result-facets summary { display: flex; align-items: center; justify-content: space-between; gap: .7rem; padding: .7rem .8rem; color: var(--heading); font: 700 .76rem/1.35 Manrope, Arial, sans-serif; cursor: pointer; }
.result-facets summary::marker { color: var(--brand-dark); }
.active-result-facet-count { margin-left: auto; padding: .16rem .45rem; border-radius: 999px; background: color-mix(in srgb, var(--brand) 14%, var(--surface)); color: var(--brand-dark); font-size: .62rem; text-transform: uppercase; }
.result-facet-body { padding: 0 .8rem .8rem; border-top: 1px solid var(--border); }
.result-facet-help { max-width: 52rem; margin: .7rem 0; color: var(--muted); font: 500 .7rem/1.5 Manrope, Arial, sans-serif; }
.result-facet-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.result-facet-grid label { display: grid; gap: .28rem; color: var(--muted); font: 700 .62rem/1.3 Manrope, Arial, sans-serif; text-transform: uppercase; }
.result-facet-grid select { width: 100%; min-width: 0; padding: .48rem .55rem; border: 1px solid var(--border); border-radius: 7px; background: var(--surface); color: var(--text); font: 600 .72rem/1.35 Manrope, Arial, sans-serif; text-transform: none; }
.result-facet-footer { display: flex; align-items: center; gap: .7rem; margin-top: .7rem; }
.result-facet-footer button { padding: .4rem .58rem; font-size: .68rem; }
.result-facet-footer p { margin: 0; color: var(--muted); font: 700 .68rem/1.4 Manrope, Arial, sans-serif; }
.empty-state { color: var(--muted); }
.load-error { max-width: 44rem; padding: .85rem 1rem; border: 1px solid color-mix(in srgb, var(--accent) 45%, var(--border)); border-radius: 10px; background: color-mix(in srgb, var(--accent) 10%, transparent); color: var(--text); }
.result { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: .9rem; padding: .65rem; margin: 0 0 .75rem; border: 1px solid transparent; border-bottom-color: var(--border); border-radius: 8px; transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease; }
.result:hover { transform: translateY(-1px); border-color: var(--glow-border); background: color-mix(in srgb, var(--surface) 88%, var(--brand) 12%); box-shadow: var(--soft-shadow); }
.result.no-thumbnail { display: block; }
.thumbnail-link { align-self: start; min-height: 115px; border: 1px solid var(--border); border-radius: 5px; overflow: hidden; background: var(--surface-alt); line-height: 0; }
.thumbnail { width: 90px; height: auto; display: block; }
.pdf-preview { display: grid; align-content: center; justify-items: center; gap: .28rem; width: 92px; min-height: 118px; padding: .55rem .45rem; border: 1px solid color-mix(in srgb, var(--brand) 26%, var(--border)); border-radius: 6px; background: linear-gradient(180deg, color-mix(in srgb, var(--surface) 72%, var(--brand) 10%), var(--surface-alt)); text-align: center; text-decoration: none; box-shadow: inset 0 0 0 1px color-mix(in srgb, #fff 42%, transparent); }
.fallback-preview { display: none; }
.pdf-preview-label { display: grid; place-items: center; width: 3.15rem; height: 3.15rem; border-radius: 50%; background: color-mix(in srgb, var(--brand) 16%, var(--surface)); color: var(--brand-dark); font: 700 .9rem/1 Manrope, Arial, sans-serif; }
.pdf-preview-type { color: var(--accent); font: 700 .68rem/1 Manrope, Arial, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.pdf-preview-pages { color: var(--muted); font: 700 .58rem/1.25 Manrope, Arial, sans-serif; text-transform: uppercase; }
.result h3 { margin: .15rem 0; font: 700 1.05rem/1.4 Merriweather, Georgia, serif; }
.series-name, .match-summary { margin: 0; color: var(--muted); font: 700 .68rem/1.4 Manrope, Arial, sans-serif; letter-spacing: .05em; text-transform: uppercase; }
.match-summary { margin-top: .28rem; letter-spacing: 0; text-transform: none; }
.match-summary a { font-size: inherit; }
.result-meta { display: flex; flex-wrap: wrap; gap: .3rem; margin: .2rem 0 0; }
.result-meta span { padding: .12rem .42rem; border: 1px solid var(--border); border-radius: 999px; color: var(--muted); font: 700 .62rem/1.4 Manrope, Arial, sans-serif; background: var(--surface-alt); }
.language-badge-line { display: flex; flex-wrap: wrap; gap: .3rem; margin: .3rem 0 0; }
.language-badge { display: inline-block; padding: .14rem .48rem; border: 1px solid color-mix(in srgb, currentColor 24%, transparent); border-radius: 999px; font: 700 .6rem/1.35 Manrope, Arial, sans-serif; text-transform: uppercase; }
.language-french { background: color-mix(in srgb, var(--brand) 12%, var(--surface)); color: var(--brand-dark); }
.language-foreign, .language-other { background: color-mix(in srgb, var(--accent) 12%, var(--surface)); color: var(--accent); }
.result-stat-strip { display: flex; flex-wrap: wrap; gap: .3rem; margin: .35rem 0 0; }
.result-stat-strip span { padding: .16rem .46rem; border: 1px solid color-mix(in srgb, var(--brand) 32%, var(--border)); border-radius: 999px; background: color-mix(in srgb, var(--brand) 8%, var(--surface)); color: var(--brand-dark); font: 700 .6rem/1.35 Manrope, Arial, sans-serif; text-transform: uppercase; }
.why-match { display: flex; flex-wrap: wrap; gap: .3rem; margin: .35rem 0 0; }
.why-match span { padding: .14rem .44rem; border: 1px solid color-mix(in srgb, var(--accent) 26%, var(--border)); border-radius: 999px; background: color-mix(in srgb, var(--accent) 7%, var(--surface)); color: var(--accent); font: 700 .6rem/1.35 Manrope, Arial, sans-serif; text-transform: uppercase; }
.page-clusters { display: flex; flex-wrap: wrap; gap: .35rem; align-items: baseline; margin: .36rem 0 0; color: var(--muted); font: 700 .66rem/1.4 Manrope, Arial, sans-serif; }
.page-clusters span { color: var(--accent); text-transform: uppercase; }
.page-clusters strong { color: var(--heading); font-weight: 700; }
.access-line { margin: .2rem 0 0; }
.source-map-summary { margin: .35rem 0 0; color: var(--brand-dark); font: 700 .72rem/1.45 Manrope, Arial, sans-serif; }
.case-evidence-loading { margin: .55rem 0 0; padding: .6rem .7rem; border: 1px dashed color-mix(in srgb, var(--accent) 38%, var(--border)); border-radius: 8px; color: var(--muted); background: color-mix(in srgb, var(--accent) 5%, var(--surface)); font: 700 .68rem/1.4 Manrope, Arial, sans-serif; }
.case-evidence-trail { margin: .55rem 0 0; border: 1px solid color-mix(in srgb, var(--accent) 34%, var(--border)); border-radius: 9px; background: color-mix(in srgb, var(--accent) 6%, var(--surface)); }
.case-evidence-trail summary { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .62rem .7rem; color: var(--heading); font: 700 .72rem/1.35 Manrope, Arial, sans-serif; cursor: pointer; }
.case-evidence-trail summary strong { padding: .14rem .44rem; border-radius: 999px; color: var(--accent); background: color-mix(in srgb, var(--accent) 12%, var(--surface)); font-size: .6rem; text-transform: uppercase; }
.case-evidence-source-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem; padding: .65rem; border-top: 1px solid var(--border); }
.case-evidence-source-list article { display: grid; gap: .28rem; min-width: 0; padding: .55rem; border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--border)); border-radius: 8px; background: var(--surface); }
.case-evidence-source-heading { display: flex; align-items: start; justify-content: space-between; gap: .45rem; }
.case-evidence-source-heading strong { color: var(--heading); font: 700 .72rem/1.3 Manrope, Arial, sans-serif; }
.case-evidence-source-heading span { color: var(--muted); font: 700 .56rem/1.3 Manrope, Arial, sans-serif; text-align: right; text-transform: uppercase; }
.case-evidence-source-list p { margin: 0; color: var(--muted); font: 500 .66rem/1.4 Manrope, Arial, sans-serif; }
.case-evidence-source-actions { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: auto; }
.case-evidence-source-actions a { font-size: .66rem; }
.case-evidence-overflow, .case-evidence-note { margin: 0; padding: 0 .7rem .55rem; color: var(--muted); font: 600 .62rem/1.4 Manrope, Arial, sans-serif; }
.case-evidence-note { color: var(--accent); }
.evidence-trail { margin: .5rem 0 0; padding: .55rem .65rem; border: 1px solid color-mix(in srgb, var(--accent) 30%, var(--border)); border-radius: 8px; background: color-mix(in srgb, var(--accent) 7%, var(--surface)); }
.evidence-trail p { display: flex; flex-wrap: wrap; gap: .32rem; margin: 0; }
.evidence-trail p span { padding: .14rem .45rem; border: 1px solid color-mix(in srgb, var(--accent) 30%, transparent); border-radius: 999px; color: var(--accent); font: 700 .6rem/1.35 Manrope, Arial, sans-serif; text-transform: uppercase; }
.evidence-anchors { margin-top: .4rem !important; color: var(--muted); font: 700 .66rem/1.4 Manrope, Arial, sans-serif; }
.evidence-trail-actions { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .5rem; }
.evidence-trail-actions a { font-size: .72rem; }
.dossier-result-links { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; margin-top: .55rem; }
.dossier-result-links strong { color: var(--accent); font: 700 .62rem Manrope, Arial, sans-serif; text-transform: uppercase; }
.dossier-result-links a { padding: .28rem .5rem; border: 1px solid color-mix(in srgb, var(--accent) 30%, var(--border)); border-radius: 999px; background: color-mix(in srgb, var(--accent) 7%, var(--surface)); font-size: .68rem; text-decoration: none; }
.evidence-detail { margin-top: .5rem; }
.evidence-detail summary { color: var(--brand-dark); font: 700 .7rem Manrope, Arial, sans-serif; cursor: pointer; }
.evidence-detail-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem; margin-top: .45rem; }
.evidence-detail-list article { display: grid; gap: .12rem; padding: .45rem .5rem; border: 1px solid color-mix(in srgb, var(--accent) 22%, var(--border)); border-radius: 8px; background: color-mix(in srgb, var(--surface) 82%, var(--accent) 5%); }
.evidence-detail-list strong { color: var(--heading); font: 700 .7rem/1.25 Manrope, Arial, sans-serif; }
.evidence-detail-list span { color: var(--muted); font: 700 .6rem/1.3 Manrope, Arial, sans-serif; text-transform: uppercase; }
.evidence-detail-list a { margin-top: .1rem; font-size: .68rem; }
.evidence-detail-more { margin: .1rem 0 0; color: var(--muted); font: 700 .65rem/1.4 Manrope, Arial, sans-serif; }
.access-badge { display: inline-block; padding: .16rem .5rem; border: 1px solid color-mix(in srgb, currentColor 22%, transparent); border-radius: 999px; font: 700 .62rem/1.4 Manrope, Arial, sans-serif; text-transform: uppercase; box-shadow: inset 0 1px 0 rgba(255,255,255,.18); }
.local-access { background: color-mix(in srgb, var(--brand) 18%, var(--surface)); color: var(--brand-dark); }
.online-access { background: color-mix(in srgb, var(--muted) 10%, var(--surface)); color: var(--muted); }
.unavailable-access { background: color-mix(in srgb, var(--accent) 12%, var(--surface)); color: var(--accent); }
.rights-pending-access { background: color-mix(in srgb, var(--accent) 16%, var(--surface)); color: var(--accent); }
.local-only-access { background: color-mix(in srgb, var(--muted) 12%, var(--surface)); color: var(--muted); }
.ready-upload-access { background: color-mix(in srgb, var(--brand) 18%, var(--surface)); color: var(--brand-dark); }
.excerpts { display: grid; gap: .42rem; margin: .6rem 0; }
.excerpt { margin: 0; font-size: .88rem; }
.excerpt mark { padding: 0 .08em; border-radius: 2px; background: var(--mark-bg); color: inherit; }
.excerpt .phrase-mark { background: var(--phrase-mark-bg); box-shadow: inset 0 -0.12em 0 color-mix(in srgb, var(--accent) 28%, transparent); }
.snippet-pending { gap: .5rem; }
.excerpt-skeleton { display: grid; gap: .38rem; margin: 0; }
.excerpt-skeleton span { display: block; height: .72rem; border-radius: 999px; background: linear-gradient(90deg, color-mix(in srgb, var(--muted) 12%, transparent), color-mix(in srgb, var(--muted) 22%, transparent), color-mix(in srgb, var(--muted) 12%, transparent)); background-size: 220% 100%; animation: shimmer 1.25s ease-in-out infinite; }
.excerpt-skeleton span:nth-child(1) { width: min(100%, 34rem); }
.excerpt-skeleton span:nth-child(2) { width: min(88%, 30rem); }
.excerpt-skeleton span:nth-child(3) { width: min(58%, 22rem); }
@keyframes shimmer {
  0% { background-position: 120% 0; }
  100% { background-position: -120% 0; }
}
.page-prefix { white-space: nowrap; }
.result a { color: var(--brand-dark); font: 700 .78rem Manrope, Arial, sans-serif; }
.result-actions { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; margin-top: .25rem; }
.evidence-action { display: inline-block; margin-top: .25rem; padding: .45rem .7rem; border: 1px solid var(--brand); border-radius: 999px; background: color-mix(in srgb, var(--brand) 12%, transparent); text-decoration: none; }
.result-actions .evidence-action { margin-top: 0; }
.citation-action { display: inline-block; padding: .45rem .7rem; border: 1px solid color-mix(in srgb, var(--accent) 38%, var(--border)); border-radius: 999px; background: color-mix(in srgb, var(--accent) 8%, var(--surface)); color: var(--accent); }
.secondary-action { display: inline-block; padding: .45rem .7rem; border: 1px solid var(--border); border-radius: 999px; background: var(--surface-alt); text-decoration: none; }
.map-evidence-action { border-color: color-mix(in srgb, var(--accent) 45%, var(--border)); background: color-mix(in srgb, var(--accent) 12%, var(--surface)); }
.unavailable-action { border-color: var(--border); background: var(--surface-alt); color: var(--muted); cursor: not-allowed; }
.load-more { display: block; margin: 1rem auto 0; }

.methodology-page { width: min(1040px, 92vw); }
.methodology-hero { max-width: 52rem; margin-bottom: 1.4rem; }
.methodology-hero h1 { margin: .35rem 0 .75rem; color: var(--heading); font-size: clamp(2rem, 5vw, 3.6rem); line-height: 1.08; text-wrap: balance; }
.methodology-hero > p { color: var(--muted); }
.methodology-hero .review-date { color: var(--accent); font: 700 .72rem Manrope, Arial, sans-serif; text-transform: uppercase; }
.methodology-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.methodology-grid article { padding: 1rem; border: 1px solid var(--card-border); border-radius: 12px; background: var(--surface); box-shadow: var(--soft-shadow); }
.methodology-grid h2 { margin: .2rem 0 .45rem; font-size: 1.05rem; }
.methodology-grid p { margin: 0; color: var(--muted); font: 500 .8rem/1.6 Manrope, Arial, sans-serif; }
.methodology-grid .path-number { color: var(--accent); font-weight: 700; }
.methodology-section { display: grid; grid-template-columns: minmax(210px, .7fr) minmax(0, 1.3fr); gap: 1.2rem; margin-top: 1rem; padding: 1.2rem; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); }
.methodology-section h2 { margin-top: .25rem; }
.evidence-ladder { display: grid; gap: .55rem; margin: 0; padding-left: 1.3rem; color: var(--muted); font: 500 .78rem/1.55 Manrope, Arial, sans-serif; }
.evidence-ladder strong { color: var(--heading); }
.methodology-callout { grid-template-columns: minmax(210px, .7fr) minmax(0, 1fr); align-items: center; }
.methodology-callout > p { margin: 0; color: var(--muted); font: 500 .82rem/1.6 Manrope, Arial, sans-serif; }
.methodology-actions { grid-column: 2; display: flex; flex-wrap: wrap; gap: .7rem; align-items: center; }
.methodology-actions a { color: var(--brand-dark); font: 700 .76rem Manrope, Arial, sans-serif; text-decoration: none; }
.methodology-actions .primary-button { display: inline-flex; align-items: center; color: #fff; }

.dossier-page { width: min(1080px, 92vw); }
.dossier-breadcrumb { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 1rem; color: var(--muted); font: 700 .72rem Manrope, Arial, sans-serif; }
.dossier-breadcrumb a { color: var(--brand-dark); }
.dossier-hero { padding: clamp(1rem, 4vw, 2rem); border: 1px solid color-mix(in srgb, var(--brand) 30%, var(--border)); border-radius: 16px; background: color-mix(in srgb, var(--surface) 88%, var(--brand) 5%); box-shadow: var(--shadow); }
.dossier-hero h1 { max-width: 54rem; margin: .4rem 0 .6rem; color: var(--heading); font-size: clamp(1.9rem, 5vw, 3.5rem); line-height: 1.08; text-wrap: balance; }
.dossier-hero > p:not(.eyebrow) { max-width: 50rem; color: var(--muted); }
.dossier-badges { display: flex; flex-wrap: wrap; gap: .4rem; margin: .8rem 0; }
.dossier-badges span, .evidence-status { padding: .25rem .55rem; border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--border)); border-radius: 999px; background: color-mix(in srgb, var(--accent) 7%, var(--surface)); color: var(--accent); font: 700 .64rem/1.35 Manrope, Arial, sans-serif; text-transform: uppercase; }
.dossier-actions { display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; margin-top: .8rem; }
.dossier-actions a { color: var(--brand-dark); font: 700 .76rem Manrope, Arial, sans-serif; text-decoration: none; }
.dossier-actions .primary-button { display: inline-flex; align-items: center; color: #fff; }
:root[data-theme="dark"] .dossier-actions .primary-button { color: #0b1220; }
.dossier-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr); gap: .8rem; margin-top: .8rem; }
.dossier-panel, .dossier-note { padding: 1rem; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); box-shadow: var(--soft-shadow); }
.dossier-panel h2, .dossier-note h2, .dossier-sources h2 { margin: .25rem 0 .7rem; }
.dossier-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; margin: 0; }
.dossier-fields div { min-width: 0; padding: .55rem; border: 1px solid var(--border); border-radius: 8px; background: var(--surface-alt); }
.dossier-fields dt { color: var(--muted); font: 700 .62rem Manrope, Arial, sans-serif; text-transform: uppercase; }
.dossier-fields dd { margin: .14rem 0 0; overflow-wrap: anywhere; color: var(--heading); font: 700 .8rem/1.4 Manrope, Arial, sans-serif; }
.dossier-provenance > p:not(.eyebrow) { color: var(--muted); font: 500 .76rem/1.55 Manrope, Arial, sans-serif; }
.dossier-provenance .dossier-caveat { padding: .6rem; border-left: 3px solid var(--accent); background: color-mix(in srgb, var(--accent) 7%, var(--surface)); color: var(--text); }
.dossier-sources { margin-top: .8rem; }
.dossier-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: .7rem; }
.dossier-section-heading > p { max-width: 32rem; margin: 0; color: var(--muted); font: 500 .74rem/1.5 Manrope, Arial, sans-serif; }
.dossier-source-card { margin-bottom: .65rem; padding: 1rem; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); box-shadow: var(--soft-shadow); }
.dossier-source-heading { display: flex; align-items: start; justify-content: space-between; gap: .8rem; }
.dossier-source-heading h3 { margin: .22rem 0; font: 700 .96rem/1.4 Merriweather, Georgia, serif; }
.evidence-status { flex: 0 0 auto; }
.dossier-source-meta, .dossier-attribution { margin: .3rem 0 0; color: var(--muted); font: 500 .72rem/1.5 Manrope, Arial, sans-serif; }
.dossier-attribution { color: var(--text); }
.dossier-note { margin-top: .8rem; }
.dossier-note p { color: var(--muted); font: 500 .76rem/1.6 Manrope, Arial, sans-serif; }
.dossier-note a { color: var(--brand-dark); font: 700 .75rem Manrope, Arial, sans-serif; }
.dossier-index-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; margin-top: .8rem; }
.dossier-index-card { padding: 1rem; border: 1px solid var(--card-border); border-radius: 12px; background: var(--surface); box-shadow: var(--soft-shadow); }
.dossier-index-card h2 { margin: .3rem 0; font-size: 1.1rem; }
.dossier-index-card h2 a { color: var(--heading); text-decoration: none; }
.dossier-index-card > p { margin: .3rem 0; color: var(--muted); font: 500 .72rem/1.5 Manrope, Arial, sans-serif; }
.dossier-index-card > a { color: var(--brand-dark); font: 700 .75rem Manrope, Arial, sans-serif; }
.citation-downloads { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .7rem; }
.citation-downloads a { padding: .32rem .55rem; border: 1px solid var(--border); border-radius: 999px; background: var(--surface-alt); color: var(--brand-dark); font: 700 .68rem Manrope, Arial, sans-serif; text-decoration: none; }
.citation-status { min-height: 1.2rem; margin: .35rem 0 0; color: var(--muted); font: 500 .68rem/1.4 Manrope, Arial, sans-serif; }
.research-workspace-page { width: min(1380px, 94vw); }
.research-workspace-hero { padding: clamp(1.1rem, 4vw, 2.2rem); border: 1px solid color-mix(in srgb, var(--brand) 35%, var(--border)); border-radius: 16px; background: color-mix(in srgb, var(--surface) 90%, var(--brand) 5%); box-shadow: var(--shadow); }
.research-workspace-hero h1 { max-width: 60rem; margin: .35rem 0 .7rem; color: var(--heading); font-size: clamp(2rem, 5vw, 3.8rem); line-height: 1.06; text-wrap: balance; }
.research-workspace-hero > p:not(.eyebrow) { max-width: 58rem; color: var(--muted); }
.research-workspace-actions { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: .9rem; }
.research-workspace-status { min-height: 1.2rem; margin: .55rem 0 0; color: var(--muted); font: 700 .7rem/1.4 Manrope, Arial, sans-serif; }
.research-shared-note { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .8rem; padding: .75rem .9rem; border-left: 4px solid var(--accent); background: color-mix(in srgb, var(--accent) 8%, var(--surface)); color: var(--text); font: 600 .74rem/1.45 Manrope, Arial, sans-serif; }
.research-shared-note[hidden] { display: none; }
.research-workspace-layout { display: grid; grid-template-columns: minmax(260px, .32fr) minmax(0, 1fr); gap: .8rem; margin-top: .8rem; }
.research-selection-panel, .research-comparison-panel, .research-workspace-note { padding: 1rem; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); box-shadow: var(--soft-shadow); }
.research-selection-panel > p { color: var(--muted); font: 500 .7rem/1.45 Manrope, Arial, sans-serif; }
.research-section-heading { display: flex; align-items: end; justify-content: space-between; gap: .7rem; }
.research-section-heading h2 { margin: .18rem 0; }
.research-section-heading > span { color: var(--muted); font: 700 .64rem/1.3 Manrope, Arial, sans-serif; text-transform: uppercase; }
.research-item-list { display: grid; gap: .45rem; margin-top: .7rem; }
.research-item-option { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .55rem; align-items: center; padding: .58rem; border: 1px solid var(--border); border-radius: 8px; background: var(--surface-alt); }
.research-item-option span { display: grid; gap: .15rem; min-width: 0; }
.research-item-option strong { overflow-wrap: anywhere; color: var(--heading); font: 700 .72rem/1.35 Merriweather, Georgia, serif; }
.research-item-option small { color: var(--muted); font: 600 .6rem/1.35 Manrope, Arial, sans-serif; }
.research-item-option a { font: 700 .66rem Manrope, Arial, sans-serif; }
.research-empty-state { padding: 1rem; border: 1px dashed var(--border); border-radius: 9px; text-align: center; }
.research-empty-state a { display: inline-block; margin: .2rem; }
.research-comparison-scroll { overflow-x: auto; }
.research-comparison-table { width: 100%; min-width: 680px; border-collapse: collapse; margin-top: .7rem; font: 600 .68rem/1.45 Manrope, Arial, sans-serif; }
.research-comparison-table th, .research-comparison-table td { padding: .55rem .6rem; border: 1px solid var(--border); vertical-align: top; text-align: left; overflow-wrap: anywhere; }
.research-comparison-table thead th { min-width: 170px; background: color-mix(in srgb, var(--brand) 9%, var(--surface)); color: var(--heading); }
.research-comparison-table tbody th { width: 8rem; background: var(--surface-alt); color: var(--muted); text-transform: uppercase; }
.research-comparison-table a { color: var(--heading); text-decoration: none; }
.research-citation-cell { min-width: 220px; font-weight: 500; }
.research-comparison-empty { margin: 1rem 0; padding: 1rem; border: 1px dashed var(--border); border-radius: 9px; color: var(--muted); }
.research-workspace-note { margin-top: .8rem; }
.research-workspace-note h2 { margin-top: 0; }
.research-workspace-note p { max-width: 68rem; color: var(--muted); font: 500 .76rem/1.6 Manrope, Arial, sans-serif; }

.investigation-page { width: min(1120px, 94vw); }
.investigation-hero { padding: clamp(1.2rem, 5vw, 3.2rem); border: 1px solid color-mix(in srgb, var(--accent) 45%, var(--border)); border-radius: 18px; background: linear-gradient(135deg, color-mix(in srgb, var(--surface) 88%, var(--accent) 8%), var(--surface)); box-shadow: var(--shadow); }
.investigation-hero h1 { max-width: 55rem; margin: .4rem 0 .8rem; color: var(--heading); font-size: clamp(2.2rem, 6vw, 4.5rem); line-height: 1.02; text-wrap: balance; }
.investigation-hero > p:not(.eyebrow) { max-width: 52rem; color: var(--muted); font: 500 clamp(.82rem, 2vw, 1rem)/1.65 Manrope, Arial, sans-serif; }
.investigation-hero-actions, .investigation-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; margin-top: 1rem; }
.investigation-hero-actions a, .investigation-actions a { font: 700 .7rem/1.3 Manrope, Arial, sans-serif; }
.investigation-trust { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1rem; }
.investigation-trust span { padding: .28rem .55rem; border: 1px solid var(--border); border-radius: 999px; background: var(--surface); color: var(--muted); font: 700 .62rem/1.3 Manrope, Arial, sans-serif; }
.investigation-progress { position: sticky; top: .6rem; z-index: 20; display: grid; grid-template-columns: minmax(180px, auto) minmax(180px, 1fr); align-items: center; gap: 1rem; margin: .8rem 0; padding: .72rem .9rem; border: 1px solid var(--border); border-radius: 12px; background: color-mix(in srgb, var(--surface) 94%, transparent); box-shadow: var(--soft-shadow); backdrop-filter: blur(12px); }
.investigation-progress div { display: grid; gap: .15rem; }
.investigation-progress strong { color: var(--heading); font: 700 .72rem Manrope, Arial, sans-serif; }
.investigation-progress span { color: var(--muted); font: 500 .6rem Manrope, Arial, sans-serif; }
.investigation-progress progress { width: 100%; height: .65rem; accent-color: var(--brand); }
.investigation-checkpoints { display: grid; gap: .8rem; }
.investigation-checkpoint { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: clamp(.8rem, 3vw, 1.5rem); padding: clamp(1rem, 4vw, 1.7rem); border: 1px solid var(--border); border-radius: 14px; background: var(--surface); box-shadow: var(--soft-shadow); scroll-margin-top: 6rem; }
.investigation-checkpoint.is-complete { border-color: color-mix(in srgb, var(--brand) 60%, var(--border)); background: color-mix(in srgb, var(--surface) 95%, var(--brand) 3%); }
.investigation-checkpoint-number { display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 50%; background: var(--heading); color: var(--surface); font: 700 .72rem Manrope, Arial, sans-serif; }
.investigation-checkpoint.is-complete .investigation-checkpoint-number { background: var(--brand); }
.investigation-checkpoint-copy h2 { margin: .2rem 0 .5rem; color: var(--heading); font-size: clamp(1.35rem, 3vw, 2rem); }
.investigation-checkpoint-copy > p:not(.eyebrow) { max-width: 54rem; color: var(--muted); font: 500 .78rem/1.65 Manrope, Arial, sans-serif; }
.investigation-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: .45rem; margin: .9rem 0; }
.investigation-facts div { padding: .58rem; border-left: 3px solid color-mix(in srgb, var(--brand) 60%, var(--border)); background: var(--surface-alt); }
.investigation-facts dt { color: var(--muted); font: 700 .58rem/1.3 Manrope, Arial, sans-serif; text-transform: uppercase; }
.investigation-facts dd { margin: .18rem 0 0; overflow-wrap: anywhere; color: var(--heading); font: 700 .7rem/1.4 Manrope, Arial, sans-serif; }
.investigation-checkpoint [data-investigation-check][aria-pressed="true"] { border-color: var(--brand); background: color-mix(in srgb, var(--brand) 10%, var(--surface)); color: var(--brand-dark); }
.investigation-finish { margin-top: .8rem; padding: clamp(1rem, 4vw, 1.7rem); border: 1px solid var(--border); border-radius: 14px; background: var(--surface); box-shadow: var(--soft-shadow); }
.investigation-finish h2 { max-width: 48rem; margin: .25rem 0; }
.investigation-finish > p:not(.eyebrow) { max-width: 58rem; color: var(--muted); font: 500 .78rem/1.65 Manrope, Arial, sans-serif; }
.investigation-index-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: .8rem; margin-top: .8rem; }
.investigation-index-card { padding: 1.1rem; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); box-shadow: var(--soft-shadow); }
.investigation-index-card h2 { margin: .25rem 0 .55rem; }
.investigation-index-card h2 a { color: var(--heading); text-decoration: none; }
.investigation-index-card > p:not(.eyebrow) { color: var(--muted); font: 500 .74rem/1.55 Manrope, Arial, sans-serif; }

@media (max-width: 800px) {
  .header-inner { align-items: flex-start; }
  .site-tagline, .host-note { display: none; }
  main { padding-top: 1.3rem; }
  .workspace, .advanced-search { grid-template-columns: 1fr; }
  .featured-collections { grid-template-columns: 1fr 1fr; }
  .newly-searchable-list { grid-template-columns: 1fr 1fr; }
  .collection-spotlight-grid { grid-template-columns: 1fr 1fr; }
  .source-rich-list { grid-template-columns: 1fr 1fr; }
  .investigation-progress { position: static; grid-template-columns: 1fr; }
  .archive-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .start-here-grid { grid-template-columns: 1fr; }
  .start-here-grid article { min-height: 0; }
  .criteria-heading { grid-column: auto; }
  .result-facet-grid { grid-template-columns: 1fr; }
  .case-result-controls { grid-template-columns: 1fr 1fr; }
  .case-evidence-source-list { grid-template-columns: 1fr; }
  .results-layout.map-open { grid-template-columns: 1fr; }
  .results-map-panel { position: static; order: -1; }
  .series-list { max-height: 28vh; }
  .methodology-grid, .methodology-section, .methodology-callout { grid-template-columns: 1fr; }
  .methodology-actions { grid-column: 1; }
  .dossier-layout, .dossier-index-grid { grid-template-columns: 1fr; }
  .research-workspace-layout { grid-template-columns: 1fr; }
  .dossier-section-heading, .dossier-source-heading { align-items: start; flex-direction: column; }
}

@media (max-width: 480px) {
  .brand-mark { width: 2.3rem; height: 2.3rem; }
  .site-title { font-size: 1rem; }
  .search-panel, .series-panel, .results-panel { border-radius: 11px; padding: .85rem; }
  .featured-collections { grid-template-columns: 1fr; }
  .newly-searchable-list { grid-template-columns: 1fr; }
  .collection-spotlight-grid { grid-template-columns: 1fr; }
  .source-rich-list { grid-template-columns: 1fr; }
  .archive-stats { display: flex; gap: .45rem; overflow-x: auto; padding-bottom: .25rem; scroll-snap-type: x proximity; }
  .case-result-controls { grid-template-columns: 1fr; }
  .archive-stats span { flex: 0 0 9.5rem; scroll-snap-align: start; }
  .result { grid-template-columns: 70px minmax(0, 1fr); gap: .65rem; }
  .evidence-detail-list { grid-template-columns: 1fr; }
  .dossier-fields { grid-template-columns: 1fr; }
  .thumbnail { width: 68px; }
  .thumbnail-link { min-height: 88px; }
  .pdf-preview { width: 70px; min-height: 92px; }
  .pdf-preview-label { width: 2.45rem; height: 2.45rem; font-size: .74rem; }
  .result-facet-footer { align-items: flex-start; flex-direction: column; }
}
