:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh;background:#0a0a0a;color:#fafafa}.game{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:2rem 1rem;gap:1.5rem}.header{text-align:center}.header h1{margin:0;font-size:2rem;font-weight:700;letter-spacing:-.03em;background:linear-gradient(135deg,#a78bfa,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{margin:.25rem 0 0;color:#ffffff73;font-size:.9rem}.stats{display:flex;gap:2rem}.stat{display:flex;flex-direction:column;align-items:center}.stat-label{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:#fff6}.stat-value{font-size:1.4rem;font-weight:700;font-variant-numeric:tabular-nums;color:#ffffffe6}.board{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;max-width:420px;width:100%;padding:0 .5rem}.card-slot{aspect-ratio:1;perspective:600px;background:none;border:none;padding:0;cursor:pointer;outline:none}.card-inner{position:relative;width:100%;height:100%;transition:transform .45s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d}.card-slot.flipped .card-inner{transform:rotateY(180deg)}.card-front,.card-back{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;border-radius:.75rem;backface-visibility:hidden;-webkit-backface-visibility:hidden;font-size:2rem;font-weight:600;-webkit-user-select:none;user-select:none}.card-front{background:linear-gradient(145deg,#1e1e2e,#181825);border:1px solid rgba(255,255,255,.08);color:#fff3;font-size:1.5rem}.card-front:hover{border-color:#a78bfa4d;background:linear-gradient(145deg,#252540,#1e1e30)}.card-back{background:linear-gradient(145deg,#1a1a3e,#14142e);border:1px solid rgba(167,139,250,.25);transform:rotateY(180deg);font-size:2.2rem}.card-slot.matched .card-back{border-color:#34d39966;background:linear-gradient(145deg,#0d2e20,#0f2e1e);box-shadow:0 0 16px #34d39926}.card-slot:focus-visible .card-front{outline:2px solid #a78bfa;outline-offset:2px}.win-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#000000b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10;animation:fadeIn .3s ease}.win-box{text-align:center;padding:2.5rem 3rem;border-radius:1rem;background:linear-gradient(145deg,#1a1a3e,#14142e);border:1px solid rgba(167,139,250,.3);box-shadow:0 0 40px #a78bfa26;animation:popIn .4s cubic-bezier(.34,1.56,.64,1)}.win-box h2{margin:0 0 .5rem;font-size:2rem;font-weight:700;background:linear-gradient(135deg,#34d399,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.win-box p{margin:0 0 1.5rem;color:#fff9;font-size:1.1rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.65rem 1.5rem;border:1px solid rgba(167,139,250,.3);border-radius:.5rem;background:#a78bfa1a;color:#a78bfa;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}.btn:hover{background:#a78bfa33;border-color:#a78bfa80}.restart-btn{margin-top:.5rem}.footer{display:flex;align-items:center;gap:.5rem;color:#ffffff4d;font-size:.8rem;margin-top:auto;padding-top:1rem}.dot{opacity:.5}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@media(max-width:480px){.board{gap:.5rem;max-width:340px}.card-front,.card-back{font-size:1.5rem;border-radius:.5rem}.header h1{font-size:1.5rem}.stats{gap:1.25rem}}
