/* =========================
   Tap ring (SVG) + Black fade out
   ========================= */

/* --- Tap ring (SVG) --- */
.bwu-ring-overlay {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 2147483647;
}

.bwu-ring-svg {
  position: fixed;
  pointer-events: none;
}

.bwu-ring-circle {
  fill: none;
  stroke: rgba(255, 255, 255, 0.95); /* ← 色を変える場合 */
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
  shape-rendering: geometricPrecision;
  opacity: 1;
  transition:
    r var(--ring-grow, 260ms) cubic-bezier(.22, .61, .36, 1),
    opacity var(--ring-fade, 220ms) ease var(--ring-fade-delay, 120ms);
}

.bwu-ring-circle.-done {
  opacity: 0;
}

/* --- Black fade out (leave page) --- */
.bwu-out-overlay {
  position: fixed;
  inset: 0;
  background: #000;          /* ← 黒以外にしたい場合は変更 */
  opacity: 0;
  pointer-events: none;
  z-index: 2147483646;
  transition: opacity 300ms ease; /* ← フェード時間 */
}

.bwu-out-overlay.-on {
  opacity: 1;
}

/* --- Reduce motion --- */
@media (prefers-reduced-motion: reduce) {
  .bwu-ring-circle { transition: none !important; }
  .bwu-out-overlay { transition: none !important; }
}

/* =========================
   Micro Tap Ring (表示だけ / 遷移は止めない)
   ========================= */
/* 変更点：transform+opacity だけでアニメ（GPU合成） */
.bwu-mr-overlay {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 2147483647;
  contain: layout paint;   /* 余計な再ペイントを防ぐ */
}

.bwu-mr-ring {
  position: fixed;
  left: 0;
  top: 0;
  /* 最終サイズで配置し、拡大は scale で行う */
  width: 90px;            /* ＝ 直径（好みで調整） */
  height: 90px;
  border-radius: 9999px;
  border: 2px solid rgba(255,255,255,0.95);  /* リング色 */
  background: transparent;

  transform: translate(-50%, -50%) scale(0.001);
  opacity: 1;

  /* 合成レイヤー化（パフォーマンス要） */
  will-change: transform, opacity;
  backface-visibility: hidden;

  transition:
    transform 400ms cubic-bezier(.22,.61,.36,1),
    opacity   500ms ease 200ms;
}

/* 拡大＆フェード */
.bwu-mr-ring.-grow {
  transform: translate(-50%, -50%) scale(0.8);
  opacity: 0;
}

/* 動きを減らす設定のユーザー向け */
@media (prefers-reduced-motion: reduce) {
  .bwu-mr-ring {
    transition: none !important;
    transform: translate(-50%, -50%) scale(1) !important;
    opacity: 0 !important;
  }
}

/* タッチ端末向けにやや短くする（任意） */
@media (hover: none) and (pointer: coarse) {
  .bwu-mr-ring {
    transition:
      transform 140ms cubic-bezier(.22,.61,.36,1),
      opacity   120ms ease 40ms;
  }
}