.rx-games{--bg:#0a0908;--bg-alt:#121012;--surface:#1b1719;--surface-2:#241f22;--border:#34292c;--red:#ff3049;--red-strong:#cf1130;--red-dark:#7a0a1c;
--red-glow:rgba(255,48,73,.35);--gold:#ffb020;--text:#f4eef0;--text-dim:#cbc2c5;--text-mute:#9a9095;--radius:12px;--radius-sm:8px;
margin:0 0 10px;padding:26px;border-radius:22px;border:1px solid rgba(225,29,72,.26);background:radial-gradient(600px 300px at 50% 0,rgba(225,29,72,.14),transparent 70%),#120c0e}
.rx-games .btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 28px;border:0;border-radius:12px;cursor:pointer;font:600 15px/1.2 Outfit,system-ui,sans-serif;color:#fff;
background:linear-gradient(135deg,#9f1239,#e11d48 40%,#ff7a59);box-shadow:0 12px 30px -10px rgba(225,29,72,.7)}
.rx-games h2{font-size:22px!important;text-align:left!important;margin:22px 0 8px!important}
.rx-games .game-panel>p{text-align:left!important;margin-left:0!important;max-width:none!important}
.rx-games canvas{max-width:100%;height:auto;border-radius:12px}
.rx-games .rx-note{font-size:13px;color:var(--text-mute);margin:16px 0 0;text-align:center}

.rx-games /* Game hub tabs */
.tabs{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--border);
  padding-bottom: 14px;
  margin-bottom: 24px;
}
.rx-games .tabs [role="tab"]{
  background: var(--surface);
  border: 1px solid var(--border);
  color: var(--text-dim);
  padding: 10px 16px;
  border-radius: 999px;
  font-weight: 700;
  cursor: pointer;
  font-size: 0.92rem;
}
.rx-games .tabs [role="tab"][aria-selected="true"]{
  background: var(--red-strong);
  border-color: var(--red-strong);
  color: #fff;
}
.rx-games .game-panel{ padding-top: 6px; }
.rx-games .game-meta{
  display: flex;
  gap: 22px;
  flex-wrap: wrap;
  margin-bottom: 16px;
  color: var(--text-mute);
  font-size: 0.9rem;
}
.rx-games .game-meta b{ color: var(--text); }
.rx-games .game-status[role="status"]{ min-height: 1.4em; color: var(--text-dim); margin-bottom: 12px; }
.rx-games .game-stage{
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 18px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
.rx-games canvas#snake-canvas{
  background: #121012;
  border-radius: var(--radius-sm);
  width: 100%;
  max-width: 400px;
  height: auto;
  image-rendering: pixelated;
}
.rx-games .t2048-board{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  width: 100%;
  max-width: 360px;
}
.rx-games .t2048-cell{
  aspect-ratio: 1;
  background: var(--bg-alt);
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 1.1rem;
  color: var(--text-mute);
}
.rx-games .t2048-cell.filled{ color: #fff; background: var(--red-dark); }
.rx-games .t2048-cell.v8, .rx-games .t2048-cell.v16{ background: #9c1226; }
.rx-games .t2048-cell.v32, .rx-games .t2048-cell.v64{ background: #cf1130; }
.rx-games .t2048-cell.v128, .rx-games .t2048-cell.v256, .rx-games .t2048-cell.v512{ background: #ff3049; }
.rx-games .t2048-cell.v1024, .rx-games .t2048-cell.v2048{ background: var(--gold); color: #1b1719; }
.rx-games .memory-board{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  width: 100%;
  max-width: 360px;
}
.rx-games .memory-card{
  aspect-ratio: 1;
  background: var(--bg-alt);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  font-size: 1.5rem;
  color: var(--text-mute);
  cursor: pointer;
}
.rx-games .memory-card.flipped{ background: var(--surface-2); color: var(--text); }
.rx-games .memory-card.matched{ background: var(--red-dark); color: #fff; opacity: 0.85; }
.rx-games .ttt-board{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  width: 100%;
  max-width: 280px;
}
.rx-games .ttt-cell{
  aspect-ratio: 1;
  background: var(--bg-alt);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  font-size: 2rem;
  font-weight: 900;
  color: var(--red);
  cursor: pointer;
}
.rx-games .whack-board{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  width: 100%;
  max-width: 320px;
}
.rx-games .whack-hole{
  aspect-ratio: 1;
  background: var(--bg-alt);
  border: 2px solid var(--border);
  border-radius: 50%;
  cursor: pointer;
}
.rx-games .whack-hole.up{ background: var(--red-strong); border-color: var(--red); box-shadow: 0 0 20px var(--red-glow); }
.rx-games .reaction-box{
  width: 100%;
  max-width: 360px;
  height: 200px;
  border-radius: var(--radius);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 1.2rem;
  color: #fff;
  cursor: pointer;
  border: none;
}
.rx-games .reaction-box.idle{ background: var(--surface-2); color: var(--text); }
.rx-games .reaction-box.waiting{ background: var(--red-dark); }
.rx-games .reaction-box.go{ background: #1fae5c; }

@media (max-width: 760px) {
  .nav-links {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    bottom: auto;
    z-index: 151;
    display: none;
    max-height: calc(100vh - 64px);
    max-height: calc(100dvh - 64px);