/* ページ移動のアニメーション（View Transitions API）。利用者が見る全ページがこの 1 ファイルを読む。
   同一オリジンの移動で、新しい画面が上からスッと現れる。非対応ブラウザは通常の遷移。
   「動きを減らす」設定では宣言そのものをしないので、瞬時に切り替わる（全ページ同じ条件なので食い違わない）。

   全ページでそろえる理由: 宣言したページから宣言していないページへ移ると、Chrome 153 以降は
   移動先で "Transition was aborted because of invalid state. ViewTransition opt-in disabled" を
   未処理の rejection として出す（Sentry TENNIS-CHOUSEI-D）。一部のページにだけ足すと境目が移るだけなので、
   宣言と動きはここだけに置き、ページ側では書かない（test/page-transition-wiring.test.mjs）。
   Playwright 同梱の Chromium は移動先を表示しないまま止まるので、ページ間を移るブラウザテストは
   reducedMotion: 'reduce' を付けて、この宣言を外した状態で動かす。 */
@media (prefers-reduced-motion: no-preference) {
  @view-transition { navigation: auto; }
}
::view-transition-old(root) { animation: vt-out .2s ease both; }
::view-transition-new(root) { animation: vt-in-down .4s cubic-bezier(.22, 1, .36, 1) both; }
@keyframes vt-out { to { opacity: 0; } }
@keyframes vt-in-down { from { opacity: 0; transform: translateY(-28px); } to { opacity: 1; transform: none; } }
