/* Mark background + content as separate data-motion-dim layers.
   Keep loader/status OUTSIDE those layers. Allow decoration to overflow. */
[data-progress-card]{position:relative;isolation:isolate}
[data-motion-dim]{filter:brightness(1);transition:filter .18s ease}
.motion-dimmed [data-motion-dim]{filter:brightness(.30)}
.motion-loading{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility 0s .18s}
.motion-loading.motion-visible{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .18s ease}
.motion-loading-message{display:flex;flex-direction:column;align-items:center;gap:14px;color:#fff;font-size:17px;font-weight:700;line-height:26px;text-shadow:none}
.motion-spinner{width:32px;height:32px;box-sizing:border-box;border:3px solid #ffffff66;border-top-color:#fff;border-radius:50%;animation:motion-spin .7s linear infinite}
@keyframes motion-spin{to{transform:rotate(360deg)}}
[data-count]{font-variant-numeric:tabular-nums;text-align:center;display:inline-block}
.motion-count-window{display:inline-flex;vertical-align:bottom;height:30px;align-items:center}
.motion-digit-column{display:block;width:1ch;flex:0 0 1ch;height:30px;overflow:visible;clip-path:inset(0 -3px);text-align:center}
.motion-digit-track{display:flex;flex-direction:column;will-change:transform}
.motion-digit{display:block;flex:0 0 30px;height:30px;line-height:30px;text-align:center}
.motion-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(prefers-reduced-motion:reduce){[data-motion-dim],.motion-loading{transition:none}.motion-spinner{animation:none}}

/* Toast: anchor to a positioned mobile viewport or page wrapper. */
.motion-toast{position:absolute;bottom:24px;left:50%;max-width:calc(100% - 32px);padding:10px 18px;border-radius:12px;background:#151626ef;color:#fff;font-size:16px;line-height:22px;text-align:center;white-space:nowrap;box-shadow:0 4px 20px #0003;z-index:10;pointer-events:none;opacity:0;transform:translate(-50%,12px);transition:opacity .18s ease,transform .18s ease}
.motion-toast.motion-toast-visible{opacity:1;transform:translate(-50%,0)}
@media(prefers-reduced-motion:reduce){.motion-toast{transition:none}}
