.memory-game-page{background:#d9c8ff}
.memory-app{background:#f7f2ff}
.memory-topbar{background:linear-gradient(180deg,#9857f4,#7437d6)}
.memory-title-wrap{text-align:center;line-height:1}
.memory-subtitle{font-size:.78rem;font-weight:1000;color:#efe5ff;margin-top:4px;text-transform:uppercase;letter-spacing:.07em}
.memory-score{min-width:72px;height:46px;padding:0 10px;border-radius:16px;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;gap:4px;font-size:.95rem;box-shadow:inset 0 0 0 2px rgba(255,255,255,.25)}
.memory-score strong{font-size:1.18rem}
.memory-hud{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:12px 14px;background:#fff;border-bottom:1px solid #eadffb;box-shadow:0 8px 20px rgba(78,38,142,.09);position:relative;z-index:4}
.memory-level{padding:9px 10px;border-radius:15px;background:#f1e7ff;color:#6f2fc8;font-size:.72rem;font-weight:1000;white-space:nowrap}
.memory-message{text-align:center;font-size:.86rem;font-weight:1000;color:#4f2b87;letter-spacing:.04em}
.memory-message.good{color:#16894e}.memory-message.bad{color:#d73c48}
.memory-reset{width:44px;height:44px;border:0;border-radius:15px;background:#f4ecff;color:#7337cf;font-size:1.4rem;font-weight:1000;box-shadow:inset 0 0 0 2px #e6d5ff}
.memory-world{position:relative;min-height:680px;padding:160px 14px 130px;overflow:hidden;background:linear-gradient(#7ccfff 0 23%,#86d679 23% 30%,#5b626b 30% 100%)}
.memory-sky{position:absolute;inset:0 0 auto;height:26%;pointer-events:none}
.memory-cloud{position:absolute;width:88px;height:29px;border-radius:999px;background:#fff;opacity:.92;filter:drop-shadow(0 3px 3px rgba(49,112,163,.12))}
.memory-cloud:before,.memory-cloud:after{content:"";position:absolute;background:#fff;border-radius:50%}
.memory-cloud:before{width:38px;height:38px;left:13px;top:-18px}.memory-cloud:after{width:50px;height:50px;right:8px;top:-25px}
.cloud-a{left:5%;top:38px}.cloud-b{right:7%;top:76px;transform:scale(.8)}
.memory-sign{position:absolute;top:44px;left:50%;transform:translateX(-50%);width:min(82%,500px);padding:15px 20px 12px;border:6px solid #6b2dc5;border-radius:22px;background:linear-gradient(#a86afe,#8443e7);color:#fff;text-align:center;box-shadow:0 9px 0 #542098,0 18px 30px rgba(47,22,84,.2);z-index:2}
.memory-sign:before,.memory-sign:after{content:"";position:absolute;top:50%;width:42px;height:12px;background:repeating-linear-gradient(90deg,#fff 0 10px,#181818 10px 20px);transform:translateY(-50%)}
.memory-sign:before{left:-34px;rotate:-9deg}.memory-sign:after{right:-34px;rotate:9deg}
.memory-sign span{display:block;font-size:.7rem;font-weight:1000;letter-spacing:.13em;color:#f4ddff}.memory-sign strong{display:block;margin-top:2px;font-size:clamp(1rem,4.5vw,1.35rem);letter-spacing:.02em}
.memory-board{position:relative;z-index:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:620px;margin:0 auto}
.memory-card{border:0;background:none;padding:0;aspect-ratio:.86;min-width:0;perspective:700px;cursor:pointer}
.memory-card-inner{position:relative;width:100%;height:100%;border-radius:18px;background:#213a55;border:5px solid #f2b841;box-shadow:0 8px 0 #182b3d,0 13px 24px rgba(0,0,0,.22);overflow:hidden}
.memory-garage-interior{position:absolute;inset:0;display:grid;place-items:end center;padding:8px;background:linear-gradient(#18334c,#102539 66%,#46505a 66%);overflow:hidden}
.memory-garage-interior:before{content:"";position:absolute;left:0;right:0;bottom:25%;height:4px;background:#f6c737;box-shadow:0 19px 0 rgba(255,255,255,.13),0 38px 0 rgba(255,255,255,.08)}
.memory-car-svg{width:92%;height:auto;filter:drop-shadow(0 6px 4px rgba(0,0,0,.28));transform:translateY(3px)}
.memory-door{position:absolute;inset:0;z-index:3;background:repeating-linear-gradient(180deg,#d9e3ed 0 13%,#c5d1dc 13% 15%);border-bottom:8px solid #9ba9b6;transition:transform .42s cubic-bezier(.18,.78,.2,1);transform:translateY(0)}
.memory-door:before{content:"?";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#7a3dd7;color:#fff;font-size:2rem;font-weight:1000;box-shadow:0 5px 0 #54259c}
.memory-door:after{content:"";position:absolute;left:11%;right:11%;bottom:9%;height:7px;border-radius:999px;background:#7a8793;box-shadow:0 -42px 0 rgba(122,135,147,.55),0 -84px 0 rgba(122,135,147,.35)}
.memory-card.is-open .memory-door,.memory-card.is-matched .memory-door{transform:translateY(-105%)}
.memory-card.is-matched .memory-card-inner{border-color:#46d77b;box-shadow:0 8px 0 #1d9d4e,0 13px 24px rgba(0,0,0,.18),inset 0 0 0 5px rgba(70,215,123,.28)}
.memory-card.is-wrong .memory-card-inner{animation:memoryShake .33s ease}
.memory-card.is-matched .memory-car-svg{animation:memoryCarCelebrate .55s ease 2}
.memory-finish{position:absolute;inset:0;z-index:20;background:rgba(39,17,78,.72);display:grid;place-items:center;padding:22px;backdrop-filter:blur(5px)}
.memory-finish-card{width:min(100%,390px);padding:28px 20px;border-radius:30px;background:#fff;text-align:center;box-shadow:0 22px 60px rgba(0,0,0,.32)}
.finish-icon{font-size:3rem}.memory-finish-card h2{font-size:2rem;margin:5px 0;color:#4f2688}.memory-finish-card p{margin:0;color:#6d7d97;font-weight:800}.memory-finish-cars{font-size:2rem;margin:16px 0}
.memory-finish-card button{border:0;border-radius:18px;background:linear-gradient(#9c58f1,#7537d5);color:#fff;padding:14px 20px;font-weight:1000;box-shadow:0 6px 0 #54239c}
@keyframes memoryShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-7px)}75%{transform:translateX(7px)}}
@keyframes memoryCarCelebrate{0%,100%{transform:translateY(3px)}50%{transform:translateY(-8px) scale(1.04)}}
@media(max-width:390px){.memory-world{padding-left:9px;padding-right:9px}.memory-board{gap:7px}.memory-card-inner{border-width:4px;border-radius:14px}.memory-message{font-size:.75rem}.memory-hud{gap:6px;padding-left:8px;padding-right:8px}.memory-level{padding:8px 7px}.memory-reset{width:40px;height:40px}}
@media(min-width:560px){.memory-board.level-three{grid-template-columns:repeat(4,minmax(0,1fr))}.memory-world{min-height:760px;padding-top:175px}}
@media(prefers-reduced-motion:reduce){.memory-door{transition:none!important}.memory-card.is-wrong .memory-card-inner,.memory-card.is-matched .memory-car-svg{animation:none!important}}
