/* 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; }
.gpt-lazy[data-ad-empty] { display: none !important; min-height: 0 !important; margin: 0 !important; }

body[data-compact-ui] :is(.category-strip,.compact-category-rail)[data-native-category-rail] { display: none !important; }
.site-category-navigation {
  display: flex;
  gap: 4px;
  min-width: 0;
  padding: 4px 14px;
  overflow-x: auto;
  scrollbar-width: none;
  white-space: nowrap;
  color: inherit;
}
.site-category-navigation::-webkit-scrollbar { display: none; }
.site-category-navigation a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-height: 44px;
  padding: 0 12px;
  border: 0;
  border-radius: 6px;
  color: inherit;
  font: inherit;
  font-size: 14px;
  text-decoration: none;
}
.site-category-navigation a[aria-current="page"] {
  background: color-mix(in srgb, currentColor 12%, transparent);
  font-weight: 700;
  box-shadow: inset 0 -2px currentColor;
}
.compact-header[data-category-header] { flex-wrap: wrap !important; gap: 0 12px !important; }
.compact-header[data-category-header] > .site-category-navigation { flex: 1 0 100%; order: 3; }

/* The dialog scrolls as one surface; shrinking its body lets the sticky action
   row cover the final category choices on a phone. */
dialog.compact-controls :is(.dialog-body,.filter-body,.filter-content,.dialog-content) { flex-shrink: 0 !important; }

/* Category menus override obsolete filter layouts while retaining site colors. */
[data-category-legacy] { display: none !important; }
body [data-category-panel][data-category-panel][open] {
  display: flex !important;
  flex-direction: column !important;
  height: fit-content !important;
  min-height: 0 !important;
  max-height: calc(100dvh - 24px) !important;
  min-width: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  gap: 0 !important;
  background: var(--panel, var(--surface, var(--paper, Canvas))) !important;
  color: inherit !important;
  box-sizing: border-box !important;
}
body [data-category-panel][data-category-panel] .site-category-heading {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  flex: 0 0 auto !important;
  padding: 14px 18px 10px !important;
  margin: 0 !important;
  min-width: 0 !important;
}
body [data-category-panel][data-category-panel] .site-category-heading h2 {
  margin: 0 !important; font-size: 18px !important; line-height: 1.3 !important;
  font-weight: 650 !important; letter-spacing: -.02em !important;
}
body [data-category-panel][data-category-panel] .site-category-heading button {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  flex: 0 0 44px !important; width: 44px !important; height: 44px !important;
  min-width: 44px !important; min-height: 44px !important; margin: 0 !important; padding: 0 !important;
  border: 1px solid color-mix(in srgb, currentColor 16%, transparent) !important;
  border-radius: 10px !important; background: transparent !important; color: inherit !important;
  position: static !important; font-size: 0 !important; box-shadow: none !important;
}
body [data-category-panel][data-category-panel] .site-category-heading button::before,
body [data-category-panel][data-category-panel] .site-category-heading button::after { content: none !important; }
body [data-category-panel][data-category-panel] .site-category-heading button svg { display: block !important; width: 18px !important; height: 18px !important; }
body [data-category-panel][data-category-panel] .site-category-choices {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  grid-auto-rows: minmax(48px, auto) !important;
  align-content: start !important;
  align-items: stretch !important;
  gap: 8px !important;
  flex: 0 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  padding: 6px 18px 18px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  overscroll-behavior: contain;
}
body [data-category-panel][data-category-panel] .site-category-choices a {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  min-width: 0 !important;
  width: auto !important;
  height: auto !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  color: inherit !important;
  font: inherit !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  white-space: normal !important;
  text-decoration: none !important;
  border: 1px solid color-mix(in srgb, currentColor 10%, transparent) !important;
  border-radius: 10px !important;
  background: color-mix(in srgb, currentColor 3%, transparent) !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
}
body [data-category-panel][data-category-panel] .site-category-choices a:first-child { grid-column: 1 / -1 !important; }
body [data-category-panel][data-category-panel] .site-category-choices a[aria-current="page"] {
  box-shadow: inset 3px 0 currentColor !important;
  border-color: color-mix(in srgb, currentColor 24%, transparent) !important;
  background: color-mix(in srgb, currentColor 9%, transparent) !important;
  font-weight: 650 !important;
}
body [data-category-panel][data-category-panel] .site-category-choices a:hover {
  background: color-mix(in srgb, currentColor 8%, transparent) !important;
}
body [data-category-panel][data-category-panel] .site-category-choices small {
  display: inline-flex !important; align-items: center; justify-content: center;
  flex: 0 0 auto; min-width: 24px; min-height: 24px; padding: 2px 6px;
  border-radius: 6px; background: color-mix(in srgb, currentColor 6%, transparent);
  opacity: .75; font-size: 12px !important; font-weight: 500;
}
body [data-category-panel][data-category-panel] .site-category-menu {
  flex: 0 0 auto !important; padding: 10px 18px max(12px, env(safe-area-inset-bottom)) !important;
  border-top: 1px solid color-mix(in srgb, currentColor 10%, transparent);
}
body [data-category-panel][data-category-panel] .site-category-menu nav {
  display: flex !important; flex-wrap: wrap !important; gap: 0 14px !important;
  overflow: visible !important; margin: 0 !important; padding: 0 !important;
}
body [data-category-panel][data-category-panel] .site-category-menu a {
  display: inline-flex !important; align-items: center !important; min-height: 44px !important;
  padding: 0 !important; color: inherit !important; font-size: 13px !important;
  font-weight: 400 !important; background: transparent !important; border: 0 !important;
  text-decoration: none !important; white-space: normal !important;
}

