.base-button{align-items:center;gap:var(--space-2);border-radius:var(--radius);transition:background var(--transition), color var(--transition), border-color var(--transition), opacity var(--transition);white-space:nowrap;cursor:pointer;border:1px solid #0000;font-weight:500;display:inline-flex}.base-button:disabled{opacity:.5;cursor:not-allowed}.base-button.base-button--sm{padding:var(--space-1) var(--space-3);font-size:var(--text-sm)}.base-button.base-button--md{padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}.base-button.base-button--lg{padding:var(--space-3) var(--space-6);font-size:var(--text-base)}.base-button.base-button--primary{background:var(--color-primary);color:var(--color-surface);border-color:var(--color-primary)}.base-button.base-button--primary:hover:not(:disabled){background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.base-button.base-button--secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.base-button.base-button--secondary:hover:not(:disabled){background:var(--color-surface-2)}.base-button.base-button--danger{background:var(--color-danger);color:var(--color-surface);border-color:var(--color-danger)}.base-button.base-button--danger:hover:not(:disabled){opacity:.9}.base-button.base-button--ghost{color:var(--color-text-muted);background:0 0}.base-button.base-button--ghost:hover:not(:disabled){background:var(--color-surface-2);color:var(--color-text)}.base-button .btn-spinner{border:2px solid;border-top-color:#0000;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
