: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}.shell{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.menu-card{text-align:center;max-width:26rem;width:100%}.menu-title{font-size:2.5rem;font-weight:700;letter-spacing:-.03em;margin:0 0 .25rem;background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.menu-sub{color:#ffffff80;margin-bottom:2rem;font-size:.95rem}.difficulty-list{display:flex;flex-direction:column;gap:.75rem}.diff-btn{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:1rem 1.25rem;border:1px solid rgba(255,255,255,.08);border-radius:.75rem;background:#ffffff08;color:#fafafa;cursor:pointer;font-family:inherit;font-size:1rem;transition:background .15s,border-color .15s}.diff-btn:hover{background:#ffffff0f;border-color:#ffffff26}.diff-label{font-weight:600;flex:1;text-align:left}.diff-meta{font-size:.8rem;color:#fff6}.diff-best{font-size:.75rem;color:#60a5fa;font-weight:500;width:100%;text-align:left}.game-container{width:100%;max-width:32rem}.game-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:1.25rem;padding:.75rem 1rem;border:1px solid rgba(255,255,255,.08);border-radius:.75rem;background:#ffffff08}.hud-item{display:flex;flex-direction:column;align-items:center}.hud-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:#fff6}.hud-val{font-size:1.1rem;font-weight:700;font-variant-numeric:tabular-nums}.btn{font-family:inherit;font-size:.85rem;font-weight:600;border:none;border-radius:.5rem;cursor:pointer;transition:background .15s,transform .1s}.btn:active{transform:scale(.96)}.btn.small{margin-left:auto;padding:.35rem .65rem;background:#ffffff14;color:#fff9;border-radius:.4rem;font-size:.9rem}.btn.small:hover{background:#ffffff24}.btn.primary{padding:.7rem 2rem;background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff}.btn.primary:hover{background:linear-gradient(135deg,#2563eb,#4f46e5)}.btn.secondary{padding:.7rem 2rem;background:#ffffff14;color:#ffffffb3}.btn.secondary:hover{background:#ffffff24}.card-grid{display:grid;gap:.6rem}.memory-card{aspect-ratio:1;perspective:600px;border:none;background:none;padding:0;cursor:pointer;border-radius:.65rem}.memory-card:disabled{cursor:default}.card-inner{position:relative;width:100%;height:100%;transition:transform .45s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d}.memory-card.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:.65rem;backface-visibility:hidden;-webkit-backface-visibility:hidden;font-size:1.8rem;font-weight:700;-webkit-user-select:none;user-select:none}.card-front{background:linear-gradient(145deg,#1e293b,#0f172a);border:1px solid rgba(255,255,255,.06);color:#fff3;font-size:1.4rem}.card-front:hover{border-color:#60a5fa4d;background:linear-gradient(145deg,#1e3a5f,#0f172a)}.memory-card:disabled .card-front:hover{border-color:#ffffff0f;background:linear-gradient(145deg,#1e293b,#0f172a)}.card-back{background:linear-gradient(145deg,#1e1b4b,#0c0a1d);border:1px solid rgba(129,140,248,.2);transform:rotateY(180deg)}.memory-card.matched .card-back{border-color:#34d39959;background:linear-gradient(145deg,#064e3b,#0c0a1d);animation:pop .35s ease-out}@keyframes pop{0%{transform:rotateY(180deg) scale(1)}50%{transform:rotateY(180deg) scale(1.12)}to{transform:rotateY(180deg) scale(1)}}.result-card{text-align:center;max-width:24rem;width:100%}.result-title{font-size:2rem;font-weight:700;margin:0 0 .25rem}.result-rating{font-size:2.5rem;margin:.5rem 0 1.5rem;letter-spacing:.15em}.result-stats{display:flex;justify-content:center;gap:2rem;margin-bottom:1.5rem}.stat{display:flex;flex-direction:column;align-items:center}.stat-val{font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums}.stat-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:#fff6}.new-record{color:#34d399;font-weight:600;font-size:.9rem;margin-bottom:1.5rem}.result-actions{display:flex;gap:.75rem;justify-content:center}@media(max-width:480px){.card-grid{gap:.4rem}.card-front,.card-back{font-size:1.3rem}.card-front{font-size:1rem}.game-header{gap:1rem;padding:.6rem .75rem}}
