@import "https://fonts.googleapis.com/css2?family=Fredoka:wght@400;600;700&display=swap";:root{--bubble-pink:#ff6b8b;--bubble-pink-hover:#ff4770;--sky-blue:#4ec5f1;--sunny-yellow:#ffd93d;--playful-green:#6bcb77;--energetic-orange:#ff9f43;--soft-purple:#9b5de5;--soft-teal:#00f5d4;--background-safari:linear-gradient(135deg, #e0f2fe 0%, #f0fdf4 100%);--text-primary:#2c3e50;--text-secondary:#5a738e}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;margin:0;padding:0;font-family:Fredoka,system-ui,sans-serif}body{background:var(--background-safari);color:var(--text-primary);width:100vw;height:100vh;overflow:hidden}.orientation-overlay{background:linear-gradient(135deg, var(--soft-purple), var(--bubble-pink));z-index:9999;color:#fff;text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100vw;height:100vh;padding:20px;display:flex;position:fixed;top:0;left:0}.orientation-overlay h1{text-shadow:0 4px 10px #0003;margin-bottom:20px;font-size:2.8rem;animation:1.5s infinite bounce}.orientation-overlay p{opacity:.9;font-size:1.3rem;font-weight:600}.phone-icon{margin-bottom:20px;font-size:6rem;animation:2.5s ease-in-out infinite rotatePhone}@media (orientation:landscape),(width>=900px){.orientation-overlay{display:none}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes rotatePhone{0%,to{transform:rotate(0)}50%{transform:rotate(90deg)}}@keyframes wiggle{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes popIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.game-btn{color:#fff;cursor:pointer;border:4px solid #fff;border-radius:24px;justify-content:center;align-items:center;gap:10px;padding:14px 28px;font-size:1.25rem;font-weight:700;transition:all .15s cubic-bezier(.175,.885,.32,1.275);display:inline-flex;box-shadow:0 10px #0000001a}.game-btn:active{transform:translateY(6px);box-shadow:0 4px #0000001a}.game-btn:hover{transform:translateY(-2px);box-shadow:0 12px #0000001a}.game-btn:hover:active{transform:translateY(6px);box-shadow:0 4px #0000001a}.btn-pink{background-color:var(--bubble-pink)}.btn-pink:hover{background-color:var(--bubble-pink-hover)}.btn-blue{background-color:var(--sky-blue)}.btn-yellow{background-color:var(--sunny-yellow);color:#8f6b00}.btn-green{background-color:var(--playful-green)}.btn-purple{background-color:var(--soft-purple)}.btn-teal{background-color:var(--soft-teal);color:#007765}.bubble-panel{background:#ffffffe6;border:6px solid #fff;border-radius:32px;padding:24px;animation:.4s cubic-bezier(.175,.885,.32,1.275) popIn;box-shadow:0 16px 32px #2c3e5014}.grid-cell{aspect-ratio:1;cursor:pointer;background:#fff;border:3px solid #e2e8f0;border-radius:16px;justify-content:center;align-items:center;font-size:2.2rem;font-weight:700;transition:all .1s;display:flex;box-shadow:inset 0 -4px #e2e8f0cc}.grid-cell:active{transform:scale(.92)}.grid-cell.selected{border-color:var(--soft-purple);background:#9b5de51a;box-shadow:0 0 12px #9b5de566}.grid-cell.error{color:var(--bubble-pink);border-color:var(--bubble-pink);background:#fff5f5;animation:.3s ease-in-out wiggle}.grid-cell.initial{cursor:not-allowed;box-shadow:none;background:#f1f5f9}.cloud-bg{pointer-events:none;z-index:0;opacity:.4;width:100vw;height:100vh;position:absolute;top:0;left:0;overflow:hidden}.memory-card-wrap{perspective:1000px;width:100%;height:100%}.memory-card-inner{text-align:center;width:100%;height:100%;transform-style:preserve-3d;cursor:pointer;border-radius:24px;transition:transform .45s cubic-bezier(.34,1.56,.64,1);position:relative}.memory-card-inner.is-flipped{transform:rotateY(180deg)scale(1.02)}.memory-card-inner.is-matched{animation:.6s matchCelebration;transform:rotateY(180deg)scale(1.04)}.memory-card-front,.memory-card-back{backface-visibility:hidden;border:4px solid #fff;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;box-shadow:0 10px 20px #00000014}.memory-card-front{color:#fff;background:linear-gradient(135deg,#a78bfa,#f472b6);transition:transform .15s,box-shadow .15s}.memory-card-front:hover{transform:translateY(-3px);box-shadow:0 14px 24px #a78bfa59}.memory-card-front:active{transform:translateY(2px)}.memory-card-back{background:#fff;transform:rotateY(180deg)}@keyframes matchCelebration{0%{transform:rotateY(180deg)scale(1)}40%{filter:drop-shadow(0 0 12px #6bcb77cc);transform:rotateY(180deg)scale(1.18)}70%{transform:rotateY(180deg)scale(.96)}to{transform:rotateY(180deg)scale(1.04)}}@keyframes trainPuff{0%{opacity:.8;transform:scale(.6)translateY(0)}50%{opacity:.5;transform:scale(1.1)translateY(-14px)translate(-6px)}to{opacity:0;transform:scale(1.5)translateY(-26px)translate(-12px)}}@keyframes gentleTrainChug{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.train-smoke-puff{animation:1.8s ease-out infinite trainPuff}.train-chug{animation:1.2s ease-in-out infinite gentleTrainChug}@keyframes pulseGlow{0%,to{box-shadow:0 0 #ff6b8b66,0 8px 16px #00000014}50%{box-shadow:0 0 0 8px #ff6b8b26,0 12px 24px #ff6b8b59}}.pulse-target{animation:1.5s ease-in-out infinite pulseGlow}
