/* Apple original: Supporting Views/LoaderView.swift - UIKit's spinning activity indicator:
   8 spokes, each fading as the next lights. scaleSize 2.0 gives about 40 x 40. */
.LoaderView { position: relative; width: 20px; height: 20px; color: var(--titanium); }
.LoaderView.scale2 { transform-origin: center; scale: 2; }
.LoaderView[hidden] { display: none; }
.LoaderView i {
  position: absolute; left: 8.75px; top: 0;
  width: 2.5px; height: 6px; border-radius: 1.25px;
  background: currentColor;
  transform-origin: 1.25px 10px;
  animation: LoaderView-fade 0.8s linear infinite;
}
.LoaderView i:nth-child(1) { transform: rotate(0deg);   animation-delay: -0.7s; }
.LoaderView i:nth-child(2) { transform: rotate(45deg);  animation-delay: -0.6s; }
.LoaderView i:nth-child(3) { transform: rotate(90deg);  animation-delay: -0.5s; }
.LoaderView i:nth-child(4) { transform: rotate(135deg); animation-delay: -0.4s; }
.LoaderView i:nth-child(5) { transform: rotate(180deg); animation-delay: -0.3s; }
.LoaderView i:nth-child(6) { transform: rotate(225deg); animation-delay: -0.2s; }
.LoaderView i:nth-child(7) { transform: rotate(270deg); animation-delay: -0.1s; }
.LoaderView i:nth-child(8) { transform: rotate(315deg); animation-delay: 0s; }
@keyframes LoaderView-fade { from { opacity: 1; } to { opacity: 0.2; } }

/* showBusy(): the whole window held, the spinner in the middle */
.BusyView { position: absolute; inset: 0; z-index: 120; display: grid; place-items: center; align-content: center; background: rgba(255, 255, 255, 0.25); }
/* The busy spinner's message (showBusy("Preparing item to print...")): under the spinner, on a soft card so it reads on any page */
.BusyView-text {
  margin-top: 34px; padding: 8px 14px; border-radius: 10px; background: rgba(252, 252, 252, 0.95);
  box-shadow: 0 0 0 0.65px rgba(0, 0, 0, 0.07), 0 1px 5px rgba(0, 0, 0, 0.06);
  font-size: 15px; line-height: 20px; color: var(--textCharcoal); text-align: center; white-space: pre-line;
}
.BusyView-text[hidden] { display: none; }
