@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;600;700&family=Fredoka:wght@600;700&display=swap";:root{color:#30275e;--purple:#6c5ce7;--deep:#30275e;--coral:#ff756d;--yellow:#ffd65a;--lav:#e7e1ff;background:#faf9ff;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button{font:inherit;color:inherit}.app{background:radial-gradient(circle at 8% 4%,#f0ebff 0 13%,#0000 31%),#faf9ff;min-height:100vh}.page{max-width:1180px;margin:auto;padding:28px 5vw 56px}.home nav{justify-content:space-between;align-items:center;display:flex}.brand{align-items:center;gap:10px;font-weight:700;display:flex}.brand>span{background:var(--purple);color:#fff;border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.share-link,.restart,.secondary,.share-actions button{cursor:pointer;background:#fff;border:1px solid #d8d1ef;border-radius:14px;align-items:center;gap:8px;padding:11px 16px;font-weight:700;display:flex}.share-link svg{width:18px}.hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:70px;min-height:560px;display:grid}.pill,.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--purple);font-size:.78rem;font-weight:800}.pill{background:#fff;border:1px solid #dfd8f6;border-radius:999px;align-items:center;gap:7px;padding:8px 13px;display:inline-flex}.pill svg{width:16px}.hero h1,.chooser h1,.results h1{letter-spacing:-.045em;margin:24px 0;font-family:Fredoka,sans-serif;font-size:clamp(3.1rem,7vw,6.5rem);line-height:.88}.hero h1 em{color:var(--purple);font-style:normal}.hero>div>p{color:#655d7e;font-size:1.25rem}.primary{color:#fff;background:linear-gradient(135deg,var(--purple),#8a72ef);cursor:pointer;border:0;border-radius:16px;align-items:center;gap:12px;padding:16px 24px;font-size:1.05rem;font-weight:800;display:inline-flex;box-shadow:0 12px 28px #6c5ce73b}.primary:hover{transform:translateY(-2px)}.proof{color:#837b9b;margin-top:22px;font-size:.88rem}.hero-art{height:440px;position:relative}.float{background:#fff;border:1px solid #eeeafa;border-radius:28px;flex-direction:column;justify-content:center;align-items:center;width:220px;height:285px;display:flex;position:absolute;overflow:hidden;box-shadow:0 28px 60px #433a7726}.float b{color:var(--purple);font:700 3rem Fredoka}.float small{color:#8b83a4}.word{top:55px;left:0;transform:rotate(-8deg)}.picture{padding:14px;top:8px;right:0;transform:rotate(8deg)}.picture .scene{width:100%;height:100%}.mini{width:180px;height:190px;bottom:-10px;right:60px;transform:rotate(-4deg)}.how{border-top:1px solid #e8e3f5;grid-template-columns:.7fr 1.3fr;gap:40px;padding:35px 0 0;display:grid}.how h2{margin:8px 0;font:700 2.2rem Fredoka}.steps{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.steps article{background:#fff;border:1px solid #eeeafa;border-radius:20px;gap:12px;padding:18px;display:flex}.steps article>svg{background:var(--lav);width:40px;height:40px;color:var(--purple);border-radius:12px;flex:none;padding:8px}.steps p{color:#817995;margin:4px 0 0;font-size:.86rem}.chooser{text-align:center;max-width:850px;padding-top:80px}.chooser h1,.results h1{margin:12px 0;font-size:clamp(2.8rem,7vw,5rem)}.chooser>p:not(.eyebrow){color:#746d89;font-size:1.1rem}.back{position:absolute;top:32px;left:5vw}.icon-btn{cursor:pointer;background:#fff;border:1px solid #e1dbee;border-radius:13px;place-items:center;width:46px;height:46px;display:grid}.levels{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:45px;display:grid}.level{text-align:left;cursor:pointer;border:0;border-radius:28px;padding:34px 22px;transition:all .2s;box-shadow:0 14px 30px #433a7714}.level:hover{transform:translateY(-5px)}.level.easy{background:#dff4e1}.level.medium{background:#fff0bf}.level.hard{background:#ffe0dc}.level>span{background:#ffffffad;border-radius:50%;place-items:center;width:40px;height:40px;font-weight:800;display:grid}.level b{margin:25px 0 3px;font:700 2rem Fredoka;display:block}.level small{color:#686079;font-size:.9rem}.game{min-height:100vh;padding-bottom:40px}.game-head{z-index:5;background:#fff;align-items:center;gap:14px;height:86px;padding:12px 4vw;display:flex;position:sticky;top:0;box-shadow:0 3px 15px #332c5910}.game-title{flex-direction:column;display:flex}.game-title small{color:#827a97}.stats{gap:10px;margin-left:auto;display:flex}.stats>span{background:#f6f4ff;border-radius:13px;grid-template-columns:auto auto;justify-content:center;align-items:center;gap:2px 7px;min-width:88px;padding:8px 12px;display:grid}.stats svg{width:17px;color:var(--purple)}.stats small{text-align:center;text-transform:uppercase;letter-spacing:.1em;color:#827a97;grid-column:1/3;font-size:.65rem}.progress{z-index:5;background:#ebe7f7;height:6px;position:sticky;top:86px}.progress span{background:linear-gradient(90deg,var(--purple),var(--coral));height:100%;transition:all .4s;display:block}.board{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-width:1180px;margin:30px auto 0;padding:0 3vw;display:grid}.board.hard{grid-template-columns:repeat(6,minmax(0,1fr));max-width:1300px}.memory-card{perspective:1000px;aspect-ratio:4/3;cursor:pointer;background:0 0;border:0;min-width:0;padding:0}.card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.8,.2,1);display:block;position:relative}.memory-card.open .card-inner{transform:rotateY(180deg)}.face{backface-visibility:hidden;border-radius:20px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.card-back{color:#fff;background:linear-gradient(145deg,#6c5ce7,#4a3aaf);border:5px solid #fff;flex-direction:column;gap:10px;box-shadow:0 8px 20px #41366f24}.card-back>span{border:2px solid #fffa;border-radius:50%;place-items:center;width:62px;height:62px;font:700 1.1rem Fredoka;display:grid;box-shadow:0 0 0 10px #ffffff12,0 0 0 20px #ffffff0a}.card-back small{color:#e8e3ff;font-weight:700}.card-front{background:#fff;border:2px solid #e8e4f5;padding:16px;transform:rotateY(180deg);box-shadow:0 8px 20px #41366f16}.card-front.text{text-align:center;flex-direction:column}.card-front.text strong{font:600 clamp(.78rem,1.5vw,1.15rem)/1.28 Fredoka}.card-front.text i{color:#e7e1ff;font:700 4rem Georgia;position:absolute;top:-8px;left:11px}.speak{width:34px;height:34px;color:var(--purple);background:#ede8ff;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:8px;right:8px}.speak svg{width:17px}.scene{width:100%;height:100%}.card-front.image{background:#eef8fb;padding:6px}.memory-card.matched .card-front{border-color:#5bc783;box-shadow:0 0 0 4px #5bc78323}.modal-bg{z-index:20;background:#241d4bc9;place-items:center;padding:18px;display:grid;position:fixed;inset:0;overflow:auto}.share-modal{text-align:center;background:#fff;border-radius:30px;width:min(520px,100%);padding:32px;position:relative}.close{position:absolute;top:18px;right:18px}.qr-icon{background:var(--lav);width:50px;height:50px;color:var(--purple);border-radius:15px;place-items:center;margin:auto;display:grid}.share-modal h2{margin:10px;font:700 2.4rem Fredoka}.share-modal>p:not(.eyebrow){color:#716a86;max-width:410px;margin:8px auto}.qr{width:220px;height:220px}.url{text-align:left;background:#f5f3fb;border-radius:12px;align-items:center;gap:8px;padding:8px 8px 8px 14px;display:flex}.url span{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.8rem;overflow:hidden}.url button{background:var(--purple);color:#fff;cursor:pointer;border:0;border-radius:9px;padding:9px 12px;font-weight:700}.share-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.share-actions button{justify-content:center}.print-note{display:none}.results{text-align:center;max-width:680px;padding-top:65px}.trophy{color:#e6a900;background:#fff0bd;border-radius:30px;place-items:center;width:92px;height:92px;margin:auto;display:grid;transform:rotate(-5deg);box-shadow:0 15px 35px #e6a90026}.trophy svg{width:48px;height:48px}.results>p{color:#736b89}.result-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin:30px 0 16px;display:grid}.result-grid div{background:#fff;border:1px solid #ebe7f5;border-radius:20px;flex-direction:column;align-items:center;gap:4px;padding:20px;display:flex}.result-grid svg{color:var(--purple)}.result-grid b{font:700 1.7rem Fredoka}.result-grid small{text-transform:uppercase;color:#837b98}.best{background:#eff9ee;border-radius:12px;padding:12px}.actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px;display:flex}.secondary{padding:15px 20px}.text-btn{cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:15px;display:flex}.confetti{color:var(--coral);letter-spacing:1rem;margin-bottom:10px}@media (width<=800px){.page{padding:20px}.share-link{font-size:0}.hero{grid-template-columns:1fr;gap:20px;min-height:auto;padding-top:70px}.hero>div:first-child{text-align:center}.hero h1{font-size:clamp(3rem,15vw,5.2rem)}.pill{margin:auto}.primary{justify-content:center;width:100%}.hero-art{height:330px;margin:-15px;transform:scale(.82)}.how,.steps{grid-template-columns:1fr}.chooser{padding-top:85px}.levels{grid-template-columns:1fr}.level{padding:24px}.level b{margin:10px 0}.game-head{height:76px;padding:10px}.game-title{display:none}.game-head .icon-btn{width:40px;height:40px}.stats{gap:5px}.stats>span{min-width:61px;padding:6px 7px}.stats small{font-size:.55rem}.restart{padding:10px}.restart span{display:none}.progress{top:76px}.board{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px;padding:0 8px}.board.hard{grid-template-columns:repeat(4,minmax(0,1fr))}.memory-card{aspect-ratio:.78}.card-front{padding:8px}.card-front.text strong{font-size:clamp(.62rem,2.8vw,.9rem)}.card-front.text i{font-size:2.7rem}.speak{width:28px;height:28px;bottom:4px;right:4px}.card-back{border-width:3px}.card-back>span{width:44px;height:44px;font-size:.8rem}.card-back small{font-size:.65rem}.result-grid{gap:7px}.result-grid div{padding:14px 5px}.share-modal{padding:28px 18px}.qr{width:190px;height:190px}}@media (width<=390px){.board{grid-template-columns:repeat(2,minmax(0,1fr))}.board.hard{grid-template-columns:repeat(3,minmax(0,1fr))}.stats>span{min-width:53px}.stats svg{display:none}.stats b{grid-column:1/3}.game-head{gap:5px}.restart{border:0}.card-front.text strong{font-size:.74rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation:none!important}}@media print{body>*{visibility:hidden}.modal-bg,.modal-bg *{visibility:visible}.modal-bg{background:#fff;position:absolute;inset:0}.share-modal{box-shadow:none}.close,.share-actions,.url button{display:none}.print-note{display:block}.qr{width:340px;height:340px}}
