* {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
        font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
      }

      body {
        background: linear-gradient(to right, #ffe4ec, #e0f7fa);
        text-align: center;
        min-height: 100vh;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
      }

      h1 {
        font-size: 4rem;
        color: #d9048f;
        margin-bottom: 1rem;
        text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
      }

      .container {
        height: auto;
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: 1.5rem;
      }

      .game {
        height: 60vmin;
        width: 60vmin;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 1.5vmin;
        padding: 1vmin;
        background-color: #f3e5f5;
        border-radius: 20px;
        box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
      }

      .box {
        height: 18vmin;
        width: 18vmin;
        border-radius: 1rem;
        border: none;
        background-color: #ecacdc;
        font-size: 8vmin;
        color: #fff;
        cursor: pointer;
        transition: all 0.3s ease;
      }

      .box:hover:not(:disabled) {
        background-color: #f2a5f6;
        transform: scale(1.05);
      }

      #reset-btn, #new-btn {
        padding: 1rem 2rem;
        font-size: 1.2rem;
        background: #0d91b2;
        color: #fff;
        border-radius: 12px;
        border: none;
        cursor: pointer;
        box-shadow: 0 4px 10px rgba(0,0,0,0.3);
        margin: 1rem 0.5rem;
        transition: background 0.3s;
      }

      #reset-btn:hover, #new-btn:hover {
        background: #625bee;
      }

      #msg {
        color: #aa068f;
        font-size: 3rem;
        font-weight: bold;
      }

      .msg-container {
        position: fixed;
        top: 0;
        left: 0;
        height: 100vh;
        width: 100vw;
        background-color: rgba(255, 253, 222, 0.686);
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        gap: 2rem;
        z-index: 999;
      }

      .emoji-firework {
        font-size: 2rem;
        animation: pop 1s ease-out infinite alternate;
      }

      @keyframes pop {
        0% { transform: scale(1); opacity: 1; }
        100% { transform: scale(1.5); opacity: 0.8; }
      }

      .hide {
        display: none;
      }