@import url('https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,600,700');
:root { color-scheme:light; --bg:#3b414d; --accent:#ee6767; --text:#535353; --muted:#777; --stroke:#e9e9e9; }
*,*::before,*::after {box-sizing:border-box}
html {scroll-behavior:smooth}
body {margin:0;background:var(--bg);color:var(--text);font:400 16px/1.42 'Source Sans Pro',Arial,sans-serif}
a {color:inherit;text-decoration:none;border-bottom:1px dotted #bababa}
a:hover,a:focus-visible {color:var(--accent);border-bottom-color:transparent}
.wrap {max-width:1048px;margin:0 auto;padding:0 20px}
.site-header {padding:11px 0 4px;color:#e7e7e7}
.header-inner {display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.brand {font-size:1.4rem;font-weight:600;color:#fff;border:0;white-space:nowrap}
.site-header nav {display:flex;flex-wrap:wrap;gap:18px}
.site-header nav a {border:0;font-weight:600;font-size:.93rem}
.page-shell {background:#fff;border-radius:4px;min-height:560px;margin-top:9px;margin-bottom:12px;padding:15px 30px 26px;box-shadow:0 12px 30px rgba(0,0,0,.13)}
.breadcrumbs {font-size:.75rem;color:#888;display:flex;flex-wrap:wrap;gap:7px;margin-bottom:7px}
h1 {font-size:clamp(1.42rem,2.3vw,1.73rem);font-weight:600;line-height:1.2;margin:0}
h2 {font-size:1.14rem;font-weight:600;margin:0 0 7px}
h3 {font-size:1.07rem;font-weight:600;margin:4px 0 7px}
p {margin:0 0 12px}
.intro-block {border-bottom:2px solid #f3f3f3;margin-bottom:11px;padding-bottom:9px}
.eyebrow {text-transform:uppercase;letter-spacing:.09em;color:#af4343;font-weight:700;font-size:.75rem;margin:0 0 6px}
/* The entire search/filter form remains a single compact row at desktop width. */
.filter-panel {background:#f8f8f8;padding:9px 11px;border:1px solid var(--stroke);border-radius:4px;margin:0 0 12px}
.filters {display:grid;grid-template-columns:minmax(190px,2fr) minmax(105px,1fr) 92px 89px auto;gap:9px;align-items:end}
.field {min-width:0}
.field label {display:block;font-size:.76rem;font-weight:600;margin-bottom:2px;line-height:1.15}
input,select,textarea {font:inherit;color:#444;width:100%;max-width:100%;background:white;border:1px solid #ccc;border-radius:3px;padding:5px 8px;min-height:34px;font-size:.9rem}
input:focus,select:focus,textarea:focus {outline:2px solid var(--accent);outline-offset:1px}
.filter-actions {display:flex;align-items:center;gap:9px;white-space:nowrap}
.button {display:inline-flex;align-items:center;justify-content:center;line-height:1.15;font:600 .9rem 'Source Sans Pro',Arial,sans-serif;min-height:34px;padding:6px 11px;background:var(--accent);color:white;border:1px solid var(--accent);border-radius:3px;cursor:pointer;text-decoration:none}
.button:hover,.button:focus-visible {background:#d65050;color:white;border-bottom-color:var(--accent)}
.button-outline {background:#fff;color:#b74e4e}
.button-outline:hover {background:#fff5f5;color:#a63c3c}
.filter-actions .button-outline {border:0;background:transparent;color:#8b5656;padding:4px 0;min-height:0;font-size:.77rem}
.filter-actions .button-outline:hover {color:#c42d2d;text-decoration:underline}
.results-heading {display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap;border-bottom:2px solid #f2f2f2;padding-bottom:5px;margin-bottom:0}
.results-heading h2 {font-size:1.06rem;margin:0}
.results-heading p {color:#777;font-size:.83rem;margin:0}
/* Compact list: linked title, medium and right-aligned year on the same line. */
.publication-list {margin:0 0 14px;padding-left:27px}
.publication-entry {padding:6px 3px 7px;border-bottom:1px solid var(--stroke);line-height:1.3}
.publication-entry::marker {color:#aaa;font-size:.78rem}
/* Let the title use all remaining space. Medium and year are one compact right-hand block. */
.entry-line {display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:baseline;column-gap:7px}
/* Database line breaks are removed server-side; even a very long first line may not wrap. */
.publication-title {display:block;min-width:0;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#414141;border-color:#ccc;font-weight:600;font-size:.96rem}
.publication-title:hover {color:var(--accent)}
.entry-meta {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:8px;min-width:0;color:#8b5d5d;font-size:.79rem;line-height:1.3}
/* Medium remains left-aligned within one stable, narrower column. The year stays right-aligned. */
.publication-list .entry-meta {grid-template-columns:88px 4ch;column-gap:5px;width:max-content;min-width:0}
.publication-list .entry-medium {display:block;min-width:0;text-align:left;justify-self:start}
.publication-list .entry-year {display:block;min-width:4ch;text-align:right;white-space:nowrap;justify-self:end}
.publication-entry .entry-source {margin:2px 0 0;color:#888;font-size:.81rem;line-height:1.26}
.pagination {display:flex;flex-wrap:wrap;gap:5px;margin:14px 0 18px}
.page-link {padding:5px 10px;border:1px solid #ddd;border-radius:3px;font-size:.86rem}
.page-link.selected {background:var(--accent);color:white;border-color:var(--accent)}
.page-link:hover,.page-link:focus-visible {border-bottom-color:#ddd}
.page-link.selected:hover,.page-link.selected:focus-visible {border-bottom-color:var(--accent)}
.year-quicklinks {border-top:1px solid var(--stroke);margin-top:14px;padding-top:13px}
.year-quicklinks h2 {font-size:1rem}
.year-quicklinks>div {display:flex;flex-wrap:wrap;gap:5px}
.year-quicklinks a {font-size:.77rem;border:1px solid #eee;padding:3px 7px;border-radius:3px}
.year-quicklinks a:hover,.year-quicklinks a:focus-visible {border-bottom-color:#eee}
.archive-description {font-size:.82rem;color:#888;margin:15px 0 0}
/* Publication detail pages remain readable while retaining the same site chrome. */
.page-detail article {max-width:900px}
.page-detail .entry-meta {justify-content:flex-start;margin-top:8px}
.detail-card {border:1px solid #e3e3e3;border-radius:4px;padding:17px 21px;background:#fafafa;margin:22px 0}
.detail-card dl {margin:0}
.detail-card dl div {display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:14px;padding:8px 0;border-bottom:1px solid #e9e9e9}
.detail-card dl div:last-child {border-bottom:0}
.detail-card dt {font-weight:600;color:#555}
.detail-card dd {margin:0;overflow-wrap:anywhere}
.detail-back {display:flex;gap:10px;flex-wrap:wrap}
.error-card {max-width:780px;margin:28px auto;padding:15px 10px 35px}
.error-card h1 {font-size:1.65rem}
.empty-results {padding:12px 0}
.site-footer {max-width:1048px;margin:0 auto;color:#ced0d5;padding:10px 20px 30px;display:block}
.site-footer .wrap {display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:0}
.site-footer a {border:0}
.skip-link {position:absolute;left:-9999px;top:0;padding:9px;background:#fff;color:black}
.skip-link:focus {left:10px;z-index:10}
@media(max-width:980px) {
  .filters {grid-template-columns:minmax(180px,2fr) minmax(110px,1fr) 90px 88px}
  .filter-actions {grid-column:1/-1;justify-content:flex-start}
}
@media(max-width:650px) {
  body {font-size:15px}
  .wrap {padding-left:13px;padding-right:13px}
  .page-shell {padding:13px 16px 20px}
  .header-inner {justify-content:center}
  .site-header nav {justify-content:center;gap:10px 14px}
  .site-header nav a {font-size:.87rem}
  .filters {grid-template-columns:1fr 1fr;gap:8px}
  .field-search {grid-column:1/-1}
  .filter-actions {grid-column:1/-1}
  .entry-line {display:block}
  .publication-list .entry-meta {display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%;margin-top:2px}
  .publication-list {padding-left:23px}
  .publication-entry {padding:7px 2px}
  .detail-card {padding:13px}
  .detail-card dl div {display:block}
  .detail-card dt {margin-bottom:2px}
}
@media(max-width:355px) {
  .filters {grid-template-columns:1fr}
  .field-search {grid-column:auto}
}
