:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;--bg: #0c0c14;--surface: rgba(255, 255, 255, .05);--surface-hover: rgba(255, 255, 255, .08);--border: rgba(255, 255, 255, .08);--border-hover: rgba(255, 255, 255, .18);--text: #f0f0f5;--text-dim: rgba(255, 255, 255, .5);--text-muted: rgba(255, 255, 255, .3);--accent: #6366f1;--accent-hover: #818cf8;--accent-glow: rgba(99, 102, 241, .3);--gold: #fbbf24;--success: #22c55e;--danger: #ef4444;--radius: .75rem;--radius-sm: .5rem}*,*:before,*:after{box-sizing:border-box;margin:0}html,body,#root{min-height:100vh;background:var(--bg);color:var(--text);overflow-x:hidden}.app{max-width:720px;margin:0 auto;padding:1.5rem 1rem 3rem;min-height:100vh;display:flex;flex-direction:column;align-items:center}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.1rem;border:none;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s,transform .1s,box-shadow .15s;white-space:nowrap}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 2px 12px var(--accent-glow)}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--surface-hover);border-color:var(--border-hover)}.btn-sm{padding:.45rem .8rem;font-size:.8rem}.btn-large{padding:.85rem 2.5rem;font-size:1.05rem;border-radius:var(--radius)}.menu-screen{display:flex;flex-direction:column;align-items:center;gap:2.5rem;padding-top:6vh;width:100%}.menu-hero{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem}.menu-logo{width:80px;height:80px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),#a855f7);border-radius:1.25rem;box-shadow:0 8px 32px var(--accent-glow);animation:float 3s ease-in-out infinite}.logo-tile{font-size:2.5rem}.menu-hero h1{font-size:2.2rem;font-weight:800;letter-spacing:-.04em;background:linear-gradient(135deg,#fff 30%,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.menu-hero p{color:var(--text-dim);font-size:1rem}.difficulty-select{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;width:100%;max-width:400px}.diff-btn{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:1rem .75rem;background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;transition:all .2s}.diff-btn:hover{border-color:var(--border-hover);background:var(--surface-hover);transform:translateY(-2px)}.diff-btn.active{border-color:var(--accent);background:#6366f11a;box-shadow:0 0 20px var(--accent-glow)}.diff-icon{font-size:1.6rem}.diff-name{font-size:.9rem;font-weight:700}.diff-info{font-size:.7rem;color:var(--text-muted)}.diff-best{font-size:.65rem;color:var(--gold);font-weight:600;margin-top:.15rem}.game-header{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:.75rem}.game-title{font-size:1.1rem;font-weight:700;letter-spacing:-.02em}.stats-bar{display:flex;justify-content:center;gap:1.5rem;margin-bottom:1.25rem;padding:.65rem 1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:999px}.stat{display:flex;flex-direction:column;align-items:center;gap:0}.stat-label{font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:600}.stat-value{font-size:1.05rem;font-weight:700;font-variant-numeric:tabular-nums}.board{display:grid;gap:8px;width:100%;justify-content:center;perspective:1000px}.game-tile{aspect-ratio:1;background:none;border:none;padding:0;cursor:pointer;perspective:600px}.game-tile:disabled{cursor:default}.tile-inner{position:relative;width:100%;height:100%;transition:transform .5s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d}.game-tile.revealed .tile-inner{transform:rotateY(180deg)}.tile-face{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;backface-visibility:hidden;border-radius:var(--radius-sm);font-size:clamp(1.2rem,3.5vw,2rem)}.tile-back{background:linear-gradient(145deg,#1e1e2e,#2a2a3e);border:2px solid rgba(255,255,255,.06);color:var(--text-muted);font-weight:700;font-size:clamp(.9rem,2.5vw,1.2rem);transition:border-color .2s,box-shadow .2s}.game-tile:not(:disabled):hover .tile-back{border-color:var(--accent);box-shadow:0 0 16px var(--accent-glow)}.tile-front{background:linear-gradient(145deg,#1a1a2e,#252540);border:2px solid rgba(255,255,255,.1);transform:rotateY(180deg)}.game-tile.matched .tile-front{border-color:var(--success);box-shadow:0 0 20px #22c55e40;background:linear-gradient(145deg,#0f2a1a,#153520);animation:matchPop .4s ease}.win-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;z-index:100;animation:fadeIn .3s ease}.win-card{background:#14141e;border:1px solid var(--border);border-radius:1rem;padding:2.5rem 2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem;animation:slideUp .4s ease;min-width:280px}.win-trophy{font-size:3.5rem;animation:bounce .6s ease}.win-card h2{font-size:1.6rem;font-weight:800}.new-record{color:var(--gold);font-weight:700;font-size:.9rem;animation:pulse 1s ease infinite}.win-stats{display:flex;gap:2rem;margin:.5rem 0 1rem}.win-stat{display:flex;flex-direction:column;align-items:center}.win-stat .stat-value{font-size:1.5rem;font-weight:800}.win-stat .stat-label{font-size:.7rem}.win-actions{display:flex;gap:.5rem}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes matchPop{0%{transform:rotateY(180deg) scale(1)}50%{transform:rotateY(180deg) scale(1.1)}to{transform:rotateY(180deg) scale(1)}}@keyframes bounce{0%,to{transform:translateY(0)}40%{transform:translateY(-12px)}60%{transform:translateY(-6px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media(max-width:480px){.app{padding:1rem .5rem 2rem}.menu-logo{width:64px;height:64px}.logo-tile{font-size:2rem}.menu-hero h1{font-size:1.7rem}.difficulty-select{grid-template-columns:repeat(2,1fr);gap:.4rem}.diff-btn{padding:.75rem .5rem}.stats-bar{gap:1rem;padding:.5rem 1rem}.board{gap:5px}.win-card{padding:1.5rem 1rem;margin:0 1rem}}
