/* SearchTable — голубой блок с сортируемой таблицей публичных комнат. */

.search-card {
  margin-top: 8px;
  padding: 22px;
  background-color: var(--panel-solid);
  background-image: var(--grad-search);
  border: 1px solid rgba(var(--search-rgb), 0.50);
  border-radius: var(--radius);
  box-shadow: var(--shadow-card);
  animation: pop var(--t-std) ease;
  text-align: center;
  -webkit-backdrop-filter: var(--blur-heavy);
          backdrop-filter: var(--blur-heavy);
}
.search-card h2 { margin: 0 0 14px; }
.search-card .search-list { text-align: left; }

.search-list { display: flex; flex-direction: column; gap: var(--gap-sm); }
#search-rows { display: flex; flex-direction: column; gap: var(--gap-sm); }

.search-head, .search-row {
  /* Табличная раскладка: колонки [канал/№ | тип | игроки | слово] всегда выровнены
     между заголовком и строками. Канал растягивается (1fr), остальные жмутся вправо. */
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto auto;
  align-items: center; gap: var(--gap-md);
  min-width: 0;
}
/* Вкладка Twitch (.no-type): сетка с первым столбцом «В» задаётся в SearchPage.css
   (там живёт исторический .no-type-override — держим единственный источник правды). */
.search-head {
  padding: 6px 12px;
  font-size: var(--fs-sm); color: var(--muted);
  border-bottom: 1px solid var(--border);
  margin-bottom: 2px;
}
.search-th {
  background: none; border: none;
  color: inherit; padding: 0;
  font: inherit; cursor: pointer;
  text-align: left;
}
.search-th.align-right { text-align: right; }
.search-th.align-center { text-align: center; }
.search-th.active { color: var(--text); }
.search-th[data-dir="asc"]::after  { content: ' ↑'; }
.search-th[data-dir="desc"]::after { content: ' ↓'; }

.search-row {
  padding: 10px 12px;
  background: var(--panel-solid);
  -webkit-backdrop-filter: var(--blur-medium);
          backdrop-filter: var(--blur-medium);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  text-decoration: none; color: var(--text);
  font-size: var(--fs-md);
  transition: background 0.12s, border-color 0.12s;
}
.search-row:hover { background: var(--surface-strong); border-color: var(--border-strong); }

/* Колонки: канал/№ (слева) / Тип / Игроки (справа) / Слово (справа) */
.col-num { justify-self: start; min-width: 0; overflow: hidden; }
.col-type { justify-self: center; }
.col-players {
  justify-self: end; min-width: 0;
  display: flex; align-items: center; justify-content: flex-end;
}
.col-rank { justify-self: end; min-width: 40px; text-align: right; }

/* Столбец «В» (вкладка Twitch): лого приложения в шапке + зелёная фирменная лого-точка
   (как .dot в шапке игры — TopBar.css) у комнат, где детектор видит игру в слова. */
.col-playing { justify-self: center; display: inline-flex; align-items: center; justify-content: center; }
.srp-logo-ico {
  width: 16px; height: 16px; border-radius: 4px;
  display: block; object-fit: cover;
}
.srp-playing-dot {
  display: inline-block;
  width: 10px; height: 10px; border-radius: 50%;
  background: linear-gradient(135deg, var(--win), var(--accent-2));
  box-shadow: 0 0 10px rgba(var(--success-rgb), 0.7);
  animation: srpPlayingPulse 2s ease-in-out infinite;
}
@keyframes srpPlayingPulse {
  0%, 100% { box-shadow: 0 0 5px rgba(var(--success-rgb), 0.45); }
  50%      { box-shadow: 0 0 12px rgba(var(--success-rgb), 0.9); }
}

.srp-num { font-variant-numeric: tabular-nums; color: var(--muted); }
.srp-type { font-size: 18px; line-height: 1; }
.srp-players { font-size: 18px; line-height: 1.1; }
.srp-players .srp-emos {
  flex: 0 1 auto; min-width: 0;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
/* Реальные аватарки Twitch в превью игроков (стрим-комнаты). */
.srp-emos .emo-ava {
  width: 18px; height: 18px; border-radius: 50%;
  object-fit: cover; vertical-align: middle; margin: 0 1px;
  background: var(--surface, rgba(255,255,255,0.06));
}
.srp-emos .emo-ava-ph {
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--surface-strong, rgba(255,255,255,0.12)); color: var(--muted);
}
.srp-emos .emo-ava-ph svg { width: 64%; height: 64%; display: block; }
.srp-players .srp-count {
  flex: 0 0 auto; margin-left: 4px;
  color: var(--muted); font-size: 13px; font-variant-numeric: tabular-nums;
}
.srp-rank { font-variant-numeric: tabular-nums; font-weight: 600; }

.search-empty { padding: 24px; text-align: center; }
