:root{
  --bg:#fff7f1;
  --card:#ffffff;
  --ink:#2a2a2a;
  --muted:#6b7280;
  --brand:#ff8a65;
  --brand-2:#4fc3f7;
  --good:#66bb6a;
  --warn:#ffa726;
  --bad:#ef5350;
  --shadow:0 10px 24px rgba(0,0,0,.08);
  --radius:22px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
body{
  margin:0;
  font-family:"Segoe UI",Tahoma,Arial,sans-serif;
  background:linear-gradient(180deg,#fff4ec,#eef9ff);
  color:var(--ink);
  min-height:100vh;
}
.app{max-width:760px;margin:auto;padding:14px 14px 90px}
.hero,.card,.game-shell,.score-card,.toast{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow)}
.hero{padding:18px;margin-top:10px}
h1,h2,h3,p{margin:0}
.hero h1{font-size:1.6rem;margin-bottom:8px}
.hero p{color:var(--muted);line-height:1.7}
.row{display:grid;gap:10px}
.row-2{grid-template-columns:repeat(2,1fr)}
.card{padding:14px}
.section-title{font-size:1.1rem;margin:14px 0 8px}
label{font-size:.95rem;color:var(--muted);display:block;margin-bottom:6px}
select,input,button{width:100%;border:none;border-radius:16px;padding:14px 12px;font-size:1rem}
select,input{background:#f7f8fb;color:var(--ink);outline:none}
button{cursor:pointer;font-weight:700}
.btn{background:var(--brand);color:#fff}
.btn.secondary{background:var(--brand-2)}
.btn.ghost{background:#f3f4f6;color:var(--ink)}
.btn.good{background:var(--good);color:#fff}
.btn.warn{background:var(--warn);color:#fff}
.btn.bad{background:var(--bad);color:#fff}
.games-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.game-tile{padding:14px;border-radius:20px;background:linear-gradient(180deg,#fff,#f8fbff);border:2px solid #eef2f7;display:flex;flex-direction:column;gap:8px;min-height:128px}
.game-tile .emoji{font-size:2rem}
.game-tile h3{font-size:1rem}
.game-tile p{font-size:.88rem;color:var(--muted);line-height:1.5}
.game-shell{padding:14px;margin-top:14px}
.topbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:12px}
.pill{background:#f6f7fb;border-radius:999px;padding:8px 12px;font-size:.88rem}
.board{display:grid;gap:8px}
.xo-cell,.memory-card,.pick-btn,.choice-btn,.mini-tile{border-radius:18px;display:flex;align-items:center;justify-content:center;min-height:64px;background:#f7fbff;font-size:1.35rem;font-weight:800;border:2px solid #e9eff8;user-select:none}
.xo-cell.win,.mini-tile.win{background:#e8f8ea;border-color:#7bd27f}
.memory-card{min-height:84px;font-size:2rem}
.players-line{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.player-chip{padding:8px 10px;border-radius:999px;background:#f4f6fb;font-size:.9rem}
.player-chip.active{background:#ffe7d6}
.status{padding:12px;border-radius:18px;background:#fff8eb;margin:10px 0;line-height:1.6}
.controls{display:grid;gap:8px;grid-template-columns:repeat(2,1fr);margin-top:10px}
.scoreboard{display:grid;gap:8px;margin-top:10px}
.score-card{padding:12px}
.score-line{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dashed #eceef5}
.score-line:last-child{border-bottom:none}
.footer-nav{position:fixed;bottom:0;left:0;right:0;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);padding:10px 12px;border-top:1px solid #eceef6}
.footer-inner{max-width:760px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.small{font-size:.86rem;color:var(--muted)}
.big-number{font-size:2rem;font-weight:900;text-align:center;margin:10px 0}
.question-box,.result-box,.target-box,.sequence-box{padding:16px;border-radius:18px;background:#f8fbff;border:2px dashed #dce9f5;margin:10px 0;text-align:center}
@media (max-width:560px){.row-2,.controls,.games-grid{grid-template-columns:1fr}.memory-card{min-height:74px}}
