
    body {
      font-family: Arial, sans-serif;
      padding: 20px;
    }

    table {
      table-layout: fixed;
      border-collapse: collapse;
    }

    th, td {
      border: 1px solid #ccc;
      padding: 8px;
      text-align: end;
    }
    table th:nth-child(2) { text-align: left; }
    table th:nth-child(3) { text-align: left; }
    table td:nth-child(2) { text-align: left; }
    table td:nth-child(3) { text-align: left; }
    table {
      counter-reset: rowNumber;
    }
    tbody tr {
      counter-increment: rowNumber;
    }
    tbody tr td:first-child {
      background: #f5f5f5;
    }
    tbody tr td:first-child::before {
      content: counter(rowNumber);
      min-width: 40px;
      display: inline-block;
      margin-right: 5px;
    }
    thead tr th:first-child {
      text-align: end;
    }

    th {
      cursor: pointer;
      background: #f5f5f5;
      user-select: none;
    }

    th.sorted {
      background: #e0eaff;
    }

    .sort-indicator {
      font-size: 0.8em;
      margin-left: 4px;
      color: #555;
    }

    .filter-row input {
      width: 100%;
      box-sizing: border-box;
      padding: 4px;
    }

    .hint {
      margin-top: 30px;
      margin-bottom: 30px;
      font-size: 0.9em;
      font-weight: normal;
      color: #555;
    }
 
    .text-right {
      text-align: right;
    }

  /* .king    { color: gray; } */
    .king   { color: black; font-weight: bolder; }
    .queen  { color: #CC33FF; font-weight: bolder; }
    .rook   { color: red; font-weight: bolder; }
    .bishop { color: blue; font-weight: bolder; }
    .knight { color: #00CC00; font-weight: bolder; }
    .pawn   { color: #73CCE9; font-weight: bolder; }
    .copy-pgn {
      cursor: pointer;
      color: blue;
      text-decoration: underline;
    }

    /* Toast message style */
    #toast {
      visibility: hidden;
      min-width: 150px;
      background-color: #333;
      color: #fff;
      text-align: center;
      border-radius: 15px;
      padding: 10px;
      position: fixed;
      bottom: 30px;
      left: 50%;
      transform: translateX(-50%);
      z-index: 1000;
      opacity: 0;
      transition: opacity 0.3s, visibility 0.3s;
    }

    #toast.show {
      visibility: visible;
      opacity: 1;
    }

    .legend {
      max-width: 700px;
    }


    .legend ul {
      list-style: none;
      padding: 0;
    }

    .legend li {
      margin-bottom: 12px;
    }

    .legend li span {
      display: inline-block;
      font-weight: bold;
      width: 180px;
      color: #2980b9;
    }
    .legend h3 {
      margin-bottom: 0px;
    }

    .credits ul {
      margin: 5px;
    }
    
    .credits h3 {
      margin-bottom: 0px;
    }

    .hint h3 {
      margin-bottom: 10px;
    }