/* Castalia — страница поиска и выдачи. Уровень интенсивности 3:
   тонкие линейки, разрядка капсом, ноль текстур и ноль гранжа.
   Токены отсюда не переопределяются: только используются.
   Акцент в блоках выдачи ровно один — золото; киноварь на странице не появляется. */

/* ── служебное ────────────────────────────────────────────────────────── */

/* якорь не должен уезжать под липкую строку поиска */
html { scroll-padding-top: calc(var(--s9) + var(--s4)); }

.skip {
  position: absolute;
  left: var(--s5);
  top: var(--s2);
  z-index: var(--z-modal);
  transform: translateY(-200%);
  background: var(--ink);
  color: var(--paper);
  font-family: var(--font-meta);
  text-transform: uppercase;
  letter-spacing: var(--track-meta);
  font-size: .68rem;
  padding: var(--s2) var(--s4);
  text-decoration: none;
  transition: transform var(--dur) var(--ease);
}
.skip:focus { transform: translateY(0); }

/* ── появление страницы ───────────────────────────────────────────────── */

@keyframes enter-up {
  from { opacity: 0; transform: translateY(var(--s3)); }
  to   { opacity: 1; transform: none; }
}

.enter { opacity: 1; transform: none; }

/* ── шапка ────────────────────────────────────────────────────────────── */

.masthead {
  border-bottom: 1px solid var(--rule);
}
.masthead__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--s3) var(--s5);
  padding-block: var(--s4);
}
.masthead__mark {
  font-family: var(--font-display);
  font-size: 1.375rem;
  letter-spacing: .04em;
  text-decoration: none;
  color: var(--text);
}
.masthead__mark:hover { color: var(--text); }

.masthead__nav {
  display: flex;
  gap: var(--s5);
  margin-right: auto;
}
.masthead__nav a {
  font-family: var(--font-meta);
  text-transform: uppercase;
  letter-spacing: var(--track-meta);
  font-size: .68rem;
  color: var(--slate);
  text-decoration: none;
  position: relative;
  padding-bottom: var(--s1);
}
.masthead__nav a::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 1px;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform var(--dur) var(--ease);
}
.masthead__nav a:hover { color: var(--text); }
.masthead__nav a:hover::after,
.masthead__nav a[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }
.masthead__nav a[aria-current="page"] { color: var(--text); }

.masthead__issue { margin-left: auto; color: var(--slate); }

/* ── пролог ───────────────────────────────────────────────────────────── */

.prologue { padding-block: var(--s8) var(--s6); }
.prologue__title {
  font-size: clamp(2.25rem, 7vw, 4rem);
  margin-top: var(--s2);
}
.prologue__lede {
  max-width: var(--measure);
  color: var(--slate);
  margin-top: var(--s4);
  margin-bottom: 0;
  font-size: 1.0625rem;
}

/* ── строка поиска ────────────────────────────────────────────────────── */

.finder-dock {
  position: sticky;
  top: 0;
  z-index: var(--z-nav);
  background: var(--paper);
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
}

.finder {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: var(--s4);
  padding-block: var(--s3) var(--s4);
}

.finder__field { position: relative; }
.finder__label { display: block; margin-bottom: var(--s1); color: var(--slate); }

.finder__input {
  width: 100%;
  border: 0;
  background: transparent;
  padding: var(--s2) 0;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(1.375rem, 3.6vw, 2rem);
  line-height: var(--leading-tight);
  letter-spacing: -.015em;
  color: var(--text);
}
.finder__input::placeholder { color: var(--mute); opacity: 1; }
.finder__input::-webkit-search-cancel-button { appearance: none; }

.finder__rule {
  position: absolute;
  inset: auto 0 0 0;
  height: 1px;
  background: var(--rule);
}
.finder__rule::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--dur) var(--ease);
}
.finder__field:focus-within .finder__rule::after { transform: scaleX(1); }

