
.ad-spinner { display: inline-flex; flex-direction: column; align-items: center; gap: var(--space-2, 8px); }
.ad-spinner__mark {
  display: block;
  width: var(--ad-spinner-size, var(--spinner-size-lg, 112px));
  height: var(--ad-spinner-size, var(--spinner-size-lg, 112px));
  background: center / contain no-repeat url("/assets/signal-loading.svg");
}
.ad-spinner__label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.ad-spinner--said .ad-spinner__label {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  color: var(--ink-soft, #475467);
  font-size: 15px;
}

.ad-spinner--sm { --ad-spinner-size: var(--spinner-size-sm); flex-direction: row; }

.ad-wait { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px;
  box-sizing: border-box; width: 100%; min-height: clamp(280px, 50vh, 640px); padding: 24px; text-align: center; }
.ad-wait .ad-spinner__label { position: static; width: auto; height: auto; overflow: visible; clip: auto;
  color: var(--ink-soft, #475467); font-size: 15px; }

