  :root {
      --primary: #70c7ba;
      --dark: #008380;
      --bg: #f4f7f6;
      --text: #333;
  }

  body {
      font-family: 'Segoe UI', Roboto, sans-serif;
      margin: 0;
      background-color: var(--bg);
      display: flex;
      flex-direction: column;
      align-items: center;
      min-height: 100dvh;
      color: var(--text);
  }

  /* Galerie d'accueil */
  .home-container {
      width: 95vw;
      max-width: 800px;
      padding: 40px 20px;
      text-align: center;
  }

  .gallery {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
      gap: 15px;
      margin-top: 30px;
  }

  .bingo-card {
      background: white;
      padding: 25px 15px;
      border-radius: 15px;
      box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
      cursor: pointer;
      transition: all 0.2s ease;
      border: 2px solid transparent;
      font-weight: bold;
      color: var(--dark);
      display: flex;
      flex-direction: column;
      gap: 10px;
      align-items: center;
      justify-content: center;
  }

  .bingo-card:hover {
      transform: translateY(-5px);
      border-color: var(--primary);
      box-shadow: 0 8px 15px rgba(0, 0, 0, 0.1);
  }

  .bingo-card span {
      font-size: 2rem;
  }

  /* Conteneur du Jeu */
  .bingo-container {
      width: 95vw;
      max-width: 500px;
      padding: 20px;
      display: none;
      /* Caché par défaut */
      flex-direction: column;
  }

  .back-btn {
      align-self: flex-start;
      background: #eee;
      border: none;
      padding: 8px 15px;
      border-radius: 20px;
      cursor: pointer;
      font-weight: bold;
      color: var(--dark);
      margin-bottom: 20px;
  }

  h1 {
      text-align: center;
      font-size: 1.8rem;
      color: var(--dark);
  }

  .grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
      aspect-ratio: 1 / 1;
  }

  .cell {
      background: white;
      border-radius: 15px;
      box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
      display: flex;
      justify-content: center;
      align-items: center;
      padding: 10px;
      text-align: center;
      cursor: pointer;
      transition: all 0.2s ease;
      border: 2px solid transparent;
      user-select: none;
      font-size: clamp(0.7rem, 3vw, 1rem);
      line-height: 1.2;
  }

  .cell:hover {
      border-color: var(--primary);
  }

  .cell.checked {
      background-color: var(--primary);
      color: white;
      text-decoration: line-through;
      transform: scale(0.95);
  }

  .cell.joker {
      background-color: var(--dark);
      color: white;
      font-weight: bold;
      cursor: default;
  }