.finder__clear {
  background: none;
  border: 0;
  border-bottom: 1px solid var(--rule);
  color: var(--slate);
  padding: var(--s2) 0;
  cursor: pointer;
  transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);
}
.finder__clear:hover:not(:disabled) { color: var(--text); border-color: var(--gold); }
/* пока поле пусто — кнопка не приглушается, а уходит: место за ней остаётся */
.finder__clear:disabled { visibility: hidden; opacity: 0; cursor: default; }

/* ── сетка страницы ───────────────────────────────────────────────────── */

.layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--s7);
  padding-block: var(--s6) var(--s10);
  align-items: start;
}
@media (min-width: 48rem) {
  .layout {
    grid-template-columns: var(--s11) minmax(0, 1fr);
    gap: var(--s8);
  }
}
@media (min-width: 78rem) {
  .layout { grid-template-columns: calc(var(--s11) + var(--s6)) minmax(0, 1fr); }
}

/* ── фасеты ───────────────────────────────────────────────────────────── */

@media (min-width: 48rem) {
  .facets {
    position: sticky;
    top: calc(var(--s9) + var(--s4));
  }
}

.facets__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--s4);
  padding-bottom: var(--s2);
  border-bottom: 1px solid var(--gold);
}

.facets__title {
  margin: 0;                        /* гасим базовые отбивки h2 */
  color: var(--slate);
}

.facets__toggle {
  background: none;
  border: 0;
  padding: 0;
  color: var(--text);
  cursor: pointer;
  position: relative;
  white-space: nowrap;
}
.facets__toggle::after {
  content: "";
  position: absolute;
  inset: auto 0 calc(var(--s1) * -1) 0;
  height: 1px;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform var(--dur) var(--ease);
}
.facets__toggle:hover::after { transform: scaleX(1); transform-origin: left; }

@media (max-width: 47.999rem) {
  .facets.is-collapsed .facets__body { display: none; }
}
@media (min-width: 48rem) {
  .facets__toggle { display: none; }
}

.facet {
  border: 0;
  padding: 0;
  margin: 0;
  margin-top: var(--s5);
}
.facet__legend {
  font-family: var(--font-meta);
  text-transform: uppercase;
  letter-spacing: .2em;
  font-size: .68rem;
  color: var(--text);
  padding: 0;
  margin-bottom: var(--s3);
}

.facet__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.facet__row { margin: 0; }
.facet__row.is-folded { display: none; }

.facet__label {
  display: grid;
  grid-template-columns: var(--s4) minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--s3);
  padding: var(--s2) 0;
  cursor: pointer;
  border-bottom: 1px solid var(--rule);
  position: relative;
  transition: border-color var(--dur-fast) var(--ease);
}
.facet__label:hover { border-color: var(--gold); }

.facet__input {
  position: absolute;
  left: 0;
  width: var(--s4);
  height: var(--s4);
  margin: 0;
  opacity: 0;
}

.facet__box {
  width: var(--s4);
  height: var(--s4);
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--rule);
  background: transparent;
  transition: background-color var(--dur-fast) var(--ease),
              border-color var(--dur-fast) var(--ease);
}
.facet__box::after {
  content: "";
  width: var(--s1);
  height: var(--s2);
  border-right: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
  transform: translateY(-1px) rotate(42deg) scale(0);
  transition: transform var(--dur-fast) var(--ease);
}
.facet__label:hover .facet__box { border-color: var(--gold); }
.facet__input:checked + .facet__box { background: var(--gold); border-color: var(--gold); }
.facet__input:checked + .facet__box::after { transform: translateY(-1px) rotate(42deg) scale(1); }
.facet__input:focus-visible + .facet__box { outline: 2px solid var(--focus); outline-offset: 3px; }

.facet__name {
  font-family: var(--font-meta);
  font-size: .8125rem;
  line-height: 1.3;
  color: var(--text);
  overflow-wrap: anywhere;
}
.facet__count {
  font-family: var(--font-mono);
  font-size: .625rem;
  letter-spacing: .1em;
  color: var(--slate);
}
/* цифра, которая изменилась, коротко всплывает — цветом не мигаем,
   иначе на долю секунды получается золото по бумаге, а это 1.9:1 */
