@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;700;800&display=swap";:root{--bg-light: #F6F6F6;--bg-white: #FFFFFF;--text-primary: #212121;--text-secondary: #708993;--input-bg: #F0F0F0;--input-focus-ring: rgba(109, 152, 134, .4);--accent-green: #D9CAB3;--accent-blue: #6D9886;--accent-purple: #708993;--accent-gold: #D9CAB3;--accent-red: #E74C3C;--font-main: "Nunito", sans-serif;--shadow-soft: 0 4px 12px rgba(0, 0, 0, .05);--shadow-medium: 0 6px 16px rgba(0, 0, 0, .08)}html.dark-mode{--bg-light: #212121;--bg-white: #2C2C2C;--text-primary: #F6F6F6;--text-secondary: #708993;--input-bg: #333333;--input-focus-ring: rgba(109, 152, 134, .4);--shadow-soft: 0 4px 12px rgba(0, 0, 0, .2);--shadow-medium: 0 6px 16px rgba(0, 0, 0, .3)}*{box-sizing:border-box}body{font-family:var(--font-main);display:flex;flex-direction:column;align-items:center;background-color:var(--bg-light);color:var(--text-primary);min-height:100vh;margin:0;padding:20px 15px;cursor:default;transition:background-color .3s,color .3s}main{flex-grow:1;width:100%;max-width:1200px;display:flex;flex-direction:column;align-items:center}h1{font-size:3em;color:var(--text-primary);display:flex;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:40px}h1 .rr{color:var(--accent-blue)}h1 img.logo{height:1em;width:auto;margin-right:10px}html.dark-mode h1 img.logo{filter:brightness(1.2)}h2{font-size:2em;margin-bottom:20px}h3{font-size:1.5em;margin-bottom:15px}h4{font-size:1.2em;color:var(--text-secondary);margin-bottom:10px}h5{font-size:1.1em;color:var(--text-secondary);margin:20px 0 10px;font-weight:700}.panel{width:100%;max-width:600px;padding:30px;background-color:var(--bg-white);border-radius:16px;box-shadow:var(--shadow-medium);text-align:center;margin-bottom:40px;position:relative;transition:background-color .3s,box-shadow .3s}.btn{font-family:var(--font-main);padding:10px 22px;font-size:1.1em;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border:none;border-radius:50px;background-color:var(--accent-blue);color:var(--bg-white);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 4px 10px #6d98864d;position:relative;margin:5px}.btn:hover{transform:translateY(-3px);box-shadow:0 6px 12px #6d988666}.btn:active,.btn:focus{outline:none;transform:translateY(0);box-shadow:0 2px 5px #6d98864d}.btn.green{background-color:var(--accent-green);color:var(--text-primary)}.btn.blue{background-color:var(--accent-blue);color:var(--bg-white)}.btn.purple{background-color:var(--accent-purple);color:var(--bg-white)}.btn.red{background-color:var(--accent-red);color:var(--bg-white)}.btn.gold{background-color:var(--accent-gold);color:var(--text-primary)}.input-field{font-family:var(--font-main);font-weight:700;padding:10px 18px;font-size:1.1em;border:none;border-radius:50px;background-color:var(--input-bg);color:var(--text-primary);outline:none;width:100%;max-width:300px;text-align:center;box-shadow:inset 0 2px 4px #0000000d;transition:box-shadow .3s,border .3s,background-color .3s}.input-field:focus{box-shadow:inset 0 2px 4px #0000000d,0 0 0 3px var(--input-focus-ring)}#theme-toggle-btn,#lang-toggle-btn,#menu-toggle-btn{position:fixed;top:20px;z-index:1001;background:var(--bg-white);border:none;border-radius:50%;width:45px;height:45px;font-size:1.5em;cursor:pointer;box-shadow:var(--shadow-medium);display:flex;align-items:center;justify-content:center;transition:background-color .3s,transform .3s ease;color:var(--text-primary)}#theme-toggle-btn:hover,#lang-toggle-btn:hover,#menu-toggle-btn:hover{transform:scale(1.1)}#theme-toggle-btn{right:20px}#lang-toggle-btn{right:80px}#menu-toggle-btn{left:20px}#side-menu-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:4000;opacity:0;pointer-events:none;transition:opacity .3s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}#side-menu-overlay.active{opacity:1;pointer-events:auto}#side-menu{position:fixed;top:0;left:-300px;width:280px;background-color:var(--bg-white);box-shadow:var(--shadow-medium);z-index:4001;transition:left .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;padding:20px;height:100vh;overflow-y:auto;-webkit-overflow-scrolling:touch}#side-menu.open{left:0}#menu-close-btn{align-self:flex-end;background:none;border:none;font-size:1.5em;cursor:pointer;color:var(--text-secondary);margin-bottom:10px}.menu-link{text-decoration:none;color:var(--text-primary);font-weight:700;font-size:1.1em;padding:12px 15px;border-radius:8px;transition:background-color .2s,color .2s;display:block}.menu-link:hover{background-color:var(--input-bg);color:var(--accent-blue)}.menu-content h3{color:var(--accent-blue);border-bottom:2px solid var(--input-bg);padding-bottom:15px}.menu-footer-text{margin-top:auto;font-size:.9em;color:var(--text-secondary);text-align:center;border-top:1px solid var(--input-bg);padding-top:20px}#lobby-screen{padding-bottom:100px!important}#leaderboard-btn,#achievements-btn,#auth-btn{position:absolute;background:none;border:none;font-size:2em;cursor:pointer;opacity:.6;transition:opacity .2s,transform .2s;color:var(--text-primary);z-index:10}#leaderboard-btn:hover,#achievements-btn:hover,#auth-btn:hover{opacity:1;transform:scale(1.1)}#leaderboard-btn{bottom:20px;right:80px}#achievements-btn{bottom:20px;right:20px}#auth-btn{bottom:20px;left:20px}#logout-btn{margin-top:20px;padding:5px 15px;font-size:.9em}.difficulty-select{display:flex;justify-content:center;flex-wrap:wrap;gap:15px;margin:15px 0}.game-description{font-size:1.1em;color:var(--text-secondary);max-width:500px;margin:30px auto 40px;line-height:1.6}#theme-selection{width:100%;margin-top:30px;padding-top:20px;border-top:1px solid var(--input-bg)}.theme-btn{font-size:1.5em;border:3px solid transparent;border-radius:10px;background-color:var(--input-bg);cursor:pointer;padding:4px;width:50px;height:50px;transition:all .2s}.theme-btn.selected{border-color:var(--accent-blue);background-color:var(--bg-light)}.all-info-container{display:flex;justify-content:center;gap:10px;width:100%;margin-bottom:15px;flex-wrap:wrap}.info-container.panel{padding:15px;width:100%;max-width:200px;margin:0}.info-row{display:flex;justify-content:space-between;font-weight:700;margin-bottom:5px;font-size:.9rem;color:var(--text-secondary)}.info-row span{color:var(--text-primary)}.active-turn{border:3px solid var(--accent-blue);box-shadow:0 0 15px #6d988680}#game-board{display:grid;gap:8px;padding:10px;width:100%;max-width:450px;margin:0 auto;height:auto;align-content:center}.card{position:relative;cursor:pointer;transform-style:preserve-3d;transition:transform .6s;aspect-ratio:1 / 1;width:100%}.card.flipped{transform:rotateY(180deg)}.card.matched{opacity:.3;cursor:default;box-shadow:none}.card-face{position:absolute;width:100%;height:100%;border-radius:12px;backface-visibility:hidden;box-shadow:var(--shadow-soft)}.card-back{background-color:var(--accent-blue);transform:rotateY(0)}.card-front{background-color:var(--bg-white);color:var(--text-primary);transform:rotateY(180deg);display:flex;align-items:center;justify-content:center;font-size:clamp(1.5rem,8vw,3rem);overflow:hidden;padding:5px}.card-front img{width:80%;height:80%;object-fit:contain}.controls{margin-bottom:10px;width:100%;text-align:left;max-width:450px;display:flex;justify-content:flex-start}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0a0a0a99;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;justify-content:center;align-items:center;z-index:1000;pointer-events:none;opacity:0;transition:opacity .3s ease}.modal-overlay:not(.hidden){pointer-events:auto;opacity:1}.modal-content.panel{max-width:500px;transform:scale(.95);transition:transform .3s ease}.modal-overlay:not(.hidden) .modal-content.panel{transform:scale(1)}.leaderboard-list,#achievements-list{list-style:none;padding:0;margin:20px 0;max-height:40vh;overflow-y:auto;text-align:left}.leaderboard-list li{display:flex;justify-content:space-between;padding:10px;border-radius:8px;margin-bottom:8px;background:var(--input-bg)}.leaderboard-list .rank-name{font-weight:700;color:var(--accent-blue)}.leaderboard-list .rank-score{font-weight:800}#achievements-list{list-style:none;padding:0;margin:10px 0;max-height:50vh;overflow-y:auto;text-align:left;scrollbar-width:none;-ms-overflow-style:none}#achievements-list::-webkit-scrollbar{display:none}.achievement-item{display:grid;grid-template-columns:50px 1fr 30px;gap:15px;align-items:center;padding:12px;margin-bottom:10px;border-radius:12px;background:var(--input-bg);transition:all .3s ease;opacity:.6;filter:grayscale(100%);border:2px solid transparent}.achievement-item.unlocked{opacity:1;filter:grayscale(0%);background:var(--bg-white);border-color:var(--accent-green);box-shadow:0 4px 10px #0000000d}.achievement-icon{font-size:2em;display:flex;justify-content:center;align-items:center}.achievement-info h4{margin:0 0 4px;font-size:1.1em;color:var(--text-primary)}.achievement-info p{margin:0;font-size:.85em;color:var(--text-secondary);line-height:1.3}.achievement-status{font-size:1.2em;color:var(--text-secondary);display:flex;justify-content:center}.achievement-item.unlocked .achievement-status{color:var(--accent-green)}.achievement-icon{font-size:2em;margin-right:15px}.auth-tabs{display:flex;justify-content:center;border-bottom:2px solid var(--input-bg);margin-bottom:30px}.auth-tab{font-family:var(--font-main);font-size:1.2em;font-weight:700;color:var(--text-secondary);background:none;border:none;padding:10px 20px;cursor:pointer;border-bottom:3px solid transparent}.auth-tab.active{color:var(--accent-blue);border-bottom-color:var(--accent-blue)}.auth-form{display:flex;flex-direction:column;align-items:center;gap:15px}.auth-link{color:var(--text-secondary);font-size:.9em;cursor:pointer;margin-top:10px}.error-text{color:var(--accent-red);font-weight:700;margin-top:15px}.copy-btn{background:var(--input-bg);border:none;cursor:pointer;width:42px;height:42px;border-radius:50%;margin-left:8px;display:inline-flex;align-items:center;justify-content:center;font-size:1.3em;transition:background-color .2s,transform .2s;box-shadow:var(--shadow-soft)}.copy-btn:hover{background-color:#e0e0e0;transform:scale(1.1)}.copy-btn:active{transform:scale(.95)}.input-with-btn{display:flex;justify-content:center;align-items:center;width:100%;max-width:380px;margin:0 auto}.input-with-btn .input-field{flex-grow:1;margin:0}@media(min-width:1024px){#game-screen{display:grid;grid-template-columns:260px 1fr;grid-template-rows:auto 1fr;gap:20px 60px;height:85vh;max-width:1400px;margin:0 auto;justify-content:center;align-items:start}.controls{grid-column:1;grid-row:1;width:100%}.all-info-container{grid-column:1;grid-row:2;width:100%;display:flex;justify-content:center}#game-board{grid-column:2;grid-row:1 / span 2;width:100%;height:75vh;max-width:65vw;margin:0;align-content:center;justify-self:center}}#game-board.grid-6{gap:4px;max-width:100%;padding:5px}#game-board.grid-6 .card-front{padding:0;line-height:1;font-size:clamp(1.2rem,12vw,3rem)}@media(min-width:1024px){#game-board.grid-6{gap:8px}#game-board.grid-6 .card-front{font-size:10vh}}.multiplayer-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:15px;margin-top:20px;width:100%}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;font-weight:700;color:var(--text-primary)}.setting-row i{width:25px;color:var(--text-secondary)}.switch{position:relative;display:inline-block;width:50px;height:26px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s}.slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.4s}input:checked+.slider{background-color:var(--accent-blue)}input:focus+.slider{box-shadow:0 0 1px var(--accent-blue)}input:checked+.slider:before{transform:translate(24px)}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}.toggle-btn{background:var(--input-bg);border:none;padding:5px 10px;border-radius:5px;font-weight:700;cursor:pointer}.powerups-container{display:flex;justify-content:center;gap:20px;margin-top:20px;margin-bottom:20px}.powerup-btn{position:relative;width:60px;height:60px;border-radius:50%;border:none;background:var(--bg-white);box-shadow:var(--shadow-medium);font-size:1.8em;cursor:pointer;transition:transform .2s,background .3s;display:flex;justify-content:center;align-items:center;color:var(--accent-blue)}.powerup-btn:hover:not(:disabled){transform:translateY(-5px);background:#f0fdf4}.powerup-btn:active:not(:disabled){transform:scale(.95)}.powerup-btn:disabled{opacity:.5;filter:grayscale(1);cursor:not-allowed}.powerup-badge{position:absolute;top:-5px;right:-5px;background:var(--accent-red);color:#fff;font-size:.4em;font-weight:700;width:20px;height:20px;border-radius:50%;display:flex;justify-content:center;align-items:center;border:2px solid var(--bg-white)}@keyframes shake{0%{transform:translate(1px,1px) rotate(0)}10%{transform:translate(-1px,-2px) rotate(-1deg)}20%{transform:translate(-3px) rotate(1deg)}30%{transform:translate(3px,2px) rotate(0)}40%{transform:translate(1px,-1px) rotate(1deg)}50%{transform:translate(-1px,2px) rotate(-1deg)}60%{transform:translate(-3px,1px) rotate(0)}70%{transform:translate(3px,1px) rotate(-1deg)}80%{transform:translate(-1px,-1px) rotate(1deg)}90%{transform:translate(1px,2px) rotate(0)}to{transform:translate(1px,-2px) rotate(-1deg)}}.shake-anim{animation:shake .5s}.user-avatar-corner{position:absolute;bottom:20px;left:20px;width:60px;height:60px;background:var(--bg-white);border:3px solid var(--accent-blue);border-radius:50%;box-shadow:var(--shadow-medium);display:flex;align-items:center;justify-content:center;font-size:2.2em;cursor:default;z-index:10;transition:transform .3s ease,box-shadow .3s ease;-webkit-user-select:none;user-select:none}.user-avatar-corner:hover{transform:scale(1.1) rotate(5deg);box-shadow:0 8px 20px #6d98864d}@media(max-width:768px){body{padding:10px 5px!important}.controls{margin-bottom:5px;display:flex;justify-content:center}.controls .btn{padding:5px 15px;font-size:.9em;width:auto}.all-info-container{margin-bottom:5px;gap:10px}.info-container.panel{padding:5px 10px;border-radius:8px;margin-bottom:0}.info-container h3{display:none}.info-row{font-size:.9em;margin:0 15px 0 0;display:inline-block;font-weight:800}#game-board{padding:0;gap:4px;width:98vw;max-width:none;margin:0 auto;justify-content:center}.card-front{padding:0;display:flex;align-items:center;justify-content:center;font-size:16vw!important;line-height:1}#game-board.grid-6{gap:2px}#game-board.grid-6 .card-front{font-size:13vw!important}.powerups-container{margin-top:15px;gap:20px}.powerup-btn{width:50px;height:50px;font-size:1.5em}}body.menu-open{overflow:hidden!important;position:fixed;width:100%;height:100%}
