.xtds-stage{isolation:isolate;background-color:#222e72}.xtds-stage:before{content:"";z-index:-1;border-radius:inherit;pointer-events:none;will-change:transform;background:linear-gradient(#222e721a,#222e7240),url(/images/game-scenes/memory.webp) 50%/cover no-repeat;position:absolute;inset:0}.xtds-card{--fill:0;border:3px solid var(--color-sun-deep);background:var(--color-cream);border-radius:20px;transition:transform .35s cubic-bezier(.3,1.4,.5,1),opacity .4s,filter .4s;position:relative;box-shadow:0 8px 18px #0c123259}.xtds-number{color:#fff;background:var(--color-brand);border:3px solid var(--color-sun)}.xtds-card:after{content:"";background:conic-gradient(var(--color-sun) calc(var(--fill) * 360deg), transparent 0);-webkit-mask-composite:xor;pointer-events:none;border-radius:28px;padding:6px;position:absolute;inset:-9px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.xtds-card[data-state=filling]{transform:scale(1.04)}.xtds-card[data-state=picked]{box-shadow:0 0 0 5px var(--color-sun), 0 8px 18px #0c123259;transform:scale(1.07)}.xtds-card[data-state=right]{border-color:var(--color-good);background:var(--color-ready);box-shadow:0 0 0 5px var(--color-good), 0 8px 18px #0c123259;transform:scale(1.07)}.xtds-card[data-state=wrong]{opacity:.75;filter:grayscale(.35);animation:.5s ease-in-out both xtds-shake}.xtds-card[data-state=dim]{opacity:.5;filter:grayscale(.4)}.xtds-star{animation:.6s cubic-bezier(.3,1.5,.5,1) both xtds-pop}.xtds-cat{width:7.5rem;position:relative}.xtds-cushion{background:radial-gradient(circle at 40% 30%, var(--color-cream), var(--color-butter) 65%, var(--color-sun-deep));border-radius:50%;height:30%;position:absolute;inset:auto 4% 0;box-shadow:0 6px 12px #0c123259}.xtds-cat-body{transform-origin:50% 90%}.xtds-cat[data-mood=calm] .xtds-cat-body{animation:3.2s ease-in-out infinite xtds-breathe}.xtds-cat[data-mood=counting] .xtds-cat-body{animation:.45s ease-in-out infinite alternate xtds-count}.xtds-cat[data-mood=happy] .xtds-cat-body{animation:.6s ease-in-out 3 xtds-cheer}.xtds-cat[data-mood=oops] .xtds-cat-body{animation:.9s ease-out forwards xtds-oops}.xtds-cat-paw{background:var(--color-cream);border-radius:14px;place-items:center;padding:.25rem .4rem;animation:.3s cubic-bezier(.3,1.5,.5,1) both xtds-pop;display:grid;position:absolute;top:-.25rem;right:-1.25rem;box-shadow:0 4px 10px #0c12324d}@keyframes xtds-breathe{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-2%)scale(1.02,.99)}}@keyframes xtds-count{0%{transform:translateY(0)rotate(-2deg)}to{transform:translateY(-5%)rotate(2deg)}}@keyframes xtds-cheer{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-14%)rotate(-5deg)}}@keyframes xtds-oops{0%{transform:translateY(0)rotate(0)}35%{transform:translateY(3%)rotate(-9deg)}to{transform:translateY(4%)rotate(-5deg)scale(.97)}}@keyframes xtds-shake{0%,to{transform:translate(0)}25%{transform:translate(-7px)}75%{transform:translate(7px)}}@keyframes xtds-pop{0%{opacity:0;transform:scale(0)rotate(-20deg)}to{opacity:1;transform:scale(1)rotate(0)}}
