/* Tres modos en escritorio; una columna cuando falta espacio. */
.game-mode-options { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .game-mode-options { grid-template-columns: minmax(0, 1fr); } }

/* Subasta: opciones, personaje en venta y equipos. */
.auction-settings { display: flex; flex-wrap: wrap; gap: 20px; padding: 18px 0; }
.auction-settings label { display: flex; flex-direction: column; gap: 8px; font-weight: 800; font-size: 12px; flex: 1 1 180px; }
.auction-settings small { font-weight: 400; color: var(--muted); }
.auction-settings input, .auction-settings select, .auction-bid-form input { padding: 10px; border: 2px solid var(--ink); border-radius: 0; background: var(--panel-2); color: var(--text); font: inherit; min-width: 0; }
.auction-settings :is(input, select):focus-visible, .auction-bid-form input:focus-visible { outline: 3px solid var(--yellow); }
#auctionGame { scroll-margin-top: 20px; }
.auction-stage { display: flex; align-items: center; gap: 18px; max-width: 1480px; margin: 10px auto 14px; padding: 12px; }
#auctionLot { flex: 0 0 auto; }
#auctionLot:empty { display: none; }
#auctionLot .character-card { width: 105px; height: 140px; cursor: default; }
#auctionLot .character-card img { height: 110px; }
#auctionLot .character-name { height: 30px; font-size: 10px; }
.auction-stage-info { min-width: 0; }
#auctionStatus { font-weight: 900; color: var(--yellow); line-height: 1.4; margin: 8px 0; font-size: 12px; }
.auction-result { color: #98e4b1; line-height: 1.4; }
.auction-boards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; max-width: 1480px; margin: auto; }
.auction-boards[data-player-count="1"] { grid-template-columns: minmax(0, 1fr); max-width: 720px; }
.auction-player { min-width: 0; padding: 12px; }
.auction-player h3 { margin: 0 0 5px; font-size: 15px; }
.auction-active { outline: 3px solid var(--yellow); outline-offset: 3px; }
.auction-money { margin: 5px 0 10px; font-size: 12px; color: var(--yellow); font-weight: 800; }
.auction-team { display: grid; grid-template-columns: repeat(var(--auction-team-size, 5), minmax(0, 110px)); gap: 7px; justify-content: center; }
/* El mismo contenedor mantiene exactamente su tamaño vacío o comprado. */
.auction-team-card { position: relative; display: grid; place-items: center; width: 100%; min-width: 0; aspect-ratio: 3 / 4; overflow: hidden; border: 3px solid var(--ink); box-sizing: border-box; background: var(--panel-2); box-shadow: 4px 4px 0 var(--ink); }
.auction-team-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.auction-card-name { position: absolute; bottom: 0; left: 0; width: 100%; box-sizing: border-box; padding: 5px 3px; color: white; background: rgba(0,0,0,.85); text-align: center; font-size: clamp(8px, .8vw, 11px); font-weight: 800; overflow-wrap: anywhere; }
.auction-card-question { display: grid; place-items: center; width: 52%; aspect-ratio: 1; border: 3px solid var(--ink); background: var(--yellow); color: var(--ink); font-family: "Reggae One", sans-serif; font-size: clamp(20px, 2.4vw, 38px); transform: rotate(-8deg); box-shadow: 4px 4px 0 var(--ink); }
.auction-player-status { min-height: 15px; margin: 8px 0 6px; font-size: 12px; font-weight: 800; }
.auction-bid-form { display: flex; align-items: end; flex-wrap: wrap; gap: 7px; margin-bottom: 5px; }
.auction-bid-form label { display: flex; flex-direction: column; gap: 6px; font-size: 11px; flex: 1 1 100px; }
.auction-bid-form input { width: 100%; box-sizing: border-box; }
.auction-bid-form button { padding: 8px; font-size: 11px; }
.auction-bid-form :disabled { opacity: .45; cursor: not-allowed; }
.auction-player > small { display: block; line-height: 1.4; }
@media (max-width: 760px) {
  .auction-boards { grid-template-columns: minmax(0, 1fr); max-width: 720px; }
  .auction-stage { align-items: stretch; flex-direction: column; }
  #auctionLot { align-self: center; }
}

@media (max-width: 420px) { .auction-team { grid-template-columns: repeat(3, minmax(0, 110px)); } }

.auction-leader { margin: 0 0 8px; padding: 10px 12px; border: 2px solid var(--ink); font-weight: 900; font-size: 14px; background: var(--panel-2); }
.auction-leader.has-leader { background: var(--yellow); color: var(--ink); box-shadow: 3px 3px 0 var(--ink); }
.auction-leading h3::after { content: " · MEJOR POSTOR"; color: var(--yellow); font-size: 10px; }
.auction-stage-info > .muted { font-size: 11px; margin: 6px 0 0; }
.auction-result { font-size: 11px; margin: 5px 0; }
.auction-result:empty { display: none; }
.auction-bid-form input { padding: 7px; }
.auction-player > small { font-size: 10px; }
#auctionGame > .section-header { margin-bottom: 10px; }
#auctionGame > .section-bottom-action { margin-top: 14px; }
@media (min-width: 1200px) {
  .auction-boards:not([data-player-count="1"]):not([data-player-count="2"]) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.auction-wildcard { margin: 0 0 6px; padding: 7px 10px; font-size: 10px; }
.auction-wildcard:disabled { opacity: .45; cursor: not-allowed; }
.auction-vote-header { margin: 12px 0; padding: 16px; }
.auction-vote-header h2 { margin: 0; }
.auction-duel { display: flex; justify-content: center; align-items: center; gap: 24px; margin: 16px 0; }
.auction-fighter { padding: 12px; text-align: center; min-width: 0; }
.auction-fighter h3 { margin: 0 0 8px; font-size: 14px; }
.auction-fighter .character-card { display: grid; grid-template-rows: 160px auto; width: 150px; height: auto; aspect-ratio: auto; margin: 0; cursor: default; }
.auction-fighter .character-card img { height: 160px; }
.auction-fighter .character-name { height: auto; min-height: 40px; font-size: 12px; overflow: visible; overflow-wrap: anywhere; padding: 6px 5px; }
.auction-versus { color: var(--yellow); font-size: 28px; }
.auction-vote-controls { padding: 16px; margin: 12px 0; }
.auction-voters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.auction-voter { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.auction-voter strong { grid-column: 1 / -1; font-size: 12px; }
.auction-voter button { font-size: 11px; padding: 10px; overflow-wrap: anywhere; }
.auction-voter [aria-pressed="true"] { background: var(--yellow); color: var(--ink); outline: 2px solid var(--yellow); }
.auction-vote-message, .auction-vote-tally { font-weight: bold; color: var(--yellow); }
.auction-scoreboards { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; margin-top: 16px; }
.auction-scoreboard { padding: 14px; }
.auction-scoreboard h3 { font-size: 15px; }
.auction-score-total { font-size: 22px; color: var(--yellow); font-weight: 900; }
.auction-score-row { display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 8px; margin: 8px 0; font-size: 12px; }
.auction-score-row img { width: 38px; height: 48px; object-fit: cover; }
@media (max-width: 600px) {
  .auction-voters { grid-template-columns: 1fr; }
  .auction-duel { gap: 8px; }
  .auction-fighter { padding: 6px; }
  .auction-fighter .character-card { width: 110px; grid-template-rows: 120px auto; }
  .auction-fighter .character-card img { height: 120px; }
  .auction-versus { font-size: 18px; }
}

.auction-vote-draw { grid-column: 1 / -1; }
