body {
      background: #fdf6e3;
      font-family: 'Segoe UI', sans-serif;
    }
    .game-container {
      max-width: 1000px;
      margin: 2rem auto;
      text-align: center;
    }
    .shapes, .outlines {
      display: flex;
      justify-content: center;
      gap: 20px;
      margin: 2rem 0;
      flex-wrap: wrap;
    }
    .shape, .outline {
      width: 100px;
      height: 100px;
      border-radius: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 2rem;
      cursor: grab;
      user-select: none;
    }
    .circle { background: #ff6961; border-radius: 50%; }
    .square { background: #77dd77; }
    .triangle {
      width: 0;
      height: 0;
      border-left: 50px solid transparent;
      border-right: 50px solid transparent;
      border-bottom: 100px solid #779ecb;
      background: none;
    }
    .star { 
      background: gold; 
      clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 
                         79% 91%, 50% 70%, 21% 91%, 32% 57%, 
                         2% 35%, 39% 35%);
    }
    .heart {
      background: red;
      clip-path: polygon(50% 75%, 20% 45%, 20% 20%, 40% 0%, 
                         50% 10%, 60% 0%, 80% 20%, 80% 45%);
    }
    .hexagon {
      background: #ffb347;
      clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 
                         75% 100%, 25% 100%, 0% 50%);
    }
    .outline {
      border: 3px dashed #aaa;
      background: #fff;
    }
    .outline.matched {
      border-color: green;
      background: #d4edda;
    }
    canvas#confetti {
      position: fixed;
      top: 0; left: 0;
      width: 100%; height: 100%;
      pointer-events: none;
      z-index: 999;
    }
    #nextLevelBtn { display: none; }