.facet__count.is-bumped { animation: count-bump var(--dur) var(--ease) both; }
@keyframes count-bump {
  from { opacity: .35; transform: translateY(-2px); }
  to   { opacity: 1;   transform: none; }
}

/* нулевой фасет гасится глифом, а не текстом: контраст подписи не падает */
.facet__row.is-empty .facet__box { opacity: .4; }

.facet__more {
  background: none;
  border: 0;
  padding: var(--s3) 0 0;
  color: var(--slate);
  cursor: pointer;
  text-align: left;
  transition: color var(--dur-fast) var(--ease);
}
.facet__more:hover { color: var(--text); }

/* ── панель выдачи ────────────────────────────────────────────────────── */

.results { min-width: 0; }
.results:focus { outline: none; }

.results__bar {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--s3) var(--s5);
  padding-bottom: var(--s3);
  border-bottom: 1px solid var(--gold);
}

.results__tally {
  margin: 0;
  display: flex;
  align-items: baseline;
  gap: var(--s2);
}
.results__n {
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 4.5vw, 2.5rem);
  line-height: 1;
  color: var(--text);
}
.results__of { color: var(--slate); }

.sort {
  border: 0;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--s2) var(--s4);
}
.sort__label { color: var(--slate); }
.sort__set {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s4);
}
.sort__opt { position: relative; display: inline-flex; }
.sort__opt input {
  position: absolute;
  inset: 0;
  opacity: 0;
  margin: 0;
  pointer-events: none;
}
.sort__opt label {
  font-family: var(--font-meta);
  text-transform: uppercase;
  letter-spacing: var(--track-meta);
  font-size: .68rem;
  color: var(--slate);
  cursor: pointer;
  padding-bottom: var(--s1);
  position: relative;
  transition: color var(--dur-fast) var(--ease);
}
.sort__opt label::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 1px;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform var(--dur) var(--ease);
}
.sort__opt label:hover { color: var(--text); }
.sort__opt label:hover::after { transform: scaleX(1); transform-origin: left; }
.sort__opt input:checked + label { color: var(--text); }
.sort__opt input:checked + label::after { transform: scaleX(1); transform-origin: left; }
.sort__opt input:focus-visible + label { outline: 2px solid var(--focus); outline-offset: 3px; }

/* ── активные фильтры ─────────────────────────────────────────────────── */

.chips {
  list-style: none;
  padding: 0;
  margin: var(--s4) 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--s2);
}
.chips[hidden] { display: none; }

@keyframes chip-in {
  from { opacity: 0; transform: scale(.94); }
  to   { opacity: 1; transform: none; }
}

.chip { margin: 0; max-width: 100%; min-width: 0; animation: chip-in var(--dur-fast) var(--ease) both; }
.chip__btn {
  max-width: 100%;
  display: inline-flex;
  align-items: baseline;
  gap: var(--s2);
  background: transparent;
  border: 1px solid var(--rule);
  padding: var(--s1) var(--s3);
  cursor: pointer;
  font-family: var(--font-meta);
  font-size: .75rem;
  color: var(--text);
  transition: border-color var(--dur-fast) var(--ease),
              background-color var(--dur-fast) var(--ease);
}
.chip__btn:hover { border-color: var(--gold); background: var(--paper-2); }
.chip__kind { color: var(--slate); }
/* запрос приходит от человека, а человек вправе набрать сорок символов без пробела:
   без переноса такой чип растягивает страницу за край экрана, а правило 7 из
   README запрещает горизонтальный скролл документа при любом содержимом */
.chip__value { min-width: 0; overflow-wrap: anywhere; }
.chip__x {
  font-family: var(--font-meta);
  color: var(--slate);
  transition: transform var(--dur-fast) var(--ease);
}
.chip__btn:hover .chip__x { transform: rotate(90deg); }

