body {
      display: flex;
      margin: 0;
      background: #f0f4f8;
      font-family: Arial, Helvetica, sans-serif;
      height: 100vh;
      /* fill the whole viewport */
      align-items: center;
      /* vertical centre of the row */
      justify-content: center;
      /* horizontal centre of the row */
    }

    body.dark-mode {
      background: #1a1a2e;
    }

    body.retro-mode {
      background: #000;
    }

    body.neon-mode {
      background: #0a0a0a;
    }

    /* Column that holds canvas, button and score (vertically) */
    #gameColumn {
      display: flex;
      flex-direction: column;
      align-items: center;
      margin-left: 210px;
      /* centre everything horizontally */
    }

    body.dark-mode #gameColumn h3,
    body.retro-mode #gameColumn h3,
    body.neon-mode #gameColumn h3 {
      color: #fff;
    }

    /* Canvas appearance */
    canvas {
      background: #fff;
      border: 2px solid #555;
    }

    body.dark-mode canvas {
      background: #16213e;
      border-color: #4a4a6a;
    }

    body.retro-mode canvas {
      background: #000;
      border-color: #0f0;
    }

    body.neon-mode canvas {
      background: #0a0a0a;
      border-color: #ff00ff;
    }

    /* Button – same width as canvas */
    button {
      margin-top: 10px;
      padding: 5px 10px;
      font-size: 16px;
      cursor: pointer;
      width: 405px;
    }

    body.dark-mode button {
      background: #4a4a6a;
      color: #fff;
      border-color: #6a6a8a;
    }

    body.retro-mode button {
      background: #000;
      color: #0f0;
      border: 2px solid #0f0;
      font-family: 'Courier New', monospace;
    }

    body.neon-mode button {
      background: #1a1a1a;
      color: #ff00ff;
      border: 2px solid #ff00ff;
    }

    /* Score line */
    #scoreBoard {
      margin-top: 5px;
      font-size: 18px;
    }

    body.dark-mode #scoreBoard {
      color: #ccc;
    }

    body.retro-mode #scoreBoard {
      color: #0f0;
      font-family: 'Courier New', monospace;
    }

    body.neon-mode #scoreBoard {
      color: #0ff;
      text-shadow: 0 0 10px #0ff;
    }

    /* Right‑hand panel – settings + information */
    #sidePanel {
      margin-left: 20px;
      /* space between column and panel */
      width: 260px;
      /* fixed width */
    }

    body.dark-mode #sidePanel {
      color: #ccc;
    }

    body.retro-mode #sidePanel {
      color: #0f0;
      font-family: 'Courier New', monospace;
    }

    body.neon-mode #sidePanel {
      color: #fff;
    }

    fieldset {
      margin-top: 15px;
      padding: 10px;
      border: 1px solid #aaa;
    }

    body.dark-mode fieldset {
      border-color: #4a4a6a;
    }

    body.retro-mode fieldset {
      border-color: #0f0;
    }

    body.neon-mode fieldset {
      border-color: #ff00ff;
      box-shadow: 0 0 5px #ff00ff;
    }

    legend {
      font-weight: bold;
    }

    label {
      display: block;
      margin-bottom: 5px;
      cursor: pointer;
    }

    select {
      margin-top: 5px;
      padding: 5px;
      width: 100%;
    }

    body.dark-mode select {
      background: #4a4a6a;
      color: #fff;
      border-color: #6a6a8a;
    }

    body.retro-mode select {
      background: #000;
      color: #0f0;
      border: 1px solid #0f0;
      font-family: 'Courier New', monospace;
    }

    body.neon-mode select {
      background: #1a1a1a;
      color: #ff00ff;
      border: 1px solid #ff00ff;
    }