@media (max-width: 767px) {
  .compact-header[data-category-header] { flex-wrap: nowrap !important; padding: 4px 10px !important; min-height: 52px !important; }
  .compact-header[data-category-header] > .compact-brand { display: none !important; }
  .compact-header[data-category-header] > .site-category-navigation { flex: 1 1 0; order: 0; padding: 0; }
  .compact-header[data-category-header] > :is(.compact-header-actions,.compact-icon) { flex: 0 0 auto; order: 1; }
}

: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;
  }
}

/* Retired search masks must not override the category icon. */
body button[data-category-opener][data-category-opener]::before { content: none !important; display: none !important; }
body button[data-category-opener][data-category-opener] > svg { display: block !important; width: 22px !important; height: 22px !important; }

/* Each site's menu keeps a stable design suited to its identity. */
body [data-category-panel][data-category-panel][data-category-style] { --category-columns: repeat(2, minmax(0, 1fr)); }
body [data-category-panel][data-category-panel][data-category-style] .site-category-choices { grid-template-columns: var(--category-columns) !important; }
body [data-category-panel][data-category-panel][data-category-style="directory"] { --category-columns: minmax(0, 1fr); }
body [data-category-panel][data-category-panel][data-category-style="directory"] .site-category-choices { gap: 3px !important; }
body [data-category-panel][data-category-panel][data-category-style="directory"] .site-category-choices a { border: 0 !important; background: transparent !important; border-radius: 5px !important; }
body [data-category-panel][data-category-panel][data-category-style="directory"] .site-category-choices a[aria-current] { background: var(--wash, var(--pale, color-mix(in srgb, currentColor 8%, transparent))) !important; }
body [data-category-panel][data-category-panel][data-category-style="gallery"] .site-category-choices a { min-height: 66px !important; flex-direction: column !important; align-items: flex-start !important; gap: 6px !important; padding: 12px !important; border-radius: 6px !important; }
body [data-category-panel][data-category-panel][data-category-style="gallery"] .site-category-choices a:first-child { flex-direction: row !important; align-items: center !important; min-height: 48px !important; }
body [data-category-panel][data-category-panel][data-category-style="gallery"] .site-category-choices small { background: transparent !important; padding: 0 !important; min-width: 0; min-height: 16px; }
body [data-category-panel][data-category-panel][data-category-style="pills"] .site-category-choices { display: flex !important; flex-wrap: wrap !important; gap: 10px 8px !important; }
body [data-category-panel][data-category-panel][data-category-style="pills"] .site-category-choices a { flex: 0 0 auto !important; border-radius: 24px !important; min-height: 44px !important; }
body [data-category-panel][data-category-panel][data-category-style="pills"] .site-category-choices a:first-child { flex-basis: 100% !important; }
body [data-category-panel][data-category-panel][data-category-style="pills"] .site-category-choices small { background: transparent !important; padding: 0 !important; min-width: 16px; }
body [data-category-panel][data-category-panel][data-category-style="editorial"] .site-category-choices { gap: 0 16px !important; }
body [data-category-panel][data-category-panel][data-category-style="editorial"] .site-category-choices a { border: 0 !important; border-bottom: 1px solid var(--line) !important; border-radius: 0 !important; background: transparent !important; padding-inline: 5px !important; font-family: Georgia, serif !important; }
body [data-category-panel][data-category-panel][data-category-style="editorial"] .site-category-choices small { background: transparent !important; font-family: ui-monospace, monospace; }
body [data-category-panel][data-category-panel][data-category-style="controls"] .site-category-choices a { border-radius: 4px !important; min-height: 52px !important; }
body [data-category-panel][data-category-panel][data-category-style="controls"] .site-category-choices small { border: 1px solid var(--line); border-radius: 3px; background: transparent !important; }
body [data-category-panel][data-category-panel][data-category-style="scoreboard"] .site-category-choices { gap: 6px !important; }
body [data-category-panel][data-category-panel][data-category-style="scoreboard"] .site-category-choices a { border-radius: 2px !important; border-width: 0 0 2px !important; border-color: var(--line) !important; font-weight: 650 !important; }
body [data-category-panel][data-category-panel][data-category-style="scoreboard"] .site-category-choices small { border-radius: 0; font-family: ui-monospace, monospace; }
body [data-category-panel][data-category-panel][data-category-style="cabinet"] { --category-columns: minmax(0, 1fr); }
body [data-category-panel][data-category-panel][data-category-style="cabinet"] .site-category-choices { gap: 0 !important; }
body [data-category-panel][data-category-panel][data-category-style="cabinet"] .site-category-choices a { border-width: 0 0 1px !important; border-style: dashed !important; border-radius: 0 !important; background: transparent !important; }
body [data-category-panel][data-category-panel][data-category-style="cabinet"] .site-category-choices small { border-radius: 12px; }
body [data-category-panel][data-category-panel][data-category-style="trail"] { --category-columns: minmax(0, 1fr); }
body [data-category-panel][data-category-panel][data-category-style="trail"] .site-category-choices { gap: 0 !important; }
body [data-category-panel][data-category-panel][data-category-style="trail"] .site-category-choices a { position: relative; border: 0 !important; border-radius: 0 !important; border-left: 1px solid var(--line) !important; background: transparent !important; padding-left: 20px !important; }
body [data-category-panel][data-category-panel][data-category-style="trail"] .site-category-choices a::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; position: absolute; left: -3px; }
body [data-category-panel][data-category-panel][data-category-style="trail"] .site-category-choices small { background: transparent !important; }
body [data-category-panel][data-category-panel][data-category-style="sheet"] { --category-columns: minmax(0, 1fr); }
body [data-category-panel][data-category-panel][data-category-style="sheet"] .site-category-choices { gap: 0 !important; }
body [data-category-panel][data-category-panel][data-category-style="sheet"] .site-category-choices a { border-width: 0 0 1px !important; border-radius: 0 !important; background: transparent !important; min-height: 44px !important; }
body [data-category-panel][data-category-panel][data-category-style="sheet"] .site-category-choices small { background: transparent !important; font-family: ui-monospace, monospace; }
body [data-category-panel][data-category-panel][data-category-style="pairs"] .site-category-choices { gap: 12px !important; }
body [data-category-panel][data-category-panel][data-category-style="pairs"] .site-category-choices a { border-radius: 3px !important; border-left: 3px solid var(--line) !important; min-height: 52px !important; }
body [data-category-panel][data-category-panel][data-category-style="pairs"] .site-category-choices small { border-radius: 2px; background: transparent !important; }

