:root {
  --sky-1:#cfe9ff;
  --sky-2:#a8d6f7;
  --sun:#ffd76b;
  --sun-2:#ffb347;
  --leaf:#6bbf8a;
  --leaf-2:#3d8f63;
  --ink:#2d1f17;
  --cream:#fff6e4;
  --cream-2:#fbead1;
  --vest:#5a9bd4;
  --vest-2:#3d7bb0;
  --berry:#e26a73;
  --brown:#6a4530;
}
*{box-sizing:border-box;margin:0;padding:0}
body {
  font-family:'Nunito',system-ui,sans-serif;
  color:var(--ink);
  background:var(--cream);
  line-height:1.5;
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
h1,h2,h3{font-family:'Fredoka',sans-serif;font-weight:600;letter-spacing:-.01em}

/* Nav */
.nav {
  display:flex;justify-content:space-between;align-items:center;
  max-width:1200px;margin:0 auto;padding:24px 32px;width:100%;
}
.brand {
  font-family:'Fredoka',sans-serif;font-size:22px;font-weight:700;
  display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;
}
.brand .dot{width:14px;height:14px;border-radius:50%;background:var(--berry);box-shadow:0 2px 0 rgba(0,0,0,.1)}
.nav-links{display:flex;gap:28px;font-weight:700;font-size:15px}
.nav-links a{color:var(--ink);text-decoration:none;opacity:.75;transition:opacity .2s}
.nav-links a:hover{opacity:1}

/* Hub */
.hub {
  max-width:1100px;margin:0 auto;padding:40px 32px 80px;flex:1;width:100%;
}
.hub-header {
  text-align:center;margin-bottom:48px;
}
.section-tag {
  display:inline-block;padding:6px 14px;background:var(--cream-2);
  border-radius:999px;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:var(--brown);margin-bottom:16px;
}
.section-title{font-size:clamp(36px,4.5vw,56px);line-height:1;margin-bottom:12px}
.section-title em{font-style:italic;color:var(--berry);font-weight:400}
.hub-header p{font-size:18px;color:#4a372a;max-width:480px;margin:0 auto}

/* Game grid */
.game-grid {
  display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px;
}
.game-card {
  background:#fff;border-radius:28px;overflow:hidden;
  box-shadow:0 6px 0 rgba(0,0,0,.06);
  transition:transform .25s ease;cursor:pointer;
  text-decoration:none;color:var(--ink);
  display:flex;flex-direction:column;
}
.game-card:hover{transform:translateY(-6px)}
.game-card--coming-soon{opacity:.55;pointer-events:none;cursor:default}
.game-card--coming-soon:hover{transform:none}

.game-card-art {
  background:linear-gradient(135deg,var(--sky-1),var(--leaf));
  padding:32px;display:flex;align-items:center;justify-content:center;
  min-height:220px;
}
.game-card-art img{width:180px;height:180px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.15))}

.game-card-body {
  padding:24px 24px 0;flex:1;
}
.game-badge {
  display:inline-block;padding:4px 12px;border-radius:999px;font-size:12px;
  font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  background:var(--berry);color:#fff;margin-bottom:10px;
}
.game-badge--muted{background:var(--cream-2);color:var(--brown)}
.game-card-body h2{font-size:24px;margin-bottom:8px}
.game-card-body p{font-size:15px;color:#4a372a;line-height:1.5}
.game-meta {
  display:flex;gap:14px;flex-wrap:wrap;margin-top:14px;font-size:13px;font-weight:600;color:#6a5240;
}

.game-card-cta {
  padding:20px 24px;
}
.btn {
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 24px;border-radius:999px;border:none;cursor:pointer;
  font-family:'Fredoka',sans-serif;font-weight:600;font-size:16px;
  text-decoration:none;transition:transform .15s ease,box-shadow .15s ease;
}
.btn-primary{background:var(--berry);color:#fff;box-shadow:0 5px 0 #b04e55}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 7px 0 #b04e55}

/* Footer */
footer {
  padding:40px 32px;text-align:center;background:#2d1f17;color:#fff6e4;font-size:14px;
}
footer .heart{color:var(--berry)}

@media(max-width:600px){
  .game-grid{grid-template-columns:1fr}
  .nav-links{display:none}
}
