/* Homepage refinements, kept separate from the individual game shells. */
html { scroll-padding-top: 260px; }
.wrap { padding-top: 36px; }
.launcher-header { margin-bottom: 24px; }
.launcher-header h1 { line-height: 1.12; letter-spacing: -0.025em; }
.subtitle { line-height: 1.6; }
.topbar-btn { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; border-width: 1px; transition: background 180ms ease, border-color 180ms ease; }
.topbar-btn:hover { transform: none; }
.discovery-controls { top: 80px; padding: 14px; margin-bottom: 24px; border-radius: 14px; }
.search-controls { gap: 10px; }
.search-controls input, .search-controls select { min-height: 46px; }
.search-controls input::placeholder { color: #a9bdd6; opacity: 1; }
.search-count { line-height: 1.5; }
.category-rail { padding-top: 12px; }
.category-chip { min-height: 44px; }
.today-panel { padding: 20px; margin-bottom: 24px; border-radius: 14px; box-shadow: none; }
.today-head { margin-bottom: 16px; }
.today-head h2, .spotlight-title { line-height: 1.2; }
.today-subtitle, .spotlight-desc { line-height: 1.5; }
.spotlight-grid { gap: 16px; margin-bottom: 28px; }
.spotlight-card { padding: 20px; border-radius: 14px; transition: border-color 180ms ease, transform 180ms ease; box-shadow: none; }
.discovery-section, .category-hub, .challenge-details-section { margin-bottom: 28px; }
.games-grid { gap: 16px; }
.game-card { padding: 20px; border-radius: 14px; box-shadow: none; animation: none; transition: transform 180ms ease, border-color 180ms ease, background 180ms ease; }
.game-icon { margin: 0 0 16px; border-radius: 12px; animation: none; box-shadow: none; }
.game-title { text-align: left; line-height: 1.25; }
.game-desc { text-align: left; line-height: 1.55; }
.game-meta { justify-content: flex-start; }
.game-link { box-shadow: none; min-height: 44px; }
.game-share { width: 44px; height: 44px; opacity: 1; }
.game-share:hover, .game-share:focus-visible { color: #06251f; }
.category-hub-card, .recent-card, .game-tile { border-radius: 12px; }
.footer-links { gap: 8px 20px; }
.footer-links a { display: inline-flex; align-items: center; min-height: 44px; }
.wrap :is(a, button, input, select, summary, [tabindex]):focus-visible,
.topbar :is(a, button, input):focus-visible,
.mobile-bottom-nav :is(a, button):focus-visible { outline: 3px solid #99f6e4; outline-offset: 3px; }
@media (max-width: 768px) {
  html { scroll-padding-top: 285px; }
  .wrap { padding: 20px 14px 108px; }
  .launcher-header { margin-bottom: 16px; }
  .launcher-header h1 { font-size: 28px; }
  .launcher-header .subtitle { display: block; font-size: 14px; line-height: 1.45; margin-top: 6px; }
  .topbar-btn { min-height: 44px; }
  .topbar-secondary { max-height: calc(100dvh - 160px); overflow-y: auto; }
  .discovery-controls { top: 68px; padding: 12px; margin-inline: 0; margin-bottom: 18px; }
  .search-controls input { font-size: 16px; }
  .search-controls select { font-size: 13px; min-height: 44px; }
  .category-chip { min-height: 44px; }
  .today-panel { padding: 14px; margin-bottom: 18px; }
  .today-head { gap: 8px; }
  .today-meta { flex-shrink: 1; text-align: right; line-height: 1.5; }
  .spotlight-grid { gap: 12px; margin-bottom: 24px; }
  .spotlight-card { padding: 14px; min-height: 176px; }
  .spotlight-desc { font-size: 12px; }
  .games-grid { gap: 12px; }
  .game-card { min-height: 190px; padding: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .game-card, .spotlight-card, .topbar-btn { transition: none; }
  .game-card:hover, .spotlight-card:hover { transform: none; }
}
