html, body { overflow-x: hidden; }
:focus-visible { outline: 3px solid #ffc400; outline-offset: 3px; }
.topbar { padding-inline: 16px !important; border: 1px solid rgba(47,130,56,.18) !important; border-radius: 999px; margin-top: 10px; box-shadow: 0 8px 30px rgba(34,108,43,.08); }
.hero { min-height: 620px !important; overflow: hidden; }
.hero::before { content: ""; position: absolute; width: 420px; height: 420px; right: -110px; top: -120px; border: 1px solid rgba(216,255,39,.24); border-radius: 50%; box-shadow: 0 0 0 52px rgba(216,255,39,.04), 0 0 0 104px rgba(216,255,39,.025); }
.hero > * { position: relative; }
.games-section { margin-inline: calc(50% - 50vw); padding: 110px max(15px,calc((100vw - 1240px)/2)) !important; }
.game-grid { gap: 14px; }
.game-card { min-height: 390px !important; border-radius: 16px !important; box-shadow: 0 14px 34px rgba(34,108,43,.14) !important; }
.game-card:hover { transform: translateY(-9px) scale(1.012) !important; }
.game-symbol { border-radius: 22px !important; transform: rotate(-3deg); transition: transform .2s ease; }
.game-card:hover .game-symbol { transform: rotate(3deg) scale(1.06); }
.play-link { border-radius: 8px; transition: filter .15s ease; }
.game-card:hover .play-link { filter: brightness(1.07); }
.board-section { border-radius: 44px 44px 0 0; }
.leaderboard-grid { border-radius: 16px; overflow: hidden; box-shadow: 0 18px 55px rgba(17,16,24,.18); }
.rank-row { transition: background .15s ease; }
.rank-row:hover { background: rgba(216,255,39,.09); }
.register-section { margin: 60px 0; border-radius: 26px !important; box-shadow: 0 20px 60px rgba(34,108,43,.1); }
input, select, output, form button { border-radius: 8px !important; }
.production-note { border-radius: 16px !important; }
@media (max-width: 700px) {
  .topbar { border-radius: 16px; }
  .hero { min-height: 560px !important; }
  .games-section { padding-block: 75px !important; }
  .game-card { min-height: 350px !important; }
  .board-section { border-radius: 26px 26px 0 0; }
  .register-section { margin-block: 30px; }
}
