/*
 * Плашка открытой сделки.
 *
 * Живёт на любой странице сайта, а не только на странице продажи: предложение обмена
 * висит в Steam десять минут, и всё это время человек может ходить по маркету или
 * профилю. Без плашки он видел бы занятые предметы и не понимал, чем они заняты.
 *
 * Стили вынесены из sell-trade.css именно поэтому — их подключают все страницы.
 * Разметку рисует либо sale-dock.js (везде), либо sell-trade-runtime.js (на странице
 * продажи, где плашка умеет раскрыться обратно в окно сделки).
 */

.stx-dock {
  position: fixed;
  /* По левому краю нижней полосы страницы, а не экрана: полоса отцентрована по ширине
     содержимого, и плашка у самого края стояла бы сама по себе. */
  left: max(16px, calc(50% - var(--content-width, 112rem) / 2));
  /* Над полосой «Выберите предметы выше»: она прижата к низу с отступом 16 и высотой 56. */
  bottom: 84px;
  z-index: 1150;
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: calc(100vw - 32px);
  padding: 10px 14px 10px 10px;
  border: 1px solid #23232a;
  border-radius: 14px;
  background: #121216;
  box-shadow: 0 18px 40px -14px rgba(0, 0, 0, .9);
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  /* Выезжает из-за левого края. Появление в нижнем углу иначе остаётся незамеченным:
     человек смотрит в середину страницы, а плашка просто «оказывается» там.

     Выезд сделан кадрами, а не переходом между состояниями: переход требует, чтобы
     браузер успел увидеть исходное положение до смены класса, и во вкладке, которая
     сейчас не на виду, это условие не выполняется — плашка просто возникала на месте. */
  opacity: 0;
  transition: border-color .15s ease;
}
.stx-dock.is-open { animation: stx-dock-in .5s cubic-bezier(.22, 1, .36, 1) both; }
@keyframes stx-dock-in {
  from { opacity: 0; transform: translateX(calc(-100% - 32px)); }
  to { opacity: 1; transform: none; }
}
.stx-dock:hover { border-color: #2f2f38; }
.stx-dock-clock {
  flex: 0 0 auto;
  padding: 7px 10px;
  border-radius: 10px;
  background: rgba(34, 209, 126, .12);
  color: #22d17e;
  font-size: 14px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.stx-dock-text { display: grid; gap: 2px; min-width: 0; }
.stx-dock-text b { color: #fff; font-size: 12.5px; font-weight: 700; }
.stx-dock-text span {
  overflow: hidden;
  color: rgba(255, 255, 255, .4);
  font-size: 11.5px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* На узком экране нижняя полоса страницы занимает весь низ, поэтому плашка встаёт над
   ней и тянется во всю ширину: иначе она налезала бы на кнопку продажи. */
@media (max-width: 560px) {
  .stx-dock { left: 12px; right: 12px; max-width: none; }
}

/* Кому движение мешает — тому плашка просто появляется. */
@media (prefers-reduced-motion: reduce) {
  .stx-dock.is-open { animation: stx-dock-fade .2s ease both; }
  @keyframes stx-dock-fade { from { opacity: 0; } to { opacity: 1; } }
}
