*,*:before,*:after{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}.snake-container{display:flex;flex-direction:column;align-items:center;gap:16px;animation:screenEnter .35s cubic-bezier(.34,1.56,.64,1)}.snake-top-row{display:flex;justify-content:space-between;align-self:stretch}.snake-back-btn,.snake-sticker-btn{background:var(--card-bg);border:none;border-radius:14px;padding:.6rem 1.2rem;font-family:Fredoka,sans-serif;font-size:1rem;font-weight:600;color:var(--text-color);cursor:pointer;box-shadow:var(--card-shadow);transition:transform .2s}.snake-back-btn:hover,.snake-sticker-btn:hover{transform:scale(1.05)}.snake-title{font-size:2.2rem;font-weight:700;color:#fff;text-shadow:2px 2px 8px rgba(0,0,0,.3)}.snake-scoreboard{display:flex;gap:32px}.snake-score-item{display:flex;flex-direction:column;align-items:center;gap:2px}.snake-label{font-size:.75rem;text-transform:uppercase;letter-spacing:2px;color:#fff9}.snake-value{font-size:1.8rem;font-weight:700;font-variant-numeric:tabular-nums;color:#fff;text-shadow:1px 1px 4px rgba(0,0,0,.3)}.snake-grid{position:relative;background:var(--card-bg);border:2px solid rgba(255,255,255,.15);border-radius:16px;overflow:hidden;box-shadow:var(--card-shadow)}.snake-cell{position:absolute;border-radius:4px}.snake-head{background:#00d2aa;box-shadow:0 0 10px #00d2aa99;border-radius:6px;z-index:2}.snake-body{background:#00b894;opacity:.85;z-index:1}.snake-food{background:#ff7675;border-radius:50%;box-shadow:0 0 12px #ff7675b3;animation:snakePulse .8s ease-in-out infinite alternate;z-index:2}@keyframes snakePulse{0%{transform:scale(.85);opacity:.8}to{transform:scale(1);opacity:1}}.snake-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#000000a6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10;border-radius:16px}.snake-overlay p{font-family:Fredoka,sans-serif;font-size:1.1rem;color:#fffc}.snake-overlay strong{color:#00d2aa}.snake-btn{font-family:Fredoka,sans-serif;padding:.8rem 2rem;font-size:1.1rem;font-weight:700;border:none;border-radius:16px;cursor:pointer;background:linear-gradient(160deg,#00d2aa,#00b894);color:#fff;box-shadow:0 5px #00966e,0 8px 20px #00b89459;transition:top .1s ease;position:relative;top:0}.snake-btn:hover{top:-2px}.snake-btn:active{top:3px;box-shadow:0 2px #00966e}.snake-game-over h2{font-family:Fredoka,sans-serif;font-size:2rem;color:#ff7675;text-shadow:2px 2px 8px rgba(0,0,0,.4)}.snake-final-score{font-size:1.3rem!important;color:#fff!important}.snake-new-record{font-size:1.2rem!important;color:#ffeaa7!important;font-weight:700;animation:snakeBounce .5s ease infinite alternate}@keyframes snakeBounce{0%{transform:translateY(0)}to{transform:translateY(-4px)}}.sticker-choice-buttons{display:flex;gap:10px}.snake-btn-reject{background:linear-gradient(160deg,#636e72,#b2bec3)!important;box-shadow:0 5px #485460,0 8px 20px #636e7259!important;font-size:.9rem!important}.snake-btn-reject:active{box-shadow:0 2px #485460!important}.snake-controls-info{display:flex;gap:24px;font-size:.8rem;color:#ffffff73}.snake-mobile-controls{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:8px}.snake-control-row{display:flex;gap:6px}.snake-mobile-controls button{width:68px;height:68px;font-size:1.6rem;border:1px solid rgba(255,255,255,.15);border-radius:14px;background:var(--card-bg);color:#00d2aa;cursor:pointer;user-select:none;-webkit-user-select:none;font-family:Fredoka,sans-serif;box-shadow:var(--card-shadow);transition:transform .1s}.snake-mobile-controls button:active{transform:scale(.95)}.snake-sticker-popup h2{font-family:Fredoka,sans-serif;font-size:1.8rem;color:#ffeaa7;text-shadow:2px 2px 8px rgba(0,0,0,.4)}.sticker-earned-emoji{font-size:4rem;animation:stickerBounce .6s ease infinite alternate}@keyframes stickerBounce{0%{transform:scale(1) rotate(-5deg)}to{transform:scale(1.2) rotate(5deg)}}.sticker-earned-title{color:#ffeaa7!important}.sticker-earned-name{font-family:Fredoka,sans-serif;font-size:1.3rem;color:#fff;font-weight:700}.sticker-earned-desc{font-family:Fredoka,sans-serif;font-size:.9rem;color:#fff9}.snake-earned-row{display:flex;gap:6px;font-size:1.5rem}.snake-earned-mini{animation:stickerPop .3s ease}@keyframes stickerPop{0%{transform:scale(0)}70%{transform:scale(1.3)}to{transform:scale(1)}}.sticker-collection-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .2s ease}.sticker-collection{background:var(--card-bg);border-radius:24px;padding:1.5rem;width:90vw;max-width:420px;box-shadow:0 20px 60px #0006}.sticker-collection-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.sticker-collection-header h2{font-family:Fredoka,sans-serif;font-size:1.6rem;color:var(--text-color)}.sticker-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-color);opacity:.5;transition:opacity .2s}.sticker-close:hover{opacity:1}.sticker-progress{font-family:Fredoka,sans-serif;font-size:.9rem;color:var(--text-color);opacity:.6;margin-bottom:1rem}.sticker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px}.sticker-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;border-radius:16px;transition:transform .2s}.sticker-earned{background:linear-gradient(135deg,#ffeaa733,#00d2aa26);border:2px solid rgba(255,234,167,.4)}.sticker-earned:hover{transform:scale(1.08)}.sticker-locked{background:#8080801a;border:2px dashed rgba(128,128,128,.2);opacity:.5}.sticker-emoji{font-size:2.2rem}.sticker-item-name{font-family:Fredoka,sans-serif;font-size:.8rem;font-weight:600;color:var(--text-color);text-align:center}.sticker-item-score{font-family:Fredoka,sans-serif;font-size:.7rem;color:var(--text-color);opacity:.5}.snake-controls-info{display:none}@media(hover:hover)and (pointer:fine){.snake-controls-info{display:flex}}:root[data-theme=light]{--bg-gradient-1: #667eea;--bg-gradient-2: #764ba2;--card-bg: rgba(255, 255, 255, .95);--card-shadow: 0 8px 32px rgba(0, 0, 0, .15);--text-color: #2d3436;--text-secondary: #636e72;--btn-text: white;--input-bg: white;--input-border: #ddd}:root[data-theme=dark]{--bg-gradient-1: #0f0c29;--bg-gradient-2: #302b63;--card-bg: rgba(40, 40, 70, .95);--card-shadow: 0 8px 32px rgba(0, 0, 0, .4);--text-color: #f0f0f0;--text-secondary: #b0b0b0;--btn-text: white;--input-bg: #1e1e3a;--input-border: #444}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}button,.mode-card{-webkit-user-select:none;user-select:none}.app{width:100%;max-width:500px;padding:1.5rem;position:relative}.corner-label{display:none}.top-buttons{position:fixed;top:max(1rem,env(safe-area-inset-top,1rem));right:max(1rem,env(safe-area-inset-right,1rem));display:flex;gap:.5rem;z-index:100}.top-btn{background:var(--card-bg);border:none;border-radius:50%;width:48px;height:48px;font-size:1.5rem;cursor:pointer;box-shadow:var(--card-shadow);transition:transform .2s}.top-btn:hover{transform:scale(1.1)}.lang-picker{position:fixed;top:4.5rem;right:1rem;display:flex;flex-direction:column;gap:.25rem;background:var(--card-bg);padding:.75rem;border-radius:16px;box-shadow:var(--card-shadow);z-index:100;animation:fadeIn .2s ease}.lang-option{display:flex;align-items:center;gap:.5rem;background:transparent;border:2px solid transparent;border-radius:12px;padding:.5rem 1rem;cursor:pointer;font-family:Fredoka,sans-serif;font-size:1rem;color:var(--text-color);transition:background .15s,border-color .15s}.lang-option:hover{background:#6c5ce71a}.lang-option.active{border-color:#6c5ce7;background:#6c5ce726}.lang-flag{font-size:1.5rem}.lang-name{font-weight:600}.color-picker{position:fixed;top:4.5rem;right:1rem;display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;background:var(--card-bg);padding:1rem;border-radius:16px;box-shadow:var(--card-shadow);z-index:100;animation:fadeIn .2s ease}.color-swatch{width:48px;height:48px;border-radius:12px;border:3px solid transparent;cursor:pointer;font-size:1.3rem;display:flex;align-items:center;justify-content:center;transition:transform .15s,border-color .15s}.color-swatch:hover{transform:scale(1.15);border-color:#fff}.screen{display:flex;flex-direction:column;align-items:center;gap:1.25rem;animation:screenEnter .35s cubic-bezier(.34,1.56,.64,1)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.game-title{font-size:2.5rem;font-weight:700;color:#fff;text-shadow:2px 2px 8px rgba(0,0,0,.3)}.subtitle{font-size:1.2rem;color:#ffffffd9}.animal-count{font-size:1.1rem;color:#ffffffbf}.floating-emojis{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:.5rem}.floating-emoji{font-size:2.5rem;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.question-card{background:var(--card-bg);border-radius:24px;padding:2rem;width:100%;text-align:center;box-shadow:var(--card-shadow)}.question-card h2{font-size:1.6rem;font-weight:600;line-height:1.4}.question-card p{font-size:1.1rem;color:var(--text-secondary);margin-top:.5rem}.animal-name{color:#6c5ce7;font-weight:700}[data-theme=dark] .animal-name{color:#a29bfe}.thinking-emoji,.guess-emoji{font-size:5.5rem;animation:wobble 2.4s ease-in-out infinite;filter:drop-shadow(0 8px 16px rgba(0,0,0,.18))}@keyframes wobble{0%,to{transform:scale(1) rotate(0)}20%{transform:scale(1.1) rotate(-6deg)}40%{transform:scale(1.05) rotate(4deg)}60%{transform:scale(1.1) rotate(-3deg)}80%{transform:scale(1.03) rotate(2deg)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.btn{font-family:Fredoka,sans-serif;font-size:1.3rem;font-weight:700;border:none;border-radius:18px;padding:1rem 2.5rem;cursor:pointer;color:var(--btn-text);min-height:64px;position:relative;top:0;transition:top .1s ease,box-shadow .1s ease;overflow:hidden}.btn:hover{top:-2px}.btn:active{top:4px}.btn:disabled{opacity:.5;cursor:not-allowed;top:0}.button-row{display:flex;gap:1rem;width:100%}.btn-yes{flex:1;background:linear-gradient(160deg,#00d2aa,#00b894);box-shadow:0 6px #00966e,0 10px 24px #00b89459;font-size:1.5rem;min-height:80px}.btn-yes:active{box-shadow:0 2px #00966e}.btn-no{flex:1;background:linear-gradient(160deg,#ff7675,#d63031);box-shadow:0 6px #a8281c,0 10px 24px #d6303159;font-size:1.5rem;min-height:80px}.btn-no:active{box-shadow:0 2px #a8281c}.btn-start{background:linear-gradient(160deg,#9b8cf8,#6c5ce7);box-shadow:0 6px #4834c9,0 10px 24px #6c5ce766;width:100%}.btn-start:active{box-shadow:0 2px #4834c9}.btn-not-sure{background:linear-gradient(160deg,#ffe08a,#fdcb6e);box-shadow:0 5px #c9940a,0 8px 20px #fdcb6e66;color:#4a3200;width:100%;font-size:1.2rem;min-height:60px}.btn-not-sure:active{box-shadow:0 2px #c9940a}.btn-reset{background:transparent;color:#ffffff80;font-size:.9rem;padding:.5rem 1rem;min-height:auto}.btn-reset:hover{color:#fffc;box-shadow:none}.learn-input{font-family:Fredoka,sans-serif;font-size:1.2rem;width:100%;padding:1rem 1.5rem;border-radius:16px;border:2px solid var(--input-border);background:var(--input-bg);color:var(--text-color);outline:none;transition:border-color .2s}.learn-input:focus{border-color:#6c5ce7}.learn-input::placeholder{color:#aaa}.celebration-screen{opacity:0;transition:opacity .5s}.celebration-screen.show{opacity:1}.celebration-emoji{font-size:6rem}.celebration-title{font-size:2.5rem;color:#fff;text-shadow:2px 2px 8px rgba(0,0,0,.3)}.celebration-text{font-size:1.3rem;color:#ffffffe6}@keyframes bounce{0%,to{transform:translateY(0)}25%{transform:translateY(-30px) rotate(-5deg)}50%{transform:translateY(-15px)}75%{transform:translateY(-25px) rotate(5deg)}}.bounce{animation:bounce 1s ease infinite}.confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden;z-index:50}.confetti-piece{position:absolute;top:-20px;border-radius:3px;animation:confettiFall linear forwards}@keyframes confettiFall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.kb-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200;animation:fadeIn .2s ease}.kb-modal{background:var(--card-bg);border-radius:24px;width:95vw;max-width:1200px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 16px 64px #0000004d;overflow:hidden}.kb-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--input-border)}.kb-header h2{font-family:Fredoka,sans-serif;font-size:1.8rem;color:var(--text-color)}.kb-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .15s}.kb-close:hover{background:#6c5ce726}.kb-summary{padding:.75rem 2rem;font-size:1.2rem;color:var(--text-secondary);font-family:Fredoka,sans-serif}.kb-search{width:calc(100% - 4rem);margin:0 2rem .75rem;padding:.6rem 1rem;border-radius:12px;border:2px solid var(--input-border);background:var(--input-bg, rgba(255,255,255,.1));color:var(--text-color);font-family:Fredoka,sans-serif;font-size:1rem;outline:none;transition:border-color .2s}.kb-search:focus{border-color:#6c5ce7}.kb-table-wrap{overflow:auto;flex:1;padding:0 .5rem 1rem}.kb-table{border-collapse:separate;border-spacing:0;font-family:Fredoka,sans-serif;font-size:1.05rem;width:max-content;min-width:100%}.kb-table thead th{position:sticky;top:0;background:var(--card-bg);z-index:10;padding:.5rem;border-bottom:2px solid var(--input-border);text-align:center;vertical-align:bottom}.kb-q-header{writing-mode:vertical-rl;transform:rotate(180deg);max-height:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;font-size:.95rem;color:var(--text-secondary)}.kb-sticky-col{position:sticky;left:0;background:var(--card-bg);z-index:5;white-space:nowrap;padding:.5rem 1rem;font-weight:600}thead .kb-sticky-col{z-index:15}.kb-animal-cell{border-right:2px solid var(--input-border)}.kb-cell{text-align:center;padding:.4rem .6rem;min-width:42px;font-size:1rem;border-bottom:1px solid rgba(128,128,128,.1)}.kb-yes{background:#00b89414}.kb-no{background:#d630310f}.kb-na{color:#8080804d}.kb-table tbody tr:hover td{background:#6c5ce714}.kb-table tbody tr:hover .kb-sticky-col{background:#6c5ce71f}.mode-cards{display:flex;gap:.75rem;width:100%}.mode-card{flex:1;display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:1.2rem .5rem;border-radius:20px;border:3px solid transparent;cursor:pointer;font-family:Fredoka,sans-serif;transition:transform .2s,border-color .2s,box-shadow .2s;color:#fff;text-shadow:1px 1px 4px rgba(0,0,0,.3)}.mode-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0003}.mode-card:active{transform:translateY(0)}.mode-classic{background:linear-gradient(135deg,#6c5ce7,#a29bfe)}.mode-timer{background:linear-gradient(135deg,#00b894,#00cec9)}.mode-quiz{background:linear-gradient(135deg,#e17055,#fdcb6e)}.mode-icon{font-size:2.5rem}.mode-title{font-size:1.1rem;font-weight:700}.mode-desc{font-size:.8rem;opacity:.9;text-align:center}.timer-picker{width:100%;text-align:center;animation:fadeIn .2s ease}.timer-picker-label{color:#ffffffd9;font-size:1.1rem;margin-bottom:.5rem}.timer-options{display:flex;gap:.75rem;justify-content:center}.btn-timer-option{font-family:Fredoka,sans-serif;font-size:1.2rem;font-weight:600;padding:.8rem 1.5rem;border:none;border-radius:16px;cursor:pointer;background:linear-gradient(135deg,#00b894,#00cec9);color:#fff;transition:transform .15s;min-height:auto}.btn-timer-option:hover{transform:translateY(-2px)}.timer-bar{position:fixed;top:0;left:0;width:100%;display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;z-index:90;background:#0003;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.timer-track{flex:1;height:12px;background:#fff3;border-radius:6px;overflow:hidden}.timer-fill{height:100%;border-radius:6px;transition:width 1s linear,background .5s}.timer-text{font-family:Fredoka,sans-serif;font-size:1.3rem;font-weight:700;color:#fff;min-width:50px;text-align:right}.timer-pulse{animation:pulse .5s ease-in-out infinite;color:#ff6b6b}.timer-urgent .timer-track{animation:shake .3s ease-in-out infinite}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}.quiz-history{width:100%;max-height:250px;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;padding:.5rem}.quiz-history-item{display:flex;justify-content:space-between;align-items:center;background:var(--card-bg);padding:.75rem 1rem;border-radius:12px;box-shadow:0 2px 8px #0000001a;animation:fadeIn .3s ease}.quiz-history-q{font-family:Fredoka,sans-serif;font-size:1rem;color:var(--text-color);flex:1}.quiz-history-a{font-size:1.5rem;margin-left:.75rem}.quiz-input-row{display:flex;gap:.75rem;width:100%}.quiz-input-row .learn-input{flex:1}.quiz-ask-btn{min-width:80px;width:auto!important;padding:1rem!important}.quiz-guess-btn{background:linear-gradient(135deg,#e17055,#fdcb6e)!important}.timer-expired-screen{text-align:center}.app.wrong-shake{animation:wrongShake .5s ease}@keyframes wrongShake{0%{transform:translate(0)}15%{transform:translate(-10px) rotate(-1deg)}30%{transform:translate(9px) rotate(1deg)}45%{transform:translate(-7px)}to{transform:translate(0)}}body:has(input:focus) .corner-label,body:has(input:focus) .top-buttons{opacity:.4;pointer-events:none}.timer-fill:after{content:"";position:absolute;top:0;left:-60%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);animation:timerShine 1.8s linear infinite}.timer-fill{position:relative;overflow:hidden}@keyframes timerShine{0%{left:-60%}to{left:120%}}@media(max-width:480px){.game-title{font-size:2rem}.question-card h2{font-size:1.3rem}.btn{font-size:1.1rem;padding:.8rem 1.5rem}.btn-yes,.btn-no{font-size:1.3rem;min-height:70px}.floating-emoji{font-size:2rem}.mode-cards{flex-direction:column}.mode-card{flex-direction:row;padding:1rem;gap:.75rem}.mode-icon{font-size:2rem}.mode-desc{text-align:left}}@media(max-height:600px)and (orientation:landscape){.floating-emojis{display:none}.thinking-emoji,.guess-emoji{font-size:3.5rem}.screen{gap:.75rem}.question-card{padding:1.25rem 1.5rem}}.animal-sticker-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.animal-sticker-popup{background:var(--card-bg);border-radius:28px;padding:2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem;box-shadow:0 20px 60px #0006;animation:stickerPopIn .4s cubic-bezier(.34,1.56,.64,1)}.animal-sticker-emoji{font-size:4.5rem;animation:stickerWiggle .6s ease infinite alternate}.animal-sticker-title{font-family:Fredoka,sans-serif;font-size:1.8rem;font-weight:700;color:#ffc312;text-shadow:1px 1px 4px rgba(0,0,0,.15)}.animal-sticker-name{font-family:Fredoka,sans-serif;font-size:1.2rem;font-weight:600;color:var(--text-color)}.animal-sticker-buttons{display:flex;gap:10px;margin-top:.5rem}.memory-container{display:flex;flex-direction:column;align-items:center;gap:12px;padding:3.5rem 1rem 1rem;width:100%;animation:screenEnter .35s cubic-bezier(.34,1.56,.64,1)}.memory-back-btn{position:fixed;top:max(.75rem,env(safe-area-inset-top,.75rem));left:max(.75rem,env(safe-area-inset-left,.75rem));background:var(--card-bg);border:none;border-radius:14px;padding:.5rem 1rem;font-family:Fredoka,sans-serif;font-size:.85rem;font-weight:600;color:var(--text-color);cursor:pointer;box-shadow:var(--card-shadow);transition:transform .2s;z-index:200}.memory-back-btn:hover{transform:scale(1.05)}.memory-title{font-size:2.2rem;font-weight:700;color:#fff;text-shadow:2px 2px 8px rgba(0,0,0,.3)}.memory-menu{display:flex;flex-direction:column;align-items:center;gap:1.2rem}.memory-menu-text{font-family:Fredoka,sans-serif;font-size:1.2rem;color:#ffffffd9}.memory-diff-cards{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.memory-diff-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:1.5rem 1.2rem;border-radius:20px;border:none;cursor:pointer;font-family:Fredoka,sans-serif;color:#fff;text-shadow:1px 1px 4px rgba(0,0,0,.3);transition:transform .2s,box-shadow .2s;min-width:120px}.memory-diff-card:hover{transform:translateY(-4px)}.memory-diff-easy{background:linear-gradient(135deg,#00b894,#00cec9);box-shadow:0 5px #00966e,0 8px 20px #00b89459}.memory-diff-normal{background:linear-gradient(135deg,#fdcb6e,#e17055);box-shadow:0 5px #c0392b,0 8px 20px #e1705559}.memory-diff-hard{background:linear-gradient(135deg,#6c5ce7,#a29bfe);box-shadow:0 5px #4834c9,0 8px 20px #6c5ce759}.memory-mode-2p{background:linear-gradient(135deg,#00b894,#00cec9);box-shadow:0 5px #00966e,0 8px 20px #00b89459}.memory-mode-cpu{background:linear-gradient(135deg,#e17055,#fdcb6e);box-shadow:0 5px #c0392b,0 8px 20px #e1705559}.memory-thinking{font-family:Fredoka,sans-serif;font-size:1rem;color:#ffeaa7;animation:thinkingPulse 1s ease-in-out infinite}@keyframes thinkingPulse{0%,to{opacity:.6}50%{opacity:1}}.memory-mode-levels{background:linear-gradient(135deg,#ffc312,#ee5a24);box-shadow:0 5px #b33000,0 8px 20px #ee5a2459}.memory-level-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;width:100%;max-width:400px}.memory-level-btn{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 6px;border-radius:14px;border:none;cursor:pointer;font-family:Fredoka,sans-serif;transition:transform .2s}.memory-level-unlocked{background:linear-gradient(135deg,#6c5ce7,#a29bfe);color:#fff;box-shadow:0 3px #4834c9}.memory-level-unlocked:hover{transform:translateY(-3px)}.memory-level-locked{background:#80808033;color:#ffffff4d;cursor:default}.memory-level-num{font-size:1.3rem;font-weight:700}.memory-level-pairs{font-size:.6rem;opacity:.7}.memory-level-stars{font-size:.75rem;letter-spacing:1px}.star-earned{color:#ffc312}.star-empty{color:#ffffff40}.memory-level-info{display:flex;flex-direction:column;align-items:center;gap:2px}.memory-level-label{font-family:Fredoka,sans-serif;font-size:1.1rem;font-weight:700;color:#ffeaa7}.memory-level-pairs-info{font-family:Fredoka,sans-serif;font-size:.7rem;color:#ffffff80}.memory-stars-display{display:flex;gap:8px}.memory-star-big{font-size:3rem}.memory-star-big.star-earned{color:#ffc312;text-shadow:0 0 20px rgba(255,195,18,.6);animation:starPop .5s ease}@keyframes starPop{0%{transform:scale(0)}60%{transform:scale(1.3)}to{transform:scale(1)}}.memory-star-big.star-empty{color:#ffffff26}.memory-diff-icon{font-size:2.5rem}.memory-diff-name{font-size:1.1rem;font-weight:700}.memory-diff-desc{font-size:.85rem;opacity:.8}.memory-scoreboard{display:flex;align-items:center;gap:20px}.memory-player{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 16px;border-radius:14px;transition:all .3s}.memory-player-active{background:#ffffff26;box-shadow:0 0 20px #fff3}.memory-player-label{font-family:Fredoka,sans-serif;font-size:.75rem;text-transform:uppercase;letter-spacing:2px;color:#fff9}.memory-player-active .memory-player-label{color:#ffeaa7}.memory-player-score{font-family:Fredoka,sans-serif;font-size:2rem;font-weight:700;color:#fff;text-shadow:1px 1px 4px rgba(0,0,0,.3)}.memory-moves{display:flex;flex-direction:column;align-items:center;gap:2px}.memory-moves-label{font-family:Fredoka,sans-serif;font-size:.65rem;text-transform:uppercase;letter-spacing:1px;color:#fff6}.memory-moves-value{font-family:Fredoka,sans-serif;font-size:1.2rem;color:#fff9}.memory-grid{display:grid;gap:10px;width:100%;max-width:620px}.memory-card{aspect-ratio:1;min-height:70px;perspective:600px;background:none;border:none;cursor:pointer;padding:0}.memory-card:disabled{cursor:default}.memory-card-inner{position:relative;width:100%;height:100%;transition:transform .4s cubic-bezier(.34,1.56,.64,1);transform-style:preserve-3d}.memory-card-flipped .memory-card-inner{transform:rotateY(180deg)}.memory-card-front,.memory-card-back{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:14px;backface-visibility:hidden;font-size:2.8rem}.memory-card-front{background:linear-gradient(135deg,#a29bfe,#c4b5fd);box-shadow:0 4px 12px #a29bfe4d;font-size:2rem}.memory-card-back{background:var(--card-bg);box-shadow:0 4px 12px #00000026;transform:rotateY(180deg)}.memory-card-matched .memory-card-back{background:linear-gradient(135deg,#00b89426,#00cec926);border:2px solid rgba(0,184,148,.4)}.memory-card-matched .memory-card-inner{animation:matchPop .4s ease}@keyframes matchPop{0%{transform:rotateY(180deg) scale(1)}50%{transform:rotateY(180deg) scale(1.15)}to{transform:rotateY(180deg) scale(1)}}.memory-card:not(.memory-card-flipped):not(.memory-card-matched):hover .memory-card-inner{transform:scale(1.05)}.memory-finished{display:flex;flex-direction:column;align-items:center;gap:12px;animation:screenEnter .35s cubic-bezier(.34,1.56,.64,1)}.memory-trophy{font-size:4rem;animation:trophyBounce .6s ease infinite alternate}@keyframes trophyBounce{0%{transform:scale(1) rotate(-3deg)}to{transform:scale(1.1) rotate(3deg)}}.memory-winner{font-family:Fredoka,sans-serif;font-size:2rem;font-weight:700;color:#fff;text-shadow:2px 2px 8px rgba(0,0,0,.3)}.memory-final-scores{display:flex;align-items:center;gap:20px}.memory-final-player{display:flex;flex-direction:column;align-items:center;gap:4px;font-family:Fredoka,sans-serif;color:#ffffffb3}.memory-final-score{font-size:2.5rem;font-weight:700;color:#fff}.memory-vs{font-size:1.5rem;color:#fff6}.memory-final-moves{font-family:Fredoka,sans-serif;font-size:.9rem;color:#ffffff80}.memory-finish-buttons{display:flex;gap:12px;margin-top:8px}.memory-btn{font-family:Fredoka,sans-serif;padding:.8rem 2rem;font-size:1.1rem;font-weight:700;border:none;border-radius:16px;cursor:pointer;background:linear-gradient(160deg,#6c5ce7,#a29bfe);color:#fff;box-shadow:0 5px #4834c9,0 8px 20px #6c5ce759;transition:top .1s ease;position:relative;top:0}.memory-btn:hover{top:-2px}.memory-btn:active{top:3px;box-shadow:0 2px #4834c9}.memory-btn-menu{background:linear-gradient(160deg,#636e72,#b2bec3);box-shadow:0 5px #485460,0 8px 20px #636e7259}.memory-btn-menu:active{box-shadow:0 2px #485460}.memory-sticker-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.memory-sticker-popup{background:var(--card-bg);border-radius:28px;padding:2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem;box-shadow:0 20px 60px #0006;animation:stickerPopIn .4s cubic-bezier(.34,1.56,.64,1)}@keyframes stickerPopIn{0%{transform:scale(.3) rotate(-10deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.memory-sticker-emoji{font-size:4.5rem;animation:stickerWiggle .6s ease infinite alternate}@keyframes stickerWiggle{0%{transform:scale(1) rotate(-5deg)}to{transform:scale(1.15) rotate(5deg)}}.memory-sticker-title{font-family:Fredoka,sans-serif;font-size:1.8rem;font-weight:700;color:#ffc312}.memory-sticker-name{font-family:Fredoka,sans-serif;font-size:1.2rem;font-weight:600;color:var(--text-color)}.memory-sticker-buttons{display:flex;gap:10px;margin-top:.5rem}@media(max-width:480px){.memory-diff-cards{flex-direction:column;width:100%}.memory-diff-card{flex-direction:row;padding:1rem;gap:12px}.memory-card-front,.memory-card-back{font-size:1.5rem}}:root[data-theme=light]{--bg-gradient-1: #667eea;--bg-gradient-2: #764ba2;--card-bg: rgba(255, 255, 255, .95);--card-shadow: 0 8px 32px rgba(0, 0, 0, .15);--text-color: #2d3436;--text-secondary: #636e72;--btn-text: white}:root[data-theme=dark]{--bg-gradient-1: #0f0c29;--bg-gradient-2: #302b63;--card-bg: rgba(40, 40, 70, .95);--card-shadow: 0 8px 32px rgba(0, 0, 0, .4);--text-color: #f0f0f0;--text-secondary: #b0b0b0;--btn-text: white}button{-webkit-user-select:none;user-select:none}body{font-family:Fredoka,sans-serif;min-height:100vh;background:linear-gradient(135deg,var(--bg-gradient-1),var(--bg-gradient-2));color:var(--text-color);overflow-x:hidden}#root{min-height:100vh;display:flex;align-items:center;justify-content:center}@keyframes screenEnter{0%{opacity:0;transform:translateY(28px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}.candy-background{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0}.candy-piece{position:absolute;opacity:.15;animation:candyFloat ease-in-out infinite alternate;filter:blur(.5px)}@keyframes candyFloat{0%{transform:translateY(0) rotate(0) scale(1)}50%{transform:translateY(-20px) rotate(15deg) scale(1.05)}to{transform:translateY(10px) rotate(-10deg) scale(.95)}}.welcome-screen{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem;max-width:600px;width:100%;animation:screenEnter .35s cubic-bezier(.34,1.56,.64,1);position:relative;z-index:1}.welcome-floating-emojis{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.welcome-floating-emoji{font-size:2.8rem;animation:float 3s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.welcome-title{font-size:3rem;font-weight:700;color:#fff;text-shadow:2px 2px 12px rgba(0,0,0,.3)}.welcome-subtitle{font-size:1.3rem;color:#ffffffd9;margin-top:-.5rem}.game-cards{display:flex;gap:1rem;width:100%}.game-card{flex:1;display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:1.8rem 1rem;border-radius:24px;border:3px solid transparent;cursor:pointer;font-family:Fredoka,sans-serif;color:#fff;text-shadow:1px 1px 4px rgba(0,0,0,.3);transition:transform .2s,border-color .2s,box-shadow .2s;position:relative;top:0}.game-card:hover{transform:translateY(-6px);box-shadow:0 12px 32px #00000040}.game-card:active{transform:translateY(0)}.game-card-snake{background:linear-gradient(135deg,#00b894,#00cec9);box-shadow:0 6px #00966e,0 10px 24px #00b89459}.game-card-snake:active{box-shadow:0 2px #00966e}.game-card-animal{background:linear-gradient(135deg,#6c5ce7,#a29bfe);box-shadow:0 6px #4834c9,0 10px 24px #6c5ce759}.game-card-animal:active{box-shadow:0 2px #4834c9}.game-card-memory{background:linear-gradient(135deg,#e17055,#fdcb6e);box-shadow:0 6px #c0392b,0 10px 24px #e1705559}.game-card-memory:active{box-shadow:0 2px #c0392b}.game-card-icon{font-size:3.5rem}.game-card-title{font-size:1.3rem;font-weight:700}.game-card-desc{font-size:.9rem;opacity:.9;text-align:center}.sticker-wall-btn{font-family:Fredoka,sans-serif;font-size:1.1rem;font-weight:700;padding:.8rem 2rem;border:none;border-radius:16px;cursor:pointer;background:linear-gradient(160deg,#ffc312,#ee5a24);color:#fff;text-shadow:1px 1px 3px rgba(0,0,0,.2);box-shadow:0 5px #c0392b,0 8px 20px #ee5a2459;transition:top .1s ease,transform .2s;position:relative;top:0}.sticker-wall-btn:hover{top:-2px}.sticker-wall-btn:active{top:3px;box-shadow:0 2px #c0392b}.sticker-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:500;animation:stickerFadeIn .2s ease}@keyframes stickerFadeIn{0%{opacity:0}to{opacity:1}}.sticker-wall-modal{background:var(--card-bg);border-radius:24px;padding:1.5rem;width:90vw;max-width:500px;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0006;animation:stickerSlideUp .3s cubic-bezier(.34,1.56,.64,1)}@keyframes stickerSlideUp{0%{transform:translateY(40px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.sticker-wall-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.sticker-wall-header h2{font-family:Fredoka,sans-serif;font-size:1.6rem;color:var(--text-color)}.sticker-wall-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-color);opacity:.5;transition:opacity .2s}.sticker-wall-close:hover{opacity:1}.sticker-wall-count{font-family:Fredoka,sans-serif;font-size:.85rem;color:var(--text-secondary);margin-bottom:.2rem}.sticker-wall-hint{font-family:Fredoka,sans-serif;font-size:.75rem;color:var(--text-secondary);opacity:.6;margin-bottom:.5rem}.sticker-wall-game{font-family:Fredoka,sans-serif;font-size:.85rem;font-weight:700;color:var(--text-secondary);margin:.75rem 0 .4rem}.sticker-wall-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px}.sticker-wall-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border-radius:14px;transition:transform .2s}.sticker-wall-earned{background:linear-gradient(135deg,#ffeaa733,#00d2aa1f);border:2px solid rgba(255,234,167,.35);cursor:pointer}.sticker-wall-earned:hover{transform:scale(1.08)}.sticker-wall-hidden{background:#80808014;border:2px solid rgba(128,128,128,.2);cursor:pointer;opacity:.5}.sticker-wall-hidden .sticker-wall-emoji{filter:grayscale(.8)}.sticker-wall-hidden:hover{transform:scale(1.05);opacity:.7}.sticker-hidden-badge{font-family:Fredoka,sans-serif;font-size:.55rem;color:var(--text-secondary);opacity:.7;font-style:italic}.sticker-wall-locked-card{background:#80808014;border:2px dashed rgba(128,128,128,.15);opacity:.45}.sticker-wall-emoji{font-size:2rem}.sticker-wall-name{font-family:Fredoka,sans-serif;font-size:.65rem;font-weight:600;color:var(--text-color);text-align:center;line-height:1.2}.welcome-top-buttons{position:fixed;top:max(1rem,env(safe-area-inset-top,1rem));right:max(1rem,env(safe-area-inset-right,1rem));display:flex;gap:.5rem;z-index:100}.welcome-top-btn{background:var(--card-bg);border:none;border-radius:50%;width:48px;height:48px;font-size:1.5rem;cursor:pointer;box-shadow:var(--card-shadow);transition:transform .2s}.welcome-top-btn:hover{transform:scale(1.1)}.animal-game-wrapper{width:100%;max-width:500px;padding:1.5rem;position:relative}.animal-back-btn{position:fixed;top:max(1rem,env(safe-area-inset-top,1rem));left:max(1rem,env(safe-area-inset-left,1rem));background:var(--card-bg);border:none;border-radius:14px;padding:.6rem 1.2rem;font-family:Fredoka,sans-serif;font-size:1rem;font-weight:600;color:var(--text-color);cursor:pointer;box-shadow:var(--card-shadow);transition:transform .2s;z-index:200}.animal-back-btn:hover{transform:scale(1.05)}@media(max-width:480px){.welcome-title{font-size:2.2rem}.game-cards{flex-direction:column}.game-card{flex-direction:row;padding:1.2rem;gap:1rem}.game-card-icon{font-size:2.5rem}.game-card-desc{text-align:left}.welcome-floating-emoji{font-size:2rem}}
