/* lobby.css — écrans accueil, salon et fin de partie */

/* ── Accueil ── */
.home-card {
  width: min(430px, calc(100vw - 2rem));
  background: var(--bg-panel);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  text-align: center;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.5);
}

.home-art { font-size: 4rem; filter: drop-shadow(0 8px 20px rgba(78, 205, 196, 0.35)); }

.home-title { font-size: 2.2rem; color: var(--teal); letter-spacing: 0.02em; }

.home-tagline { color: var(--text-dim); font-size: 0.92rem; line-height: 1.5; margin-bottom: 0.4rem; }

.join-row { display: flex; gap: 0.5rem; }

.join-row input {
  width: 110px;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.35em;
  font-weight: 800;
}

.join-row .btn { flex: 1; }

.home-links { display: flex; gap: 0.5rem; justify-content: center; margin-top: 0.4rem; }

/* ── Salon ── */
.lobby-card {
  width: min(620px, calc(100vw - 2rem));
  background: var(--bg-panel);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 2rem;
  text-align: center;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.5);
}

.lobby-title { color: var(--teal); font-size: 1.8rem; }
.lobby-sub { color: var(--text-dim); margin: 0.4rem 0 0.8rem; font-size: 0.92rem; }

.code-row { display: flex; align-items: center; justify-content: center; gap: 0.6rem; margin-bottom: 1.4rem; }

.lobby-code {
  font-size: 2.6rem;
  font-weight: 900;
  letter-spacing: 0.35em;
  color: var(--gold);
  background: var(--bg);
  border: 1px dashed var(--border);
  border-radius: 14px;
  padding: 0.3rem 0.6rem 0.3rem 1rem;
}

.lobby-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.2rem;
  text-align: left;
}

@media (max-width: 560px) { .lobby-columns { grid-template-columns: 1fr; } }

.lobby-block {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}

.block-title { font-size: 1.05rem; color: var(--text); }

.players-list { list-style: none; display: flex; flex-direction: column; gap: 0.45rem; }

.player-chip {
  display: flex; align-items: center; gap: 0.5rem;
  background: var(--bg-card);
  border-radius: 9px;
  padding: 0.4rem 0.6rem;
  font-size: 0.92rem;
}

.dot { width: 11px; height: 11px; border-radius: 50%; flex-shrink: 0; }

.chip-host { font-size: 0.72rem; color: var(--gold); }
.chip-off { font-size: 0.72rem; color: var(--danger); }

.lobby-hint { color: var(--text-dim); font-size: 0.88rem; margin: 1.1rem 0 0.8rem; }

.lobby-actions { display: flex; gap: 0.7rem; justify-content: center; flex-wrap: wrap; }

/* ── Fin de partie ── */
.end-card {
  width: min(680px, calc(100vw - 2rem));
  background: var(--bg-panel);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 2rem;
  text-align: center;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.5);
}

.end-title { color: var(--gold); font-size: 1.7rem; margin-bottom: 1.4rem; }

.podium {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 1.6rem;
  min-height: 170px;
}

.podium-col { display: flex; flex-direction: column; align-items: center; gap: 0.25rem; width: 120px; }
.podium-medal { font-size: 2rem; }
.podium-name { font-weight: 800; max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.podium-worth { font-size: 0.85rem; color: var(--text-dim); }

.podium-bar { width: 84px; border-radius: 8px 8px 0 0; opacity: 0.85; }
.h-first .podium-bar { height: 92px; }
.h-second .podium-bar { height: 62px; }
.h-third .podium-bar { height: 40px; }

.end-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
  margin-bottom: 1.4rem;
}

.end-table th, .end-table td { padding: 0.45rem 0.5rem; text-align: left; border-bottom: 1px solid var(--border); }
.end-table th { color: var(--text-dim); font-weight: 600; font-size: 0.78rem; text-transform: uppercase; }
.end-table .lb-you { background: rgba(78, 205, 196, 0.08); }

.end-actions { display: flex; flex-direction: column; align-items: center; gap: 0.6rem; }