/* Native home category buttons become real links with the same compact shape. */
body a[data-home-navigation] { display: inline-flex !important; align-items: center; justify-content: center; min-height: 44px !important; padding: 6px 10px !important; flex: 0 0 auto; color: inherit; font: inherit; font-size: 14px; line-height: 1.3; text-decoration: none; border: 1px solid var(--line, currentColor); border-radius: 6px; background: transparent; }
body a[data-home-navigation][aria-current="page"] { background: color-mix(in srgb, currentColor 10%, transparent); box-shadow: inset 0 -2px currentColor; }

/* Game Shelf keeps identical header geometry on home, lists and reading pages. */
body[data-feedback-site="Game11"] .site-header { padding: 0 14px !important; }
body[data-feedback-site="Game11"] .site-header > .header-inner { display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 0 !important; padding: 0 !important; }
body[data-feedback-site="Game11"] .site-header .brand { align-self: flex-start; min-height: 44px !important; font-size: 18px !important; }
body[data-feedback-site="Game11"] .site-header nav { width: 100% !important; height: 44px !important; min-height: 44px !important; flex-wrap: nowrap !important; gap: 18px !important; overflow-x: auto !important; }
body[data-feedback-site="Game11"] .site-header nav a { min-height: 44px !important; font-size: 12px !important; font-weight: 400 !important; padding: 0 !important; }
