/* 対戦頁の手機（console）：盤の上に出す面（始める前・CPU の強さ・列・友達の部屋・やめる確認）を、盤の大きさに合わせて詰める。
   盤の幅と高さは端末とブラウザの帯で決まる（fitMobileBoard の --board-h）。以前は字と釦が px の固定で、
   iPhone の Chrome（帯を引いて 390×668）で「オンラインで対戦 N 人が待っています」の釦が面から 39px はみ出し、
   375×553 では友達の部屋の面が縦に入りきらなかった（2026-09-17 站長の手機で発見）。
   結果の面は versus.css・versus-verdict.css が持つのでここでは触らない。
   入りきらない端末では、面の中だけ縦に送る（safe で上を切らない）*/
[data-skin="console"] body.game-versus .screen > .game-overlay:is(.vs-start, .vs-level, .vs-room, .vs-quit) {
  justify-content: safe center; overflow-y: auto; overscroll-behavior: contain;
  gap: clamp(4px, calc(var(--board-h) * .018), 12px);
  padding: clamp(6px, calc(var(--board-h) * .024), 14px);
}
[data-skin="console"] body.game-versus :is(.vs-start, .vs-level, .vs-room, .vs-quit) strong {
  font-size: clamp(15px, calc(var(--board-h) * .05), 22px); line-height: 1.3; white-space: normal; text-wrap: balance;
}
[data-skin="console"] body.game-versus :is(.vs-start, .vs-level, .vs-room, .vs-quit) p { font-size: clamp(11px, calc(var(--board-h) * .032), 13px); line-height: 1.5; }
[data-skin="console"] body.game-versus .vs-start p { margin: 0; }
/* 釦：字は盤の高さの比で小さくし、幅が足りなければ札（N 人が待っています）ごと次の行へ送る */
[data-skin="console"] body.game-versus .vs-menu { width: min(250px, 100%); grid-template-columns: minmax(0, 1fr); gap: clamp(5px, calc(var(--board-h) * .02), 10px); }
[data-skin="console"] body.game-versus :is(.vs-start, .vs-level, .vs-room, .vs-quit) .vs-btn {
  min-width: 0; flex-wrap: wrap; row-gap: 1px; white-space: normal; text-align: center;
  padding: clamp(4px, calc(var(--board-h) * .016), 8px) clamp(8px, calc(var(--board-h) * .03), 14px);
  font-size: clamp(12px, calc(var(--board-h) * .035), 14px);
}
[data-skin="console"] body.game-versus :is(.vs-start, .vs-level, .vs-room, .vs-quit) .vs-btn.is-main {
  padding-block: clamp(5px, calc(var(--board-h) * .02), 10px); font-size: clamp(12.5px, calc(var(--board-h) * .038), 15px); letter-spacing: 0;
}
[data-skin="console"] body.game-versus .vs-soon { white-space: nowrap; }
[data-skin="console"] body.game-versus .vs-levels { margin: 0; gap: clamp(4px, calc(var(--board-h) * .014), 6px); }
[data-skin="console"] body.game-versus .vs-levels button { padding-inline: clamp(6px, calc(var(--board-h) * .022), 9px); font-size: clamp(10.5px, calc(var(--board-h) * .03), 11.5px); }
/* 列で待つあいだの「ほかの遊び方」2 つ：狭ければ字を折る */
[data-skin="console"] body.game-versus .vs-queue-offer { width: 100%; gap: clamp(3px, calc(var(--board-h) * .012), 6px); }
[data-skin="console"] body.game-versus .vs-queue-offer .vs-result-sub { width: min(250px, 100%); grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
/* 友達の部屋：リンクの欄と送る釦を詰める */
[data-skin="console"] body.game-versus .vs-link-text { padding: clamp(4px, calc(var(--board-h) * .016), 8px) 8px; }
[data-skin="console"] body.game-versus .vs-send .vs-btn { font-size: clamp(11px, calc(var(--board-h) * .032), 12.5px); }
[data-skin="console"] body.game-versus .vs-room-status { margin: 0; font-size: clamp(11px, calc(var(--board-h) * .032), 12.5px); }
