/* ==========================================================================
   スクロール連動の出現演出 ― 見た目の定義のみ

   A：フェードアップ
      **対象セレクタと「隠す」CSSは reveal.js が実行時に注入する。**
      CSS側に対象一覧を持たない。CSSとJSで一覧がずれると、
      「CSSは隠すがJSは対象と認識していない」要素が永久に消えるため。
      （2026-08-13、CSSだけ更新した状態で実際にこの事故が再現した）

      FV・ページヘッダーには元々かけていないので、JSが注入する時点で
      対象は画面外にある。一瞬見えてから消える、という副作用は起きない。

   B：文字送りマスク
      .rv-ch は reveal.js が生成する。JSが動かなければ存在しない。

   結果として、JavaScriptが無効・読み込み失敗のときは
   **このファイルの規則は何も効かず、内容は最初から見える。**
   ========================================================================== */

:root { --rv-ease: cubic-bezier(.16, 1, .3, 1); }

/* --------------------------------------------------------------------------
   B：文字送りマスク（セクション見出し）
   -------------------------------------------------------------------------- */
.rv-ch {
  display: inline-block;
  overflow: hidden;
  vertical-align: bottom;
}
.rv-ch > i {
  display: inline-block;
  font-style: normal;
  transform: translateY(110%);
  transition: transform .8s var(--rv-ease) var(--rv-d, 0s);
}
.rv-mask.rv-in .rv-ch > i { transform: none; }

/* --------------------------------------------------------------------------
   OSの「視差効果を減らす」がONのときは停止する
   （フェードアップ側の停止は reveal.js が注入するCSSに含めている）
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .rv-ch > i {
    transform: none !important;
    transition: none !important;
  }
}
