.js-publications {
  display: flex;
  flex: 1 1 0%;
  flex-direction: column;
  min-width: 0;
  min-height: 255px;
  overflow: hidden;
  border: 1px solid #e2e5e2;
  border-radius: 8px;
  background: #fff;
  color: #111c2b;
  box-shadow: 0 1px 2px rgb(0 0 0 / 5%);
}
.js-publications-header { flex: 0 0 auto; padding: 8px; border-bottom: 1px solid #edf0ed; }
.js-publications-title-row { display: flex; align-items: center; gap: 8px; }
.js-publications-title-row h2 { flex: 1; margin: 0; font-size: 18px; font-weight: 900; line-height: 1.3; letter-spacing: -.03em; }
.js-publications-count { flex: 0 0 auto; font-size: 10px; color: #53647a; }
.js-publications-filters { display: flex; width: max-content; max-width: 100%; margin-top: 6px; overflow: hidden; border: 1px solid #dce3e0; border-radius: 6px; background: #f7f8f8; }
.js-publications-filters button { padding: 5px 10px; font-size: 10px; line-height: 1.3; color: #183254; }
.js-publications-filters button[aria-pressed="true"] { background: #031a3f; color: white; font-weight: 600; }
.js-publications-filters button:hover:not([aria-pressed="true"]) { background: #eef7f1; }
.js-publications-navigation { display: flex; align-items: center; gap: 5px; margin-top: 6px; }
.js-publications-navigation select { flex: 1; min-width: 0; height: 29px; padding: 3px 7px; border: 1px solid #dce3e0; border-radius: 5px; background: #fff; font: inherit; font-size: 11px; color: #183254; }
.js-publications-step { flex: 0 0 29px; height: 29px; border: 1px solid #dce3e0; border-radius: 5px; color: #07552f; font-size: 22px; line-height: 1; }
.js-publications-step:hover:enabled { background: #eef7f1; }
.js-publications-step:disabled { cursor: default; opacity: .35; }
.js-publications-scroll { flex: 1 1 auto; min-width: 0; min-height: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.js-publications-article { width: 100%; min-width: 0; }
.js-publications-image-button { display: block; width: 100%; padding: 0; border: 0; background: #f7f8f8; cursor: zoom-in; }
.js-publications-image { display: block; width: 100%; height: auto; max-height: min(420px, 42dvh); object-fit: contain; background: #f7f8f8; }
.js-publications-copy { padding: 10px 10px 12px; }
.js-publications-copy h3 { margin: 0; font-size: 15px; font-weight: 700; line-height: 1.4; overflow-wrap: anywhere; }
.js-publications-meta { margin: 5px 0 8px; font-size: 10px; line-height: 1.5; color: #53647a; }
.js-publications-text { margin: 0; font-size: 12px; line-height: 1.7; color: #33423b; white-space: pre-wrap; overflow-wrap: anywhere; }
.js-publications-open { margin-top: 10px; padding: 6px 10px; border: 1px solid #0a653c; border-radius: 5px; color: #07552f; font-size: 11px; font-weight: 600; }
.js-publications-open:hover { background: #eef7f1; }
.js-publications-empty { display: grid; flex: 1; min-height: 140px; place-items: center; padding: 16px; font-size: 13px; color: #607068; text-align: center; }
.js-publications button:focus-visible, .js-publications select:focus-visible, .js-publications-scroll:focus-visible { outline: 2px solid #0a653c; outline-offset: -2px; }
.js-publications-dialog { width: calc(100vw - 32px) !important; max-width: 900px !important; max-height: 90dvh; overflow-x: hidden; overflow-y: auto; }
.js-publications-dialog-image { display: block; width: 100%; height: auto; max-height: 70dvh; object-fit: contain; }
.js-publications-dialog-text { margin: 0; color: #33423b; font-size: 14px; line-height: 1.75; white-space: pre-wrap; overflow-wrap: anywhere; }
@media (max-width: 1279px) {
  .js-publications { flex: 0 0 auto; max-height: 85dvh; }
  .js-publications-scroll { flex-basis: auto; }
  .js-publications-copy { padding: 12px; }
  .js-publications-text { font-size: 14px; }
  .js-publications-title-row h2 { font-size: 19px; }
  .js-publications-filters button { min-height: 34px; padding: 7px 12px; font-size: 11px; }
  .js-publications-navigation select, .js-publications-step { min-height: 34px; }
  .js-publications-navigation select { font-size: 12px; }
}
@media (max-width: 359px) {
  .js-publications-title-row h2 { font-size: 17px; }
  .js-publications-filters button { padding-right: 9px; padding-left: 9px; }
}
