/* Panda Arcade 1.27: branded, image-backed minigames and shared responsive event feedback. */
.memory-card.open::after,.memory-card.done::after{content:""!important;background-position:center;background-repeat:no-repeat;background-size:70% 70%;filter:drop-shadow(0 6px 5px rgba(22,50,31,.16))}
.memory-card[data-v="panda"]::after{background-image:url('./panda/panda-base.png')}
.memory-card[data-v="bamboo"]::after{background-image:url('./assets/panda122/bamboo_bundle.png')}
.memory-card[data-v="lantern"]::after{background-image:url('./assets/panda122/silk_lantern.png')}
.memory-card[data-v="tea"]::after{background-image:url('./assets/panda122/tea_basket.png')}
.memory-card[data-v="moon"]::after{background-image:url('./assets/panda122/moon_token.png')}
.memory-card[data-v="coin"]::after{background-image:url('./assets/panda117/world/coin.png')}
.memory-card[data-v="chest"]::after{background-image:url('./assets/panda122/rare_keepsake_toy.png')}
.memory-card[data-v="flower"]::after{background-image:url('./assets/panda117/world/bush_flowers.png')}
.memory-card::before{content:""!important;background:radial-gradient(circle at 50% 50%,rgba(218,174,70,.30),transparent 65%),url('./panda/panda-base.png') center / 46% no-repeat!important;opacity:.6}
.memory-card.open::before,.memory-card.done::before{opacity:0}
.memory-card.done{animation:p127-memory-glow .55s ease-out}
@keyframes p127-memory-glow{0%{box-shadow:0 0 0 1px #86e1a4!important}60%{box-shadow:0 0 0 6px #54dc9f77!important}100%{box-shadow:0 0 0 2px #63b07d!important}}
.snake-cell.panda-head{font-size:0!important;color:transparent!important;background:#f4fff3!important;position:relative}
.snake-cell.panda-head::after{content:"";position:absolute;inset:0;background-position:center;background-repeat:no-repeat;background-size:94%;image-rendering:auto;filter:drop-shadow(0 2px 3px #030b064d)}
.snake-cell.panda-head.head-dir-up::after{background-image:url('./assets/panda126/maze/GORA_01.webp')}
.snake-cell.panda-head.head-dir-down::after{background-image:url('./assets/panda126/maze/DOL_01.webp')}
.snake-cell.panda-head.head-dir-left::after{background-image:url('./assets/panda126/maze/LEWO_01.webp')}
.snake-cell.panda-head.head-dir-right::after{background-image:url('./assets/panda126/maze/PRAWO_01.webp')}
.snake-cell.bamboo-piece{background-image:url('./assets/panda122/bamboo_bundle.png')!important;background-repeat:no-repeat!important;background-size:95%!important;background-position:center!important}
.jade-gem img{width:70%;height:70%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 3px 2px #0004);transition:transform .18s ease}
.jade-gem:active img{transform:scale(.85)}
.flappy-cloud{color:transparent!important;filter:drop-shadow(0 6px 10px rgba(130,220,255,.18))}
.flappy-cloud::before{content:"";position:absolute;inset:13% 5% 20%;border-radius:50%;background:#fffefaf0;box-shadow:15px -8px 0 3px #fffefaf0,32px 1px 0 0 #fffefaf0}
#gameArea{isolation:isolate}
.p127-fx-layer{position:absolute;inset:0;pointer-events:none;z-index:85;overflow:hidden}
.p127-pop{position:absolute;right:22px;top:calc(env(safe-area-inset-top) + 72px);display:flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid #f9dfaa;background:linear-gradient(145deg,#fff9df,#ffdc8a);color:#544015;border-radius:22px;box-shadow:0 10px 24px #0003;font:900 15px/1.1 system-ui;animation:p127-burst .75s ease-out both;white-space:nowrap}
.p127-pop img{width:26px;height:26px;object-fit:contain}
@keyframes p127-burst{0%{opacity:0;transform:translateY(14px) scale(.70)}27%{opacity:1;transform:translateY(0) scale(1.08)}100%{opacity:0;transform:translateY(-28px) scale(.94)}}
.p127-spark{position:absolute;right:58px;top:calc(env(safe-area-inset-top) + 87px);width:8px;height:8px;background:#ffe879;border-radius:50%;box-shadow:0 0 11px #fff0a8;animation:p127-spark .7s ease-out both}
@keyframes p127-spark{to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.25)}}
@media(prefers-reduced-motion:reduce){.p127-pop,.p127-spark,.memory-card.done{animation:none!important}.p127-pop{opacity:1}}

.p127-reaction{position:absolute;right:12px;top:calc(env(safe-area-inset-top) + 109px);width:68px;height:68px;object-fit:contain;filter:drop-shadow(0 8px 8px #0003);animation:p127-cheer .80s ease-out both}
@keyframes p127-cheer{0%{opacity:0;transform:translateY(24px) scale(.7) rotate(-14deg)}30%{opacity:1;transform:translateY(-8px) scale(1.05) rotate(8deg)}72%{opacity:1;transform:translateY(-12px) scale(1.02) rotate(-4deg)}100%{opacity:0;transform:translateY(-28px) scale(.85)}}
@media(prefers-reduced-motion:reduce){.p127-reaction{animation:none!important;opacity:1}}

/* Actual 1.16 memory game uses an aw-memory-face, not the legacy pseudo-content */
.memory-card .aw-memory-face{z-index:5;grid-template-rows:minmax(0,1fr) auto;justify-items:center;align-items:center;padding:5px!important}
.memory-card.open .aw-memory-face,.memory-card.done .aw-memory-face{opacity:1;transform:scale(1) rotateY(0)}
.memory-card .aw-memory-face img{width:min(90%,75px);height:min(75%,72px);object-fit:contain;filter:drop-shadow(0 3px 3px #203b2930)}
.memory-card .aw-memory-face small{font:700 clamp(8px,2vw,11px)/1.1 system-ui;letter-spacing:0;color:#294b3f!important}
.memory-card.open::after,.memory-card.done::after{background-image:none!important;opacity:0!important}
