/* Keep the delivered visual system; only add keyboard and motion safeguards. */
.skip-link { position: fixed; top: 8px; left: 24px; z-index: 200; padding: 12px 18px; background: var(--paper); color: var(--ink); transform: translateY(-150%); }
.skip-link:focus { transform: none; }
.qr__box { max-height: calc(100dvh - 48px); overflow-y: auto; }
section[id] { scroll-margin-top: 76px; }
/* The supplied 640px trophy column overflows small desktop viewports. */
@media (min-width: 960px) and (max-width: 1199px) {
  .trophy { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; }
}
@media (prefers-reduced-motion: reduce) {
  .js-anim [data-r], .js-anim .display[data-r] .ln > span, .js-anim .where__from span { opacity: 1; transform: none; }
}
