/* Tema do Nutty Puzzles: pixel fofo em tons pastel. Vale só dentro de .game-area (as abas do jogo);
   o topo e o rodapé do site seguem o tema da Nexeus Games. */
.game-area {
  --ink: #3b2a5a;
  --ink-soft: #5d4a80;
  --paper: #fffdf7;
  --bg: #f4efff;
  --lilac: #c8b6ff;
  --lilac-deep: #8e6cf0;
  --pink: #ffc2dd;
  --coral: #ff8fa3;
  --mint: #7ee0b8;
  --sky: #8fd3ff;
  --yellow: #ffd95a;
  --shade: rgba(59, 42, 90, 0.22);
  --px: 4px;
  --pixel-font: "Pixelify Sans", "Courier New", monospace;
  --body-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

  color: var(--ink);
  font-family: var(--body-font);
  line-height: 1.6;
  background-color: var(--bg);
  /* xadrez bem leve, como um papel quadriculado de pixel art */
  background-image:
    linear-gradient(45deg, rgba(142, 108, 240, 0.05) 25%, transparent 25%, transparent 75%, rgba(142, 108, 240, 0.05) 75%),
    linear-gradient(45deg, rgba(142, 108, 240, 0.05) 25%, transparent 25%, transparent 75%, rgba(142, 108, 240, 0.05) 75%);
  background-size: 32px 32px;
  background-position: 0 0, 16px 16px;
}
.game-area a { color: var(--lilac-deep); }
.game-area a:hover { color: var(--ink); }
.game-area :focus-visible { outline: var(--px) solid var(--coral); outline-offset: 2px; }
.game-area h1, .game-area h2, .game-area h3 { font-family: var(--pixel-font); font-weight: 700; line-height: 1.15; letter-spacing: 0.01em; color: var(--ink); overflow-wrap: break-word; hyphens: auto; }
/* Palavras longas (alemão, russo) quebram em vez de alargar a página em telas pequenas. */
.game-area .legal, .game-area .card, .game-area .pets-box { overflow-wrap: break-word; hyphens: auto; }

/* ---------- blocos pixelados ---------- */
.game-area .px-box {
  background: var(--paper);
  margin: var(--px);
  box-shadow:
    0 calc(-1 * var(--px)) 0 0 var(--ink),
    0 var(--px) 0 0 var(--ink),
    calc(-1 * var(--px)) 0 0 0 var(--ink),
    var(--px) 0 0 0 var(--ink),
    0 calc(3 * var(--px)) 0 0 var(--shade),
    inset 0 calc(-1 * var(--px)) 0 0 rgba(59, 42, 90, 0.08);
}
.game-area .btn {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--pixel-font); font-weight: 600; font-size: 1.1rem; letter-spacing: 0.02em;
  color: var(--ink); text-decoration: none;
  background: var(--yellow);
  padding: 10px 20px;
  margin: var(--px);
  box-shadow:
    0 calc(-1 * var(--px)) 0 0 var(--ink),
    0 var(--px) 0 0 var(--ink),
    calc(-1 * var(--px)) 0 0 0 var(--ink),
    var(--px) 0 0 0 var(--ink),
    inset 0 calc(-1 * var(--px)) 0 0 rgba(0, 0, 0, 0.15),
    inset 0 var(--px) 0 0 rgba(255, 255, 255, 0.55),
    0 calc(2 * var(--px)) 0 0 var(--ink);
  transition: transform 0.08s steps(2);
}
.game-area .btn:hover { color: var(--ink); transform: translateY(-2px); }
.game-area .btn:active { transform: translateY(var(--px)); }
.game-area .btn.mint { background: var(--mint); }
.game-area .btn.pink { background: var(--pink); }
.game-area .btn.small { font-size: 0.95rem; padding: 6px 14px; }

.game-area .chip {
  display: inline-block;
  font-family: var(--pixel-font); font-size: 0.92rem; line-height: 1.3;
  background: var(--lilac); color: var(--ink);
  padding: 3px 10px; margin: var(--px);
  box-shadow:
    0 calc(-1 * var(--px) / 2) 0 0 var(--ink),
    0 calc(var(--px) / 2) 0 0 var(--ink),
    calc(-1 * var(--px) / 2) 0 0 0 var(--ink),
    calc(var(--px) / 2) 0 0 0 var(--ink);
}
.game-area .chip.sky { background: var(--sky); }
.game-area .chip.yellow { background: var(--yellow); }

