@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;600;700&display=swap";:root{--bg: #1a1b26;--surface: #24283b;--surface-light: #414868;--accent: #7aa2f7;--accent-soft: rgba(122, 162, 247, .2);--success: #9ece6a;--success-soft: rgba(158, 206, 106, .25);--text: #c0caf5;--text-muted: #a9b1d6;--shadow: 0 8px 32px rgba(0, 0, 0, .4);--radius: 16px;--radius-sm: 12px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:DM Sans,sans-serif;background:var(--bg);min-height:100vh;min-height:100dvh;padding:32px;padding-left:max(32px,env(safe-area-inset-left));padding-right:max(32px,env(safe-area-inset-right));padding-bottom:max(32px,env(safe-area-inset-bottom));padding-top:max(32px,env(safe-area-inset-top));color:var(--text);-webkit-font-smoothing:antialiased}.app{max-width:480px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:28px}.game-header{width:100%;text-align:center;background:var(--surface);padding:28px;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.06)}.game-header h1{font-size:1.9rem;font-weight:700;margin-bottom:8px;color:#fff;letter-spacing:-.02em}.game-header .subtitle{font-size:.9rem;color:var(--text-muted);margin-bottom:20px}.game-header .stats{display:flex;justify-content:center;gap:20px;margin-bottom:16px}.game-header .stat{background:var(--accent-soft);color:var(--accent);padding:10px 18px;border-radius:var(--radius-sm);font-size:.95rem;font-weight:600}.game-header .best{font-size:.85rem;color:var(--text-muted);margin-bottom:20px}.game-header button{padding:12px 28px;font-size:1rem;font-weight:600;cursor:pointer;background:linear-gradient(135deg,var(--accent) 0%,#5a7fd4 100%);color:#fff;border:none;border-radius:var(--radius-sm);font-family:inherit;box-shadow:0 4px 16px #7aa2f759;transition:transform .2s,box-shadow .2s}.game-header button:hover{transform:translateY(-2px);box-shadow:0 6px 24px #7aa2f773}.game-header button:active{transform:translateY(0)}.win-message{width:100%;padding:28px;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;border:1px solid var(--success-soft);animation:winIn .4s ease-out}@keyframes winIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.win-message h2{font-size:1.6rem;font-weight:700;margin-bottom:12px;color:var(--success)}.win-message p{color:var(--text-muted);font-size:1rem}.win-message .new-record{margin-top:14px;font-weight:700;color:var(--success);font-size:1rem}.cards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;width:100%;max-width:420px}.card{aspect-ratio:1;cursor:pointer;position:relative}.card-inner{position:absolute;inset:0;transition:transform .4s cubic-bezier(.34,1.56,.64,1);transform-style:preserve-3d}.card:hover:not(.matched):not(.flipped) .card-inner{transform:scale(1.03)}.card.flipped .card-inner,.card.matched .card-inner{transform:rotateY(180deg)}.card.matched .card-inner{transform:rotateY(180deg) scale(1.02)}.card-front,.card-back{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);backface-visibility:hidden}.card-front{background:linear-gradient(145deg,var(--surface-light) 0%,var(--surface) 100%);color:var(--text-muted);font-size:2rem;font-weight:700;border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px #ffffff0f}.card-back{background:linear-gradient(145deg,#2d3047 0%,var(--surface) 100%);font-size:2.2rem;transform:rotateY(180deg);border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 20px #0000004d}.card.matched .card-back{background:linear-gradient(145deg,#9ece6a59,#9ece6a26);border-color:var(--success);box-shadow:0 0 24px #9ece6a40}.card.matched{pointer-events:none}@media(max-width:768px){body{padding:20px;padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));padding-bottom:max(20px,env(safe-area-inset-bottom));padding-top:max(20px,env(safe-area-inset-top))}.app{gap:22px}.game-header{padding:22px}.game-header h1{font-size:1.6rem}.game-header .stats{gap:14px}.game-header .stat{padding:8px 14px;font-size:.9rem}.game-header button{padding:11px 24px}.win-message{padding:22px}.win-message h2{font-size:1.4rem}.cards-grid{gap:12px;max-width:100%}.card-front{font-size:1.75rem}.card-back{font-size:1.9rem}}@media(max-width:480px){body{padding:16px;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:max(16px,env(safe-area-inset-bottom));padding-top:max(16px,env(safe-area-inset-top))}.app{gap:18px}.game-header{padding:18px;border-radius:var(--radius-sm)}.game-header h1{font-size:1.4rem;margin-bottom:6px}.game-header .subtitle{font-size:.85rem;margin-bottom:14px}.game-header .stats{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:12px}.game-header .stat{padding:10px 16px;font-size:.9rem;min-width:0}.game-header .best{font-size:.8rem;margin-bottom:14px}.game-header button{width:100%;max-width:200px;padding:14px 24px;font-size:1rem;min-height:48px}.win-message{padding:20px;border-radius:var(--radius-sm)}.win-message h2{font-size:1.25rem;margin-bottom:10px}.win-message p{font-size:.95rem}.cards-grid{gap:10px;max-width:100%}.card-front{font-size:1.5rem}.card-back{font-size:1.65rem}.card:hover:not(.matched):not(.flipped) .card-inner{transform:scale(1.02)}}@media(min-width:900px){.app{max-width:520px}.cards-grid{max-width:460px}}
