.trs-lobby {
  min-height: calc(100vh - 6.5625rem);
  max-width: 30rem;
  margin: 0 auto;
  padding: 1rem .625rem 4.125rem;
  background: #0c0d0e;
  color: #fff;
}

.trs-lobby-search-wrap {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: .125rem 0 1.125rem;
  background: #0c0d0e;
}

.trs-lobby-search {
  width: 100%;
  height: 3.5rem;
  padding: 0 3.25rem 0 1.25rem;
  border: .0625rem solid #d9dce3;
  border-radius: 2rem;
  outline: 0;
  background: #fff;
  color: #252525;
  font-family: inherit;
  font-size: 1rem;
}

.trs-lobby-search:focus {
  border-color: #f5a623;
  box-shadow: 0 0 0 .1875rem #f5a62326;
}

.trs-lobby-search-icon {
  position: absolute;
  top: 1.05rem;
  right: 1.125rem;
  color: #9299a4;
  font-size: 1.75rem;
  line-height: 1;
  transform: rotate(-20deg);
  pointer-events: none;
}

.trs-lobby-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem .625rem;
}

.trs-lobby-card {
  min-width: 0;
  padding: 0;
  border: 0;
  background: #292929;
  color: #fff;
  cursor: pointer;
  text-align: center;
}

.trs-lobby-picture {
  display: block;
  overflow: hidden;
  aspect-ratio: 1.28 / 1;
  border-radius: 50%;
  background: #171717;
}

.trs-lobby-picture img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.trs-lobby-title {
  display: block;
  overflow: hidden;
  margin: .375rem .375rem .4375rem;
  padding: .1875rem .25rem;
  background: linear-gradient(180deg, #214d64, #183d51);
  font-size: .9375rem;
  font-weight: 700;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.trs-lobby-status {
  padding: 0 0 .625rem;
  color: #aeb5bd;
  font-size: .75rem;
  text-align: center;
}

.trs-lobby-status-error {
  color: #ff8b8b;
}

.trs-lobby-sentinel {
  height: 1px;
}
