.card{width:100px;height:100px;perspective:1000px;cursor:pointer}.card-inner{position:relative;width:100%;height:100%;text-align:center;transition:transform .6s;transform-style:preserve-3d}.card.flipped .card-inner{transform:rotateY(180deg)}.card-front,.card-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;display:flex;align-items:center;justify-content:center;border-radius:8px;border:2px solid #333;color:#222}.card-front{background-color:#2196f3}.card-back{background-color:#fff;transform:rotateY(180deg)}.card.matched{opacity:0;visibility:hidden;transition:opacity .3s ease-out,visibility 0s .3s;pointer-events:none}.App{display:flex;flex-direction:column;padding:20px;gap:20px;align-items:center}.game-info{text-align:center;color:#fff}.scoreboard{background-color:#555;padding:1rem;border-radius:8px;margin-top:1rem}.player-score{padding:.5rem;margin:.25rem 0}.player-score.current{background-color:#2196f3;border-radius:4px}.winners{color:gold;font-size:1.2em;margin:1rem 0;padding:1rem}.game-board{display:grid;gap:10px;max-width:900px}.matched-pairs{min-width:200px;padding:20px;background-color:#555;border-radius:8px}.pairs-list{display:flex;flex-direction:column;gap:8px}.matched-pair{padding:8px;background-color:#666;border-radius:4px;text-align:center}.setup{max-width:400px;margin:2rem auto;padding:2rem;background-color:#555;border-radius:8px;color:#fff}.setup h2{text-align:center;margin-bottom:2rem}.input-group{margin-bottom:1rem}.input-group label{display:block;margin-bottom:.5rem}.input-group input{width:100%;padding:.5rem;border:1px solid #ccc;border-radius:4px;font-size:1rem}.setup button{width:100%;padding:.75rem;background-color:#2196f3;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;margin-top:1rem}.setup button:hover{background-color:#1976d2}.input-group textarea{width:100%;padding:.5rem;border:1px solid #ccc;border-radius:4px;font-size:1rem;font-family:inherit;resize:vertical}.play-again{margin-top:1.5rem;padding:.75rem 1.5rem;background-color:#2196f3;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .2s}.play-again:hover{background-color:#1976d2}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
