/* Usability defaults; each site keeps its own type, palette, layout and identity. */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-padding-block: 1rem;
}

/* The empty ad template must not leave a 250px hole in an unconfigured site. */
.gpt-lazy[hidden] {
  display: none !important;
}

:where(a, button, input, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--focus, currentColor) !important;
  outline-offset: 3px !important;
}

/* Keep navigation and footer labels quiet while making them easy to tap. */
:is(.compact-header, .site-header, .site-head) nav a,
:is(footer, .compact-footer) nav a,
.reading-entry {
  min-height: 44px !important;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
}

main :is(.article-reader, .reading-body, .article-body, .prose, .legal) {
  line-height: 1.7;
}
main :is(.article-reader, .reading-body, .article-body, .prose, .legal) p {
  max-inline-size: 70ch;
  overflow-wrap: break-word;
}

@media (max-width: 767px) {
  input:not([type="radio"]):not([type="checkbox"]):not([type="range"]),
  textarea,
  select {
    font-size: max(1rem, 16px) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

@media (forced-colors: active) {
  :where(a, button, input, textarea, summary, [tabindex]):focus-visible {
    outline-color: Highlight !important;
  }
}

.site-game-index {
  padding-block: 12px;
}
.site-game-index section {
  margin-block: 16px;
}
.site-game-index a {
  display: flex;
  min-height: 44px;
  align-items: center;
  gap: 12px;
  overflow-wrap: anywhere;
}
.site-game-index a span {
  min-width: 0;
}
.site-game-index small {
  display: block;
  opacity: 0.75;
}
.site-game-index img {
  width: 64px;
  height: 48px;
  object-fit: cover;
  flex: none;
}
.site-game-index section > h2 {
  font-size: 1rem;
}
.site-index-link {
  margin-block: 16px;
  font-size: 0.9rem;
}
