es = [',',';','\t','|'];
      const lines = text.split(/\r?\n/).slice(0, 10).filter(Boolean);
      let best = {score: -Infinity, delim: ','};
      for (const d of candidates) {
        let cols = [];
        let stable = true;
        try {
          for (const ln of lines) cols.push(parseCSV(ln + '\n', d)[0].length);
          const max = Math.max(...cols), min = Math.min(...cols);
          const uniq = new Set(cols).size;
          const score = (max > 1 ? 5 : 0) + (10 - (max - min)) + (12 - uniq) + (