.marquee {
  position: relative; overflow: hidden;
  background: var(--section-bg, var(--color-accent));
  color: var(--color-text);
  min-height: var(--mq-height, 60px);
  display: flex; align-items: center;
  font-size: var(--mq-size, 20px); font-weight: 700;
  contain: paint; /* never widens the page */
}
.marquee__track { display: flex; width: max-content; animation: marquee var(--mq-duration, 36s) linear infinite; }
.marquee--right .marquee__track { animation-direction: reverse; }
.marquee--pausable:hover .marquee__track,
.marquee--pausable:focus-within .marquee__track { animation-play-state: paused; }
.marquee__group { display: flex; align-items: center; flex: none; }
.marquee__dup { display: contents; }
.marquee__item { display: inline-flex; align-items: center; gap: .6rem; white-space: nowrap; }
.marquee__text { text-decoration: none; }
a.marquee__text:hover { text-decoration: underline; text-underline-offset: 4px; }
.marquee__author { font-weight: 500; opacity: .85; }
.marquee__sep { display: inline-grid; place-items: center; padding-inline: var(--mq-gap, 28px); color: var(--color-icon); }
.marquee__sep .icon { width: 1em; height: 1em; }
.marquee .stars .icon { width: .9em; height: .9em; }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (max-width: 749px) { .marquee { font-size: var(--mq-size-m, 16px); } }

/* Reduced motion: static, wrapping list of messages (copies hidden) */
@media (prefers-reduced-motion: reduce) {
  .marquee__track { animation: none; width: 100%; justify-content: center; }
  .marquee__group { flex-wrap: wrap; justify-content: center; padding: .6rem 1rem; }
  .marquee__group[aria-hidden="true"], .marquee__dup { display: none; }
  .marquee__item { white-space: normal; }
}