.chip--reset .chip__btn {
  border-color: var(--slate);
  text-transform: uppercase;
  letter-spacing: var(--track-meta);
  font-size: .68rem;
}

/* ── строка выдачи ────────────────────────────────────────────────────── */

.results__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.results__list[hidden] { display: none; }

@keyframes row-in {
  from { opacity: 0; transform: translateY(var(--s2)); }
  to   { opacity: 1; transform: none; }
}

.result {
  margin: 0;
  padding-block: var(--s5);
  position: relative;
}
/* Анимация принадлежит появлению строки, а не перерисовке списка. Список
   пересобирается на каждое нажатие клавиши; когда row-in висел прямо на .result,
   строки во время набора стояли в opacity: 0 и выдачу нельзя было прочитать —
   при том что страница обещает «the list responds as you write». Класс снимается
   по окончании анимации, поэтому следующая перерисовка её не перезапускает. */
.result.is-new {
  animation: row-in var(--dur) var(--ease) both;
  animation-delay: calc(var(--i, 0) * 45ms);
}
.result + .result { border-top: 1px solid var(--rule); }

.result::before {
  content: "";
  position: absolute;
  left: calc(var(--s3) * -1);
  top: var(--s5);
  bottom: var(--s5);
  width: 1px;
  background: var(--gold);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform var(--dur) var(--ease);
}
.result:hover::before,
.result:focus-within::before { transform: scaleY(1); }

.result__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--s2) var(--s5);
}
@media (min-width: 48rem) {
  .result__inner { grid-template-columns: var(--s10) minmax(0, 1fr); }
}

.result__rail {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--s1) var(--s3);
}
@media (min-width: 48rem) {
  .result__rail { display: block; }
  .result__accession { display: block; margin-top: var(--s1); }
}
.result__date { color: var(--slate); }
.result__accession { color: var(--slate); }

.result__body { min-width: 0; }

.result__rubric { margin: 0 0 var(--s2); }

.result__title {
  font-size: clamp(1.375rem, 2.8vw, 1.75rem);
  margin: 0 0 var(--s2);
  overflow-wrap: anywhere;          /* заголовок приходит из данных, длина не наша */
}
.result__title a {
  text-decoration-color: var(--rule);
  transition: text-decoration-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
}
/* золото и киноварь не встречаются в одном блоке: гасим киноварь из base */
.result__title a:hover,
.result__title a:focus-visible { color: var(--text); text-decoration-color: var(--gold); }

.result__dek {
  margin: 0 0 var(--s3);
  max-width: var(--measure);
  font-size: 1rem;
  line-height: 1.55;
  color: var(--text);
  overflow-wrap: anywhere;
}

.result__tags {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--s3);
  display: flex;
  flex-wrap: wrap;
  gap: var(--s1) var(--s3);
}
.result__tag { margin: 0; }

.tag {
  background: none;
  border: 0;
  padding: 0 0 var(--s1);
  cursor: pointer;
  font-family: var(--font-mono);
  font-size: .625rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--slate);
  position: relative;
  transition: color var(--dur-fast) var(--ease);
}
.tag::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 1px;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform var(--dur) var(--ease);
}
.tag:hover { color: var(--text); }
.tag:hover::after { transform: scaleX(1); transform-origin: left; }
.tag.is-on { color: var(--text); }
.tag.is-on::after { transform: scaleX(1); transform-origin: left; }

.result__foot { margin: 0; color: var(--slate); }
.result__sep { padding: 0 var(--s2); color: var(--slate); }

/* подсветка совпадения: одна линейка и лёгкая заливка золотом */
mark {
  background: transparent;
  background: color-mix(in srgb, var(--gold) 20%, transparent);
  color: inherit;
  border-bottom: 1px solid var(--gold);
  padding-bottom: 1px;
}
.result__rubric mark,
.tag mark {
  background: transparent;
  border-bottom-color: currentColor;
}

/* ── ожидание ─────────────────────────────────────────────────────────── */

