/* GPL-3.0-only. Spinner rotation adapted from Telegram Web A
   Spinner.module.scss at 28ffcf710b15571e5a2f7bb3bdce3fc90fc8ec80.
   See vendor/telegram-controls/README.md. Remaining presentation is EssayPilot. */
.ep-control-feedback {
  position: fixed;
  z-index: 1200;
  display: block;
  pointer-events: none !important;
  user-select: none;
  box-sizing: border-box;
  contain: layout paint;
}
.ep-control-feedback--press {
  background: radial-gradient(circle at var(--ep-feedback-x, 50%) var(--ep-feedback-y, 50%), rgba(147, 181, 231, .24), rgba(101, 143, 201, .07) 55%, transparent 82%);
  box-shadow: inset 0 0 0 1px rgba(119, 153, 201, .16);
  opacity: 1;
  transition: opacity 160ms ease-out;
}
.ep-control-feedback--press.is-released { opacity: 0; }
.ep-control-feedback--pending {
  box-shadow: inset 0 0 0 1px rgba(103, 144, 201, .32);
}
.ep-control-feedback--pending::after {
  content: '';
  position: absolute;
  right: 5px;
  top: 5px;
  width: 9px;
  height: 9px;
  border: 2px solid rgba(208, 224, 247, .9);
  border-top-color: #537baa;
  border-radius: 50%;
  box-sizing: border-box;
  background: rgba(255, 255, 255, .95);
  animation-name: ep-control-spin;
  animation-duration: 1s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}
.ep-control-feedback--success {
  box-shadow: inset 0 0 0 1.5px rgba(96, 148, 157, .68);
  background: rgba(177, 214, 219, .09);
}
body.ep-motion-paused .ep-control-feedback--pending::after { animation-play-state: paused; }
@keyframes ep-control-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
  .ep-control-feedback--press { display: none; transition: none; }
  .ep-control-feedback--pending::after { animation: none; }
}
@media (forced-colors: active) {
  .ep-control-feedback--press { display: none; }
  .ep-control-feedback--pending, .ep-control-feedback--success { outline: 1px solid Highlight; outline-offset: -2px; }
  .ep-control-feedback--pending::after { border-color: GrayText; border-top-color: Highlight; }
}
@media print { .ep-control-feedback { display: none !important; } }
