/* "Processing payment…": one full-screen state from the wallet's confirm (or the card's Pay now)
   until the receipt renders. The checkout draws it over the page; the receipt page opens in the
   same state (html.checking, set before first paint) and drops it once the payment is settled,
   so the navigation between them reads as one wait. */
.processing {
  position: fixed; inset: 0; z-index: 50;
  display: none; flex-direction: column; align-items: center; justify-content: center; gap: 16px;
  padding: env(safe-area-inset-top) 24px env(safe-area-inset-bottom);
  background: #fff; color: #0c0b11; font-size: 17px; font-weight: 500;
}
.processing.on,
html.checking .processing { display: flex; }
.processing-spinner {
  width: 36px; height: 36px; border-radius: 50%;
  border: 3px solid #e4f1ff; border-top-color: #1293ff;
  animation: processing-spin 0.8s linear infinite;
}
@keyframes processing-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .processing-spinner { animation-duration: 2.4s; }
}
