@charset "UTF-8";

:root { --ease-out: cubic-bezier(0.23, 1, 0.32, 1); }

/* 保留原生滚动与链接；键盘定位不等待滚动动画。 */
html[data-motion-input="keyboard"] { scroll-behavior: auto; }

/* 只过渡普通控件，不接管云、叶片、信纸与风铃的弹簧。 */
html[data-motion-input="pointer"] :is(.pill, .another, .walk-link, .back-top) {
  transition: transform 140ms var(--ease-out);
}
html[data-motion-input="pointer"] .chapter-link { transition: opacity 140ms ease; }
html[data-motion-input="pointer"] :is(.chapter-link .arrow, .walk-link > span, .next-stop a > span, .note-destination > span, .return-link > span, .back-top > span) {
  transition: transform 180ms var(--ease-out);
}
.chapter-link .arrow { transition: none; }
html[data-motion-input="keyboard"] :is(.pill, .another, .walk-link, .back-top):active { transform: none; }

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  html[data-motion-input="pointer"] :is(.walk-link, .next-stop a, .note-destination):hover > span {
    transform: translate(3px, -3px);
  }
  html[data-motion-input="pointer"] .return-link:hover > span { transform: translate(-3px, -3px); }
  html[data-motion-input="pointer"] .back-top:hover > span { transform: translateY(-3px); }
  html[data-motion-input="keyboard"] .chapter-link:hover .arrow { transform: none; }
}

/* 只捕捉非交互标题；正文与物件在切页中仍可直接操作。 */
:root { view-transition-name: none; }
#page-title { view-transition-name: page-heading; }
@view-transition { navigation: none; }
::view-transition { pointer-events: none; }
@media (prefers-reduced-motion: no-preference) {
  ::view-transition-group(page-heading) { animation: none; }
  ::view-transition-old(page-heading) { animation: page-out 180ms var(--ease-out) both; }
  ::view-transition-new(page-heading) { animation: page-in 180ms var(--ease-out) both; }
}
@keyframes page-out { to { opacity: 0; } }
@keyframes page-in { from { opacity: 0; } }

@media (prefers-reduced-motion: reduce) {
  ::view-transition-group(page-heading), ::view-transition-old(page-heading), ::view-transition-new(page-heading) { animation: none; }
  .chapter-link:hover .arrow { transform: none; }
  html[data-motion-input="pointer"] :is(.pill, .another, .walk-link, .back-top):active { transform: none; }
}
