/* PokePark v78 — scrollable media rail, compact message actions and Pokémon mentions. */

html .game-screen #chatPanel .chat-conversation {
  position: relative !important;
}

html .game-screen #chatPanel > .chat-emoji-panel > .chat-emoji-category-rail {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: 36px minmax(0, 1fr) 36px !important;
  align-items: center !important;
  gap: 4px !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 48px !important;
  padding: 5px 6px !important;
  border-bottom: 1px solid color-mix(in srgb, var(--chat75-line) 70%, transparent) !important;
  background: color-mix(in srgb, var(--chat75-card) 82%, transparent) !important;
}

html .game-screen #chatPanel .chat-emoji-category-rail .chat-emoji-categories {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 0 2px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  overscroll-behavior-inline: contain !important;
  scroll-behavior: smooth !important;
  scroll-snap-type: inline proximity !important;
  touch-action: pan-x !important;
  border: 0 !important;
  background: transparent !important;
  scrollbar-width: none !important;
}

html .game-screen #chatPanel .chat-emoji-category-rail .chat-emoji-categories::-webkit-scrollbar {
  display: none !important;
}

html .game-screen #chatPanel .chat-emoji-category-rail .chat-emoji-categories > button {
  flex: 0 0 auto !important;
  grid-template-columns: 22px auto !important;
  gap: 6px !important;
  width: auto !important;
  min-width: 42px !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 9px !important;
  scroll-snap-align: start !important;
  border-radius: 10px !important;
}

html .game-screen #chatPanel .chat-emoji-category-rail .chat-emoji-categories > button > span {
  width: 22px !important;
  height: 22px !important;
  font-size: 17px !important;
}

html .game-screen #chatPanel .chat-emoji-category-rail .chat-emoji-categories > button > b {
  display: block !important;
  font-size: 10px !important;
  font-weight: 760 !important;
}

html .game-screen #chatPanel .chat-emoji-rail-button {
  display: grid !important;
  place-items: center !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  padding: 0 0 2px !important;
  border: 1px solid color-mix(in srgb, var(--chat75-line) 90%, transparent) !important;
  border-radius: 10px !important;
  background: var(--chat75-card) !important;
  color: var(--chat75-accent-strong) !important;
  box-shadow: 0 2px 7px rgba(13, 59, 79, .06) !important;
  font: 760 22px/1 Inter, "Segoe UI", sans-serif !important;
  cursor: pointer !important;
}

html .game-screen #chatPanel .chat-emoji-rail-button:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--chat75-accent) 40%, var(--chat75-line)) !important;
  background: color-mix(in srgb, var(--chat75-accent) 9%, var(--chat75-card)) !important;
}

html .game-screen #chatPanel .chat-emoji-rail-button:disabled {
  opacity: .28 !important;
  cursor: default !important;
}

html .game-screen #chatPanel .chat-message:not(.is-notice) {
  grid-template-columns: 38px minmax(0, 1fr) 34px !important;
}

html .game-screen #chatPanel .chat-message-more {
  display: grid !important;
  place-items: center !important;
  align-self: start !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: var(--chat75-muted) !important;
  cursor: pointer !important;
}

html .game-screen #chatPanel .chat-message-more svg {
  width: 21px !important;
  height: 21px !important;
  fill: currentColor !important;
}

html .game-screen #chatPanel .chat-message-more:hover,
html .game-screen #chatPanel .chat-message-more:focus-visible {
  background: color-mix(in srgb, var(--chat75-accent) 10%, transparent) !important;
  color: var(--chat75-accent-strong) !important;
  outline: none !important;
}

html .game-screen #chatPanel > .chat-popover.is-message-actions {
  width: 232px !important;
  min-width: 210px !important;
  max-width: min(252px, calc(100% - 16px)) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: min(310px, calc(100% - 58px)) !important;
  padding: 7px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  border: 1px solid color-mix(in srgb, var(--chat75-line) 96%, transparent) !important;
  border-radius: 15px !important;
  background: color-mix(in srgb, var(--chat75-card) 98%, transparent) !important;
  box-shadow: 0 18px 42px rgba(7, 37, 52, .22), 0 2px 7px rgba(7, 37, 52, .08) !important;
}

