*{margin:0;padding:0;box-sizing:border-box}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh;width:100%}.card{width:100%;height:100%;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,.card.matched .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:12px;box-shadow:0 4px 8px #0003}.card-front{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.card-back{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;transform:rotateY(180deg)}.card.matched .card-back{background:linear-gradient(135deg,#4facfe,#00f2fe);opacity:.8}.card-icon{font-size:2.5rem;-webkit-user-select:none;user-select:none}@media(max-width:768px){.card-icon{font-size:2rem}}.app{min-height:100vh;padding:2rem;display:flex;flex-direction:column;align-items:center;transition:background-color .3s,color .3s}[data-theme=dark]{background:linear-gradient(135deg,#1e1e2e,#2d2d44);color:#fff}[data-theme=light]{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);color:#1e1e2e}.header{width:100%;max-width:800px;display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.header h1{font-size:2.5rem;margin:0;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.theme-toggle{display:flex;align-items:center}.theme-btn{font-size:1.5rem;width:50px;height:50px;border-radius:50%;border:none;background:#ffffff1a;cursor:pointer;transition:transform .2s,background .2s;display:flex;align-items:center;justify-content:center}.theme-btn:hover{transform:scale(1.1);background:#fff3}.start-screen,.win-screen{display:flex;flex-direction:column;align-items:center;gap:2rem;padding:3rem;background:#ffffff1a;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #0000001a;max-width:600px;width:100%}.difficulty-selector{width:100%}.difficulty-selector h2{margin-bottom:1.5rem;font-size:1.8rem}.difficulty-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.difficulty-btn{padding:1rem 2rem;font-size:1.1rem;border:2px solid transparent;border-radius:12px;cursor:pointer;transition:all .3s;display:flex;flex-direction:column;gap:.5rem;background:#ffffff1a;color:inherit}.difficulty-btn:hover{transform:translateY(-2px);border-color:#667eea}.difficulty-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.difficulty-info{font-size:.9rem;opacity:.8}.best-score{text-align:center;padding:1rem;background:#ffffff0d;border-radius:12px;width:100%}.best-score h3{margin:0 0 .5rem;font-size:1.3rem}.best-score p{margin:0;font-size:1.1rem}.start-btn,.play-again-btn,.change-difficulty-btn,.reset-btn{padding:1rem 2.5rem;font-size:1.2rem;font-weight:700;border:none;border-radius:12px;cursor:pointer;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;transition:transform .2s,box-shadow .2s;margin:.5rem}.start-btn:hover,.play-again-btn:hover,.change-difficulty-btn:hover,.reset-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.change-difficulty-btn{background:linear-gradient(135deg,#f093fb,#f5576c)}.reset-btn{margin-top:2rem;background:#ffffff1a;color:inherit}.game-container{width:100%;max-width:800px;display:flex;flex-direction:column;align-items:center;gap:2rem}.game-stats{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap;width:100%;padding:1rem;background:#ffffff1a;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stat{display:flex;flex-direction:column;align-items:center;gap:.5rem}.stat-label{font-size:.9rem;opacity:.8;text-transform:uppercase;letter-spacing:1px}.stat-value{font-size:1.5rem;font-weight:700}.cards-grid{display:grid;gap:1rem;width:100%;max-width:600px;aspect-ratio:1}.cards-grid>*{aspect-ratio:1}.win-screen{position:relative;overflow:hidden}.confetti-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.confetti{position:absolute;width:10px;height:10px;top:-10px;animation:confetti-fall 3s linear infinite}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.win-screen h2{font-size:2.5rem;margin:0;z-index:1}.win-stats{font-size:1.3rem;z-index:1;text-align:center}.win-stats strong{color:#667eea}.best-score-display{padding:1rem;background:#ffffff1a;border-radius:12px;z-index:1}.win-buttons{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;z-index:1}@media(max-width:768px){.app{padding:1rem}.header h1{font-size:1.8rem}.start-screen,.win-screen{padding:2rem 1.5rem}.difficulty-buttons{flex-direction:column}.difficulty-btn{width:100%}.cards-grid{gap:.75rem}.game-stats{gap:1rem}.stat-value{font-size:1.2rem}.win-screen h2{font-size:2rem}.win-buttons{flex-direction:column;width:100%}.win-buttons button{width:100%}}