/* ---------- abas do jogo ---------- */
.game-area .game-nav { background: var(--paper); box-shadow: 0 var(--px) 0 0 var(--ink); }
.game-area .game-nav .wrap { display: flex; gap: 8px; flex-wrap: wrap; padding-top: 10px; padding-bottom: 10px; align-items: center; }
.game-area .game-nav .name { font-family: var(--pixel-font); font-weight: 700; margin-right: 8px; display: inline-flex; align-items: center; gap: 8px; }
.game-area .game-nav .name img { width: 32px; height: 32px; border-radius: 8px; box-shadow: 0 0 0 2px var(--ink); }
.game-area .tab {
  font-family: var(--pixel-font); font-weight: 600; font-size: 1rem;
  color: var(--ink); text-decoration: none;
  padding: 6px 12px; margin: 2px;
}
.game-area .tab:hover { background: var(--pink); color: var(--ink); }
.game-area .tab[aria-current="page"] {
  background: var(--lilac);
  box-shadow: 0 -2px 0 0 var(--ink), 0 2px 0 0 var(--ink), -2px 0 0 0 var(--ink), 2px 0 0 0 var(--ink);
}

/* ---------- página do jogo ---------- */
.game-area .game-hero {
  padding: 36px 0 44px;
  background: linear-gradient(180deg, #d9c9ff 0%, #ffd9ec 100%);
  box-shadow: 0 var(--px) 0 0 var(--ink);
}
.game-area .game-hero .wrap { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 32px; align-items: center; }
.game-area .game-hero .logo { width: 100%; max-width: 520px; height: auto; filter: drop-shadow(0 6px 0 rgba(59, 42, 90, 0.2)); }
.game-area .game-hero h1 { font-size: clamp(1.9rem, 4.6vw, 2.8rem); margin: 0 0 6px; }
.game-area .game-hero .intro { margin: 0 0 14px; font-size: 1.08rem; }
.game-area .game-hero .app-row { display: flex; align-items: center; gap: 16px; margin-bottom: 12px; }
.game-area .game-hero .app-row h1 { min-width: 0; }
.game-area .game-hero .app-row img { width: 88px; height: 88px; border-radius: 20px; box-shadow: 0 0 0 4px var(--ink), 0 8px 0 0 var(--shade); }
.game-area .platforms { display: flex; flex-direction: column; gap: 8px; margin: 14px 0 0; padding: 0; list-style: none; }
.game-area .platforms li { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
.game-area .platforms strong { font-family: var(--pixel-font); min-width: 84px; }

.game-area .facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: -28px; position: relative; }
.game-area .fact { text-align: center; padding: 14px 8px; }
.game-area .fact .n { display: block; font-family: var(--pixel-font); font-weight: 700; font-size: 2.2rem; line-height: 1; color: var(--lilac-deep); }
.game-area .fact .l { font-size: 0.98rem; }

.game-area .section { padding: 56px 0; }
.game-area .section.alt { background: rgba(255, 255, 255, 0.55); box-shadow: 0 calc(-1 * var(--px)) 0 0 var(--lilac), 0 var(--px) 0 0 var(--lilac); }
.game-area .section-title { font-size: clamp(1.7rem, 4.4vw, 2.4rem); margin: 0 0 8px; display: flex; align-items: center; gap: 12px; }
.game-area .section-title::before {
  content: ""; flex: 0 0 auto; width: 16px; height: 16px; background: var(--coral);
  box-shadow: 4px 4px 0 0 var(--ink);
}
.game-area .lead { margin: 0 0 24px; max-width: 760px; color: var(--ink-soft); font-size: 1.08rem; }
.game-area .mail { font-family: var(--pixel-font); font-size: 1.25rem; overflow-wrap: anywhere; }

.game-area .cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); gap: 22px; }
/* Múltiplo de 3 (os nove jogos): grade de 3 em 3, sem cartão sobrando sozinho. */
.game-area .cards.three { grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
.game-area .card { padding: 16px 16px 18px; display: flex; flex-direction: column; gap: 6px; }
.game-area .card img { width: 72px; height: 72px; }
.game-area .card h3 { margin: 4px 0 0; font-size: 1.3rem; }
.game-area .card p { margin: 0; color: var(--ink-soft); }
.game-area .card:nth-child(4n+1) { background: #fffaf0; }
.game-area .card:nth-child(4n+2) { background: #f7f2ff; }
.game-area .card:nth-child(4n+3) { background: #effbf6; }
.game-area .card:nth-child(4n+4) { background: #fff3f8; }

.game-area .screens {
  display: flex; gap: 22px; overflow-x: auto; scroll-snap-type: x mandatory;
  padding: 10px 8px 22px; margin: 0 -8px;
  scrollbar-color: var(--lilac-deep) var(--lilac);
}
.game-area .screens figure { flex: 0 0 auto; width: 216px; margin: 0; scroll-snap-align: start; text-align: center; }
.game-area .screens img { display: block; width: 216px; height: 384px; object-fit: cover; background: var(--lilac); }
.game-area .screens .px-box { padding: 6px; }
.game-area .screens figcaption { font-family: var(--pixel-font); margin-top: 8px; }
.game-area .hint { font-size: 0.95rem; color: var(--ink-soft); margin: -12px 0 12px; }

.game-area .pets-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; align-items: start; }
.game-area .pets-layout .cards { grid-template-columns: minmax(0, 1fr); }
.game-area .pets-box { padding: 18px 18px 20px; }
.game-area .pets-box p { margin: 0 0 14px; }
.game-area .pets { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.game-area .pets li { overflow-wrap: anywhere; text-align: center; font-family: var(--pixel-font); font-size: 0.95rem; line-height: 1.2; }
.game-area .pets img { width: 100%; max-width: 120px; display: block; margin: 0 auto 4px; animation: nutty-bob 3s steps(6) infinite; }
.game-area .pets li:nth-child(2n) img { animation-delay: -1.5s; }
@keyframes nutty-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }

.game-area .note { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 20px; padding: 20px 22px; align-items: start; }
.game-area .note img { width: 96px; height: 96px; }
.game-area .note h2 { margin: 0 0 8px; font-size: 1.7rem; }
.game-area .note p { margin: 0 0 10px; }
.game-area .note p:last-child { margin-bottom: 0; }

.game-area .support { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 28px; }
.game-area .support .px-box { padding: 20px 22px; }
.game-area .support h2 { margin: 0 0 8px; font-size: 1.6rem; }
.game-area .support p { margin: 0 0 10px; }
.game-area .doc-links { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }

/* ---------- documentos legais ---------- */
.game-area .legal-wrap { max-width: 820px; margin: 0 auto; padding: 36px 16px 64px; }
.game-area .legal { padding: 28px 28px 32px; font-size: 1.02rem; }
.game-area .legal h1 { font-size: clamp(1.7rem, 4.6vw, 2.3rem); margin: 0 0 6px; }
.game-area .legal h2 {
  font-size: 1.4rem; margin: 36px 0 10px; padding-top: 14px;
  background: linear-gradient(90deg, var(--lilac) 0 100%) top left / 100% var(--px) no-repeat;
}
.game-area .legal h3 { font-family: var(--body-font); font-size: 1.08rem; font-weight: 700; margin: 22px 0 4px; }
.game-area .legal p, .game-area .legal ul, .game-area .legal ol { margin: 0 0 14px; }
.game-area .legal ul, .game-area .legal ol { padding-left: 22px; }
.game-area .legal li { margin-bottom: 6px; }
.game-area .legal a { overflow-wrap: anywhere; }
.game-area .legal .meta { color: var(--ink-soft); margin: 0 0 20px; font-family: var(--pixel-font); }
.game-area .legal .owner, .game-area .legal .summary {
  background: #f7f2ff; padding: 12px 16px; margin: 0 0 22px;
  box-shadow: 0 -2px 0 0 var(--lilac-deep), 0 2px 0 0 var(--lilac-deep), -2px 0 0 0 var(--lilac-deep), 2px 0 0 0 var(--lilac-deep);
}
.game-area .legal .summary { background: #effbf6; box-shadow: 0 -2px 0 0 #3fae84, 0 2px 0 0 #3fae84, -2px 0 0 0 #3fae84, 2px 0 0 0 #3fae84; }
.game-area .legal .owner p, .game-area .legal .summary p { margin: 0 0 4px; }
.game-area .legal .summary ul { margin-bottom: 8px; }
.game-area .legal .toc { font-size: 0.97rem; }
.game-area .legal dl { margin: 0 0 14px; }
.game-area .legal dt { font-weight: 700; margin-top: 10px; }
.game-area .legal dd { margin: 0 0 6px; }

/* ---------- telas estreitas ---------- */
@media (max-width: 860px) {
  .game-area .game-hero .wrap { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .game-area .game-hero .logo { max-width: 420px; margin: 0 auto; }
  .game-area .facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .game-area .pets-layout, .game-area .support { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
  /* O jogo já aparece marcado no topo do site; aqui ficam só as abas dele. */
  .game-area .game-nav .name { display: none; }
  .game-area .game-nav .wrap { justify-content: center; }
  .game-area .section { padding: 40px 0; }
  .game-area .legal { padding: 20px 16px 24px; }
  .game-area .note { grid-template-columns: 1fr; }
  .game-area .note img { width: 72px; height: 72px; }
  .game-area .screens figure, .game-area .screens img { width: 180px; }
  .game-area .screens img { height: 320px; }
  .game-area .game-hero .app-row img { width: 72px; height: 72px; }
  .game-area .tab { padding: 6px 8px; font-size: 0.95rem; }
  .game-area .game-nav .wrap { gap: 2px; }
}
@media (prefers-reduced-motion: reduce) {
  .game-area .pets img { animation: none; }
  .game-area .btn { transition: none; }
}