/* «ещё не прочитано» и «ничего не нашлось» — разные сообщения,
   поэтому у ожидания своё место, а не пустой список */
.results__wait {
  padding-top: var(--s7);
  margin: 0;
  color: var(--slate);
}
.results__wait[hidden] { display: none; }

/* ── пустое состояние ─────────────────────────────────────────────────── */

.void[hidden], .failure[hidden] { display: none; }

/* Пустой архив и нечитаемый индекс: искать и фильтровать нечего, а орган
   управления, который ни на что не влияет, — обещание, которое страница
   не сдержит. Убираем его целиком, а не приглушаем. */
body.is-barren .finder-dock,
body.is-barren .facets,
body.is-barren .results__bar,
body.is-broken .finder-dock,
body.is-broken .facets,
body.is-broken .results__bar { display: none; }

.void__inner {
  padding-top: var(--s7);
  animation: enter-up var(--dur) var(--ease) both;
}

.void__rule {
  display: block;
  height: 1px;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: left;
  animation: rule-draw var(--dur-slow) var(--ease) both;
  margin-bottom: var(--s5);
}
@keyframes rule-draw { to { transform: scaleX(1); } }

.void__title,
.failure .void__title {
  font-size: clamp(1.5rem, 3.6vw, 2.25rem);
  margin: 0 0 var(--s4);
  max-width: var(--measure);
}
.void__note {
  max-width: var(--measure);
  color: var(--slate);
  margin: 0 0 var(--s7);
  overflow-wrap: anywhere;          /* здесь печатается сам запрос — см. .chip__value */
}

.void__block { margin-bottom: var(--s6); }
.void__kicker {
  color: var(--slate);
  padding-bottom: var(--s2);
  border-bottom: 1px solid var(--rule);
  margin: 0 0 var(--s2);
}

.void__list {
  list-style: none;
  padding: 0;
  margin: 0;
  max-width: var(--measure);
}
.void__list li { margin: 0; }

.void__act {
  display: flex;
  width: 100%;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--s4);
  background: none;
  border: 0;
  border-bottom: 1px solid var(--rule);
  padding: var(--s3) 0;
  cursor: pointer;
  text-align: left;
  color: var(--text);
  transition: border-color var(--dur-fast) var(--ease), padding-left var(--dur) var(--ease);
}
.void__act:hover { border-color: var(--gold); padding-left: var(--s2); }

.void__actLabel {
  font-family: var(--font-body);
  font-size: 1rem;
  overflow-wrap: anywhere;
}
.void__actN {
  font-family: var(--font-mono);
  font-size: .625rem;
  letter-spacing: .12em;
  color: var(--slate);
  flex: none;
}

.void__foot { margin: var(--s6) 0 0; }
.void__reset {
  display: inline-block;            /* выходом бывает и ссылка, не только кнопка */
  background: none;
  border: 1px solid var(--slate);
  color: var(--text);
  padding: var(--s3) var(--s5);
  cursor: pointer;
  text-decoration: none;
  transition: border-color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);
}
/* киноварь из base здесь не появляется: в блоке уже есть золото */
.void__reset:hover { border-color: var(--gold); background: var(--paper-2); color: var(--text); }

.failure { padding-top: var(--s7); }
.failure .void__note { margin-bottom: 0; }

/* ── подвал ───────────────────────────────────────────────────────────── */

.colophon {
  border-top: 1px solid var(--rule);
  padding-block: var(--s5);
}
.colophon .micro { color: var(--slate); }

/* ── движение отключается по требованию системы ───────────────────────── */

@media (prefers-reduced-motion: reduce) {
  .enter,
  .result.is-new,
  .chip,
  .void__inner {
    animation: none;
    opacity: 1;
    transform: none;
  }
  .void__rule { animation: none; transform: scaleX(1); }
  .facet__count.is-bumped { animation: none; }
  .void__act:hover { padding-left: 0; }
  .chip__btn:hover .chip__x { transform: none; }
}

