:root {
  --paper:#eff7ff; --ink:#162c4d; --quiet:#3d5473; --line:#a6bfd9;
  --accent:#154b8e; --panel:#fff; --radius:1.3rem;
  --display:"Nunito",system-ui,sans-serif; --body:"Nunito",system-ui,sans-serif;
}
.site-header { background:#e3f0ff; }
.happy-front .game-mast { background:#dcecff; border-bottom:1px solid var(--line); }
.happy-front .game-hero { display:block; padding-block:clamp(1.3rem,4.5vw,3.5rem); }
.happy-front .intro-copy { margin:0 auto 1.3rem; text-align:center; }
.happy-front .game-hero h1 { font-size:clamp(2.6rem,6vw,5.8rem); font-weight:900; }
.happy-front .game-hero p { margin-inline:auto; }
.game-cover-link {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.65fr);
  align-items:center; max-width:700px; margin-inline:auto; padding:.6rem;
  background:#fff7dc; border:1px solid #b9cbe0; border-radius:var(--radius);
}
.game-cover-link img { aspect-ratio:1.95; }
.game-cover-link > span { padding:.7rem; color:var(--quiet); font-weight:800; }
.game-cover-link b { display:block; color:var(--accent); font-size:1.3rem; }
.playroom-picks .game-card,.playroom-puzzles .game-card {
  padding:.45rem; background:var(--panel); border:1px solid var(--line); border-radius:var(--radius);
}
.playroom-puzzles .game-grid,.playroom-list .game-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.playroom-list .game-card a {
  display:grid; grid-template-columns:minmax(0,75px) minmax(0,1fr); align-items:center;
  gap:.6rem; padding:.45rem; background:#e6f1ff; border-radius:var(--radius);
}
.playroom-list .game-card img { aspect-ratio:1; }
.game-detail > img { padding:.45rem; background:#dcecff; }
@media (max-width:690px) {
  .playroom-puzzles .game-grid,.playroom-list .game-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .playroom-list .game-card a { grid-template-columns:minmax(0,45px) minmax(0,1fr); }
}
@media (max-width:360px) {
  .game-cover-link { grid-template-columns:1fr; }
}

.game-category-section .section-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:.6rem 1rem;
}
.game-category-link {
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  min-height:44px;
  padding:.35rem .8rem;
  border:1px solid var(--line);
  border-radius:var(--radius);
  color:var(--accent);
  font-weight:750;
  text-decoration:none;
}
.game-category-link:hover {
  text-decoration:underline;
  text-underline-offset:.2em;
}
.game-category-section .game-card a {
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--panel);
}
.game-category-section .game-card .caption { padding:.25rem .65rem .55rem; }
.game-category-section .game-card { box-shadow:0 3px 0 #d8e8f8; border-radius:var(--radius); }
@media (min-width:691px) and (max-width:960px) {
  .game-category-section .game-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
