/* ============================================================
   動きの強化室 — 後載せアニメーション（非破壊）
   外すとき: このファイルと anim.js、index.html の読み込み2行を削除するだけ
   掟: 既存CSSの値は一切上書きしない / transform・opacity・filter のみ
   ============================================================ */
:root {
  --anim-ease: cubic-bezier(0.26, 0.9, 0.34, 1); /* 既存サイトの署名イージングを踏襲 */
}

/* ① 星の瞬き — ヒーロー上空の加算オーバーレイ（anim.js が生成） */
.anim-stars {
  position: absolute;
  inset: 0 0 45% 0; /* 空の上側だけ。手前のテント・人物には掛けない */
  pointer-events: none;
  overflow: hidden;
}
.anim-stars i {
  position: absolute;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: #fff;
  opacity: 0;
  animation: animTwinkle var(--anim-tw-dur, 3.6s) linear var(--anim-tw-delay, 0s) infinite;
}
@keyframes animTwinkle {
  0%, 100% { opacity: 0; }
  50% { opacity: var(--anim-tw-max, 0.6); }
}

/* ② ギャラリーサムネの hover/focus 浮き
   既存マーカー属性 [data-gallery-thumb] への追記スタイルのみ（HTML・JS変更なし） */
[data-gallery-thumb] {
  transition: transform 0.25s var(--anim-ease), filter 0.25s var(--anim-ease);
}
[data-gallery-thumb]:hover,
[data-gallery-thumb]:focus-visible {
  transform: translateY(-4px);
  filter: drop-shadow(0 10px 14px rgba(20, 28, 24, 0.28));
}

/* 動きを減らす設定の尊重: 星は静止した微光・浮きは無効 */
@media (prefers-reduced-motion: reduce) {
  .anim-stars i { animation: none; opacity: 0.3; }
  [data-gallery-thumb] { transition: none; }
  [data-gallery-thumb]:hover,
  [data-gallery-thumb]:focus-visible { transform: none; filter: none; }
}
