.memory-game{--memory-ink:#3d5145;--memory-muted:#687169;--memory-green:#4e6b52;--memory-pink:#b67170;isolation:isolate;min-height:100svh;color:var(--memory-ink);font-family:var(--font-nunito-sans), sans-serif;background:radial-gradient(at 3% 47%,#e9eddd 0,#0000 36%),radial-gradient(at 96% 67%,#f2e6df 0,#0000 35%),#faf8f0;padding:0 36px;position:relative;overflow:clip}.memory-game button,.memory-game a,.memory-game input,.memory-game select{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.memory-game button{cursor:pointer}.memory-game button:disabled{opacity:.5;cursor:wait}.memory-game button:focus-visible,.memory-game a:focus-visible,.memory-game input:focus-visible,.memory-game select:focus-visible{outline-offset:5px;outline:3px solid #8b635a}.memory-header{border-bottom:1px solid #6477561c;justify-content:space-between;align-items:center;gap:16px;max-width:1180px;height:108px;margin:auto;display:flex}.memory-brand{letter-spacing:-.9px;align-items:center;gap:11px;font-size:23px;font-weight:700;text-decoration:none;display:flex}.memory-back-icon{background:#fffdf7c9;border:1px solid #d8d9cc;border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;transition:background .2s,transform .2s;display:grid}.memory-back-icon svg{width:20px;height:20px}.memory-back-link:hover .memory-back-icon{background:#e9eddf;transform:translate(-2px)}.memory-back-link:active .memory-back-icon{transform:translate(-2px)scale(.95)}.memory-brand-icon{background:#e9eddd;border-radius:14px 14px 14px 4px;place-items:center;width:42px;height:42px;display:grid}.memory-brand small{letter-spacing:1.55px;color:var(--memory-muted);margin-top:1px;font-size:8px;font-weight:700;display:block}.memory-header-actions{align-items:center;gap:10px;display:flex}.memory-icon-button{width:48px;height:48px;color:var(--memory-ink);background:#fffdf7c9;border:1px solid #dddcd0;border-radius:50%;flex-shrink:0;place-items:center;transition:transform .2s,background .2s;display:inline-grid}.memory-icon-button:hover{background:#e9eddf}.memory-icon-button:active,.memory-primary:active,.memory-secondary:active{transform:scale(.95)}.memory-star-total{align-items:center;gap:7px;margin-right:10px;font-size:16px;font-weight:700;display:flex}.memory-star-total>span:first-child{color:#ac7b2f;font-size:23px}.memory-home{text-align:center;max-width:720px;margin:39px auto 30px;position:relative}.memory-eyebrow,.modal-eyebrow{letter-spacing:2.4px;color:#687961;font-size:10px;font-weight:700}.memory-eyebrow{justify-content:center;align-items:center;gap:8px;display:flex}.memory-eyebrow>span{background:#8d9a72;border-radius:50%;width:6px;height:6px}.memory-game-heading{margin:10px 0}.memory-home h1,.memory-game-heading h1{font-family:var(--font-nunito-sans), sans-serif;letter-spacing:-2.8px;font-weight:700;line-height:1.18}.memory-home h1{margin:13px 0 10px;font-size:clamp(44px,5vw,66px);display:inline-block;position:relative}.memory-home h1>span:first-child,.memory-game-heading h1>span{color:var(--memory-pink)}.title-spark{color:#b99b5d;font-size:35px;font-weight:400;position:absolute;top:-6px;right:-37px}.memory-subtitle{color:var(--memory-muted);font-size:16px}.memory-friends{width:390px;max-width:100%;height:236px;margin:12px auto 4px;position:relative}.friend-card{background:#fffaf4;border:6px solid #fffdf7;border-radius:25px;width:132px;height:154px;padding:5px;position:absolute;top:26px;box-shadow:0 12px 25px #5b574013,0 2px 2px #5b574012}.friend-card img{object-fit:contain;width:100%;height:100%}.friend-rabbit{background:#f2e0df;left:21px;transform:rotate(-14deg)}.friend-fox{z-index:2;background:#f6e6cf;top:12px;left:129px;transform:rotate(3deg)}.friend-frog{background:#e6ecd8;right:15px;transform:rotate(14deg)}.friend-heart{color:#a66560;background:#fffaf3;border:4px solid #fffaf3;border-radius:50%;width:39px;height:39px;font-size:28px;line-height:30px;position:absolute;bottom:1px;right:7px}.friend-caption{font-family:var(--font-instrument-serif), Georgia, serif;color:#778267;font-size:21px;font-style:italic;position:absolute;bottom:7px;left:0;right:0;transform:rotate(-3deg)}.hero-spark{color:#b6a475;font-size:27px;position:absolute}.spark-left{top:14px;left:-8px}.spark-right{font-size:38px;bottom:73px;right:-9px}.memory-start-panel{background:#fffefaaf;border:1px solid #e5e3d6;border-radius:25px;max-width:430px;margin:16px auto 0;padding:22px 28px 16px;box-shadow:0 10px 32px #4f584008}.memory-theme-label{align-items:center;gap:7px;font-size:13px;font-weight:700;display:flex}.memory-theme-label svg{width:17px;height:17px}.memory-theme-label>span{color:#69705e;letter-spacing:1px;background:#f0eee4;border-radius:6px;margin-left:auto;padding:4px 7px;font-size:9px}.memory-difficulties{border:0;min-width:0;margin:17px 0 20px;padding:0}.memory-difficulties legend{text-align:left;color:var(--memory-muted);margin-bottom:9px;font-size:12px}.memory-difficulties>div{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.memory-difficulties label{cursor:pointer;background:#fffef8;border:1px solid #e3e3d9;border-radius:13px;flex-direction:column;align-items:center;padding:9px 4px;transition:background .2s,transform .2s;display:flex;position:relative}.memory-difficulties label.is-selected{background:#e9eddc;border-color:#889770;box-shadow:0 0 0 1px #889770}.memory-difficulties label:has(:focus-visible){outline-offset:4px;outline:3px solid #8b635a}.memory-difficulties input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.memory-difficulties strong{font-size:14px;line-height:1.5}.memory-difficulties small{color:var(--memory-muted);font-size:11px}.difficulty-dots{align-items:center;gap:3px;height:12px;display:flex}.difficulty-dots i{background:#889770;border-radius:50%;width:5px;height:5px}.memory-primary,.memory-secondary{border-radius:15px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:54px;font-size:17px;font-weight:700;transition:transform .2s,background .2s;display:flex}.memory-primary{background:var(--memory-green);color:#fffdf5;border:1px solid #486449;box-shadow:0 4px #36523b}.memory-primary:hover{background:#405e45}.memory-play{min-height:58px;font-size:20px}.memory-play svg{fill:currentColor;stroke-width:1px;width:19px}.memory-secondary{color:var(--memory-ink);background:#eeeee3;border:1px solid #dedfd1;margin-top:14px}.memory-instruction{color:var(--memory-muted);margin:16px 0 0;font-size:12px}.memory-instruction span{color:#9f8a57;margin-right:3px;font-size:17px}.memory-home-note{color:var(--memory-muted);margin-top:22px;font-size:12px}.memory-footer{letter-spacing:.4px;max-width:1180px;color:var(--memory-muted);justify-content:space-between;gap:12px;margin:0 auto;padding:20px 0 24px;font-size:10px;display:flex}.memory-scenery{pointer-events:none;z-index:-1;position:absolute;inset:0}.scenery-sun{opacity:.55;background:#f2e9cc;border-radius:50%;width:120px;height:120px;position:absolute;top:180px;right:10%}.scenery-leaf{color:#bac5a1;opacity:.45;position:absolute}.scenery-leaf svg{stroke-width:.6px;width:145px;height:145px}.leaf-left{top:47%;left:-45px;transform:rotate(30deg)}.leaf-right{bottom:10%;right:-24px;transform:rotate(-70deg)}.memory-play-area{max-width:680px;margin:0 auto 12px}.memory-game-heading{text-align:center;justify-content:space-between;align-items:center;gap:12px;display:flex}.memory-game-heading h1{letter-spacing:-1.5px;font-size:35px}.memory-game-heading p{color:var(--memory-muted);margin-top:3px;font-size:12px}.memory-game-heading p span{margin:0 5px}.memory-feedback{text-align:center;color:#636e60;min-height:24px;margin:12px 0;font-size:14px}.memory-board{background:#eceee180;border:1px solid #e1e3d6;border-radius:26px;gap:12px;margin:auto;padding:18px;display:grid}.board-easy,.board-medium{grid-template-columns:repeat(4,1fr);max-width:550px}.board-hard{grid-template-columns:repeat(6,1fr);max-width:680px}.memory-card{aspect-ratio:1;perspective:900px;background:0 0;border:0;border-radius:16px;min-width:0;min-height:48px;padding:0;transition:transform .2s;position:relative}.memory-card-inner{width:100%;height:100%;transform-style:preserve-3d;border-radius:inherit;transition:transform .38s cubic-bezier(.3,.6,.25,1);display:block;position:relative}.memory-card.is-open .memory-card-inner{transform:rotateY(180deg)}.memory-card-back,.memory-card-front{backface-visibility:hidden;border-radius:inherit;border:4px solid #fffef6;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;box-shadow:0 3px #d1d5c0,0 5px 10px #5860460b}.memory-card-back{color:#7c9065;background-color:#dce5cc;background-image:repeating-linear-gradient(0deg,#fffffb13 0 9px,#0000 9px 18px),repeating-linear-gradient(90deg,#fffffb20 0 9px,#0000 9px 18px)}.card-back-mark{aspect-ratio:1;background:#f5f4e675;border:1px solid #92a47c55;border-radius:50%;place-items:center;width:45%;display:grid}.card-back-mark svg{stroke-width:1.3px;width:55%;height:55%;transform:rotate(-10deg)}.card-back-star{color:#96a37e;font-size:13px;position:absolute}.star-one{top:10%;left:13%}.star-two{bottom:10%;right:13%}.card-back-dot{background:#96a37e;border-radius:50%;width:3px;height:3px;position:absolute;top:16%;right:18%}.memory-card-front{background:var(--animal-color);flex-direction:column;transform:rotateY(180deg)}.memory-card-front img{object-fit:contain;-webkit-user-select:none;user-select:none;width:84%;height:84%}.animal-name{margin-top:-3px;padding-bottom:5px;font-size:10px;font-weight:700;line-height:1}.memory-card.is-matched .memory-card-front{border-color:#91a778;box-shadow:0 3px #849970,0 0 15px #adc58a50}.memory-card.is-matched{animation:.55s both memory-match}.match-check{color:#fff;background:#526d48;border-radius:50%;place-items:center;width:18px;height:18px;font-size:11px;display:grid;position:absolute;top:3px;right:4px}.match-sparkle{color:#a0803f;pointer-events:none;font-size:23px;animation:.8s both memory-sparkle;position:absolute;top:-10px;right:-10px}.memory-card.is-mismatch{animation:.35s .65s memory-wiggle}@media (hover:hover){.memory-card:not(.is-open):hover{transform:translateY(-4px)}.memory-difficulties label:hover{background:#eef0e2}}.memory-card:not(.is-open):active{transform:scale(.96)}.memory-board-footer{max-width:550px;color:var(--memory-muted);justify-content:space-between;align-items:center;gap:10px;margin:18px auto 0;font-size:12px;display:flex}.memory-board-footer>span:first-child{align-items:center;gap:7px;display:flex}.memory-board-footer svg{width:16px;height:16px}.board-level{white-space:nowrap}.memory-modal{color:#3d5145;width:min(440px,100% - 32px);max-height:calc(100svh - 32px);font-family:var(--font-nunito-sans), sans-serif;background:#fffdf5;border:1px solid #e1dfcf;border-radius:28px;margin:auto;padding:40px 30px 25px;animation:.25s both memory-modal-in;position:fixed;inset:0;overflow-y:auto;box-shadow:0 24px 90px #27322335}.memory-modal::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#394c4266}.modal-close{background:0 0;border:0;width:42px;height:42px;position:absolute;top:10px;right:10px}.memory-modal h2{letter-spacing:-.8px;margin:12px 0;font-size:26px;font-weight:700;line-height:1.2}.memory-modal>p{color:#687169;font-size:14px}.memory-modal .memory-difficulties{margin-top:24px}.memory-setting{border-top:1px solid #e8e7dc;justify-content:space-between;align-items:center;gap:12px;min-height:65px;font-size:15px;display:flex}.memory-setting small{color:#687169;font-size:12px;display:block}.memory-setting input{accent-color:#4e6b52;cursor:pointer;width:48px;height:32px}.memory-setting select{border:1px solid #889770;border-radius:8px;max-width:50%;min-height:48px}.memory-modal .memory-primary{margin-top:18px}.memory-modal .memory-saved-note{text-align:center;margin-top:18px;font-size:11px}.memory-text-button{text-underline-offset:3px;color:#53624e;background:0 0;border:0;min-height:48px;padding:12px 6px;font-size:12px;text-decoration:underline}.reset-progress{margin:0 auto;display:block}.memory-reset-confirm{text-align:center;margin-top:12px;font-size:13px}.memory-reset-confirm button+button{margin-left:12px}.memory-complete{text-align:center;padding-top:36px;overflow:hidden}.completion-stars{color:#b4873e;letter-spacing:8px;font-size:39px;animation:.6s memory-match}.completion-animal{width:145px;height:145px;margin:0 auto}.memory-complete h2{margin-top:0;font-size:30px}.completion-reward{color:#806230;background:#f4ecd4;border-radius:20px;margin:16px 0 4px;padding:5px 14px;font-size:12px;display:inline-block}.memory-confetti{pointer-events:none;position:absolute;inset:0}.memory-confetti i{top:-16px;left:var(--x);width:7px;height:12px;animation:memory-confetti 2.8s calc(var(--i) * 55ms) ease-out both;background:#a6ba86;border-radius:2px;position:absolute}.memory-confetti i:nth-child(3n){background:#dba49e}.memory-confetti i:nth-child(3n+1){background:#dfc17b}@keyframes memory-match{0%,to{transform:scale(1)}40%{transform:scale(1.065)translateY(-3px)}70%{transform:scale(.99)}}@keyframes memory-wiggle{0%,to{transform:rotate(0)}30%{transform:rotate(-2deg)}70%{transform:rotate(2deg)}}@keyframes memory-sparkle{0%{opacity:0;transform:scale(.2)}40%{opacity:1;transform:scale(1.2)}to{opacity:0;transform:translateY(-18px)scale(.5)}}@keyframes memory-modal-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:none}}@keyframes memory-confetti{0%{opacity:0;transform:translateY(0)rotate(0)}10%{opacity:1}to{opacity:0;transform:translateY(430px)rotate(300deg)}}@media (min-width:768px) and (min-height:950px){.memory-home{margin-top:65px}.memory-friends{margin-top:24px;margin-bottom:20px}.memory-play-area{margin-top:40px}.memory-board{margin-top:25px}.memory-footer{margin-top:30px}}@media (max-width:600px){.memory-game{padding:0 18px}.memory-header{height:80px}.memory-brand{gap:7px;font-size:20px}.memory-back-icon{width:40px;height:40px}.memory-brand small{letter-spacing:1px;font-size:6px}.memory-brand-icon{width:32px;height:36px}.memory-brand-icon svg{width:21px}.memory-header-actions{gap:5px}.memory-star-total{gap:4px;margin-right:3px;font-size:13px}.memory-star-total>span:first-child{font-size:18px}.memory-header-actions .memory-icon-button{background:0 0;border:0}.memory-home{margin-top:28px}.memory-eyebrow{letter-spacing:1.6px;font-size:8px}.memory-home h1{letter-spacing:-2.5px;font-size:47px}.title-spark{font-size:24px;right:-20px}.memory-subtitle{font-size:13px}.memory-friends{width:320px;height:214px;margin-top:8px}.friend-card{width:113px;height:133px}.friend-rabbit{left:13px}.friend-fox{top:17px;left:104px}.friend-frog{right:8px}.friend-caption{font-size:19px;bottom:9px}.hero-spark{font-size:20px}.spark-left{left:0}.spark-right{right:0}.memory-start-panel{margin-top:9px;padding:19px 21px 13px}.memory-home-note{margin-top:21px;font-size:10px}.memory-footer{justify-content:center;padding-top:10px}.memory-footer>span:last-child{display:none}.scenery-sun{width:75px;height:75px;top:130px;right:-30px}.memory-play-area{margin-top:18px}.memory-game-heading h1{font-size:24px}.memory-feedback{margin:8px 0;font-size:12px}.memory-board{border-radius:20px;gap:9px;padding:12px}.board-easy{grid-template-columns:repeat(3,1fr);max-width:370px}.board-hard{grid-template-columns:repeat(4,1fr)}.memory-card{border-radius:12px}.memory-card-back,.memory-card-front{border-width:3px}.animal-name{font-size:9px}.match-check{width:15px;height:15px;font-size:9px;top:2px;right:2px}.memory-board-footer{margin-top:14px;font-size:10px}.memory-board-footer>span:first-child{gap:4px}.memory-modal{padding-left:22px;padding-right:22px}}@media (max-width:380px){.memory-game{padding:0 12px}.memory-brand small,.memory-brand-long,.memory-brand-icon{display:none}.memory-header-actions{gap:0}.memory-home h1{font-size:42px}.memory-friends{margin-top:0;margin-bottom:-13px;transform:scale(.92)}.memory-board{gap:7px;padding:9px}.memory-card-front img{height:78%}.animal-name{font-size:8px}}@media (max-height:760px) and (min-width:601px){.memory-header{height:78px}.memory-home{margin-top:22px}.memory-home h1{font-size:51px}.memory-friends{height:204px;margin-top:0}.friend-card{top:16px}.friend-fox{top:3px}.memory-home-note{margin-top:17px}.memory-play-area{margin-top:14px}.memory-board{gap:9px;max-width:465px;padding:13px}.board-hard{max-width:600px}.memory-footer{padding-bottom:14px}}@media (prefers-reduced-motion:reduce){.memory-game *,.memory-game :before,.memory-game :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation:none!important}.memory-confetti,.match-sparkle{display:none}}