.swa-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--type-family-body);font-weight:var(--type-weight-medium);cursor:pointer;user-select:none;text-decoration:none;white-space:nowrap;border:none;max-width:100%;transition:background-color var(--motion-duration-fast) var(--motion-easing-out),color var(--motion-duration-fast) var(--motion-easing-out),border-color var(--motion-duration-fast) var(--motion-easing-out),transform var(--motion-duration-fast) var(--motion-easing-out)}.swa-button[hidden]{display:none}.swa-button:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.swa-button:active:not(.swa-button--disabled):not(.swa-button--loading){transform:scale(.98)}.swa-button--primary{background-color:var(--accent-product);color:var(--text-inverse);border-radius:var(--radius-full)}.swa-button--primary:hover:not(.swa-button--disabled):not(.swa-button--loading){background-color:var(--accent-product-hover)}.swa-button--primary:active:not(.swa-button--disabled):not(.swa-button--loading){color:var(--text-inverse)}.swa-button--primary.swa-button--intent-editorial{background-color:var(--accent-editorial)}.swa-button--primary.swa-button--intent-editorial:hover:not(.swa-button--disabled):not(.swa-button--loading){background-color:var(--accent-editorial-hover)}.swa-button--primary.swa-button--intent-editorial:active:not(.swa-button--disabled):not(.swa-button--loading){color:var(--text-inverse)}.swa-button--secondary{background-color:var(--surface-card);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-full)}.swa-button--secondary:hover:not(.swa-button--disabled):not(.swa-button--loading){background-color:var(--surface-popover)}.swa-button--ghost{background-color:transparent;color:var(--accent-product);border-radius:var(--radius-md)}.swa-button--ghost:hover:not(.swa-button--disabled):not(.swa-button--loading){background-color:var(--surface-card);color:var(--text-primary)}.swa-button--ghost.swa-button--intent-editorial{color:var(--accent-editorial)}.swa-button--ghost.swa-button--intent-editorial:hover:not(.swa-button--disabled):not(.swa-button--loading){color:var(--text-primary)}.swa-button--danger{background-color:transparent;color:var(--color-state-error);border:1px solid var(--color-state-error-30);border-radius:var(--radius-sm)}.swa-button--danger:hover:not(.swa-button--disabled):not(.swa-button--loading){border-color:var(--color-state-error-55);background-color:var(--color-state-error-8)}.swa-button--xs{height:var(--space-5);padding-inline:var(--space-2);font-size:var(--type-scale-xs);gap:var(--space-1)}.swa-button--sm{height:var(--space-6);padding-inline:var(--space-3);font-size:var(--type-scale-sm);gap:var(--space-1)}.swa-button--md{height:var(--space-8);padding-inline:var(--space-4);font-size:var(--type-scale-md)}.swa-button--lg{height:var(--space-10);padding-inline:var(--space-5);font-size:var(--type-scale-lg)}.swa-button--ghost[data-state=copied],.swa-button--secondary[data-state=copied]{color:var(--color-state-success);border-color:var(--color-state-success)}.swa-button--icon-only{padding-inline:0;aspect-ratio:1}.swa-button--disabled{color:var(--text-faint);opacity:.6;cursor:not-allowed;pointer-events:none}.swa-button--loading{opacity:.85;cursor:progress;pointer-events:none}.swa-button--ghost[aria-pressed=true],.swa-button--ghost.swa-button--pressed{background-color:var(--surface-card);color:var(--text-primary);box-shadow:inset 0 0 0 1.5px var(--border-strong)}.swa-button--ghost.swa-button--intent-editorial[aria-pressed=true],.swa-button--ghost.swa-button--intent-editorial.swa-button--pressed{color:var(--accent-editorial);box-shadow:inset 0 0 0 1.5px var(--accent-editorial)}.swa-button--secondary[aria-pressed=true],.swa-button--secondary.swa-button--pressed{background-color:var(--surface-popover);box-shadow:inset 0 0 0 1.5px var(--border-strong)}.swa-button__label{min-width:0;overflow:hidden;text-overflow:ellipsis}.swa-button__spinner{display:inline-block;width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:var(--radius-full);animation:swa-spin .6s linear infinite}.swa-button--full-mobile{width:auto}@media(max-width:640px){.swa-button--full-mobile{width:100%}}@media(prefers-reduced-motion:reduce){.swa-button{transition:none}.swa-button:active:not(.swa-button--disabled){transform:none}.swa-button__spinner{animation:none}}@keyframes swa-spin{to{transform:rotate(360deg)}}
