  body {
    margin: 0;
    min-height: 100vh;
    background: radial-gradient(ellipse at top, #203552 0%, #0c1422 65%);
    color: #e8eef8;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
  }

  .container-fluid {
    max-width: 980px;
    padding: 36px 24px 48px;
  }

  h1 {
    margin: 0 0 28px;
    padding: 24px 12px;
    border: 3px solid #ffbd59;
    border-radius: 12px;
    background: linear-gradient(135deg, #25354b, #131e30);
    box-shadow: 0 6px 0 #805026, 0 12px 32px #0006;
    color: #ffca75;
    font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
    font-size: clamp(2.5rem, 7vw, 4rem);
    letter-spacing: 0.12em;
    text-align: center;
    text-shadow: 0 3px 0 #0008;
  }

  h2 {
    margin: 0;
    color: var(--accent);
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: 0.16em;
  }

  .games-table {
    --accent: #66cfff;
    width: 100%;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    margin: 0 0 26px;
    border: 3px solid var(--accent);
    border-radius: 12px;
    background: #152237;
    box-shadow: 0 5px 0 #0005, 0 12px 26px #0004;
  }

  .games-table[aria-labelledby="arcade"] {
    --accent: #ffbd59;
  }

  .games-table[aria-labelledby="puzzles"] {
    --accent: #b8a0ff;
  }

  .games-table[aria-labelledby="parlor-games"] {
    --accent: #69dfb0;
  }

  .games-table[aria-labelledby="music"] {
    --accent: #ff91b5;
  }

  .games-table[aria-labelledby="flash"] {
    --accent: #ff9370;
  }

  .games-table[aria-labelledby="pc"] {
    --accent: #d5e879;
  }

  .games-table[aria-labelledby="fubar"] {
    --accent: #5de2e0;
  }

  .games-table th {
    padding: 17px 12px;
    border-bottom: 3px solid var(--accent);
    border-radius: 8px 8px 0 0;
    background: linear-gradient(135deg, #2b3e57, #1b2a40);
    text-align: center;
  }

  .games-table td {
    padding: 15px 18px;
    vertical-align: middle;
    overflow-wrap: anywhere;
    line-height: 1.6;
    transition: background-color 150ms ease;
  }

  .games-table td+td {
    border-left: 2px solid #506580;
  }

  .games-table tr+tr td {
    border-top: 2px solid #506580;
  }

  .games-table tbody tr:nth-child(even) {
    background: #1b2b42;
  }

  .games-table tbody tr:last-child td:first-child {
    border-radius: 0 0 0 8px;
  }

  .games-table tbody tr:last-child td:last-child {
    border-radius: 0 0 8px 0;
  }

  .games-table td:has(a):hover,
  .games-table td:focus-within {
    background: #2b405c;
  }

  .games-table a {
    color: #e8f2ff;
    font-size: 0.95rem;
    font-weight: 600;
    text-decoration: none;
  }

  .games-table a:hover {
    color: var(--accent);
    text-decoration: underline;
  }

  .games-table a:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 4px;
    border-radius: 2px;
  }

  .games-table img {
    margin-right: 7px;
    vertical-align: middle;
  }

  @media (max-width: 480px) {
    .container-fluid {
      padding: 20px 12px;
    }

    .games-table td {
      padding: 12px 10px;
    }

    .games-table a {
      font-size: 0.85rem;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .games-table td {
      transition: none;
    }
  }