html .game-screen #chatPanel > .chat-popover.is-message-actions .chat-popover-actions {
  display: grid !important;
  gap: 2px !important;
  padding: 0 !important;
}

html .game-screen #chatPanel > .chat-popover.is-message-actions .chat-popover-actions > button {
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 42px !important;
  padding: 7px 10px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: var(--chat75-copy) !important;
  text-align: left !important;
  cursor: pointer !important;
}

html .game-screen #chatPanel > .chat-popover.is-message-actions .chat-popover-actions > button:hover,
html .game-screen #chatPanel > .chat-popover.is-message-actions .chat-popover-actions > button:focus-visible {
  background: var(--chat75-hover) !important;
  color: var(--chat75-ink) !important;
  outline: none !important;
}

html .game-screen #chatPanel > .chat-popover.is-message-actions .chat-popover-actions > button.is-danger {
  color: #d54c55 !important;
}

html .game-screen #chatPanel > .chat-popover.is-message-actions .chat-action-icon {
  width: 20px !important;
  height: 20px !important;
}

html .game-screen #chatPanel > .chat-popover.is-message-actions .chat-popover-actions > button span,
html .game-screen #chatPanel > .chat-popover.is-message-actions .chat-popover-actions > button b {
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  color: inherit !important;
  font: 760 13px/1.2 Inter, "Segoe UI", system-ui, sans-serif !important;
}

html .game-screen #chatPanel .chat-pokemon-mention {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 34px !important;
  margin: 1px 2px !important;
  padding: 2px 8px 2px 3px !important;
  border: 1px solid color-mix(in srgb, var(--chat75-accent) 24%, var(--chat75-line)) !important;
  border-radius: 11px !important;
  background: color-mix(in srgb, var(--chat75-accent) 7%, var(--chat75-card)) !important;
  color: var(--chat75-ink) !important;
  vertical-align: middle !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

html .game-screen #chatPanel .chat-pokemon-mention:hover {
  border-color: color-mix(in srgb, var(--chat75-accent) 50%, var(--chat75-line)) !important;
  background: color-mix(in srgb, var(--chat75-accent) 12%, var(--chat75-card)) !important;
}

html .game-screen #chatPanel .chat-pokemon-mention img {
  width: 30px !important;
  height: 30px !important;
  object-fit: contain !important;
  image-rendering: pixelated !important;
}

html .game-screen #chatPanel .chat-pokemon-mention > span {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 5px !important;
}

html .game-screen #chatPanel .chat-pokemon-mention small {
  color: var(--chat75-accent-strong) !important;
  font: 820 9px/1 Inter, "Segoe UI", sans-serif !important;
}

html .game-screen #chatPanel .chat-pokemon-mention b {
  color: inherit !important;
  font: 760 12px/1.1 Inter, "Segoe UI", sans-serif !important;
}

html .game-screen #chatPanel .chat-pokemon-suggest {
  position: absolute !important;
  right: 10px !important;
  bottom: calc(var(--chat-dock-height, 72px) + 8px) !important;
  left: 10px !important;
  z-index: 28 !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  max-height: min(326px, calc(100% - var(--chat-dock-height, 72px) - 24px)) !important;
  overflow: hidden !important;
  border: 1px solid color-mix(in srgb, var(--chat75-accent) 22%, var(--chat75-line)) !important;
  border-radius: 16px !important;
  background: color-mix(in srgb, var(--chat75-card) 98%, transparent) !important;
  box-shadow: 0 20px 46px rgba(6, 37, 52, .24) !important;
}

html .game-screen #chatPanel .chat-pokemon-suggest[hidden] {
  display: none !important;
}

html .game-screen #chatPanel .chat-pokemon-suggest > header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 48px !important;
  padding: 8px 12px !important;
  border-bottom: 1px solid var(--chat75-line) !important;
}

html .game-screen #chatPanel .chat-pokemon-suggest > header span {
  display: grid !important;
  gap: 2px !important;
}

html .game-screen #chatPanel .chat-pokemon-suggest > header small {
  color: var(--chat75-accent-strong) !important;
  font-size: 8px !important;
  font-weight: 850 !important;
  letter-spacing: .07em !important;
}

html .game-screen #chatPanel .chat-pokemon-suggest > header b {
  color: var(--chat75-ink) !important;
  font-size: 13px !important;
}

