/* A flowing, garden-inspired homepage. */
.home .hero{max-width:none;padding-left:max(24px,calc((100vw - 1160px)/2));padding-right:max(24px,calc((100vw - 1160px)/2));background:radial-gradient(ellipse at 10% 25%,#fff0ac,transparent 55%),radial-gradient(ellipse at 90% 70%,#f9d5e7,transparent 50%);border-radius:0 0 48% 7% / 0 0 11% 4%;padding-bottom:110px}.home .hero-art>img{border-radius:47% 53% 40% 60% / 36% 38% 62% 64%;border:8px solid white;box-shadow:12px 14px 0 #f7cc68;transform:rotate(4deg)}.home .ribbon{background:none;transform:rotate(-2deg);max-width:1150px;margin:-30px auto 10px;position:relative;z-index:1;overflow:visible;white-space:normal;gap:12px}.home .ribbon span{padding:12px 22px;border-radius:65% 35% 58% 42% / 45% 56% 44% 55%;font-size:16px;background:#ffda65}.home .ribbon span:nth-child(2){background:#f5b2c6;transform:rotate(5deg)}.home .ribbon span:nth-child(3){background:#b6e0d9;transform:rotate(-4deg)}.home .ribbon span:nth-child(4){background:#d6c3ef;transform:rotate(3deg)}.home .welcome{background:transparent;position:relative;padding-top:90px;padding-bottom:100px}.home .welcome:before{content:'';position:absolute;width:380px;height:380px;max-width:75vw;background:#e0f0d0;border-radius:43% 57% 65% 35%;left:0;top:65px;z-index:-1}.home .welcome-photo img{border-radius:48% 52% 32% 68% / 30% 25% 75% 70%;box-shadow:-12px 15px 0 #c8e5d3}.home .visit{border-radius:55% 45% 0 0 / 10% 8% 0 0;background:linear-gradient(120deg,#d5edd4,#e6f1c2);padding-top:85px;padding-bottom:85px}.home .visit-note{border-radius:44% 56% 45% 55% / 48% 35% 65% 52%;box-shadow:none;padding:50px 60px}.play-corner{border:0;background:radial-gradient(ellipse at 20% 20%,#ffedbb,transparent 60%),#f1eafa;border-radius:45% 55% 12% 10% / 8% 9% 5% 6%;padding:65px 30px 45px;margin:35px auto 65px;overflow:visible}.game-header{display:flex;align-items:center;justify-content:center;gap:18px}.game-mascot{font-size:60px;animation:wiggle 5s ease-in-out infinite}.game-header h2{font-size:40px}.game-instructions{font-size:15px;max-width:480px!important}.game-status{display:inline-block;background:white;border-radius:30px;padding:6px 20px;margin:18px 0 0;font-weight:700;color:#426750}.animal-board{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;max-width:570px;margin:25px auto}.animal-card{position:relative;aspect-ratio:1.15;border:3px solid #fff;border-radius:35% 25% 35% 25%;background:#b7dcb8;box-shadow:0 5px 0 #8bb69b;cursor:pointer;font-size:44px;transition:transform .2s,background .2s;display:grid;place-items:center}.animal-card:nth-child(3n+2){background:#f9cc88;box-shadow:0 5px 0 #deac69;border-radius:25% 35% 25% 35%}.animal-card:nth-child(3n){background:#b9dfe9;box-shadow:0 5px 0 #93bdcb}.animal-card:hover{transform:translateY(-3px) rotate(2deg)}.animal-card:focus-visible{outline:3px solid #663d8d;outline-offset:5px}.animal-face{display:none}.animal-card.revealed{background:#fffdf5;transform:rotate(-3deg)}.revealed .leaf-face{display:none}.revealed .animal-face{display:block}.animal-card.matched{background:#d4efb3;box-shadow:0 4px 0 #a2c580;opacity:1;cursor:default}.animal-card.matched:after{content:'✓';position:absolute;right:8px;bottom:3px;color:#2d683d;font-size:18px}.celebration{font-family:Fredoka,sans-serif;font-size:25px;color:#703985;margin:20px auto}.game-message{min-height:28px}.game-reset{border:0;cursor:pointer}.play-controls{margin-top:22px}.home footer{border:0}.motion-paused *{animation-play-state:paused!important}@media(max-width:640px){.home .hero{padding-bottom:70px}.home .ribbon{display:grid;grid-template-columns:1fr 1fr;margin:-15px 20px 0;text-align:center;gap:10px}.home .ribbon span{font-size:12px;padding:10px}.home .welcome{padding-top:55px;padding-bottom:65px}.home .visit{padding-top:65px}.play-corner{margin:35px 12px;padding:45px 16px 35px;border-radius:40% 60% 10% 10% / 4% 4% 3% 3%}.game-header{gap:8px}.game-header h2{font-size:29px}.game-mascot{font-size:42px}.animal-board{gap:11px;grid-template-columns:repeat(3,1fr);max-width:390px}.animal-card{font-size:38px}.home .visit-note{padding:45px}.game-instructions{font-size:14px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.animal-card:disabled{color:#173e3b;-webkit-text-fill-color:#173e3b}.animal-card.matched .animal-face{opacity:1}
