.userbar{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.userbar .av{font-size:2.6rem}.userbar b{font-size:1.3rem}
.userbar .coins{margin-left:auto;font-size:1.4rem;font-weight:900;background:var(--accent);padding:6px 16px;border-radius:999px}
.games{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.gcard{text-align:center;display:flex;flex-direction:column;gap:8px;transition:transform .2s}
.gcard:hover{transform:translateY(-6px) rotate(-1deg)}
.gcard .em{font-size:3.6rem;line-height:1.1}
.gcard:hover .em{animation:bob 1.2s ease-in-out infinite}
.gcard h3{margin:0}.gcard p{margin:0;opacity:.75}
.gcard .badge{align-self:center;background:#e8f1ff;border-radius:999px;padding:2px 12px;font-size:.85rem;font-weight:800}
.gcard .btn{width:100%}
.gcard.soon{opacity:.6;filter:grayscale(.6)}
.cols{display:grid;grid-template-columns:1fr 1.4fr;gap:18px;margin-top:22px;align-items:start}
@media(max-width:780px){.cols{grid-template-columns:1fr}}
.friend{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:2px dashed #eee}
.friend:last-child{border:0}
.friend .av{font-size:1.8rem}.friend .nm{font-weight:800;flex:1;overflow:hidden;text-overflow:ellipsis}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--good);margin-right:4px}
.dot.waiting{background:var(--accent)}.dot.playing{background:var(--bad)}
.lbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.lb h3{margin:0 0 6px;font-size:1.1rem}
.lb ol{margin:0;padding-left:0;list-style:none}
.lb li{display:flex;gap:8px;padding:3px 0}
.lb li .sc{margin-left:auto;font-weight:900}
.lb li.me{background:#fff3c4;border-radius:8px}
#invites{position:fixed;right:12px;bottom:12px;z-index:800;display:flex;flex-direction:column;gap:10px;width:min(92vw,340px)}
.invite{animation:pop .4s both;display:flex;flex-direction:column;gap:8px;background:#fff;border:3px solid var(--primary)}
.invite .bt{display:flex;gap:8px}.invite .btn{flex:1}
.modal{position:fixed;inset:0;z-index:900;background:rgba(43,45,66,.7);display:grid;place-items:center;padding:16px}
.modal .card{max-width:420px;text-align:center;display:flex;flex-direction:column;gap:12px}
.modal .spin{font-size:4rem;animation:bob 1.4s ease-in-out infinite}
.game-overlay{position:fixed;inset:0;z-index:1000;background:var(--bg);display:flex;flex-direction:column}
.game-bar{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--ink);color:#fff;font-weight:900}
.game-bar span{flex:1}
.game-stage{flex:1;overflow:auto;display:flex;justify-content:center;align-items:flex-start;padding:10px;touch-action:manipulation}
.game-stage>*{max-width:100%}