/* Compact reading controls, with publishing microtype confined to metadata. */
.masthead__nav a, .finder__label, .finder__clear, .facets__title,
.facets__toggle, .facet__legend, .facet__name, .facet__count, .facet__more,
.results__of, .sort__label, .sort__opt label, .chip__btn, .chip__kind,
.chip--reset .chip__btn, .tag, .void__reset {
  font-family: var(--font-meta); font-size: var(--control-font);
  text-transform: none; letter-spacing: normal;
}
.masthead__nav { gap: var(--s4); }
.masthead__nav a { display: inline-flex; align-items: center; min-height: var(--control-min); }
.masthead__issue:empty { display: none; }
.prologue { padding-block: var(--s6) var(--s4); }
.prologue__title { font-size: clamp(2.25rem, 5vw, 3.25rem); margin: 0; }
.prologue__lede { margin-top: var(--s2); font-size: var(--control-font); }
.finder-dock { position: static; }
.finder { gap: var(--s3); padding-block: var(--s2) var(--s4); }
.finder__field { min-width: 0; }
.finder__input { font-family: var(--font-body); font-size: var(--control-font); min-height: var(--control-min); }
.finder__rule, .finder__rule::after { background: var(--rule-strong); }
.finder__field:focus-within .finder__rule::after { background: var(--focus); }
.layout { gap: var(--s5); padding-block: var(--s5) var(--s8); }
.facets__head, .results__bar { border-color: var(--rule); }
.facet { margin-top: var(--s4); }
.facet__legend { margin-bottom: var(--s2); }
.facet__label { min-height: var(--control-min); border-bottom: 0; gap: var(--s2); }
.facet__box { border-color: var(--rule-strong); }
.facet__row.is-empty .facet__box { opacity: 1; }
.facet__input:checked + .facet__box { background: var(--text); border-color: var(--text); }
.facet__box::after { border-color: var(--paper); }
.sort__set { gap: var(--s2) var(--s3); }
.sort__opt { align-items: center; gap: var(--s1); }
.sort__opt input { position: static; opacity: 1; pointer-events: auto; accent-color: var(--text); width: 1rem; height: 1rem; }
.sort__opt label { min-height: var(--control-min); display: inline-flex; align-items: center; font-size: var(--control-font-small); padding: 0; }
.sort__opt label::after { display: none; }
.chip__btn { align-items: center; }
.chip__kind { font-size: var(--control-font-small); }
.tag { font-size: var(--control-font-small); }
.results__n { font-size: 1.75rem; }
.result { padding-block: var(--s5); }
.result__tags { gap: 0 var(--s3); margin-bottom: var(--s2); }
.result__rubric { font-size: var(--control-font-small); letter-spacing: normal; text-transform: none; }
.void__inner { padding-top: var(--s5); }
.void__note { margin-bottom: var(--s4); }
.query-error, #query-pending { margin-block: var(--s4); font-size: var(--control-font); }
.query-error button, #retry-catalog { background: transparent; border: 1px solid var(--rule-strong); padding: var(--s2) var(--s4); cursor: pointer; }
#search-unavailable { margin-block: var(--s4); }
body.is-barren .finder-dock, body.is-barren .facets { display: block; }
body.is-barren .results__bar, body.is-broken .results__bar { display: flex; }
@media (min-width: 48rem) { .layout { gap: var(--s7); } }
@media (max-width: 47.999rem) {
  .masthead__inner { gap: var(--s2) var(--s4); padding-block: var(--s2); }
  .masthead__issue { display: none; }
  .prologue { padding-block: var(--s4) var(--s2); }
  .layout { padding-top: var(--s3); gap: var(--s3); }
  .results__bar { gap: var(--s2); }
  .sort { width: 100%; gap: var(--s2); }
  .sort__label { display: none; }
  .sort__set { justify-content: space-between; width: 100%; gap: var(--s2); }
  .result__rail { display: none; }
  .result__title { font-size: 1.5rem; }
}

body.is-broken .sort { display: none; }
