: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;margin:0;padding:0}html,body,#root{min-height:100vh;background:#0a0a0a;color:#fafafa}.app{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:1.5rem}.app-header{width:100%;max-width:600px;display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.menu-header{flex-direction:column;text-align:center;gap:.25rem;padding-top:2rem}.title{font-size:2rem;font-weight:700;letter-spacing:-.03em;background:linear-gradient(135deg,#60a5fa,#a78bfa,#f472b6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{color:#ffffff80;font-size:.95rem}.back-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#fafafa;padding:.4rem .8rem;border-radius:.5rem;cursor:pointer;font-size:.85rem;white-space:nowrap;transition:background .15s}.back-btn:hover{background:#ffffff26}.app-header h1{font-size:1.25rem;font-weight:600}.game-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;width:100%;max-width:600px}.game-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 1rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:1rem;cursor:pointer;color:#fafafa;transition:all .2s}.game-card:hover{background:#ffffff14;border-color:#fff3;transform:translateY(-2px)}.game-icon{font-size:2.5rem}.game-name{font-size:1rem;font-weight:600}.game-desc{font-size:.75rem;color:#ffffff73;text-align:center}.game-area{width:100%;max-width:600px;display:flex;flex-direction:column;align-items:center;gap:1rem;outline:none}.game-hud{display:flex;gap:1.5rem;font-size:.9rem;font-weight:500;color:#fffc}.game-over-text{color:#f87171;font-weight:700}.win-text{color:#4ade80;font-weight:700}.canvas-wrap{display:flex;justify-content:center}.hint{font-size:.75rem;color:#ffffff59}.btn{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;border:none;padding:.6rem 1.5rem;border-radius:.5rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .15s}.btn:hover{opacity:.85}.btn.small{padding:.4rem 1rem;font-size:.8rem}.btn-row{display:flex;gap:.5rem}.result-msg{font-size:1.1rem;font-weight:600;color:#facc15}.overlay-msg{display:flex;flex-direction:column;align-items:center;gap:.75rem;font-size:1.2rem;font-weight:700;color:#f87171}.board-2048{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:#ffffff0d;padding:8px;border-radius:10px;width:340px;height:340px}.tile-2048{display:flex;align-items:center;justify-content:center;border-radius:6px;font-weight:700;font-size:26px;transition:all .12s}.mines-grid{display:grid;grid-template-columns:repeat(9,36px);gap:2px}.mine-cell{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:4px;cursor:pointer;font-size:14px;font-weight:700;color:#fafafa;transition:background .1s}.mine-cell:hover:not(.revealed){background:#fff3}.mine-cell.revealed{background:#ffffff08;cursor:default}.mine-cell.mine-hit{background:#ef44444d}.ttt-board{display:grid;grid-template-columns:repeat(3,90px);gap:6px}.ttt-cell{width:90px;height:90px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:8px;cursor:pointer;font-size:2rem;font-weight:800;color:#fafafa;transition:background .15s}.ttt-cell:hover:not(.x):not(.o){background:#ffffff1f}.ttt-cell.x{color:#60a5fa}.ttt-cell.o{color:#f87171}.memory-grid{display:grid;grid-template-columns:repeat(4,80px);gap:8px}.memory-card{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:8px;cursor:pointer;font-size:2rem;color:#ffffff4d;transition:all .2s}.memory-card:hover:not(.flipped):not(.matched){background:#ffffff24}.memory-card.flipped{background:#ffffff1f;color:#fafafa}.memory-card.matched{background:#4ade8026;border-color:#4ade804d;color:#fafafa}
