.pawe-game--memorygrove{max-width:1080px;margin:auto;background:linear-gradient(135deg,#fff9ed,#f3edf8)}.mg-heading h2{font-size:24px;color:#68487c;margin:5px 0}.mg-toolbar,.mg-actions{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.mg-toolbar{justify-content:space-between}.mg-stats{display:flex;gap:22px;justify-content:center}.mg-stats div{text-align:center}.mg-stats small{display:block;font-size:9px;color:#786181}.mg-stats strong{font-size:21px;color:#674778;font-variant-numeric:tabular-nums}.mg-stats .urgent{color:#a73f4b}.pawe-game--memorygrove button:not(.mg-tile),.pawe-game--memorygrove select{min-height:44px;padding:9px 12px;border:1px solid #d4c0db;border-radius:11px;background:#fffaf1;color:#6b497e;font:800 13px Nunito,sans-serif;cursor:pointer}.mg-message,.mg-note{font-size:12px;color:#745d7f;text-align:center;line-height:1.45;margin:3px 0}.mg-frame{width:var(--mg-width,460px);max-width:100%;position:relative;box-sizing:border-box;margin:3px auto;padding:8px;border-radius:20px;background:#d3bedb;box-shadow:0 4px 0 #ad92b7;overflow:auto}.mg-board{display:grid;grid-template-columns:repeat(var(--mg-cols,4),1fr);gap:6px;min-width:0}.mg-board.covered{visibility:hidden}.mg-tile{position:relative;aspect-ratio:1;min-width:0;min-height:56px;padding:0;border:0;border-radius:12px;background:none;perspective:650px;cursor:pointer;touch-action:manipulation;user-select:none}.mg-tile:disabled{opacity:1;filter:none;cursor:default}.mg-tile:focus-visible{outline:3px solid #624379;outline-offset:1px}.mg-inner{position:absolute;inset:0;display:block;transform-style:preserve-3d;transition:transform .26s ease}.mg-tile.face-up .mg-inner{transform:rotateY(180deg)}.mg-side{position:absolute;inset:0;display:grid;place-items:center;border-radius:11px;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-sizing:border-box}.mg-back{background:linear-gradient(145deg,#b390c3,#88649e);border:2px solid #e3cde8;box-shadow:inset 0 0 0 4px #bba2c677,inset 0 -4px 0 #78568f}.mg-back svg{width:47%;height:47%;fill:#f3e8d0;opacity:.95}.mg-front{transform:rotateY(180deg);background:#fff9ed;border:2px solid #e5d9c2;box-shadow:inset 0 -3px 0 #e0d2b9}.mg-front img{width:82%;height:82%;object-fit:contain;pointer-events:none}.mg-tile.matched .mg-front{background:#e5efd8;border-color:#aac28e;box-shadow:inset 0 0 0 2px #c9d9b2}.mg-tile.pair-pop .mg-front{animation:mg-pair-glow .45s ease}.mg-cover{position:absolute;inset:0;z-index:4;border-radius:20px;background:linear-gradient(145deg,#f5edf8,#fff7e7);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:15px;padding:20px}.mg-cover strong{font-size:25px;color:#68477f}.mg-cover span{font-size:13px;color:#7b6281}.mg-result{padding:10px;border-radius:12px;background:#e4eed8;color:#4f6b3c;text-align:center;font-size:15px;font-weight:900}.mg-note{font-size:11px}@keyframes mg-pair-glow{50%{box-shadow:inset 0 0 0 3px #9cbe70,0 0 14px #aec38a}}
@media(max-width:600px){.mg-heading h2{font-size:20px}.mg-toolbar{justify-content:center;gap:7px}.mg-stats{width:100%;justify-content:space-around;gap:8px}.mg-stats strong{font-size:19px}.mg-actions{gap:6px}.pawe-game--memorygrove button:not(.mg-tile),.pawe-game--memorygrove select{font-size:12px;padding:8px 10px}.mg-cover strong{font-size:21px}.mg-cover span{font-size:12px}.mg-message{font-size:11px}.mg-note{font-size:10px}.mg-tile,.mg-side{border-radius:9px}}
@media(prefers-reduced-motion:reduce){.mg-inner{transition:none}.mg-tile.pair-pop .mg-front{animation:none}}

/* A one-shot wave of happy animal tiles and woodland leaves on a fresh clear. */
.mg-celebration{position:absolute;inset:0;overflow:hidden;border-radius:20px;pointer-events:none;z-index:3}
.mg-celebrating .mg-tile{animation:mg-happy-hop .65s ease both;animation-delay:var(--mg-win-delay,0s)}
.mg-celebrating .mg-front{border-color:#c4a15d;box-shadow:inset 0 0 0 2px #f4dfaa,0 0 12px #f4dfaa99}
.mg-celebration-leaf{position:absolute;left:var(--x);top:var(--y);width:13px;height:20px;border-radius:90% 12% 90% 12%;background:var(--hue);box-shadow:inset 1px 0 0 #ffffff88;opacity:0;animation:mg-leaf-dance 1.9s ease-out var(--delay) both}
@keyframes mg-happy-hop{0%,100%{transform:translateY(0) scale(1)}40%{transform:translateY(-5px) scale(1.035)}70%{transform:translateY(1px) scale(.985)}}
@keyframes mg-leaf-dance{0%{opacity:0;transform:translate(0,18px) rotate(-35deg) scale(.4)}18%{opacity:1}65%{opacity:.9}100%{opacity:0;transform:translate(var(--drift),-65px) rotate(160deg) scale(.65)}}
@media(prefers-reduced-motion:reduce){.mg-celebrating .mg-tile,.mg-celebration-leaf{animation:none}.mg-celebration-leaf{display:none}}

@media(max-width:600px){.mg-frame{width:100%;margin:6px auto}.mg-front img{width:88%;height:88%}}

.mg-playbar{display:flex;align-items:center;justify-content:center;gap:20px}
@media(max-width:1040px){
 .mg-playbar{position:sticky;top:calc(var(--mg-header-height,70px) + 5px);z-index:20;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px;border:1px solid #d8c2df;border-radius:13px;background:#fff9ed;box-shadow:0 3px 9px #63447726}
 .mg-playbar .mg-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;align-items:start;width:auto}
 .mg-playbar .mg-stats small{font-size:8px;line-height:1.2;min-height:20px;display:flex;align-items:center;justify-content:center}
 .mg-playbar .mg-stats strong{display:block;font-size:17px;line-height:1.25;white-space:nowrap}
 .pawe-game--memorygrove .mg-playbar button{min-height:44px;min-width:60px;padding:8px;font-size:12px}
 .mg-tile{scroll-margin-block-start:calc(var(--mg-header-height,70px) + 88px)}
}

.mg-playbar{flex-wrap:wrap}
.mg-finish{display:flex;align-items:center;justify-content:center;gap:12px;flex-basis:100%;padding:8px;border-radius:12px;background:#e4eed8;border:1px solid #bbcf9f}
.mg-finish .mg-result{margin:0;padding:2px;flex:1;line-height:1.4}
.pawe-game--memorygrove .mg-finish :is(#mg-next,#mg-retry){background:#704788;color:#fff9ed;border-color:#603974;min-height:44px;padding:10px 15px;font-weight:900;white-space:nowrap;box-shadow:0 2px 0 #4f2e63}
.pawe-game--memorygrove .mg-finish :is(#mg-next,#mg-retry):hover{background:#603975}
.mg-finish :is(#mg-next,#mg-retry):focus-visible{outline:3px solid #b18942;outline-offset:3px}
@media(max-width:1040px){.mg-finish{grid-column:1/-1;gap:8px;padding:8px}.mg-finish .mg-result{font-size:13px;text-align:left}.mg-playbar:has(.mg-finish:not([hidden])){border-color:#b3c68e}}

.mg-finish.mg-timeout{background:#fff0d6;border-color:#dbbc83}
.mg-timeout .mg-result{background:transparent;color:#795326}
@media(max-width:1040px){.mg-playbar:has(.mg-timeout:not([hidden])){border-color:#dbbc83}}

.mg-result-copy{flex:1;min-width:0}
.mg-record-notice{margin:5px 0 0;padding:5px 8px;border-radius:8px;background:#fff1c9;color:#76511b;font:900 12px/1.4 Nunito,sans-serif;border:1px solid #dbc183}
.pawe-game--memorygrove .mg-level-dialog{width:min(700px,calc(100vw - 24px));max-height:85dvh;overflow:auto;box-sizing:border-box}
.mg-level-dialog h2{font-size:23px}.mg-level-tip{font-size:12px;color:#796181}
.mg-level-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}
.pawe-game--memorygrove .mg-level-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:112px;padding:10px 6px;background:#fffaf0;border:2px solid #dcc9e0;line-height:1.3}
.mg-level-card strong{font-size:16px}.mg-level-card[aria-current=true]{border-color:#79508e;box-shadow:0 0 0 2px #ddc8e6}.mg-level-card:disabled{opacity:.55;cursor:default}.mg-level-card small{font-size:10px;color:#7a6482}
.mg-cleared-stamp{display:inline-flex;align-items:center;justify-content:center;gap:5px;background:#e4edd8;color:#4e6b39;padding:3px 7px;border-radius:20px;font-size:10px}
.mg-cleared-stamp svg{width:16px;height:16px;fill:currentColor}.mg-level-best{font-size:13px;font-variant-numeric:tabular-nums}.mg-level-state{font-size:11px;color:#82668a}
@media(max-width:600px){.mg-level-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mg-level-dialog h2{font-size:20px}.mg-record-notice{font-size:11px}}
.mg-level-dialog .game-dialog-heading{position:sticky;top:0;z-index:2;background:#fff9ed;padding-block:6px}
.mg-level-dialog .game-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.mg-level-dialog .game-dialog-heading h2{margin:0;min-width:0}.pawe-game--memorygrove .mg-level-dialog [data-game-close]{flex:none;width:44px;min-height:44px;padding:8px}
