/* Меню, лобби, отсчёт (lobby.js). Оверлеи скрыты по умолчанию — показывает lobby.js. */
.lobbyOv { z-index: 70; }
.lobbyCard { max-width: 420px; text-align: left; }
.lobbyCard .lbl { display: block; margin: 10px 0 4px; font-size: 13px; color: #ffe082; }
.lobbyCard input { width: 100%; box-sizing: border-box; padding: 10px 12px; font-size: 18px; border-radius: 8px;
  border: 2px solid #5b6b52; background: #1d2620; color: #fff; user-select: text; }
.lbBtn { display: block; width: 100%; margin-top: 10px; padding: 11px 14px; font-size: 18px; font-weight: 700; cursor: pointer;
  border-radius: 10px; border: 2px solid #6b8a55; background: #2b3a2a; color: #fff; }
.lbBtn:hover, .lbBtn:focus-visible { background: #38503a; outline: none; }
.lbBtn.primary { background: #3f7a3a; border-color: #8bc34a; }
.lbBtn.small { display: inline-block; width: auto; font-size: 14px; padding: 7px 10px; margin-right: 8px; }
.lobbyCard .small { font-size: 13px; opacity: .8; margin: 10px 0 0; }
.lobbyCard a { color: #ffd54f; }
.lbErr { min-height: 18px; margin-top: 8px; color: #ff8a80; font-weight: 600; }
.lbWarn { margin-top: 8px; color: #ffd54f; font-size: 13px; }
.codeRow { font-size: 20px; margin-top: 6px; }
.codeRow b { font-size: 30px; letter-spacing: .08em; color: #ffd54f; user-select: text; }
#lobbyPlayers { margin-top: 12px; }
.plRow { display: flex; align-items: center; gap: 10px; padding: 8px 6px; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.plRow.empty { color: #8a948a; }
.plDot { width: 18px; height: 18px; border-radius: 50%; flex: none; cursor: pointer; }
.plName { flex: 1; font-weight: 700; }
.plNet { font-size: 13px; opacity: .8; }
.row { margin-top: 8px; }
#countdown { font-size: 56px; font-weight: 800; text-shadow: 0 2px 10px #000; z-index: 75; }
#regain { z-index: 65; cursor: pointer; font-size: 26px; font-weight: 700; background: rgba(10, 14, 20, .5); }
#regainText { background: rgba(18, 22, 28, .9); padding: 20px 28px; border-radius: 14px; }
#netBanner:empty, #roomCode:empty { display: none; }