html .game-screen #chatPanel .chat-pokemon-suggest > header kbd {
  padding: 4px 7px !important;
  border: 1px solid var(--chat75-line) !important;
  border-radius: 7px !important;
  background: var(--chat75-soft) !important;
  color: var(--chat75-muted) !important;
  font-size: 9px !important;
}

html .game-screen #chatPanel .chat-pokemon-suggest > div[role="listbox"] {
  min-height: 0 !important;
  padding: 5px !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-width: thin !important;
}

html .game-screen #chatPanel .chat-pokemon-suggest [data-chat-pokemon-suggest] {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 9px !important;
  width: 100% !important;
  min-height: 52px !important;
  padding: 4px 9px 4px 5px !important;
  border: 0 !important;
  border-radius: 11px !important;
  background: transparent !important;
  color: var(--chat75-copy) !important;
  text-align: left !important;
  cursor: pointer !important;
}

html .game-screen #chatPanel .chat-pokemon-suggest [data-chat-pokemon-suggest]:hover,
html .game-screen #chatPanel .chat-pokemon-suggest [data-chat-pokemon-suggest].is-active {
  background: color-mix(in srgb, var(--chat75-accent) 9%, var(--chat75-card)) !important;
}

html .game-screen #chatPanel .chat-pokemon-suggest [data-chat-pokemon-suggest] img {
  width: 42px !important;
  height: 42px !important;
  object-fit: contain !important;
  image-rendering: pixelated !important;
}

html .game-screen #chatPanel .chat-pokemon-suggest [data-chat-pokemon-suggest] > span {
  display: grid !important;
  gap: 3px !important;
  min-width: 0 !important;
}

html .game-screen #chatPanel .chat-pokemon-suggest [data-chat-pokemon-suggest] small {
  overflow: hidden !important;
  color: var(--chat75-muted) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html .game-screen #chatPanel .chat-pokemon-suggest [data-chat-pokemon-suggest] b {
  overflow: hidden !important;
  color: var(--chat75-ink) !important;
  font-size: 13px !important;
  font-weight: 780 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html .game-screen #chatPanel .chat-pokemon-suggest [data-chat-pokemon-suggest] em {
  color: var(--chat75-accent-strong) !important;
  font-size: 9px !important;
  font-style: normal !important;
  font-weight: 800 !important;
}

html .game-screen #chatPanel .chat-pokemon-suggest-loading {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  min-height: 62px !important;
  color: var(--chat75-copy) !important;
  font-size: 12px !important;
}

html .game-screen #chatPanel .chat-pokemon-suggest-loading span {
  width: 18px !important;
  height: 18px !important;
  border: 2px solid color-mix(in srgb, var(--chat75-accent) 24%, transparent) !important;
  border-top-color: var(--chat75-accent) !important;
  border-radius: 50% !important;
  animation: chatPokemonSpin .7s linear infinite !important;
}

@keyframes chatPokemonSpin { to { transform: rotate(360deg); } }

@media (max-width: 760px) {
  html .game-screen #chatPanel > .chat-emoji-panel > .chat-emoji-category-rail {
    grid-template-columns: 34px minmax(0, 1fr) 34px !important;
    gap: 2px !important;
    padding-inline: 4px !important;
  }

  html .game-screen #chatPanel .chat-emoji-category-rail .chat-emoji-categories > button {
    grid-template-columns: 22px !important;
    min-width: 34px !important;
    padding: 0 6px !important;
  }

  html .game-screen #chatPanel .chat-emoji-category-rail .chat-emoji-categories > button > b {
    display: none !important;
  }

  html .game-screen #chatPanel .chat-message:not(.is-notice) {
    grid-template-columns: 34px minmax(0, 1fr) 30px !important;
  }

  html .game-screen #chatPanel .chat-message-more {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
  }

  html .game-screen #chatPanel .chat-pokemon-suggest {
    right: 7px !important;
    left: 7px !important;
  }

  html .game-screen #chatPanel .chat-pokemon-mention b { font-size: 11px !important; }
}

@media (prefers-reduced-motion: reduce) {
  html .game-screen #chatPanel .chat-emoji-category-rail .chat-emoji-categories { scroll-behavior: auto !important; }
  html .game-screen #chatPanel .chat-pokemon-suggest-loading span { animation-duration: 1.4s !important; }
}
