/* Overlay a spinner without changing the button's width, height, or content. */
html#shellDemo button[aria-busy="true"]{position:relative!important;cursor:progress!important;color:transparent!important}
html#shellDemo button[aria-busy="true"]>*{opacity:0!important}
html#shellDemo button[aria-busy="true"]::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;box-sizing:border-box;border:2px solid var(--c-border,#E0E5EA);border-top-color:var(--c-action,#008193);border-radius:50%;animation:ds-button-spin .75s linear infinite;pointer-events:none}
/* Presentation preparation is long: keep its explanatory label alongside the spinner. */
html#shellDemo .fp-presentation-control button[aria-busy="true"]{color:var(--c-text-secondary)!important}
html#shellDemo .fp-presentation-control button[aria-busy="true"]>.ds-resource-copy{opacity:1!important}
html#shellDemo .fp-presentation-control button[aria-busy="true"]::after{left:22px}
@keyframes ds-button-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){html#shellDemo button[aria-busy="true"]::after{animation:none}}
