:root{--purple:#7860e9;--pink:#f05f91;--yellow:#ffd54a;--ink:#303750;--cream:#fffaf0;--cyan:#42ced0}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 8% 18%,#ffe0eb 0 6%,transparent 6.5%),radial-gradient(circle at 90% 30%,#dff7ee 0 8%,transparent 8.5%),var(--cream);color:var(--ink);font-family:"Nunito",sans-serif}button,a{font:inherit}header{height:68px;max-width:1100px;margin:auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between}header a{text-decoration:none;font-weight:800}.brand{font:700 22px "Baloo 2"}.brand span{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:13px;background:var(--yellow)}.brand b{color:var(--purple)}main{max-width:1040px;margin:auto;padding:25px 18px 70px}.intro{text-align:center}.intro>p{color:var(--purple);font-size:11px;font-weight:900;letter-spacing:2px}.intro h1{font:800 clamp(48px,7vw,80px)/.9 "Baloo 2";margin:14px}.intro h1 span{color:var(--pink)}.intro h2{font-size:19px;color:#73798b}.themes{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:28px 0}.themes button{border:3px solid #eee5da;background:#fff;border-radius:22px;padding:13px 8px;display:flex;flex-direction:column;align-items:center;color:#687086;cursor:pointer}.themes i{font-style:normal;font:800 31px "Baloo 2";height:42px}.themes b{font-family:"Baloo 2";font-size:17px}.themes small{font-size:10px}.themes button.selected{border-color:var(--purple);background:#f0edff;color:#5b46c4;box-shadow:0 6px 0 #c8bdf7}.game{position:relative;background:#fff;border-radius:32px;padding:18px;box-shadow:0 22px 65px #533f7b19;border:2px solid #eee7dc}.status{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:4px 12px 15px;text-align:center}.status>div:first-child{text-align:left}.status>div:last-child{text-align:right}.status small{display:block;font-size:9px;letter-spacing:1.5px;color:#9095a5}.status b{font-size:20px}.status>strong{font:800 21px "Baloo 2";color:var(--purple)}.board{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:760px;margin:auto;perspective:900px}.card{aspect-ratio:1;border:0;background:transparent;padding:0;cursor:pointer;position:relative;transform-style:preserve-3d;transition:transform .42s}.card.flipped,.card.matched{transform:rotateY(180deg)}.face{position:absolute;inset:0;display:grid;place-items:center;border-radius:21px;backface-visibility:hidden}.back{background:linear-gradient(145deg,#8067ed,#6048cf);box-shadow:0 7px 0 #4936ab;color:#fff;font:800 45px "Baloo 2"}.back:after{content:"?"}.front{transform:rotateY(180deg);background:#fff8e5;border:4px solid #ffd352;font-size:clamp(35px,6vw,67px);box-shadow:0 7px 0 #eadcae}.card.matched .front{background:#e9faef;border-color:#65d486;animation:happy .6s}.front.number,.front.letter{font:800 clamp(38px,7vw,75px) "Baloo 2";color:var(--purple)}.actions{display:flex;justify-content:center;align-items:center;gap:20px;padding-top:24px}.actions button,.complete button{border:0;border-radius:15px;background:#eeeafa;color:#5e4bc0;padding:11px 17px;font-weight:900;cursor:pointer}.actions p{font-size:12px;color:#878c9d;margin:0}.complete{position:absolute;z-index:3;inset:0;border-radius:30px;background:#765debed;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center}.complete[hidden]{display:none}.stars{font-size:53px;letter-spacing:8px}.complete h2{font:800 45px "Baloo 2";margin:10px}.complete p{margin-top:0}.complete button{background:var(--yellow);color:var(--ink);margin:5px}.complete #chooseBtn{background:#fff}.safe{max-width:700px;margin:24px auto 0;padding:17px 22px;border-radius:19px;background:#edf9f4;display:flex;align-items:center;justify-content:center;gap:12px}.safe>span{font-size:27px}.safe b{font-size:14px}.safe p{margin:2px 0 0;font-size:12px;color:#66746e}.toast{position:fixed;z-index:5;left:50%;bottom:-80px;transform:translateX(-50%);background:var(--pink);color:#fff;padding:13px 20px;border-radius:18px;font-weight:900;transition:.3s}.toast.show{bottom:24px}@keyframes happy{50%{transform:scale(1.08)}}@media(max-width:650px){main{padding:12px 9px 45px}.themes{grid-template-columns:1fr 1fr;gap:8px}.themes button{padding:8px}.game{padding:10px;border-radius:24px}.board{gap:8px}.face{border-radius:15px}.back{font-size:32px}.status>strong{font-size:16px}.actions p{display:none}.complete h2{font-size:34px}.stars{font-size:35px}}
