/* The featured 15k tier has no permanently selected state. Rows share
   the same hover/keyboard feedback; preserve rates and click handlers. */
.signal-page .signal-rate-table > div:not(.signal-rate-head) {
  background: transparent !important;
  padding-inline: 0 !important;
  transition: background-color .18s ease !important;
}
.signal-page .signal-rate-table > div.featured::before {
  opacity: 0;
  transition: opacity .18s ease;
}
/* :focus-visible deliberately avoids sticky highlights after mouse clicks. */
.signal-page .signal-rate-table > div:not(.signal-rate-head):has(> button:focus-visible) {
  background: rgba(173,148,255,.1) !important;
}
.signal-page .signal-rate-table > div.featured:has(> button:focus-visible)::before {
  opacity: 1;
}
@media (hover: hover) {
  .signal-page .signal-rate-table > div:not(.signal-rate-head):hover {
    background: rgba(173,148,255,.1) !important;
  }
  .signal-page .signal-rate-table > div.featured:hover::before {
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .signal-page .signal-rate-table > div:not(.signal-rate-head),
  .signal-page .signal-rate-table > div.featured::before { transition: none !important; }
}
