@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--ink:#34304e;--purple:#7760cd;--muted:#9690ac}*{box-sizing:border-box}body{margin:0;background:#f5f2fc;color:var(--ink);font:14px/1.6 'DM Sans',Arial,sans-serif;min-height:100svh;display:flex;flex-direction:column;overflow-x:hidden}button,input{font:inherit}button{cursor:pointer;color:inherit;touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible+span{outline:3px solid #ad86ec;outline-offset:5px}a{color:inherit;text-decoration:none}h1,h2,p{margin-top:0}h1,h2{font-family:Manrope,Arial,sans-serif;letter-spacing:-2px;line-height:1.14}em{font-style:normal;color:var(--purple)}[hidden]{display:none!important}.orb{position:fixed;width:450px;height:450px;border-radius:50%;filter:blur(90px);z-index:-1;opacity:.5;pointer-events:none}.one{background:#d3c4ff;top:0;left:-170px}.two{background:#ffe4c1;right:-150px;bottom:0}header{width:min(1260px,calc(100% - 60px));margin:auto;display:flex;justify-content:space-between;align-items:center;padding:27px 0}.back{font-size:12px;color:#8b829f}.brand{font:800 21px Manrope,sans-serif;letter-spacing:-1px}.brand>span:first-child{font-size:28px;color:#9f86dd;margin-right:9px}.brand>span:last-child{font-weight:500;color:#a394bf}.icon,.secondary{border:1px solid #e2dced;background:#ffffffa0;border-radius:12px;padding:9px 14px;font-size:11px;color:#8b7fa5}.icon:hover,.secondary:hover{background:#fff}main{flex:1;width:min(720px,calc(100% - 36px));margin:25px auto 40px}.start-screen{text-align:center}.pill{font-size:8px;letter-spacing:1.8px;padding:7px 13px;border:1px solid #e3dbf3;border-radius:30px;color:#9986b6;display:inline-block;background:#fff7}.start-screen h1{font-size:48px;margin:23px 0 18px}.start-screen>p{font-size:13px;color:#9990aa;line-height:1.9}.preview{display:flex;justify-content:center;align-items:center;margin:30px 0 35px;height:130px}.preview-card{width:98px;height:119px;display:grid;place-items:center;background:#e7defa;border:5px solid #fff;border-radius:18px;box-shadow:0 12px 25px #9380ae24;transform:rotate(-15deg);font-size:53px;color:#9979d5;animation:float 6s ease-in-out infinite}.preview-card.middle{background:linear-gradient(145deg,#a894d7,#8770bf);color:white;transform:rotate(3deg);margin:0 9px;z-index:1;animation-delay:-2s;font-size:43px}.preview-card.last{background:#f9e4be;color:#d8ad60;transform:rotate(15deg);animation-delay:-4s}fieldset{border:0;padding:0;margin:0 auto 25px;max-width:540px}legend{font-size:8px;letter-spacing:1.8px;color:#a098af;margin:0 auto 15px}.difficulties{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.difficulties label{position:relative;cursor:pointer}.difficulties input{position:absolute;opacity:0;width:1px;height:1px}.difficulties label>span{display:block;border:1px solid #e2ddec;background:#fff8;border-radius:13px;padding:15px 12px;transition:.2s}.difficulties input:checked+span{border-color:#a691d2;background:#eee7fb;box-shadow:0 4px 15px #ae9ac513}.difficulties b{display:block;font-size:12px;font-weight:600}.difficulties small{display:block;font-size:9px;color:#a39ab2;margin-top:5px}.primary{border:0;background:linear-gradient(120deg,#8f75cb,#7560b3);color:white;border-radius:13px;padding:15px 32px;font-size:13px;font-weight:600;box-shadow:0 8px 22px #8970b530;transition:transform .2s,box-shadow .2s;min-width:220px}.primary:hover{transform:translateY(-3px);box-shadow:0 12px 25px #8970b547}.primary span{margin-left:20px;font-size:18px}.best{color:#a79cb9;font-size:10px;margin-top:17px}.how{display:flex;justify-content:center;gap:30px;margin-top:35px;border-top:1px solid #e9e2f2;padding-top:25px;color:#aa9fb7;font-size:9px}.how b{color:#bcaad7;margin-right:7px;font-size:10px}.game-heading{display:flex;align-items:center;justify-content:space-between;margin:15px 0 22px}.game-heading h2{font-size:32px;margin:12px 0 0;letter-spacing:-1px}.game-heading .pill{font-size:7px}.hud{display:grid;grid-template-columns:repeat(3,1fr);padding:17px;border:1px solid #e4dced;background:#ffffff9c;border-radius:16px;box-shadow:0 5px 25px #a88bc409}.hud>div{text-align:center;border-right:1px solid #ece5f3}.hud>div:last-child{border:0}.hud span{display:block;font-size:8px;letter-spacing:1.6px;color:#aaa0bc}.hud strong{font:600 26px Manrope,sans-serif;display:block;margin-top:5px;color:#84719f;font-variant-numeric:tabular-nums}.track{height:4px;background:#e9e1f1;border-radius:5px;margin:20px 5px}.track i{display:block;height:100%;background:#b19acf;border-radius:5px;width:0;transition:width .4s}.board{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;perspective:1000px}.board.hard{grid-template-columns:repeat(6,1fr);gap:10px}.card{border:0;background:transparent;aspect-ratio:1.15;padding:0;perspective:800px;border-radius:15px;position:relative}.card-inner{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .4s cubic-bezier(.2,.65,.3,1)}.card.open .card-inner,.card.matched .card-inner{transform:rotateY(180deg)}.card-face{position:absolute;inset:0;backface-visibility:hidden;border:4px solid #fff;border-radius:15px;display:grid;place-items:center;box-shadow:0 5px 12px #8c73a71a;font-size:40px}.card-back{background:linear-gradient(140deg,#b4a0df,#957dc6);color:#e5dafa;font-family:Manrope,sans-serif;font-weight:500;font-size:33px}.card-back:after{content:'';position:absolute;inset:9px;border:1px solid #e4d8f252;border-radius:7px}.card-front{transform:rotateY(180deg);background:var(--tile-bg,#ede4fc);color:var(--tile-ink,#9072c4)}.card:hover:not(.open):not(.matched){translate:0 -3px}.card.matched{animation:pop .4s}.card.matched .card-front{box-shadow:0 0 0 2px #b0c49b,0 5px 15px #a0b58215}.card:disabled{cursor:default}.game-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:22px}.game-bottom p{font-size:11px;color:#9d8eae;margin:0}.text-button{border:0;background:transparent;color:#9885b0;font-size:10px;padding:12px;text-decoration:underline;text-underline-offset:4px}.keyboard{font-size:9px;color:#b0a5bb;text-align:center;margin-top:22px}footer{width:min(1260px,calc(100% - 60px));margin:auto;display:flex;justify-content:space-between;gap:20px;padding:25px 0;border-top:1px solid #e9e3ef;font-size:9px;color:#aca1b8}footer>span{font-size:7px;letter-spacing:1.6px}dialog{width:min(450px,calc(100% - 30px));max-height:90svh;overflow:auto;border:1px solid #fff;border-radius:25px;background:#faf7ff;padding:38px;text-align:center;box-shadow:0 25px 100px #5b3e893b;color:var(--ink)}dialog::backdrop{background:#4e3b6b66;backdrop-filter:blur(12px)}dialog h2{font-size:38px;margin:22px 0 18px}dialog p{font-size:12px;color:#a191b1}dialog .text-button{display:block;margin:10px auto 0}.modal-symbol{font-size:35px;color:#a58dc4;margin-bottom:20px}.win-stats{display:flex;justify-content:center;gap:45px;margin:25px 0}.win-stats strong{display:block;font:600 28px Manrope,sans-serif;color:#8a72ac}.win-stats span{font-size:8px;letter-spacing:2px;color:#a496b5}.confetti{font-size:32px;color:#bea16a;animation:float 4s ease-in-out infinite}@keyframes float{0%,100%{translate:0 0}50%{translate:0 -7px}}@keyframes pop{50%{scale:1.055}}@media(max-width:600px){header{width:calc(100% - 32px);padding:20px 0}.brand{font-size:18px}.brand>span:first-child{font-size:23px;margin-right:5px}.back{font-size:10px}.icon{padding:7px 10px;font-size:10px}main{margin-top:20px}.start-screen h1{font-size:36px;letter-spacing:-1.5px;margin-top:23px}.start-screen>.pill{font-size:7px;letter-spacing:1px}.start-screen>p{font-size:12px}.preview{height:110px;margin:28px 0}.preview-card{width:80px;height:98px;font-size:43px;border-width:4px}.preview-card.middle{font-size:35px}.difficulties{gap:7px}.difficulties label>span{padding:13px 6px}.difficulties b{font-size:10px}.difficulties small{font-size:8px}.how{gap:13px;font-size:8px;margin-top:27px}.how b{margin-right:3px}.board{gap:10px}.card-face{border-width:3px;border-radius:12px;font-size:28px}.card-back{font-size:26px}.card-back:after{inset:6px;border-radius:5px}.board.hard{grid-template-columns:repeat(4,1fr);gap:8px}.board.hard .card{aspect-ratio:1.28}.game-heading h2{font-size:27px}.hud strong{font-size:22px}.hud{padding:13px}.game-bottom p{font-size:10px}.game-bottom .text-button{font-size:9px;padding:7px}.keyboard{font-size:8px}footer{width:calc(100% - 36px);flex-direction:column;text-align:center;gap:7px;padding:20px 0;font-size:8px}dialog{padding:30px 22px}dialog h2{font-size:34px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
