/* ── Tablet ── */
@media (max-width: 768px) {
  :root {
    --cell-size: 30px;
    --sp-xl: 28px;
  }

  .game-title {
    font-size: 34px;
  }

  .panel {
    padding: var(--sp-lg);
  }

  .difficulty-grid {
    gap: var(--sp-sm);
  }

  .scoreboard {
    padding: var(--sp-sm) var(--sp-md);
    gap: var(--sp-sm);
  }

  .score-player {
    min-width: 80px;
    padding: var(--sp-xs) var(--sp-sm);
  }
  .score-value {
    font-size: 24px;
  }
}

/* ── Mobile ── */
@media (max-width: 480px) {
  :root {
    --cell-size: 28px;
    --sp-xl: 24px;
    --sp-lg: 16px;
  }

  .game-title {
    font-size: 28px;
    letter-spacing: 1px;
  }

  .game-subtitle {
    font-size: 11px;
    letter-spacing: 2px;
    margin-bottom: var(--sp-lg);
  }

  .btn--large {
    padding: var(--sp-sm) var(--sp-lg);
    font-size: 14px;
  }

  .panel {
    padding: var(--sp-md);
    border-radius: 6px;
  }
  .panel-title {
    font-size: 16px;
  }

  .difficulty-grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--sp-sm);
  }
  .btn--difficulty {
    padding: var(--sp-sm);
    min-width: unset;
  }
  .btn--difficulty .diff-name {
    font-size: 12px;
  }

  .game-header {
    padding: 0 var(--sp-xs);
  }
  .info-value {
    font-size: 16px;
  }

  .room-code-value {
    font-size: 28px;
    letter-spacing: 6px;
  }

  .players-slots {
    gap: var(--sp-sm);
  }
  .player-slot {
    padding: var(--sp-sm) var(--sp-md);
    min-width: 100px;
  }

  .scoreboard {
    width: 100%;
    justify-content: space-between;
  }

  .board-container {
    max-height: calc(100dvh - 180px);
  }

  #lang-selector {
    top: var(--sp-sm);
    right: var(--sp-sm);
  }
}

/* ── Small phones ── */
@media (max-width: 360px) {
  :root {
    --cell-size: 24px;
  }

  .game-title {
    font-size: 24px;
  }

  .btn--large {
    font-size: 13px;
  }
}

/* ── Landscape mobile ── */
@media (max-height: 500px) and (orientation: landscape) {
  .screen {
    align-items: flex-start;
    padding-top: var(--sp-sm);
  }

  .game-container {
    padding-top: 0;
    gap: 2px;
  }

  .board-container {
    max-height: calc(100dvh - 120px);
  }

  .scoreboard {
    padding: 2px var(--sp-sm);
  }
}
