Chess.com - Tilt "Preventer"

Simple tool to lock you out once you lost n number of games for the day. You have to check stat page, and n <= num of games listed on that page.

// ==UserScript==
// @name         Chess.com - Tilt "Preventer"
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Simple tool to lock you out once you lost n number of games for the day. You have to check stat page, and n <= num of games listed on that page.
// @author       You
// @match        https://www.chess.com/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=chess.com
// @grant        GM_setValue
// @grant        GM_getValue
// @license      MIT
// ==/UserScript==

// Settings
const username = "SaberSpeed77";
const maxLosses = 3;
const warningColor = "white";
const backgroundColor = "#3a456e";
//

const curDate = new Date().toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' });

function giveWarning() {
      const warning = document.createElement('p');
      warning.textContent = "It's time to take a break...";
      warning.style.color = warningColor;
      warning.style.textAlign = "center";
      warning.style.position = "center";
      warning.style.fontSize = "100px";
      const html = document.querySelector('html');
      while (html.firstChild) {
          html.removeChild(html.firstChild);
      }
      html.style.backgroundColor = backgroundColor;
      html.appendChild(warning);
}

function run() {
  if (GM_getValue("dateIssued") === curDate) {
      giveWarning();
      clearInterval(i);
      return;
  }
  var games = document.querySelectorAll(".archived-games-table-row");
  var tally = 0;
  games.forEach(function(g) {
      if (g.children[6].textContent.includes(curDate) && g.children[1].textContent.includes(username) &&
          g.children[2].querySelector(".archived-games-result").children[0]._prevClass.includes("lost")) {
          tally += 1;
      }
  })

  if (tally >= maxLosses) {
      giveWarning();
      clearInterval(i);
      GM_setValue("dateIssued", curDate);
  }
}
var i = setInterval(run, 3000);