/* Styles for the /games dashboard. Builds on the shared styles.css palette. */

.arcade { padding: 26px 22px 50px; max-width: 900px; margin: 0 auto; }

.arcade-intro {
  text-align: center;
  max-width: 560px;
  margin: 0 auto 26px;
  line-height: 1.55;
  color: #4a4a5a;
}

.game-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 18px;
}

.game-card {
  background: var(--card);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  border: 3px solid transparent;
  transition: transform 0.12s ease, border-color 0.15s ease;
  text-decoration: none;
  color: inherit;
}
.game-card:hover { transform: translateY(-3px); border-color: var(--accent); }

.game-card.locked { opacity: 0.75; }
.game-card.locked:hover { transform: none; border-color: transparent; }

.game-emoji { font-size: 2.8rem; line-height: 1; }

.game-card h2 { margin: 0; font-size: 1.35rem; }

.game-tagline { margin: 0; color: var(--primary); font-weight: bold; font-size: 0.95rem; }

.game-card p.game-desc { margin: 0; line-height: 1.5; font-size: 0.98rem; color: #4a4a5a; }

.game-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 2px; }
.game-tag {
  background: var(--soft);
  border-radius: 999px;
  padding: 4px 11px;
  font-size: 0.8rem;
  font-weight: bold;
}

.game-cta {
  margin-top: auto;
  padding-top: 10px;
  font-weight: bold;
  color: var(--accent-dark);
}
.game-card.locked .game-cta { color: #999; }

.game-card.soon {
  border-style: dashed;
  border-color: rgba(0, 0, 0, 0.14);
  box-shadow: none;
  background: rgba(255, 255, 255, 0.55);
}
.game-card.soon:hover { transform: none; border-color: rgba(0, 0, 0, 0.14); }

.arcade-foot {
  text-align: center;
  margin-top: 28px;
  color: rgba(0, 0, 0, 0.5);
  font-size: 0.9rem;
}

@media (max-width: 480px) {
  .arcade { padding: 18px 12px 40px; }
  .game-grid { grid-template-columns: 1fr; }
}
