/* First table entry only; independent of the game board layout. */
#playerNameModal {
  z-index: 1300;
  align-items: center;
  justify-content: center;
  top: var(--name-top, 0px);
  bottom: auto;
  height: var(--name-height, 100dvh);
  box-sizing: border-box;
  padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right))
    max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
}
#playerNameModal .modal-card {
  max-width: 380px;
  padding: 20px;
  gap: 12px;
  /* Override the compact theme's 95dvh cap when the keyboard reduces this area. */
  max-height: 100% !important;
}
#playerNameModal h2 { margin: 0; font-size: 1.25rem; }
#playerNameModal .modal-header { background: transparent; border: 0; }
#playerNameForm { display: grid; gap: 12px; }
#playerNameForm p { margin: 0; font-size: .9rem; color: #c2d5ca; }
#playerNameForm .app-input { min-width: 0; width: 100%; font-size: 16px; }
#playerNameError:empty { display: none; }
#playerNameForm #playerNameError { color: #ffb4a9; }
.player-name-control { display: flex; align-items: center; gap: 8px; }
.player-name-control input { min-width: 0; flex: 1; }
.player-name-control button { flex: none; }
