.ui-button{--ui-btn-bg:var(--color-primary);--ui-btn-fg:var(--color-text-inverse);--ui-btn-border:transparent;--ui-btn-radius:var(--radius-full);--ui-btn-pad-y:var(--space-3);--ui-btn-pad-x:var(--space-6);--ui-btn-font:var(--text-base);--ui-btn-min-h:3rem;justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--ui-btn-min-h);min-width:2.75rem;padding:var(--ui-btn-pad-y) var(--ui-btn-pad-x);font-family:var(--font-body);font-size:var(--ui-btn-font);font-weight:var(--font-weight-normal);text-align:center;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--ui-btn-bg);color:var(--ui-btn-fg);border:1px solid var(--ui-btn-border);border-radius:var(--ui-btn-radius);transition:background-color var(--motion-xs) var(--ease-out-soft),border-color var(--motion-xs) var(--ease-out-soft),color var(--motion-xs) var(--ease-out-soft);line-height:1;text-decoration:none;display:inline-flex}.ui-button:hover{--ui-btn-bg:var(--color-accent-gold)}.ui-button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.ui-button[aria-disabled=true],.ui-button[disabled]{--ui-btn-bg:var(--button-primary-bg-inactive);--ui-btn-fg:var(--color-text);--ui-btn-border:transparent;cursor:not-allowed}.ui-button--secondary{--ui-btn-bg:var(--color-secondary);--ui-btn-fg:var(--color-surface)}.ui-button--secondary:hover{--ui-btn-bg:var(--color-secondary-hover)}.ui-button--outline{--ui-btn-bg:transparent;--ui-btn-fg:var(--color-text);--ui-btn-border:var(--color-border)}.ui-button--outline:hover{--ui-btn-bg:var(--color-surface-muted);--ui-btn-border:var(--color-primary)}.ui-button--ghost{--ui-btn-bg:transparent;--ui-btn-fg:var(--color-text)}.ui-button--ghost:hover{--ui-btn-bg:var(--color-surface-muted)}.ui-button--danger{--ui-btn-bg:var(--color-error);--ui-btn-fg:#fff}.ui-button--danger:hover{--ui-btn-bg:var(--color-error-hover)}.ui-button--warning{--ui-btn-bg:var(--color-warning);--ui-btn-fg:var(--color-surface)}.ui-button--warning:hover{--ui-btn-bg:var(--color-warning-hover)}.ui-button--sm{--ui-btn-pad-y:var(--space-3);--ui-btn-pad-x:var(--space-5);--ui-btn-font:var(--text-sm);--ui-btn-min-h:2.75rem}.ui-button--lg{--ui-btn-pad-y:var(--space-4);--ui-btn-pad-x:var(--space-6);--ui-btn-font:1.0625rem;--ui-btn-min-h:4rem}.ui-button--block{width:100%}.ui-button--loading{pointer-events:none}
