
html.np-js [data-up] {
  opacity: 0;
  transform: translateY(12px);
}
html.np-js [data-up].np-in {
  opacity: 1;
  transform: none;
  transition: opacity .3s cubic-bezier(.22, .61, .36, 1),
              transform .3s cubic-bezier(.22, .61, .36, 1);
}

html.np-js [data-up-kids] > * { opacity: 0; transform: translateY(10px); }
html.np-js [data-up-kids].np-in > * {
  opacity: 1;
  transform: none;
  transition: opacity .3s cubic-bezier(.22, .61, .36, 1),
              transform .3s cubic-bezier(.22, .61, .36, 1);
}
html.np-js [data-up-kids].np-in > *:nth-child(2) { transition-delay: .03s }
html.np-js [data-up-kids].np-in > *:nth-child(3) { transition-delay: .06s }
html.np-js [data-up-kids].np-in > *:nth-child(4) { transition-delay: .09s }
html.np-js [data-up-kids].np-in > *:nth-child(5) { transition-delay: .12s }
html.np-js [data-up-kids].np-in > *:nth-child(6) { transition-delay: .15s }
html.np-js [data-up-kids].np-in > *:nth-child(7) { transition-delay: .18s }
html.np-js [data-up-kids].np-in > *:nth-child(8) { transition-delay: .21s }

.np-btn, .lead__chip, .np-sch__tab, .np-toc a, .b-gal__i, .dl-card__go .np-btn {
  transition: transform .12s cubic-bezier(.34, 1.4, .5, 1),
              background .18s, border-color .18s, box-shadow .22s, color .18s;
}
.np-btn:active, .lead__chip:active, .np-sch__tab:active, .np-toc a:active { transform: scale(.965); }

.np-prog {
  position: fixed; top: 0; left: 0; right: 0;
  height: 3px; z-index: 200;
  transform: scaleX(0); transform-origin: 0 50%;
  background: linear-gradient(90deg, var(--np-accent, #1e6aff), #7ef0c4);
  pointer-events: none;
  will-change: transform;
}

@view-transition { navigation: auto; }

@media (prefers-reduced-motion: reduce) {
  html.np-js [data-up],
  html.np-js [data-up-kids] > * { opacity: 1; transform: none; transition: none; }
  .np-btn:active, .lead__chip:active, .np-sch__tab:active, .np-toc a:active { transform: none; }
  .np-prog { display: none; }
  @view-transition { navigation: none; }
}
