/* Micro-interactions (src/fx/interactions.js). */
.fx-progress {
  position: fixed; top: 0; left: 0; right: 0; height: 2px; z-index: 9997;
  transform-origin: 0 50%; transform: scaleX(0); pointer-events: none;
  background: linear-gradient(90deg, rgba(255, 255, 255, .25), #fff);
  box-shadow: 0 0 12px rgba(255, 255, 255, .6);
}

.fx-glow {
  position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 3; opacity: 0;
  background: radial-gradient(260px circle at var(--fx-x, 50%) var(--fx-y, 50%), rgba(255, 255, 255, .11), transparent 65%);
  transition: opacity .4s;
}
[data-fx-hot] > .fx-glow { opacity: 1; }
[data-fx-hot] { will-change: transform; }
