/* Short entrances and quiet feedback; no continuous movement. */
@media (prefers-reduced-motion: no-preference) {
  .site-header nav > a:not(.nav-join) {
    background: linear-gradient(var(--purple),var(--purple)) left bottom / 0 1px no-repeat;
    transition: background-size 220ms ease, color 220ms ease;
  }
  .site-header nav > a:not(.nav-join):is(:hover,:focus-visible) {
    background-size: 100% 1px;
  }
  .button,.nav-join {
    transition: background-color 220ms ease, border-color 220ms ease, transform 220ms ease;
  }
  .button:active,.nav-join:active { transform: translateY(1px); }
  .button > span,.paper-arrow,.data-open > span,
  .resource-list > a > span:last-child,.archive-list a > span:last-child {
    display: inline-block;
    transition: transform 240ms cubic-bezier(.2,.7,.2,1);
  }
  :is(.button,.paper,.data-card):is(:hover,:focus-visible) :is(.paper-arrow,.data-open > span),
  .button:is(:hover,:focus-visible) > span,
  .resource-list > a:is(:hover,:focus-visible) > span:last-child,
  .archive-list a:is(:hover,:focus-visible) > span:last-child {
    transform: translateX(3px);
  }
  .data-card {
    transition: background-color 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
  }
  .data-card:is(:hover,:focus-visible) {
    border-top-color: var(--gold);
    box-shadow: 0 5px 15px #22172e08;
  }
  .more-nav[open] > div { animation: menu-entrance 180ms ease-out; }
  @keyframes menu-entrance {
    from { opacity: .3; transform: translateY(-4px); }
    to { opacity: 1; transform: none; }
  }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { animation: none !important; transition: none !important; }
}
@media print {
  * { animation: none !important; transition: none !important; }
}
